fw/altos
9 years agoaltos: Add nickle kalman implementation.
Keith Packard [Mon, 21 Mar 2011 10:59:27 +0000 (19:59 +0900)]
altos: Add nickle kalman implementation.

This generates the constants needed to implement Kalman filtering in
the flight firmware.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoaltos: Add .sdcdbrc file for teledongle
Keith Packard [Sun, 20 Mar 2011 06:55:39 +0000 (23:55 -0700)]
altos: Add .sdcdbrc file for teledongle

My sdcdb script uses this to set command line options automatically

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoaltos: New telemetry report format (version 4). Supports tiny telemetry.
Keith Packard [Sun, 20 Mar 2011 06:53:08 +0000 (23:53 -0700)]
altos: New telemetry report format (version 4). Supports tiny telemetry.

This completely replaces the version 3 format with a much simpler and
easier to parse scheme. It's described in detail in ao_telem.h, but
the basic idea is that the whole line is split into name/value pairs,
separated by whitespace. Every name is unique, and the values are
either strings or integers. No extraneous formatting or units are
provided.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoaltos: The kalman code requires a constant sample rate
Keith Packard [Sun, 20 Mar 2011 06:51:02 +0000 (23:51 -0700)]
altos: The kalman code requires a constant sample rate

The kalman function can't handle a variable sample rate, so keep the
ADC running at full speed for the whole flight instead of slowing it
down after apogee.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoaltos: Split telenano main from telemini
Keith Packard [Sun, 20 Mar 2011 06:49:41 +0000 (23:49 -0700)]
altos: Split telenano main from telemini

Eventually, telenano will run different code; prepare for this by
creating a telenano-specific main routine.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoaltos: Split out tiny telemetry from full telemetry
Keith Packard [Sun, 20 Mar 2011 06:46:18 +0000 (23:46 -0700)]
altos: Split out tiny telemetry from full telemetry

The TeleMini and TeleNano boards do not have either GPS or
accelermeters, and they also run the kalman filter which produces
standard unit measurements for the flight height/speed/accel
values. This makes the telemetry significantly
different. ao_telemetry_tiny.c sends the required data.

Note that TeleNano sends the same telemetry as telemini at this point;
there are a couple of values which are not useful, but the overhead of
sending them is small enough that the hassle of having three telemetry
formats seemed excessive.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoaltos: Make telemetry interval more consistent
Keith Packard [Sun, 20 Mar 2011 06:41:44 +0000 (23:41 -0700)]
altos: Make telemetry interval more consistent

Instead of using a delay between telemetry packets, use a telemetry
period and compute an appropriate delay each time. This requires
changing the ascent telemetry from a 50ms delay to a 100ms interval,
to provide a regular 10 packets-per-second rate. Before, we counted on
the telemetry packet taking about 50ms to send so that we would
receive about 10 per second.

This also eliminates delays during descent for RDF tones -- those will
get transmitted in the interval between telemetry packets without
interrupting the spacing of those packets.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoaltos: Configure packet size from send/recv parameters.
Keith Packard [Sun, 20 Mar 2011 06:31:20 +0000 (23:31 -0700)]
altos: Configure packet size from send/recv parameters.

Instead of setting the packet size at configuration time, use the
provided packet size to the send/recv functions to configure the
radio. This eliminates many configuration calls, leaving us with 'RDF'
mode and 'packet' mode, the latter working for telemetry and the
bi-directional link.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoaltos: Don't init packet slave on TD. Make slave start optional
Keith Packard [Sun, 20 Mar 2011 06:27:15 +0000 (23:27 -0700)]
altos: Don't init packet slave on TD. Make slave start optional

Oops. TeleDongle was starting the packet slave code, which kinda
wrecked its ability to receive telemetry packets. This patch simply
removes the packet slave code from teledongle as it cannot be used
(yet), it also makes the packet slave code initialization take a
parameter which controls whether to start that by default; in the
future, perhaps TeleDongle will gain a command to start packet slave mode.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoaltosui: Add software version to Configure AltosUI dialog
Keith Packard [Sun, 20 Mar 2011 01:43:52 +0000 (18:43 -0700)]
altosui: Add software version to Configure AltosUI dialog

Show this somewhere so we can figure out what is installed.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoaltos: Baro-only boards must not detect launch on accel or speed data
Keith Packard [Sat, 19 Mar 2011 19:28:08 +0000 (12:28 -0700)]
altos: Baro-only boards must not detect launch on accel or speed data

The baro sensor generates too much noise to use small changes in
computed speed or acceleration to cause a false launch detect.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoaltos: Write height values to log for nano/mini
Keith Packard [Sat, 19 Mar 2011 04:01:15 +0000 (21:01 -0700)]
altos: Write height values to log for nano/mini

This is a lot more useful than the old filtered pressure data.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoaltos/test: Add scripts to run lots of flights through the code
Keith Packard [Sat, 19 Mar 2011 03:36:59 +0000 (20:36 -0700)]
altos/test: Add scripts to run lots of flights through the code

This runs a long list of flights (there's a user-specific path
pointing at the flights) and squawks if the baro and dual flight
computers don't match.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoaltos: Fix mini/nano default log size to available flash space
Keith Packard [Sat, 19 Mar 2011 03:26:12 +0000 (20:26 -0700)]
altos: Fix mini/nano default log size to available flash space

Also, remove accel cal code from boards without accel

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoMerge branch 'telemini' of ssh://git.gag.com/scm/git/fw/altos into telemini
Bdale Garbee [Sat, 19 Mar 2011 03:12:39 +0000 (21:12 -0600)]
Merge branch 'telemini' of ssh://git.gag.com/scm/git/fw/altos into telemini

9 years agofix up script to work and have reasonable texts
Bdale Garbee [Sat, 19 Mar 2011 03:12:12 +0000 (21:12 -0600)]
fix up script to work and have reasonable texts

9 years agoaltos: Add TeleNano support
Keith Packard [Sat, 19 Mar 2011 03:07:25 +0000 (20:07 -0700)]
altos: Add TeleNano support

This just uses the TeleMini bits, which should work fine for now.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoaltos: Tiny logging fixes. Scan at start, stop when land or full.
Keith Packard [Sat, 19 Mar 2011 02:49:46 +0000 (19:49 -0700)]
altos: Tiny logging fixes. Scan at start, stop when land or full.

Initialize the flight log for tiny systems by scanning the log area to
find the current flight number and log area bounds.

Stop logging data when the flight is over, or when the log area is
full.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoaltos: Add kalman filters for baro-only boards
Keith Packard [Fri, 18 Mar 2011 23:53:11 +0000 (16:53 -0700)]
altos: Add kalman filters for baro-only boards

This adds a baro-only kalman filter to track the state of the rocket,
and then uses it to control flight events instead of the existing
ad-hoc mechanisms.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoaltos: Add tiny logging for TeleMini/TeleNano
Keith Packard [Thu, 17 Mar 2011 23:00:10 +0000 (16:00 -0700)]
altos: Add tiny logging for TeleMini/TeleNano

This splits the logging code into management of the log space within
storage and separate code to actually write suitable log entries.  A
new log writing module, ao_log_tiny, is added which writes only
altimeter data at a fairly low data rate for devices using on-chip
storage.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoignore new flight test file
Anthony Towns [Fri, 11 Mar 2011 11:41:01 +0000 (21:41 +1000)]
ignore new flight test file

9 years agoaltos: Internal flash ops block when running from flash
Keith Packard [Thu, 17 Mar 2011 03:36:50 +0000 (20:36 -0700)]
altos: Internal flash ops block when running from flash

The docs say that if you are executing from flash, then the CPU will
stall after a flash write or erase command is started until the
operation is complete. Take advantage of that to simplify the flash
code.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoaltos: oops -- altitude reporting wasn't pausing between signals
Keith Packard [Tue, 8 Mar 2011 00:31:43 +0000 (16:31 -0800)]
altos: oops -- altitude reporting wasn't pausing between signals

need to actually alternate the LED/tone with some space so you can
count.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoao-load: Make usb descriptor rewriting optional
Keith Packard [Mon, 7 Mar 2011 23:57:58 +0000 (15:57 -0800)]
ao-load: Make usb descriptor rewriting optional

TeleMini and TeleNano don't have USB descriptors to rewrite when
loading firmware, so allow them to be missing.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agobringup: Add script for telemini
Keith Packard [Mon, 7 Mar 2011 23:26:41 +0000 (15:26 -0800)]
bringup: Add script for telemini

Copied from teledongle with a few obvious changes.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoaltos: Switch pins around for TeleMini
Keith Packard [Mon, 7 Mar 2011 16:03:11 +0000 (08:03 -0800)]
altos: Switch pins around for TeleMini

TeleMini has fewer sensors and uses P0 for igniters instead of P2.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoaltos: Switch LED usage for TeleMini around
Keith Packard [Mon, 7 Mar 2011 07:52:11 +0000 (23:52 -0800)]
altos: Switch LED usage for TeleMini around

We're using the LEDs instead of tones, so make red mean 'low tone',
green mean 'middle tone' and both mean 'high tone'.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoao_intflash: Avoid overwriting code
Anthony Towns [Sat, 26 Feb 2011 06:06:48 +0000 (16:06 +1000)]
ao_intflash: Avoid overwriting code

Require firmware to specify the end of its codespace in its Makefile,
and use this to determine where the start of available flash is. Should
give compile time errors if either there's no room left for storage, or
if there's not enough room for code.

9 years agoaltos: Add TeleMini v1.0
Keith Packard [Mon, 7 Mar 2011 05:03:57 +0000 (21:03 -0800)]
altos: Add TeleMini v1.0

This adds initial code for the telemini board, a two channel
flight computer with digital telemetry and a barometric sensor.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoaltos: Start with packet slave running. Turn off in pad mode.
Keith Packard [Mon, 7 Mar 2011 05:00:52 +0000 (21:00 -0800)]
altos: Start with packet slave running. Turn off in pad mode.

Instead of turning slave mode on in idle mode, start with it running
and disable it in pad mode instead. This means packet mode is
available in startup mode too.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoaltos/test: Add baro-only flight test program
Keith Packard [Mon, 7 Mar 2011 05:59:08 +0000 (21:59 -0800)]
altos/test: Add baro-only flight test program

This builds the flight code in baro-only mode for testing.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoaltos/test: Use ao_convert.c instead of hand-coded pres → alt func
Keith Packard [Mon, 7 Mar 2011 05:57:52 +0000 (21:57 -0800)]
altos/test: Use ao_convert.c instead of hand-coded pres → alt func

Fix up ao_convert.c so that it can be used within the flight test code
instead of having a (broken) copy of the code there.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoaltos: Make serial, usb, beeper and accelerometer optional components
Keith Packard [Mon, 7 Mar 2011 04:56:25 +0000 (20:56 -0800)]
altos: Make serial, usb, beeper and accelerometer optional components

Not all boards will have these, so fix places that use them to deal
with that.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoao_intflash: Use internal flash for storage
Anthony Towns [Sat, 26 Feb 2011 01:48:30 +0000 (11:48 +1000)]
ao_intflash: Use internal flash for storage

Makes any free pages at end of CC1111's internal flash available via
the ao_storage API.

9 years agoaoview: remove -s option.
Keith Packard [Wed, 16 Mar 2011 21:10:06 +0000 (14:10 -0700)]
aoview: remove -s option.

9 years agoBump published version number to 0.9.1
Keith Packard [Wed, 16 Mar 2011 21:08:42 +0000 (14:08 -0700)]
Bump published version number to 0.9.1

9 years agoaltosui: Missed jcommon.jar in the Mac OS install image
Keith Packard [Wed, 16 Mar 2011 21:05:13 +0000 (14:05 -0700)]
altosui: Missed jcommon.jar in the Mac OS install image

This caused graphing to fail on Mac OS X

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoaltos: Oops. Lost a couple of commands when merging the doc patch
Keith Packard [Mon, 7 Mar 2011 08:26:17 +0000 (00:26 -0800)]
altos: Oops. Lost a couple of commands when merging the doc patch

I didn't merge this carefully enough and managed to lose the 'f'
and 'e' commands, which are kinda useful.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agosrc/ao_cmd: Shave off bytes from doc strings
Anthony Towns [Sun, 27 Feb 2011 01:11:12 +0000 (11:11 +1000)]
src/ao_cmd: Shave off bytes from doc strings

Switch to using { func, "X args\0Desc" } to specify command, saving
a char field by looking at help[0] instead, and reduce help length by
doing alignment with printf instead of hardcoded spaces.

9 years agoRevert "src/ao_gps_skytraq.c: Update logging rate to 10Hz"
Keith Packard [Mon, 7 Mar 2011 08:01:01 +0000 (00:01 -0800)]
Revert "src/ao_gps_skytraq.c: Update logging rate to 10Hz"

This reverts commit b080e933a65d268aaaec8cfd5f617a13d5babc43.

10Hz data isn't any better than 1Hz data; it still doesn't like going
upwards rapidly.

9 years agoaltosui: Display eeprom parsing errors to user
Keith Packard [Sat, 19 Feb 2011 09:06:01 +0000 (01:06 -0800)]
altosui: Display eeprom parsing errors to user

When reading the eeprom, any parsing errors (most likely bad
checksums) indicate some kind of problem with either the hardware or
the flight software. Display these to the user and do not erase the
flight.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoaltosui: Always read whole eeprom block, even at end of flight
Keith Packard [Sat, 19 Feb 2011 09:04:19 +0000 (01:04 -0800)]
altosui: Always read whole eeprom block, even at end of flight

Instead of stopping early, continue reading the whole eeprom block so
that the extra serial data doesn't end up confusing the next user of
the serial line, which may well be reading the next flight.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoaltosui: Mark empty eeprom records 'invalid', don't generate exception
Keith Packard [Sat, 19 Feb 2011 09:02:00 +0000 (01:02 -0800)]
altosui: Mark empty eeprom records 'invalid', don't generate exception

When reading empty eeprom records, mark them as 'invalid', but don't
generate an exception as it's normal to read these at the end of the
flight log.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoupdate changelogs for Debian build debian/0.9.1
Bdale Garbee [Sat, 19 Feb 2011 06:56:01 +0000 (23:56 -0700)]
update changelogs for Debian build

9 years agotie bringup scripts to Bdale's bench TeleDongle 0.9.1
Bdale Garbee [Sat, 19 Feb 2011 02:54:18 +0000 (19:54 -0700)]
tie bringup scripts to Bdale's bench TeleDongle

9 years agosrc/ao_gps_skytraq.c: Update logging rate to 10Hz
Anthony Towns [Fri, 18 Feb 2011 19:49:15 +0000 (05:49 +1000)]
src/ao_gps_skytraq.c: Update logging rate to 10Hz

Send commands to skytraq to update baud rate to 57,600 bps, and
set NMEA output rate to 10Hz.

9 years agosrc/ao_gps_skytraq: simplify parsing code
Anthony Towns [Fri, 18 Feb 2011 18:17:17 +0000 (04:17 +1000)]
src/ao_gps_skytraq: simplify parsing code

Added macros to make correctly constructing skytraq commands easier.
Simplified code path for NMEA processing marginally.

9 years agoao_radio: generalise setup of packet size
Anthony Towns [Wed, 2 Feb 2011 09:12:57 +0000 (19:12 +1000)]
ao_radio: generalise setup of packet size

9 years agoaltos/test: auto-configure acceleration parameters from the log file
Keith Packard [Fri, 18 Feb 2011 18:02:46 +0000 (10:02 -0800)]
altos/test: auto-configure acceleration parameters from the log file

The flight test code had static accelerometer configuration values,
making it impossible to use data from different boards without
recompiling. As the eeprom and telem log files both contain the
necessary data, parse that instead.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoaltos/test: Add dependencies in the Makefile for ao_flight_test
Keith Packard [Fri, 18 Feb 2011 17:54:01 +0000 (09:54 -0800)]
altos/test: Add dependencies in the Makefile for ao_flight_test

Yes, it would be nice to automate dependency generation here, but I
can't be bothered.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoao-load: fix usage message to note that '=' is required for options
Keith Packard [Fri, 18 Feb 2011 17:51:37 +0000 (09:51 -0800)]
ao-load: fix usage message to note that '=' is required for options

The usage message was suggesting incorrect command line syntax; long
options use '=' between the option name and value, not whitespace.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoupdate changelogs for Debian build debian/0.9
Bdale Garbee [Wed, 19 Jan 2011 19:47:25 +0000 (12:47 -0700)]
update changelogs for Debian build

9 years agoelide changelog entries or re-release of 0.9 0.9
Bdale Garbee [Wed, 19 Jan 2011 19:46:02 +0000 (12:46 -0700)]
elide changelog entries or re-release of 0.9

9 years agoupdate turnon script to prefer TeleDongle as programmer
Bdale Garbee [Wed, 19 Jan 2011 19:42:40 +0000 (12:42 -0700)]
update turnon script to prefer TeleDongle as programmer

9 years agoupdate changelogs for Debian build debian/0.9+2+g97f4f2e
Bdale Garbee [Wed, 19 Jan 2011 19:26:53 +0000 (12:26 -0700)]
update changelogs for Debian build

9 years agoaltos: Program default flight log max value for new boards
Keith Packard [Wed, 19 Jan 2011 19:21:52 +0000 (11:21 -0800)]
altos: Program default flight log max value for new boards

New boards have no config space values at all, and so they need each
value to be set. Yes, this should be fixed so that there aren't two
copies of these assignments.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoupdate changelogs for Debian build
Bdale Garbee [Wed, 19 Jan 2011 07:05:25 +0000 (00:05 -0700)]
update changelogs for Debian build

9 years agoprepare to release
Bdale Garbee [Wed, 19 Jan 2011 07:04:45 +0000 (00:04 -0700)]
prepare to release

9 years agoupdate changelogs for Debian build debian/0.8.1+81+g4ae724f
Bdale Garbee [Wed, 19 Jan 2011 06:55:42 +0000 (23:55 -0700)]
update changelogs for Debian build

9 years agowe need an install target to prevent parent dir make from failing
Bdale Garbee [Wed, 19 Jan 2011 06:54:36 +0000 (23:54 -0700)]
we need an install target to prevent parent dir make from failing

9 years agoupdate changelogs for Debian build debian/0.8.1+79+g9a5666f
Bdale Garbee [Wed, 19 Jan 2011 06:48:08 +0000 (23:48 -0700)]
update changelogs for Debian build

9 years agodoc: Build with 'make all' from top level. Build with 'make fat'
Keith Packard [Wed, 19 Jan 2011 06:46:25 +0000 (22:46 -0800)]
doc: Build with 'make all' from top level. Build with 'make fat'

This will make sure the docs are up-to-date for both regular and
fat builds.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agofat: Add docs to Linux package
Keith Packard [Wed, 19 Jan 2011 06:39:07 +0000 (22:39 -0800)]
fat: Add docs to Linux package

Oops. Missed this one.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agofat: Add firmware for v1.1 and docs to mac/windows/linux installers
Keith Packard [Wed, 19 Jan 2011 06:34:15 +0000 (22:34 -0800)]
fat: Add firmware for v1.1 and docs to mac/windows/linux installers

We'll need to be sure to update this each time we add a product.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agofreshen copyright year
Bdale Garbee [Wed, 19 Jan 2011 06:29:03 +0000 (23:29 -0700)]
freshen copyright year

9 years agoadd 0.9 revision entry, with caveat about telemetry format change
Bdale Garbee [Wed, 19 Jan 2011 06:18:42 +0000 (23:18 -0700)]
add 0.9 revision entry, with caveat about telemetry format change

9 years agodoc: Add v0.9 features from altosui to documentation.
Keith Packard [Wed, 19 Jan 2011 04:39:58 +0000 (20:39 -0800)]
doc: Add v0.9 features from altosui to documentation.

New flight download UI and new config items.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agodoc: Don't delete telemetrum-outline.pdf
Keith Packard [Wed, 19 Jan 2011 04:39:30 +0000 (20:39 -0800)]
doc: Don't delete telemetrum-outline.pdf

This has a drilling template for the board.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoupdate changelogs for Debian build debian/0.8.1+71+gda42f40
Bdale Garbee [Wed, 19 Jan 2011 00:27:11 +0000 (17:27 -0700)]
update changelogs for Debian build

9 years agoMerge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
Bdale Garbee [Mon, 17 Jan 2011 16:50:17 +0000 (09:50 -0700)]
Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos

9 years agoupdate documentation to reflect reality that modifying a board or separate
Bdale Garbee [Mon, 17 Jan 2011 16:49:45 +0000 (09:49 -0700)]
update documentation to reflect reality that modifying a board or separate
pyro battery is not as simple as one trace cut on v1.0 and v1.1 boards

9 years agodoc: Remove mention of ao_wake_task
Keith Packard [Mon, 17 Jan 2011 07:23:45 +0000 (23:23 -0800)]
doc: Remove mention of ao_wake_task

This has been removed from the altos sources, so remove it from the
docs too.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoaltos: Use 5V reference data to correct accelerometer measurements.
Keith Packard [Sat, 15 Jan 2011 20:26:53 +0000 (12:26 -0800)]
altos: Use 5V reference data to correct accelerometer measurements.

When the 3.3V and 5V values shift relative to each other (usually due
to changes in power consumption), the measured acceleration will
appear to shift. This patch converts the 3.3V referenced acceleration
value into a 5V referenced acceleration, eliminating this error.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoaltos: Optimize fetching of ADC data in flight code
Keith Packard [Sat, 15 Jan 2011 20:25:57 +0000 (12:25 -0800)]
altos: Optimize fetching of ADC data in flight code

This stores the address of the desired sample in a local variable and
then fetches through that. Saves quite a few instructions.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoaltos: Sample the accelerometer reference voltage on v1.1 boards
Keith Packard [Sat, 15 Jan 2011 20:18:32 +0000 (12:18 -0800)]
altos: Sample the accelerometer reference voltage on v1.1 boards

This places the 5v reference samples in an array parallel to the basic
ADC values. It doesn't do anything with the values, just stores them.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoaltos: Ensure flight code gets first crack at new ADC data
Keith Packard [Sat, 15 Jan 2011 20:12:02 +0000 (12:12 -0800)]
altos: Ensure flight code gets first crack at new ADC data

Instead of having everyone wait on the raw ADC ring, have the flight
code wait on that and have everyone else wait for the flight code to
finish looking at the data and move its pointer forwards.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoaltos: Auto-calibrate linux-based flight testing code
Keith Packard [Sun, 16 Jan 2011 23:57:15 +0000 (15:57 -0800)]
altos: Auto-calibrate linux-based flight testing code

Use the provided ground acceleration average to set the two
accelerometer calibration values so that the flight code will
detect pad/idle mode correctly.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoRework invalid accel cal detection code
Mike Beattie [Mon, 17 Jan 2011 02:03:40 +0000 (15:03 +1300)]
Rework invalid accel cal detection code

Slightly reduces code space.

Uncalibrated accelerometer now enters invalid state as well.

Signed-off-by: Mike Beattie <mike@ethernal.org>
9 years agoaltosui: Remove spurious colons from eeprom selection headers
Keith Packard [Sun, 16 Jan 2011 22:40:31 +0000 (14:40 -0800)]
altosui: Remove spurious colons from eeprom selection headers

This colons make the presentation a bit confusing.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoaltos: Add DATA_TO_XDATA to linux test harness
Keith Packard [Sat, 15 Jan 2011 08:56:22 +0000 (00:56 -0800)]
altos: Add DATA_TO_XDATA to linux test harness

The flight test harness needs to expose every function used by the
flight code in some form, and this macro is about to become used.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoaltos: Added check for out of bounds accel
Mike Beattie [Sat, 15 Jan 2011 11:10:30 +0000 (00:10 +1300)]
altos: Added check for out of bounds accel

Chose invalid flight mode instead of idle to give user feedback.

Signed-off-by: Mike Beattie <mike@ethernal.org>
9 years agoaltos: Added check for an accel value above 1.5g
Mike Beattie [Sat, 15 Jan 2011 10:21:26 +0000 (23:21 +1300)]
altos: Added check for an accel value above 1.5g

When detecting flight or idle mode, this should indicate
that accel cal values are out of whack.

Signed-off-by: Mike Beattie <mike@ethernal.org>
9 years agoaltos: average 512 accel/baro samples at startup instead of 1000
Keith Packard [Sat, 15 Jan 2011 19:26:31 +0000 (11:26 -0800)]
altos: average 512 accel/baro samples at startup instead of 1000

This lets us use a simple shift instead of a divide, saving a huge
amount of code space.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoaltos: Restructure skytraq NMEA parsing code to save some space
Anthony Towns [Sun, 16 Jan 2011 00:54:45 +0000 (10:54 +1000)]
altos: Restructure skytraq NMEA parsing code to save some space

Splitting this into several smaller functions appears to make SDCC
generate better code.

9 years agoaltos: Flush log when full
Keith Packard [Sun, 16 Jan 2011 06:42:38 +0000 (22:42 -0800)]
altos: Flush log when full

When the log storage is full, make sure any pending writes are flushed
out so that the last bit isn't lost.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoaltos: TELEMETRY PROTOCOL CHANGE. Switch to 16-bit serial numbers.
Keith Packard [Sun, 16 Jan 2011 00:25:10 +0000 (16:25 -0800)]
altos: TELEMETRY PROTOCOL CHANGE. Switch to 16-bit serial numbers.

What a terrible mistake! The flight computer serial numbers were
recorded in only 8 bits, so serial numbers > 255 would get truncated.

There's really no fix other than bumping the field to 16 bits and
reflashing every TM and TD on the planet. Very unfortunate.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agodoc: inkscape tracks the filename inside the document
Keith Packard [Sat, 15 Jan 2011 20:05:50 +0000 (12:05 -0800)]
doc: inkscape tracks the filename inside the document

telemetrum-outline.svg was renamed from telemetrum.svg and inkscape
appears to care.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoaltosui: Require 4 sats to light up the 'GPS locked' light.
Keith Packard [Sat, 15 Jan 2011 20:02:43 +0000 (12:02 -0800)]
altosui: Require 4 sats to light up the 'GPS locked' light.

This tracks the same GPS signal requirement needed for 'GPS ready' and
ensures that we have a 3d fix.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoaltosui: Ensure serial device is closed after eeprom download finishes
Keith Packard [Sun, 16 Jan 2011 22:30:38 +0000 (14:30 -0800)]
altosui: Ensure serial device is closed after eeprom download finishes

As this code is all event-driven, track which events will trigger
further work and block closing the device in those specific cases,
ensuring that all other code paths end up closing the device.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoaltosui: Remove debug message when eeprom downloads are complete.
Keith Packard [Sun, 16 Jan 2011 22:29:57 +0000 (14:29 -0800)]
altosui: Remove debug message when eeprom downloads are complete.

This message isn't useful now that this code appears to work.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoaltosui: Use long input flush timeout when remote.
Keith Packard [Sun, 16 Jan 2011 22:28:35 +0000 (14:28 -0800)]
altosui: Use long input flush timeout when remote.

100ms isn't long enough to capture pending remote serial input, so use
300 ms in that mode.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoaltosui: Make serial debug more complete and accurate
Keith Packard [Sun, 16 Jan 2011 22:26:18 +0000 (14:26 -0800)]
altosui: Make serial debug more complete and accurate

Display all serial input, including telemetry.
Wait to display serial output until flush time, to debug missing flushing.
Show when devices are opened and closed.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoaltosui: Reset eeprom download instance variables before reading flight
Keith Packard [Sun, 16 Jan 2011 06:43:37 +0000 (22:43 -0800)]
altosui: Reset eeprom download instance variables before reading flight

To deal with downloading multiple flights in a single invocation, make
sure all relevant instance variables are set back to start of flight
download values each time a log is read.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoClose serial port if Download/Delete dialog is cancelled.
Mike Beattie [Sun, 16 Jan 2011 18:56:53 +0000 (07:56 +1300)]
Close serial port if Download/Delete dialog is cancelled.

Signed-off-by: Mike Beattie <mike@ethernal.org>
9 years agoConvert EepromSelect dialog to use a GridBag
Mike Beattie [Sun, 16 Jan 2011 11:40:07 +0000 (00:40 +1300)]
Convert EepromSelect dialog to use a GridBag

Signed-off-by: Mike Beattie <mike@ethernal.org>
9 years agoRe-order and re-arrange eeprom download dialog
Mike Beattie [Sun, 16 Jan 2011 07:25:19 +0000 (20:25 +1300)]
Re-order and re-arrange eeprom download dialog

Signed-off-by: Mike Beattie <mike@ethernal.org>
9 years agodoc: Add telemetrum mounting template in svg and pdf forms
Keith Packard [Sat, 15 Jan 2011 05:44:59 +0000 (21:44 -0800)]
doc: Add telemetrum mounting template in svg and pdf forms

telemetrum-outline.svg and telemetrum-outline.pdf

Signed-off-by: Keith Packard <keithp@keithp.com>
9 years agoupdate changelogs for Debian build debian/0.8.1+42+g646e192
Bdale Garbee [Sat, 15 Jan 2011 01:01:16 +0000 (18:01 -0700)]
update changelogs for Debian build

9 years agoupdate changelogs for Debian build debian/0.8.1+41+gd908c2e
Bdale Garbee [Sat, 15 Jan 2011 01:01:00 +0000 (18:01 -0700)]
update changelogs for Debian build

9 years agoaltosui: Add preference for serial debugging.
Keith Packard [Sat, 15 Jan 2011 00:47:36 +0000 (16:47 -0800)]
altosui: Add preference for serial debugging.

This dumps serial input/output to stdout.

Signed-off-by: Keith Packard <keithp@keithp.com>