summaryrefslogtreecommitdiff
path: root/src/drivers
Commit message (Collapse)AuthorAge
* altos: Put locked/unlocked GPS status in APRS commentsKeith Packard2014-02-09
| | | | | | | | | | | Replace the 'S' (which marks the field showing sats in view) with either 'L' or 'U' to tell the user whether the GPS receiver is locked or unlocked. This also removes the colons in the comment field to shorten it. This makes it fit on one line of my FT1D display. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Re-send previous GPS position in APRS if lock is lostKeith Packard2014-02-09
| | | | | | | | | APRS radios often show only the last received APRS packet, which means that erasing the last known GPS position when we lose lock by sending 0/0/0 is unhelpful. Instead, just send the last known position, and make sure that we send 0/0/0 before we're locked the first time. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Report nsat in view in APRS packetKeith Packard2014-02-08
| | | | | | | This adds the number of sats in view (as opposed to the number of sats in solution) to the APRS packet. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Don't write more than 12 sat infos in ublox driverKeith Packard2014-02-08
| | | | | | | This was overwriting memory past the end of the ao_gps_tracking_data array, which isn't a good idea. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Eliminate warnings in FAT codeKeith Packard2014-02-08
| | | | | | | The FAT file system code wasn't cleaned up when the warning fixes were done recently. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add watchdog timer taskKeith Packard2014-02-08
| | | | | | | This new task frobs a pin periodically to inform the hardware that the operating system is running. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: report 0/0/0 for APRS position when GPS is not lockedKeith Packard2014-02-06
| | | | | | | We were reporting whatever the GPS device sent, even if it wasn't reporting a valid status. That's not terribly useful. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Report battery, apogee and main voltages over APRSKeith Packard2014-01-15
| | | | | | This makes APRS more usable when you mute the RF audio on the HT. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Switch APRS to compressed position formatKeith Packard2014-01-14
| | | | | | This provides lat/lon/alt in fewer bytes while improving precision. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: cc115l driver tone_run wasn't recording number of tonesKeith Packard2013-12-20
| | | | | | This would prevent the cc115l driver from ever sending tones. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Clean up warnings for LPC productsKeith Packard2013-12-20
| | | | | | Unused varibles, functions and parameters. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add default button return value from ao_button_getKeith Packard2013-12-20
| | | | | | | This "can't" happen, but it's not unreasonable to have a default return value. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Clean up -Wextra warningsKeith Packard2013-12-20
| | | | | | | Unused variables, mismatching signed/unsigned and a few other misc warnings. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Clean up some minor warnings from -WallKeith Packard2013-12-20
| | | | | | Unused variables, functions and labels, missing enums in switch. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Execute self-test on MMA655X partKeith Packard2013-12-20
| | | | | | | | | | This doesn't check for fine calibration, just makes sure the part is within the broad tolerances specified by the manufacturer. The subtle fix here was actually getting reset working -- there was a typo in the bitpattern definition which caused the reset to fail, making it hard to self-test the part, as self-test is only valid before the part is running. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Try IMU self-test 10 times before giving upKeith Packard2013-12-18
| | | | | | | | This should keep the device from failing to boot unless the IMU is actually broken. Oh, and if self test does fail, this places the flight computer in 'Invalid' state rather than panic. Signed-off-by: Keith Packard <keithp@keithp.com>
* Add ublox checksum generating programKeith Packard2013-11-12
|
* altos: Change ao_mpu6000_gyro arg to floatKeith Packard2013-10-27
| | | | | | This lets callers pass more precision than just the original sensor value Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add gyro-based orientation trackingKeith Packard2013-10-25
| | | | | | | This tracks the angle-from-vertical as an additional input to the pyro channels. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Fix GPS test frameworks to handle shared ao_gps_new variableKeith Packard2013-10-25
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Merge GPS logging into a single functionKeith Packard2013-10-14
| | | | | | | | | | | | Create a new global, ao_gps_new, which indicates new GPS position and satellite data. Use ao_gps_new as the new sleep/wakeup address. Merge the separate gps position/satellite logging tasks into a single function which waits for new data and writes out the changed values. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Use #define values for ublox packet typesKeith Packard2013-10-14
| | | | | | One case was using hex values instead of the #define equivalents. Signed-off-by: Keith Packard <keithp@keithp.com>
* Merge remote-tracking branch 'origin/telemini'Keith Packard2013-08-28
|\ | | | | | | | | | | | | | | | | | | Signed-off-by: Keith Packard <keithp@keithp.com> Conflicts: src/core/ao_telemetry.c src/core/ao_telemetry.h Added both Mini and Metrum telemetry defines
| * altos: Check for MS5607 MISO low before sleepingKeith Packard2013-08-26
| | | | | | | | | | | | | | If the MISO line goes low before we manage to configure the interrupts, we'll miss it entirely unless we check the pin explicitly. Signed-off-by: Keith Packard <keithp@keithp.com>
| * altos: Use %ld and %lu for MS5607 debug outputKeith Packard2013-08-26
| | | | | | | | | | | | The value are 'long', so use the right printf format. Signed-off-by: Keith Packard <keithp@keithp.com>
| * altos: Changes required by cc1111 multi-spi supportKeith Packard2013-08-25
| | | | | | | | | | | | These drivers got missed Signed-off-by: Keith Packard <keithp@keithp.com>
| * altos/teletiny-v2.0: Support multiple SPI busses on CC1111Keith Packard2013-08-25
| | | | | | | | | | | | Needed for TeleMini v2.0 Signed-off-by: Keith Packard <keithp@keithp.com>
| * altos: Make TeleMini v2.0 fitKeith Packard2013-08-25
| | | | | | | | | | | | Mash lots of storage locations and code around to shrink stuff down to size Signed-off-by: Keith Packard <keithp@keithp.com>
| * Initial TeleMini bitsKeith Packard2013-08-25
| | | | | | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* | altos: Force u-blox to 9600 baud for nowKeith Packard2013-08-28
| | | | | | | | | | | | | | | | The Max-7 parts just aren't happy switching baud rates, managing only about half the time. Someday I'll figure out why, but until then, make things work by just leaving the chips at 9600 baud Signed-off-by: Keith Packard <keithp@keithp.com>
* | altos: Add debugging to ublox GPS driverKeith Packard2013-08-28
|/ | | | | | | | The new max 7 parts seem to be unhappy about switching baud rates, so I've added a pile of debugging to help out. Some day, I'll figure out how to make them work, this code is being left in place to help with that. Signed-off-by: Keith Packard <keithp@keithp.com>
* Merge branch 'master' into telegps-v0.3Keith Packard2013-08-25
|\
| * altos: MS5607 pressure computation for low temperatures was wrongKeith Packard2013-08-25
| | | | | | | | | | | | Second correction only applies to temps < -15°C, not 15°C. Signed-off-by: Keith Packard <keithp@keithp.com>
* | altos: various cc115l driver hacksKeith Packard2013-08-20
| | | | | | | | | | | | | | | | | | | | | | Try to recover from TX_FIFO_UNDERFLOW by resetting the chip at idle time. Do a calibration phase during setup. Program power to ramp up to limit key down noise. Signed-off-by: Keith Packard <keithp@keithp.com>
* | altos: Allow ublox to run at other baud ratesKeith Packard2013-08-17
| | | | | | | | | | | | | | Provides a configuration option to set the ublox serial baud rate to something other than 57600 baud Signed-off-by: Keith Packard <keithp@keithp.com>
* | altos: Remove ao_radio_gpio_bits from normal buildKeith Packard2013-07-02
|/ | | | | | Only needed for the CC115L_TRACE code, and it only builds on STM Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/telefire: Radio status (no data, weak data, good data) on LEDsKeith Packard2013-06-19
| | | | | | | | Instead of blinking RX/TX, report the radio status on the telefire nodes, just like telelco does. This makes the LEDs on telefire *exactly the same* as the LEDs on telelco, which seems like a good idea. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: PCA9922 LED driver needs Enable driven low to latch valuesKeith Packard2013-06-19
| | | | | | | Driving Enable high means anything going past on the clock and data pair is reflected on the LEDs, which isn't terribly useful Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Declare m25 write-in-progress as 'ao_port_t'Keith Packard2013-06-16
| | | | | | This lets us use port bits greater than 7 for M25 chip selects Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add fast-timer API. Use for quadrature and button driversKeith Packard2013-06-09
| | | | | | | This splits the fast-timer portion out of the debounce helper code and shares that with the quadrature driver which now uses it directly. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add debounce helper. Use in button and quadrature drivers for TeleLCOKeith Packard2013-06-09
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/telefire: Leave siren on all the time. Add siren/strobe debugging.Keith Packard2013-06-09
| | | | | | The 50% duty cycle wasn't actually loud enough outside. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add telefire v0.2 supportKeith Packard2013-06-09
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add driver for 74hc165 shift registerKeith Packard2013-06-09
| | | | | | Just reads one byte from the shift register using the SPI driver and returns it Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add EXTI_PIN_NOCONFIGURE to exti interface, use for MS5607Keith Packard2013-05-19
| | | | | | | | This asks the EXTI code to not mess with the pin configuration so that the MS5607 driver can get interrupts on the MISO pin while still using it for SPI. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Use ao_spi_get/put_bit in MS5607 driverKeith Packard2013-05-19
| | | | | | Replace open-coded ao_spi_get/put and ao_gpio_set sequences Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Use ao_port_t in m25 driverKeith Packard2013-05-18
| | | | | | This uses ao_port_t for all of the chip select masks Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Generate unmodulated carrier for CC1120 test modeKeith Packard2013-05-15
| | | | | | | This sets the deviation to 0, enables the preamble and turns on the transmitter. It will sit there happily sending a bare carrier forever Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Remove some MMA655x debugging printfsKeith Packard2013-05-15
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Grab SPI mutex until MPU6000 I2C mode is disabledKeith Packard2013-05-15
| | | | | | | | If other drivers use the SPI bus, the MPU6000 gets confused as its sitting on the bus looking for I2C messages. Just grab the mutex before the OS is running and hold onto it until the MPU6000 has been initialized. Signed-off-by: Keith Packard <keithp@keithp.com>