summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
| * | | | Update avr ao_spi_slave code to match API changesKeith Packard2013-01-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Made the interface use void * for pointers and uint16_t for lengths Signed-off-by: Keith Packard <keithp@keithp.com>
| * | | | altos: Initial telescience bitsKeith Packard2013-01-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These might do something, and should at least bring up USB Signed-off-by: Keith Packard <keithp@keithp.com>
* | | | | altos/stm: Add more bits to NVIC register definitionsKeith Packard2013-02-24
| |_|_|/ |/| | | | | | | | | | | | | | | | | | | This cleans up a few values, adds more comments and a few more NVIC fields. Signed-off-by: Keith Packard <keithp@keithp.com>
* | | | altos: Add atmosphere.5cKeith Packard2013-02-04
| | | | | | | | | | | | | | | | | | | | | | | | Shared code for building pressure tables Signed-off-by: Keith Packard <keithp@keithp.com>
* | | | test: Accept micropeak CSV files for micropeak testingKeith Packard2013-02-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This interpolates the missing values to provide a reasonable testing environment for the Micropeak flight firmware. Signed-off-by: Keith Packard <keithp@keithp.com>
* | | | altos: Document which MPU6000 revs have broken accel valuesKeith Packard2013-02-04
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | From Tridge -- MPU6000 rev C4 and C5 are broken, having accelerometer values in the wrong range. This commit just adds comments which note this; experimentation will be required to actually sort out what's going on. Signed-off-by: Keith Packard <keithp@keithp.com>
* | | altos: Add Kalman filter to MicroPeakKeith Packard2013-01-16
| | | | | | | | | | | | | | | | | | | | | | | | This filters altitudes more accurately and also allows tracking of acceleration, which is used to discard height data generated by ejection charge noise Signed-off-by: Keith Packard <keithp@keithp.com>
* | | altos: Add computation of MicroPeak Kalman correction coefficientsKeith Packard2013-01-16
| | | | | | | | | | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* | | altos: Correct model error covariance matrixKeith Packard2013-01-16
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Finally found a couple of decent references on how to set the model (process) error covariance matrix. The current process matrix turns out to be correct for a continuous kalman filter (which isn't realizable, of course). For a discrete filter, the error in modeled acceleration (we model it as a constant) needs to be propogated to the speed and position portions of the matrix. The correct matrix is seen in this paper: On Reduced-Order Kalman Filters For GPS Position Filtering J. Shima 6/2/2001 This references an older paper which is supposed to describe the derivation of the matrix: Singer, R.A., “Estimating Optimal Tracking Filter Performance for Manned Maneuvering Targets,” IEEE Transactions of Aerospace and Electronic Systems, AES-5, July 1970, pp. 473-483. This change has a minor effect on the computed correction coefficients; it should respond more reasonably to acceleration changes now. Signed-off-by: Keith Packard <keithp@keithp.com>
* | Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altosBdale Garbee2013-01-12
|\|
| * micropeak: Record samples before boost detectKeith Packard2013-01-12
| | | | | | | | | | | | | | | | | | This saves a ring of 16 samples while waiting for boost, and then goes back through those looking for the first sample higher than the ground and writes the remaining ones to the log so that we get a more complete log of the flight Signed-off-by: Keith Packard <keithp@keithp.com>
| * Merge remote-tracking branch 'origin/micropeak-logging'Keith Packard2013-01-10
| |\
| | * Allow CC1120 to sit on other SPI bussesKeith Packard2012-12-31
| | | | | | | | | | | | | | | | | | | | | | | | Reading the incoming data bypasses the SPI API and touches the SPI data register directly; which port that is needs to be specified in the pins file Signed-off-by: Keith Packard <keithp@keithp.com>
| | * Merge remote-tracking branch 'origin/master' into micropeak-loggingKeith Packard2012-12-28
| | |\
| | * \ Merge branch 'master' into micropeak-loggingKeith Packard2012-12-25
| | |\ \
| | * | | altos: Add distinct LED pattern before writing log dataKeith Packard2012-12-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise, the whole log looks like a an extra altitude digit. Signed-off-by: Keith Packard <keithp@keithp.com>
| | * | | altos: Make micropeak 'serial' interface workKeith Packard2012-12-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I prototyped the mpserial interface on a breadboard and tuned the circuit to register the LED correctly. Then adjusted the serial code to send bits at the right speed and format. The logging contents are now in hexdecimal with a CCITT CRC-16 computed to verify correct reception. Signed-off-by: Keith Packard <keithp@keithp.com>
| | * | | altos: Log baro readings for MicroPeakKeith Packard2012-12-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This logs barometric data every 192ms (more or less) to the 504 remaining bytes of internal EEPROM storage in the ATtiny85. This provides 48.192 seconds of logging. Signed-off-by: Keith Packard <keithp@keithp.com>
| * | | | altos: Time out reading packet data from cc1120 after 100msKeith Packard2013-01-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sometimes the radio will give a spurious wakeup indicating that a preamble seems to have arrived, but no packet data will appear. In this case, abandon the packet reception and go back to waiting for a preamble again. This releases the SPI bus for other users and also avoids missing packets. Signed-off-by: Keith Packard <keithp@keithp.com>
* | | | | Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altosBdale Garbee2013-01-08
|\| | | |
| * | | | altos: megadongle radio int is C13, not C14Keith Packard2012-12-28
| | |_|/ | |/| | | | | | | | | | | | | | | | | | Hard to get interrupts when listening to the wrong pin Signed-off-by: Keith Packard <keithp@gag.com>
* | | | Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altosBdale Garbee2012-12-28
|\| | |
| * | | altos: Fix MegaDongle CC1120 chip select pinKeith Packard2012-12-28
| | | | | | | | | | | | | | | | | | | | | | | | It's on A0, not C5 Signed-off-by: Keith Packard <keithp@gag.com>
| * | | altos: Fix cc1120 debug code to build on megadongleKeith Packard2012-12-28
| | |/ | |/| | | | | | | | | | | | | RDF function had changed, and APRS isn't available on megadongle. Signed-off-by: Keith Packard <keithp@gag.com>
| * | altos: Actually record ground averages for 6dof sensorKeith Packard2012-12-18
| | | | | | | | | | | | | | | | | | | | | This gets the long-term averages for the 6dof sensors recorded into the first flight log record. Signed-off-by: Keith Packard <keithp@keithp.com>
| * | altos: Average MPU6000 values on ground for later useKeith Packard2012-12-17
| | | | | | | | | | | | | | | | | | | | | Having long-term ground averages recorded to the eeprom file will make post-flight analysis of the data better. Signed-off-by: Keith Packard <keithp@keithp.com>
| * | altos: Re-enable beeper on megametrumKeith Packard2012-12-16
| | | | | | | | | | | | | | | | | | I turned it off during radio testing and forgot to fix that before committing... Signed-off-by: Keith Packard <keithp@keithp.com>
| * | altos: Add new MARC status pin interrupt bits to megadongleKeith Packard2012-12-16
| | | | | | | | | | | | Signed-off-by: Keith Packard <keithp@keithp.com>
| * | Merge branch 'aprs' into 'master'Keith Packard2012-12-16
| |\ \
| * | | altos: Wire up another CC1120 GPIO to get MARC status changesKeith Packard2012-12-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the radio drops out of RX or TX mode due to an error, it changes the MARC status, and sends pulse down a configured GPIO. Use this to tell when something 'bad' happened during TX or RX so that we can recover from losing the SPI bus in the middle of transmission or reception. Without this, the radio would change state and we'd never know, leaving the radio code waiting for an interrupt that would never arrive. Signed-off-by: Keith Packard <keithp@keithp.com>
| * | | altos: Test APRS rounding by using coordinates near the boundaryKeith Packard2012-12-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This selects lat/lon and altitude near the rounding boundary to check that the resulting APRS data is correctly computed. Signed-off-by: Keith Packard <keithp@keithp.com>
| * | | altos: Document what HAS_BOOT_RADIO does in the m25 driverKeith Packard2012-12-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | HAS_BOOT_RADIO causes the m25 driver to abort any ongoing receive in case that is holding the SPI bus. Signed-off-by: Keith Packard <keithp@keithp.com>
| * | | altos: Round APRS data correctlyKeith Packard2012-12-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Apply rounding once at the start of the computation, then truncate after that. Signed-off-by: Keith Packard <keithp@keithp.com>
| * | | altos: Stop including profiling and stack guard code in megametrumKeith Packard2012-12-07
| | | | | | | | | | | | | | | | | | | | | | | | These take CPU time and memory and are intended only for debugging Signed-off-by: Keith Packard <keithp@keithp.com>
| * | | altos: Fix aprs test to not allow callsign configurationKeith Packard2012-12-07
| | | | | | | | | | | | | | | | | | | | | | | | There's no configuration to take a callsign from... Signed-off-by: Keith Packard <keithp@keithp.com>
| * | | altos: Use configured callsign in APRS packetsKeith Packard2012-12-07
| | | | | | | | | | | | | | | | | | | | | | | | Instead of hard-coding my own call sign... Signed-off-by: Keith Packard <keithp@keithp.com>
| * | | altos: Make APRS interval configurableKeith Packard2012-12-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This provides a separate configuration value for APRS, allowing the interval between APRS reports to vary. Signed-off-by: Keith Packard <keithp@keithp.com>
| * | | altos: Fix up APRS packet sending code in cc1120 driverKeith Packard2012-12-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes the FIFO management, ensuring that the data are streamed into the radio fast enough to keep the packet continuous. Sounds like it works, but testing with an actual APRS receiver is required. Signed-off-by: Keith Packard <keithp@keithp.com>
| * | | Merge branch 'master' into aprsKeith Packard2012-12-07
| |\ \ \
| * | | | altos: Send APRS packets even during ascentKeith Packard2012-12-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If you're using APRS, presumably you want to watch the rocket going up too. Signed-off-by: Keith Packard <keithp@keithp.com>
| * | | | altos: Allow telemetry, rdf and APRS to be individually controlledKeith Packard2012-12-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | But, only when APRS is available so that TeleMetrum and TeleMini don't change behaviour Signed-off-by: Keith Packard <keithp@keithp.com>
| * | | | altos: Hook up APRS to telemetry loopKeith Packard2012-12-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Send APRS packet once every 2 seconds Signed-off-by: Keith Packard <keithp@keithp.com>
| * | | | altos: Hook APRS up to the radioKeith Packard2012-12-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds an arbitrary-length packet writing function to the radio code. Signed-off-by: Keith Packard <keithp@keithp.com>
| * | | | altos: Prepare APRS for use within altos itselfKeith Packard2012-12-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make all variables static, const-ify constants, change the public name of the single entry point. Signed-off-by: Keith Packard <keithp@keithp.com>
| * | | | altos: Start restructuring APRS code to create and send packetsKeith Packard2012-12-05
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Keith Packard <keithp@keithp.com>
| * | | | altos: Remove a bunch of time bits from the APRS codeKeith Packard2012-12-05
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Keith Packard <keithp@keithp.com>
| * | | | altos: Remove APRS sine-wave tableKeith Packard2012-12-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We're generating a lovely square wave, which appears to be decoded just fine thankyouverymuch. Signed-off-by: Keith Packard <keithp@keithp.com>
| * | | | altos: More APRS trimmingKeith Packard2012-12-05
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Keith Packard <keithp@keithp.com>
| * | | | altos: Remove more unused APRS codeKeith Packard2012-12-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Getting down to a reasonable amount of code. Signed-off-by: Keith Packard <keithp@keithp.com>
| * | | | altos: Reduce printf calls in APRS packet generationKeith Packard2012-12-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge all of the data into a single printf call Signed-off-by: Keith Packard <keithp@keithp.com>