summaryrefslogtreecommitdiff
path: root/src/core/ao_flight.c
Commit message (Collapse)AuthorAge
* altos: Rename 'core' to 'kernel'Keith Packard2014-04-05
| | | | | | | core remains a bad name to use -- dirvish skips files (and directories, it seems) with that name. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: HAS_LED is useless; remove itKeith Packard2014-03-28
| | | | | | | | | | | | ao_flight was trying to decide whether to turn off the red LED by checking whether HAS_LED was defined. And yet, none of the flight firmware defines that anymore, except for easymini which defines it to zero. Remove all uses and defines of this value, substituting AO_LED_RED in ao_flight.c, which has to be defined for the ao_led_off call to work. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Use factory calibration for all acceleration computationsKeith Packard2014-01-14
| | | | | | | | | The ground acceleration value will vary depending on the tilt angle of the airframe, which will result in incorrect acceleration computations during flight. This also avoids accidental boost detect when moving the airframe around in pad mode. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add 'O' command for TeleMega orient testingKeith Packard2013-12-28
| | | | | | | | Only present when HAS_FLIGHT_DEBUG is enabled, this command lets the user check the orientation tracking code by showing the current orientation and when the calibration values are reset. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: mma655x also needs ao_sensor_errorsKeith Packard2013-12-20
| | | | | | | TeleMetrum has an MMA655X but no IMU, so it needs an explicit addition for sensor errors. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Complain about sensor self-test errors only in idle modeKeith Packard2013-12-20
| | | | | | | | | When the accelerometer says to go into pad mode, don't look for other sensor self test errors. Only look for sensor self test errors to choose between idle and invalid mode. This will prevent minor sensor self test errors from letting the rocket fly safely. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Try IMU self-test 10 times before giving upKeith Packard2013-12-18
| | | | | | | | This should keep the device from failing to boot unless the IMU is actually broken. Oh, and if self test does fail, this places the flight computer in 'Invalid' state rather than panic. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add orientation test when HAS_FLIGHT_DEBUG is setKeith Packard2013-10-27
| | | | | | | This just dumps the current orientation to stdout so you can monitor it in real time Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add gyro-based orientation trackingKeith Packard2013-10-25
| | | | | | | This tracks the angle-from-vertical as an additional input to the pyro channels. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Merge GPS logging into a single functionKeith Packard2013-10-14
| | | | | | | | | | | | Create a new global, ao_gps_new, which indicates new GPS position and satellite data. Use ao_gps_new as the new sleep/wakeup address. Merge the separate gps position/satellite logging tasks into a single function which waits for new data and writes out the changed values. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Don't require an LED for ao_flightKeith Packard2013-10-07
| | | | | | EasyMini has no LEDs. Deal with it. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Disable USB on all flight computers when in flight modeKeith Packard2013-06-17
| | | | | | | There was a check to only disable USB on boards with radios, but for EasyMini, we want to disable USB too for flight mode. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Check for packet mode before trying to disable it in flight codeKeith Packard2013-05-18
| | | | | | This is only relevant for telemini Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Sanity check barometer before going to pad modeKeith Packard2013-05-07
| | | | | | | Make sure the barometer is reporting some sensible value before letting TM try to fly the rocket. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: profiling on STM32LKeith Packard2012-10-25
| | | | | | Add sample-based profiling, using a 1kHz timer Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Pass flight dynamics to companion boardsKeith Packard2012-07-16
| | | | | | Necessary for TelePyro Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add arbitrary pyro channel supportKeith Packard2012-07-14
| | | | | | | Programmed by specifying a conjunction of flight conditions that trigger the igniter to fire. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Set HAS_FLIGHT_DEBUG=1 to include the flight debugging commandsKeith Packard2012-07-10
| | | | | | | This leaves USB enabled, and adds the 'F' command to dump internal flight state. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Eliminate compiler warnings when building ao_flight_testKeith Packard2012-07-10
| | | | | | We turn on a pile of warnings for that. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Rename *_mm.c back to *.cKeith Packard2012-07-10
| | | | | | Was just a temporary hack to keep cc1111 products building during MM development. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: remove stale ao_flight.c and ao_sample.cKeith Packard2012-07-10
| | | | | | The mega-metrum versions are now the official versions Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Respect apogee lockout time in flight algorithmKeith Packard2012-04-14
| | | | | | | | | | | This prevents any apogee detection from occurring until the specified number of seconds after boost. This also prevents the switch from accel+baro to baro only mode in the Kalman filter. The test frame work is also changed to look for Apogee lockout: in the eeprom input file. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Ignore ejection bumps when doing boost re-detectKeith Packard2011-10-08
| | | | | | | | An ejection charge looks an awful lot like an extra (really small) motor burn. Ignore them by averaging the acceleration during fast/coast using a /64 exponential decay filter. Signed-off-by: Keith Packard <keithp@keithp.com>
* Merge remote-tracking branch 'uniarch/master' into multiarchKeith Packard2011-10-07
| | | | | | | Conflicts: src/core/ao_cmd.c Use ao_arch_reboot after waiting for a second
* altos: Support staging by going back to boost as neededKeith Packard2011-09-21
| | | | | | | Detect additional motor burns by looking for high positive acceleration in coast or fast modes. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Restructure altos build to prepare for multi-arch supportKeith Packard2011-08-25
Split out sources into separate directories: core: architecture and product independent bits cc1111: cc1111-specific code drivers: architecture independent drivers product: product-specific sources and Makefile fragments util: scripts for building stuff This should have no effect on the built products, but testing is encouraged Signed-off-by: Keith Packard <keithp@keithp.com>