summaryrefslogtreecommitdiff
path: root/src/ao_config.c
Commit message (Collapse)AuthorAge
* altos, altosui: Add igniter mode (dual, apogee, main)split-telemetryKeith Packard2011-07-17
| | | | | | This provides for redundant charges for either apogee or main. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Switch ao_config.c __xdata to __pdataKeith Packard2011-07-06
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Shrink ao_config_callsign_setKeith Packard2011-07-06
| | | | | | | Replacing a hand-coded memset with a function call, using static space instead of stack space for an array. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Shrink const space in ao_configKeith Packard2011-07-04
| | | | | | | | Eliminate separate 'cmd' and 'help' struct entries. Use \0 trick in cmd strings to eliminate whitespace. Edit help text. 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: Fix mini/nano default log size to available flash spaceKeith Packard2011-03-18
| | | | | | Also, remove accel cal code from boards without accel 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: Program default flight log max value for new boardsKeith Packard2011-01-19
| | | | | | | | 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>
* 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: Check requested log max size against available spaceKeith Packard2011-01-07
| | | | | | | Make sure the amount of memory requested for a single log isn't more than is available on the device. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: support storage of multiple flights.Keith Packard2011-01-07
| | | | | | This adds the logging support for dealing with multiple flights Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add configuration parameter for maximum flight log sizeKeith Packard2011-01-07
| | | | | | | This parameter will permit available storage to be split into multiple separate flight logs. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Move common storage code to ao_storage.c. Add M25P80 driverKeith Packard2011-01-06
| | | | | | | This reworks the storage API so that you erase blocks and then store data to them so that the M25P80 driver will work. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Require manual flight erasing.Keith Packard2011-01-06
| | | | | | This supports flash chips that require larger erase blocks. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Simplify storage APIKeith Packard2011-01-06
| | | | | | | This removes the config-specific APIs and exposes global variables for the available storage space, block size and config storage location. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: clean up radio abort paths. Share radio code.Keith Packard2010-12-22
| | | | | | | | | | | | | Instead of aborting the DMA and radio operation and expecting that to be handled reasonably by the radio receiving task, rewrite things so that the abort function just wakes the receiving task while that terminates the DMA and cleans up the radio. This eliminates all kinds of nasty bugs dealing with radio abort smashing the radio registers at the wrong time, or interrupting a radio transmission. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Place rom config variables in fixed locationKeith Packard2010-08-23
| | | | | | | | | | | | | | | The device serial number and radio calibration values are stored in flash, mostly so that TeleDongle gets them saved. Placing them in well-known locations (starting at 0xa0) makes it possible to find the previous configuration and to re-write it easily, without requiring the .map file. altosui doesn't have the .map file parsing code, so it relies upon this new technique. As a benefit, it reads the old values from the device before reprogramming it. Signed-off-by: Keith Packard <keithp@keithp.com>
* Abort any in-progress radio operation when changing radio channelKeith Packard2010-06-21
| | | | | | | | | In monitor mode, the current receive operation must be aborted so that the radio channel change can take effect without receiving a telemetry packet on the old channel. Aborting any in-progress radio operation will make sure that happens. Signed-off-by: Keith Packard <keithp@keithp.com>
* Eliminate deadlock when writing config from radio linkKeith Packard2010-02-27
| | | | | | | | | | | | Writing the 'Saved\r\n' string would fill the packet buffer and cause a flush to occur, which would need to wait for the radio link to receive and transmit a packet. The radio link always re-fetches the radio channel number when lighting up the radio, so it need to look in the config space. If the config mutex was held by the config writing process while the radio was trying to get the channel number, then we'd get a deadlock. Signed-off-by: Keith Packard <keithp@keithp.com>
* Change altos build process to support per-product compile-time changesKeith Packard2010-02-20
| | | | | | | | This creates per-product subdirectories and recompiles everything for each product, allowing per-product compile-time changes for things like peripheral pin assignments and attached serial devices. Signed-off-by: Keith Packard <keithp@keithp.com>
* Allow radio calibration to be set from ao-loadKeith Packard2009-12-05
| | | | | | | | This moves the initial radio calibration value into const memory where it will be used if no eeprom configuration value is available, either on an unprogrammed board with eeprom or a device without an eeprom. Signed-off-by: Keith Packard <keithp@keithp.com>
* Re-order config values. Change frequency to calKeith Packard2009-12-05
| | | | | | | Place more often used values at top, and consistently call the radio value 'calibration' instead of 'frequency'. Signed-off-by: Keith Packard <keithp@keithp.com>
* Add radio calibration configuration.Keith Packard2009-12-04
| | | | | | | | | The crystal we use is only good for 20ppm, which generates a fairly significant error bounds at our RF frequency. This commit adds a configuration variable that sets the RF frequency control variable so that the output frequency can be adjusted. Signed-off-by: Keith Packard <keithp@keithp.com>
* Change default callsign to "N0CALL"Keith Packard2009-12-04
|
* fix typo in commentBdale Garbee2009-11-20
|
* 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.
* Add apogee igniter delay.Keith Packard2009-10-10
| | | | | | | Provide for a delay after apogee before the drogue charge is fired. This allows TM to be used as a back-up altimeter. Signed-off-by: Keith Packard <keithp@keithp.com>
* Use autotools, move altos to src subdirKeith Packard2009-06-04
Signed-off-by: Keith Packard <keithp@keithp.com>