summaryrefslogtreecommitdiff
path: root/src/ao_flight_test.c
Commit message (Collapse)AuthorAge
* altos/altosui: Add pad orientation configure optionKeith Packard2011-08-02
| | | | | | | | | | | Allow TeleMetrum to be operated with the antenna pointing downwards on the pad. This provides some additional flexibility when designing an ebay. The accelerometer calibration levels are flipped around to match, so no re-calibration should be required. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Average height values for landing detectionKeith Packard2011-08-02
| | | | | | | | | | | | Instead of using the direct output of the kalman filter and hoping that is quiet enough to detect landing, filter that with a long exponential decay filter and then check to make sure that doesn't change more than 2m in 5 seconds as a trigger for landing detection. Tested with existing telemetrum flight logs and it correctly detects landing in all cases. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add ability to read new TELEM files to ao_flight_testKeith Packard2011-07-17
| | | | | | | Not that telem files are currently very useful as the kalman filter gets completly confused by the variable steps caused by missing data, but... Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Make ao_flight_test show true height but report saturated heightKeith Packard2011-03-31
| | | | | | | | To simulate a saturated baro sensor, clip baro data at a specified altitude. Continue to report the 'true' altitude in the output so that the resulting graphs are useful. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Split up flight code into separate flight/sample/kalman bitsKeith Packard2011-03-28
| | | | | | | | | | | | | | | The flight code mashed together data processing, filtering and actual flight managament into one giant pile. Split things up so that we have: ao_sample.c: Sensor data processing. Reads the ring, handles calibration ao_kalman.c: Filter the data to track the accel/speed/height values ao_flight.c: Flight state management, specific to rocketry. The plan is to re-use ao_sample.c and ao_kalman.c for hardware not specifically designed for rocketry, like TeleNano. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Exit flight test at landing. Allow description in test flight listKeith Packard2011-03-23
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Fix up flight code testingKeith Packard2011-03-22
| | | | | | | This automates flight code testing by reporting mis-detected apogee or main events. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Switch telemetrum over to kalman filterKeith Packard2011-03-22
| | | | | | | | | | | | This changes the full telemetry stream to include kalman data instead of the old ad-hoc flight data. It's compatible in that the packet sizes are the same so teledongle can receive either and figure out which it has received. A few plotting and testing tools are added to make validating the new code easier. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add kalman filters for baro-only boardsKeith Packard2011-03-18
| | | | | | | | 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>
* altos/test: Add baro-only flight test programKeith Packard2011-03-16
| | | | | | This builds the flight code in baro-only mode for testing. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/test: Use ao_convert.c instead of hand-coded pres → alt funcKeith Packard2011-03-16
| | | | | | | 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>
* altos: Make serial, usb, beeper and accelerometer optional componentsKeith Packard2011-03-16
| | | | | | | Not all boards will have these, so fix places that use them to deal with that. Signed-off-by: Keith Packard <keithp@keithp.com>
* src/ao_cmd: Shave off bytes from doc stringsAnthony Towns2011-03-07
| | | | | | 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.
* altos/test: auto-configure acceleration parameters from the log fileKeith Packard2011-02-18
| | | | | | | | | 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>
* altos: Ensure flight code gets first crack at new ADC dataKeith Packard2011-01-16
| | | | | | | | 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>
* altos: Auto-calibrate linux-based flight testing codeKeith Packard2011-01-16
| | | | | | | | 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>
* altos: Add DATA_TO_XDATA to linux test harnessKeith Packard2011-01-16
| | | | | | | 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>
* ao_flight_test was using accel value for pressure tooKeith Packard2009-11-02
|
* Add two-point accelerometer calibration.Keith Packard2009-11-02
| | | | | | | Calibration now uses two values, one upside right and the other upside down instead of a single horizontal value. This allows the use of other accelerometers and compensates for variations in the divider circuit to provide more accurate data.
* Enable packet-based communcation to command processorKeith Packard2009-11-01
| | | | | | | This splits the packet code into master/slave halves and hooks the slave side up to the getchar/putchar/flush logic in ao_stdio.c Signed-off-by: Keith Packard <keithp@keithp.com>
* Add back the RDF tone generatorKeith Packard2009-09-04
| | | | | | | | | Tracking the rocket on the ground may be easier using tones than using the digital data stream, so we'll try that and see what we think. This reverts commit 3a3bfd471a868d546d83cdc431b53c8f5208edb9. Signed-off-by: Keith Packard <keithp@keithp.com>
* Rename state apogee -> coastKeith Packard2009-06-14
|
* rename states. launchpad -> pad, coast -> fastKeith Packard2009-06-14
|
* Use autotools, move altos to src subdirKeith Packard2009-06-04
Signed-off-by: Keith Packard <keithp@keithp.com>