summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* 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: Switch TeleGPS to GPS logging formatKeith Packard2014-06-07
| | | | | | It's customized for TeleGPS uses Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Update other CONFIG_EEPROM users to set LOG_ERASE_MARKKeith Packard2014-06-07
| | | | | | | All products placing config and erase marks in on-CPU EEPROM needs to configure the erase code correctly. 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: Write current flight state to GPS data from GPS driversKeith Packard2014-06-07
| | | | | | | This will be useful with TeleGPS which has no other packet containing flight state. 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/telemega-v1.0: Adjust config params to make flight erase workKeith Packard2014-06-07
| | | | | | | | | | | | | | | Flight erase records are supposed to be written after the ao_config to eeprom in telemega. They were getting written in the middle of one of the pyro channel config blocks. Put a bunch of space between the two by making the config max 1024 bytes instead of 128 bytes. Set the log erase marker to 0x55 -- eeprom comes from the factory as 0x00, so we use any value other than 0x55 to indicate 'unused' erase slots. Save space for more flight erase blocks; we've got plenty. 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: Add telegps-v1.0 code and loader1.3.2.2Keith Packard2014-06-05
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/telegps-v0.3: Remove ao_flight_number from main programKeith Packard2014-06-05
| | | | | | We've got logging enabled now Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/telegps-v0.3: Disable APRS by default. Set log max to 1MKeith Packard2014-06-05
| | | | | | And adjust default radio cal to be a bit closer Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Force telemetry on by default for v0.3 TeleGPS boardsKeith Packard2014-06-05
| | | | | | | These don't have a USB connect indicator, so just turn on telemetry by default Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: HAS_USB_CONNECT has been changed to mean a custom pinKeith Packard2014-06-05
| | | | | | | | The LPC stuff isn't actually very useful and TeleGPS uses a custom pin instead, and was using HAS_USB_CONNECT to mean the same thing. That wasn't good. 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: Add AO_LOG_FLIGHT packet to TeleGPS logsKeith Packard2014-06-05
| | | | | | This encodes the flight number for tracking of data files. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/telegps-v0.3: Add tracker taskKeith Packard2014-06-05
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add debug to tracker to force launchKeith Packard2014-06-05
| | | | | | This lets us test the move from pad to drogue state Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: tracker distance computation flipped arguments aroundKeith Packard2014-06-05
| | | | | | ao_distance takes (lat, lon, lat, lon) not (lat, lat, lon, lon) Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Fix tracker start stateKeith Packard2014-06-05
| | | | | | | | | Make sure log can start by scanning existing logs Enable RDF by default Turn off telemetry until we decide whether to turn it on in the loop Allow TeleGPS v0.3 to run without ADC 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: Have tracker average 5 GPS samples before moving to pad modeKeith Packard2014-06-05
| | | | | | Avoids early GPS noise right after lock Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Change tracker not-moving speed to 2m/s and documentKeith Packard2014-06-05
| | | | | | Just adjust to avoid sensing motion from GPS noise 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: Allow cc115l driver to be built without radio power controlKeith Packard2014-06-05
| | | | | | TeleGPS just wants full power, so remove the configuration option 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 tracker task for TeleGPSKeith Packard2014-06-05
| | | | | | | This replaces the flight code to monitor GPS state and switch flight states between startup/pad/drogue 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: Test APRS altitude encodingKeith Packard2014-05-30
| | | | | | Verify fixed point version against naïve implementation Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Switch APRS altitude encoding computation to fixed pointKeith Packard2014-05-30
| | | | | | | | | APRS altitude is logarithmically encoded, so this implementation includes a fixed point log-base-2 function along with a bit of other fixed point stuff. This eliminates all floating point from TeleGPS, saving around 4kB of code space. 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/test: Fix ADC structure for mega, use ao_config.hKeith Packard2014-05-25
| | | | | | | | This switches from hand-coding the ao_config structure to using ao_config.h and also updates the ADC structure for ao_flight_test_mega to using the same one as telemega does natively 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: Make MS5607 PROM a public variableKeith Packard2014-05-25
| | | | | | | This will let the fake flight code update it as necessary, without creating a new interface in ao_ms5607.c 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/test: Parse mega ground data. Fix pyro parsingKeith Packard2014-05-21
| | | | | | This gets ao_flight_test_mega working with eeprom files Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/test: Get APRS generation test working againKeith Packard2014-05-21
| | | | | | | APRS now includes sat info, so we have to fake that up to generate an APRS test file 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: Fix cc115l debug buildKeith Packard2014-05-21
| | | | | | | New compiler warning flags and moving to the nxp require a few minor changes in the code to make it work. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Allow APRS to send just battery voltageKeith Packard2014-05-21
| | | | | | Don't require apogee and main voltages as well Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: whitespaceKeith Packard2014-05-21
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>