summaryrefslogtreecommitdiff
path: root/src/drivers
Commit message (Collapse)AuthorAge
* 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>
* altos: Initialize MPU6000 CS pin for SPI modeKeith Packard2013-05-15
| | | | | | Without this, we can't talk to the chip very well Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: gps serial routines are called ao_gps_*, not ao_ublox_*Keith Packard2013-05-15
| | | | | | | This caused the u-blox driver to use serial port 1 instead of the project-specified serial port. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Give u-blox 3 seconds after boot before we bug itKeith Packard2013-05-15
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add 'g' command to ublox GPS code.Keith Packard2013-05-15
| | | | | | | | Take the gps_dump function from ao_gps_skytraq.c and move it to a new file so it can be shared with the u-blox driver. That affects every skytraq and u-blox user as they need to include the new file. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Set u-blox navigation settingsKeith Packard2013-05-14
| | | | | | | Airborne mode, < 4g (as good as it gets) Only use 3D fixes (2D isn't very useful) Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Use symbolic names for ublox packet idKeith Packard2013-05-14
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Struct used for u-blox testing had lat/lon swappedKeith Packard2013-05-13
| | | | | | | The structs in ao_gps_ublox.h are used only by the test framework, but it's useful to have that look right anyways. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add U-Blox GPS driverKeith Packard2013-05-13
| | | | | | Uses binary mode. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Elide M25 debug output from storage info commandKeith Packard2013-05-07
| | | | | | | This is just chip-specific info that no UI actually needs. It takes a bunch of ROM to write it though, making TeleMetrum not have much space left. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Set APRS deviation to 3kHzKeith Packard2013-05-07
| | | | | | | | I finally found a bunch of references to APRS on the net and they all appear to assume a 3kHz deviation. Let's see if this works better with Yaesu radios. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Reduce stack usage of FAT driver and loggerKeith Packard2013-05-07
| | | | | | | | Move some large stack arrays to static storage. Also eliminates some printf error messages which don't seem that useful except for debugging. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Make cc1120 driver return false on recv timeoutKeith Packard2013-05-07
| | | | | | Was returning an uninitialized value, which was often not zero Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Reconfigure CC1120 receiver to match our usageKeith Packard2013-05-07
| | | | | | | Open up the AGC to the full range. Set the AGC ref based on our receive BW (100kHz). Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Compute "real" RSSI value in radio code as neededKeith Packard2013-05-07
| | | | | | | | | Instead of dragging around the weird CC1111 RSSI values, just compute a dBm value in a signed 8-bit integer, ao_radio_rssi. Use that everywhere we need RSSI internally. We leave the weird CC1111 value in the packet reply as that's what the host expects. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Allow LCD segments to not be multiplexed across digitsKeith Packard2013-05-07
| | | | | | | This allows each LCD segment to be individually configured as to which COM and which SEG drives it, permitting maximum flexibility in wiring. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Clear any broken cc1120 TX fifo bits before transmittingKeith Packard2013-05-07
| | | | | | | | This just goes and clears the transmitter before using it, just in case it got wedged somehow. It also clears the bits while waiting for the radio to go idle, otherwise it'd never make it. Signed-off-by: Keith Packard <keithp@keithp.com>