summaryrefslogtreecommitdiff
path: root/src/kernel
Commit message (Collapse)AuthorAge
...
* altos/telegps: Keep ring of recent GPS positions to detect motion quicklyKeith Packard2014-06-12
| | | | | | | Instead of comparing only against the last logged value, keep a ring and start logging as soon as we move away from the furthest one in the ring. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Show current flight number for TeleGPSKeith Packard2014-06-12
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/telegps: Don't log data when plugged in to USBKeith Packard2014-06-12
| | | | | | | We don't want to accidentally log stuff when you're just trying to charge the battery. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Simplify tracker logic, removing boost detectKeith Packard2014-06-10
| | | | | | | | | | This removes the ao_flight_state value from the tracker code and makes it simply log position information when the device has moved within the last 10 log intervals. This also changes the configuration parameters to define what 'motionless' means, and what interval to configure the GPS receiver for, log data and send telemetry. Signed-off-by: Keith Packard <keithp@keithp.com>
* Revert adding state to GPS location packetsKeith Packard2014-06-10
| | | | | | TeleGPS no longer has ao_flight_state Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Make extra pyro channel firing time configurableKeith Packard2014-06-10
| | | | | | | This adds a 'I' parameter to set the extra pyro channel firing time (in ticks). This has no effect on the main/drogue channels. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Report total available log space in version commandKeith Packard2014-06-10
| | | | | | | | This provides a more accurate means of determining available log space than guessing whether some portion of the flash chip holds configuration data. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Encode TeleGPS battery voltage in configuration packetKeith Packard2014-06-07
| | | | | | TeleGPS doesn't need apogee delay, so re-purpose it for the battery voltage Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Reduce tracker GPS buffer to 4 samplesKeith Packard2014-06-07
| | | | | | We just don't have enough RAM for 8 samples. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Define lat/lon sum variables as 64-bit instead of 16Keith Packard2014-06-07
| | | | | | Oops. 16 bits won't hold position information... Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Use 0x80 to indicate valid state value in the GPS location packetKeith Packard2014-06-07
| | | | | | | And only set this for tracker products; other products place state in separate state packets Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Write tracker logging from tracker thread directlyKeith Packard2014-06-07
| | | | | | Also, logs 8 pre-launch GPS packets so we can get the ground position. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add TeleGPS logging formatKeith Packard2014-06-07
| | | | | | | | | | | | | This is mostly like the mega format, but places the flight state in a spare byte of the GPS data and writes the gps starting location to the flight packet. Log data is written by the main tracker thread; there's no reason for a separate thread given the GPS update rate and the lack of flight controls. This means ao_log_gps has an API to be called from there, rather than a thread to run. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Clear out eeprom erase records when writing entry 0Keith Packard2014-06-07
| | | | | | | | | | When writing config/erase to eeprom, there's no 'erase' operation as on-chip eeprom is writable at a byte level. As such, we can't tell when the erase blocks get reset when the config gets written. When this happens, erase block 0 gets written explicitly, so just use that call to trigger explicit erasing of the data. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Allow value other than 0 for marking erased flightsKeith Packard2014-06-07
| | | | | | | on-chip eeprom doesn't erase to 0xff, so let TeleMega use a different value. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Allow AO_CONFIG_MAX_SIZE to be configured. Validate it.Keith Packard2014-06-07
| | | | | | | | | TeleMega config is 200 bytes. AO_CONFIG_MAX_SIZE was 128. That didn't work out well when logging erased flight information. Allow TeleMega to use a larger value (1k), and then do a compiler hack to make sure the defined value is at least as large as the ao_config structure. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Move ao_tracker.c to kernelKeith Packard2014-06-07
| | | | | | Doesn't make sense to be in product Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Fix config to set default log size for all devices with logKeith Packard2014-06-05
| | | | | | Not just devices with flight Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Stick flight state in GPS location packetsKeith Packard2014-06-05
| | | | | | Useful for TeleGPS Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: ao_distance was overflowing when checking for longitude wrapKeith Packard2014-06-05
| | | | | | Need to shift everyone right one bit to fit in 32 bits Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Include sensor logging task only on flight boardsKeith Packard2014-06-05
| | | | | | | This lets TeleGPS use the logging infrastructure without wasting a task to log sensor data Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add ao_distance.c to compute cartesian distances on the globeKeith Packard2014-06-05
| | | | | | | This is not a great circle distance, but should be good enough for points reasonably close together Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Fetch/store only 8 bits for pyro state valuesKeith Packard2014-06-02
| | | | | | | These fields are uint8_t, not int16_t. Fetching and storing 16 bits is a bad idea. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Maximum pyro configuration parameter has 4 bytes in the nameKeith Packard2014-06-02
| | | | | | | | "f>=" needs four bytes, not just three to store the whole string. If we only store three, then we never manage to compare correctly as the null terminating byte is missing. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Configuring pyro channels can use more than 48 charactersKeith Packard2014-06-02
| | | | | | | Increase the command buffer from 48 to 128 bytes to hold the longest pyro configuration commands Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Allow sparse GPS data logging for TeleGPSKeith Packard2014-05-30
| | | | | | | When the device hasn't moved for a while, stop logging data. Start as soon as it moves again. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Fake flight code changes in kernel and stmKeith Packard2014-05-27
| | | | | | | Redirects data input from local sensors to USB sourced data, leaving USB enabled when the computer goes into pad mode. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Move ao_config declarations to ao_config.hKeith Packard2014-05-25
| | | | | | No sense leaving these in ao.h, and it's nice to make that file smaller Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add config values for tracker start motion limitsKeith Packard2014-05-21
| | | | | | | | TeleGPS switches from 'pad' to 'drogue' states after the device moves a specified distance from the initial starting point. These values can be configured, and this is the configuration for them. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Don't define ao_ignite_decivolt without ignitersKeith Packard2014-05-21
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Expose ao_gps_set_rate from u-blox driverKeith Packard2014-05-21
| | | | | | This lets applications set the desired GPS update rate to reduce power usage Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: stm and lpc ao_boot.h were identical. move to kernel.Keith Packard2014-05-15
| | | | | | | These two files were absolutely identical, so share them by moving under kernel instead.x Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Report amount of program space available in the version commandKeith Packard2014-05-12
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Fix byte offsets in the mega AO_LOG_FLIGHT packetsKeith Packard2014-05-08
| | | | | | Just comments, but even those should be correct Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: 8051 64 * 16 multiply function was broken for negative 64-bitKeith Packard2014-05-08
| | | | | | It was jumping around the actual multiply when the 64-bit argument was negative. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add configurable beep toneKeith Packard2014-05-02
| | | | | | | | | | This lets you directly set the mid-range beep tone; the high and low tones remain set off of that in the same ratio as before. Note that none of the cc1111 products get this feature as they don't have enough flash space anymore... Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Switch beeping to farnsworth spacingKeith Packard2014-04-12
| | | | | | | Use 17wpm/12wpm farnsworth spacing for the state reports. Leave the numeric reports running slowly as those require counting. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Report battery voltage instead of S at startupKeith Packard2014-04-05
| | | | | | | This works on everything with a beeper except TeleMetrum v1.0 which just doesn't have enough flash space for the code. Signed-off-by: Keith Packard <keithp@keithp.com>
* 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>