Keith Packard [Sun, 6 Sep 2009 19:51:48 +0000 (12:51 -0700)]
Add DSP code to filter data, allowing for integration/differentiation
This adds the computation of speed from both accelerometer and
barometer measurements and then presents a periodic flight profile
using filtered data as a detailed flight record.
Keith Packard [Fri, 4 Sep 2009 19:25:37 +0000 (12:25 -0700)]
Set all of the values to reset the radio for telemetry
Was sizeof(rdf_setup) instead of sizeof(telemetry_setup) when
resetting the radio back to telemetry data mode from rdf mode. With
the length value removed from the rdf config, these two arrays are no
longer the same length, and so the last config value was not set
leaving the radio sending garbage.
Keith Packard [Fri, 4 Sep 2009 18:46:55 +0000 (11:46 -0700)]
Make RDF beacon only run on pad and after landing.
It's pretty much impossible to RDF the rocket during flight, and it
interferes with the telemetry data stream. Leave it enabled on the pad
so that radios can be tested, and then re-enable it once the rocket
has landed.
This patch also turns the rdf 'on' time into a parameter so it can be
changed, and then sets that parameter to 500ms, once every 5 seconds.
Keith Packard [Thu, 3 Sep 2009 05:01:52 +0000 (22:01 -0700)]
Remove bit-banging debug support from TM board builds
Our current TM boards don't have the wires to do bit-banging to
another cc1111 board, so it doesn't make sense to fill up their flash
with useless code (and the 'help' text with useless commands). Leave
this to the TI board until we have boards that can serve as debug dongles.
Keith Packard [Thu, 3 Sep 2009 05:00:37 +0000 (22:00 -0700)]
Make the ao_log_record structures 8 bytes again.
When the GPS signal strength data was added, the structure was
accidentally extended to 9 bytes, making all log records 9 bytes
long. While not a serious problem, this left log records spanning
across eeprom block boundaries, which seems like a bad plan.
Keith Packard [Thu, 3 Sep 2009 04:57:54 +0000 (21:57 -0700)]
Make eeprom reads and writes across block boundary work
Reading and writing across the block boundary was not stepping the
eeprom position after the partial i/o operation at the end of the
first block. This meant that the operation would re-use the end of the
previous block, either re-reading or re-writing it.
Keith Packard [Wed, 19 Aug 2009 05:35:15 +0000 (22:35 -0700)]
Handle GPS satellite tracking data
SiRF message #4 includes signal strength and GPS engine state for each
of the satellites being tracked. This data is now parsed and sent to
eeprom and the radio.
Keith Packard [Tue, 18 Aug 2009 19:19:31 +0000 (12:19 -0700)]
Use --tty/-T on command line to specify target device
Also, use the ALTOS_TTY environment variable in all tools. Note that
the magic value of "BITBANG" switches the library to connecting
through a CP2103 instead.
Keith Packard [Tue, 18 Aug 2009 18:34:28 +0000 (11:34 -0700)]
Remove unused cctools code paths for old libusb and cp2103 ioctls.
Communication with the CP2103 board has gone through three revisions,
first using ioctls supported by the CP2103 kernel driver, then using
the old synchronous usb library and now using the newer libusb
asynchronous interface. There's no reason to keep shipping the old
stale code now that the new stuff works reliably.
Keith Packard [Sat, 18 Jul 2009 04:30:53 +0000 (21:30 -0700)]
Add AO_GPS_RUNNING state.
This tracks whether the GPS receiver has ever sent a valid report to the
flight computer, allowing the user to tell whether the GPS receiver is
working at all.
Keith Packard [Sat, 18 Jul 2009 00:09:20 +0000 (17:09 -0700)]
Try harder to get the GPS receiver serial link sync'd up.
We cannot assume that the GPS receiver is in any particular state when it
boots, so we try to send the serial configuration at several rates and hope
that it eventually sees something that it likes.
Keith Packard [Sat, 18 Jul 2009 00:06:18 +0000 (17:06 -0700)]
Rolling average for pad location. Say 'GPS ready'.
Use a rolling average for the pad location, instead of just averaging all
positions. This filters out old (presumably less accurate) values eventually.
When enough GPS samples have been acquired, say 'GPS ready'.
Keith Packard [Sat, 11 Jul 2009 07:56:13 +0000 (00:56 -0700)]
Hook aoview directly to alsa
This skips the flite internal audio stuff which opened and closed the audio
device for each phrase. This caused the first part of some phrases to be
missed when using an external audio device.
Keith Packard [Fri, 10 Jul 2009 03:55:10 +0000 (20:55 -0700)]
Show speed. Format numbers. Timeout and report final status.
The speed value is now shown in the top label bar. Ascent shows
accelerometer-derived data, otherwise it's baro derived.
All of the numbers displayed are now given sensible printf formats so they
don't contain way too many digits.
Instead of doing periodic reporting based on flight tick count, data is
reported every 10 seconds based on wall time. After landing, or when no data
have been received for a while, final flight information is spoken.
Keith Packard [Mon, 29 Jun 2009 20:54:00 +0000 (13:54 -0700)]
Convert GPS to SiRF binary protocol.
This switches the GPS unit from NMEA to SiRF protocol at startup and then
parses the binary data. The binary data uses a different encoding of lat/lon
than the NMEA strings, and so the telemetry and eeprom data formats change
with this switch.