summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* altos: Get CC115L radio working.Keith Packard2013-03-29
| | | | | | | | | | | | | | | | This involved figuring out which GPIO signal would reliably indicate that the transmitter was finished; I ended up using the PA_PD bit for this. This also converts all of the radio users to the long packet support as the CC115L has only a 64-byte fifo, not large enough to hold either an RDF tone or a regular AltOS telemetry packet. This also renames the public API for sending APRS packets from ao_radio_send_lots to ao_radio_send_aprs, which is at least more accurate. The workings of that API haven't changed, just the name. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add temporary RF power settingsKeith Packard2013-03-29
| | | | | | | | | | These expose the raw cc115l and rfpa0133 register settings so that we can calibrate them against measured power outputs. I've tested them to verify that they change how much power the board consumes, so they're clearly doing something... Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add FAT32 support. And lots more testing.Keith Packard2013-03-29
| | | | | | | | Generalizes the FAT code to deal with either 16-bit or 32-bit versions. The testing code now runs over a variety of disk images to check for compatibility on all of them. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: seek forward on FAT cluster chain instead of restartingKeith Packard2013-03-28
| | | | | | | | This improves sequential file performance by taking advantage of any previous cached cluster/offset pair and starting from there when the cluster changes rather than starting from scratch at the begining again. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add a simple cache for the FAT position->cluster computationKeith Packard2013-03-28
| | | | | | | This improves read/write performance with large files by not re-walking the cluster chain for every operation Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Clean up fat driver API. Improve fat testKeith Packard2013-03-28
| | | | | | | | Make FAT api provide reasonable error return values, change the tests to write and then read a pile of files, checking that the contents are correct (using md5sum). Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add sanity checking to busy counts in bufio driverKeith Packard2013-03-28
| | | | | | Make sure the busy counts don't underflow or overflow. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Use FTDW, clear DATA bit. Disable backup write protectionKeith Packard2013-03-27
| | | | | | | | | The newer(?) chips in telegps didn't like the previous programming scheme, so go back to fixed time for write, which does an implicit erase before every write. Also clear the DATA bit, which is only needed for double word erase/programming. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Teleshield has a radio, set HAS_RADIO in ao_pins.hKeith Packard2013-03-27
| | | | | | Otherwise, lots of random code won't know about the radio.. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add new panic flag for bufio misuseKeith Packard2013-03-27
| | | | | | Allow the bufio code to signal a fatal error if someone misuses the API Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Hook up the FAT16 and SD card support to telegpsKeith Packard2013-03-27
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add SDCARD and FAT16 filesystem supportKeith Packard2013-03-27
| | | | | | | This adds a fairly primitive FAT16 file system implementation along with support for SD cards. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Fix config to not abort radio recv when no recv is availableKeith Packard2013-03-26
| | | | | | | Use the new radio recv define to skip disabling the receiver when there isn't a receiver. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Allow radio recv and xmit to be separately configuredKeith Packard2013-03-26
| | | | | | | The CC115L is xmit only, so split out the functions and provide defines to check for xmit or recv separately as needed. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stm: Ensure SPI always sends 0xff during receiveKeith Packard2013-03-26
| | | | | | SD cards require 0xff when fetching data Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Improve CC115L driver. Generates carrier now.Keith Packard2013-03-26
| | | | | | Still no data, but at least the carrier comes up on frequency now. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add RFPA0133 amplifier driverKeith Packard2013-03-26
| | | | | | No configuration of power level yet, just the bare driver. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/telegps: Hook up cc115l driverKeith Packard2013-03-24
| | | | | | Doesn't actually do anything yet, but should initialize the chip at least Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add cc115l driver (untested)Keith Packard2013-03-24
| | | | | | Includes support for sending telemetry, RDF and APRS tones Signed-off-by: Keith Packard <keithp@keithp.com>
* Add telegps initial versionKeith Packard2013-03-20
| | | | | | Just lights up the GPS and USB Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: re-enable optimization for stm-demo. remove unused bitsKeith Packard2013-03-10
| | | | | | This makes stm-demo run on the discovery board again. Signed-off-by: Keith Packard <keithp@keithp.com>
* Merge remote-tracking branch 'mjb/master'Keith Packard2013-03-06
|\
| * all: clean up .gitignore files and Makefile clean targetsMike Beattie2013-02-15
| | | | | | | | Signed-off-by: Mike Beattie <mike@ethernal.org>
* | altos: telescience-v0.2 is an ARM productKeith Packard2013-02-24
| | | | | | | | | | | | Move it from SDCC to ARM targets as Jenkins doesn't have an ARM compiler. Signed-off-by: Keith Packard <keithp@keithp.com>
* | altos/driver: Make HMC5883 driver build againKeith Packard2013-02-24
| | | | | | | | | | | | Adapt to changes in OS interfaces Signed-off-by: Keith Packard <keithp@keithp.com>
* | Merge branch 'telescience-v0.2'Keith Packard2013-02-24
|\ \
| * \ Merge branch 'master' into telescience-v0.2Keith Packard2013-01-16
| |\ \
| * \ \ Merge branch 'master' into telescience-v0.2Keith Packard2013-01-16
| |\ \ \
| * | | | altos: Change CC1120 SPI speed to 4MHz.Keith Packard2013-01-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most of the chip can run at 8MHz, but extended register access is limited to 6.1MHz. Instead of pushing things, just run the SPI bus at 4MHz. Signed-off-by: Keith Packard <keithp@keithp.com>
| * | | | altos: Crank fast SPI on STM to 8MHzKeith Packard2013-01-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the GPIO pins set to 10MHz now, we can run SPI at the maximum possible speed (8MHz). Signed-off-by: Keith Packard <keithp@keithp.com>
| * | | | altos: Set STM GPIO output speed for SPI pins correctlyKeith Packard2013-01-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The GPIO pin settings affect the output impedence, and hence the maximum speed for SPI. Cranking these to suitable values allows SPI to run at full speed. Signed-off-by: Keith Packard <keithp@keithp.com>
| * | | | altos: Build telescience-v0.2Keith Packard2013-01-13
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Keith Packard <keithp@keithp.com>
| * | | | 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>