summaryrefslogtreecommitdiff
path: root/src/drivers
Commit message (Collapse)AuthorAge
...
* altos: Trigger sample complete when all data are readyKeith Packard2012-08-26
| | | | | | | This has each sensor mark a bit in the current data record which is then sent for processing when all of the data are present. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Make 'pad' driver useful with telefire v0.1Keith Packard2012-08-26
| | | | | | | | This reports correct status bits over the radio and to the LEDs for all four channels, and also makes the firing test command control all four relays. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add debug command for 74hc597 driverKeith Packard2012-08-26
| | | | | | | | | This dumps the current state of the 74hc597 chip. Note that this shows that the 74hc597 driver doesn't work, and that the circuit used in telefire v0.1 can't work. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Get ao_pad.c working on telefire v0.1Keith Packard2012-08-24
| | | | | | | Monitor all four channels, allow any channel to be fired. Turn on power LED at startup time. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Split out LCO functions from ao_radio_cmac.c to ao_lco.cKeith Packard2012-08-24
| | | | | | | These functions are not used in the telelaunch or telefire nodes, so don't force them to be included. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add 'ao_led_set_mask' in the PCA9922 driverKeith Packard2012-08-24
| | | | | | This lets a subset of the LEDs be controlled independent of other LED settings. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Disable telefire 'pad' listener when testing radioKeith Packard2012-08-24
| | | | | | | Ensures that the radio testing won't block waiting for a firing mode packet to arrive. Signed-off-by: Keith Packard <keithp@keithp.com>
* Here's the button driver and event queue logicKeith Packard2012-08-18
| | | | | | These were neglected in the commit which was supposed to include them Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add MMA655X driverKeith Packard2012-08-18
| | | | | | Just debug code at this point, will complete on real hardware Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Use split SPI bus for MS5607 sensorKeith Packard2012-08-18
| | | | | | | Leave CS low while releasing the SPI bus when waiting for conversion complete -- other SPI bus users will use another set of pins. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add button driver and event queueKeith Packard2012-08-06
| | | | | | | With this, a single task can wait for any button or quadrature input device. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Support multiple quadrature encoders.Keith Packard2012-08-06
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Fix up quadrature driverKeith Packard2012-08-06
| | | | | | Mostly works now, should work reliably with a bit of input filtering. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add quadrature driverKeith Packard2012-08-06
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add telefire-v0.1Keith Packard2012-07-29
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: With debug cables disconnected, CC1120 seems happy at +16dBmKeith Packard2012-07-17
| | | | | | Let's see how it goes... Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Place STM config values at fixed addresses for re-useKeith Packard2012-07-17
| | | | | | | | Just like cc1111, stick the serial number and radio calibration values at known fixed addresses so that when re-flashing the board, we can go find the existing values. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Enable pyro channel control in telepyroKeith Packard2012-07-16
| | | | | | This should make the board actually work now. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Pass flight dynamics to companion boardsKeith Packard2012-07-16
| | | | | | Necessary for TelePyro Signed-off-by: Keith Packard <keithp@keithp.com>
* src: Add explicit 'pin' argument to ao_enable_outputKeith Packard2012-07-14
| | | | | | | This lets the cc1111 use the atomic bit operation instead of a mask, which is immune to interrupt issues as well as being a shorter code sequence. Signed-off-by: Keith Packard <keithp@keithp.com>
* Report RSSI values in monitor idle UI (trac #44)Keith Packard2012-07-11
| | | | | | | | This adds a new 's' command to TeleDongle to report RSSI value from last received packet, and then has AltosUI request that value when closing the remote link. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Fix gcc compiler warnings in GPS codeKeith Packard2012-07-11
| | | | | | unused variables and mis-matches in printf format codes. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Create macros to convert from/to radio RSSI representationKeith Packard2012-07-11
| | | | | | | | AO_RSSI_FROM_RADIO and AO_RADIO_FROM_RSSI. Removes a bunch of open-coded versions of the same function. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Signal continuity over radio in pad mode (trac #40)Keith Packard2012-07-10
| | | | | | | This is especially useful for telemini which has no beeper, allowing you to hear the continuity signal while at the pad over the air. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Disable MS5607 interrupt in the handleraltosdroidKeith Packard2012-06-28
| | | | | | | Avoids having the interrupt re-raised multiple times until the reading task finally wakes up. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Track missed HMC5883 interruptsKeith Packard2012-06-27
| | | | | | | When it fails to signal conversion complete to the CPU, keep track of that and report it with the rest of the current data. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: panic if MPU6000 self test failsKeith Packard2012-06-27
| | | | | | Don't try to fly if the board isn't working right. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Make profiling Viterbi decoder more usefulKeith Packard2012-06-27
| | | | | | | This blocks starting the decoder until all of the data have arrived so that the time spent in the decoder is easily computed. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Clean up radio CRC handlingKeith Packard2012-06-27
| | | | | | | Make the FEC code just set the CRC_OK bit like the cc1111 radio does; eliminates a bunch of weird conventions across the FEC API. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: include targe SPI speed in get requestKeith Packard2012-06-27
| | | | | | | STM needs it to be provided when enabling the SPI device, so just fix AVR and cc1111 to do the same. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Clean up cc1120 driver a bitKeith Packard2012-06-27
| | | | | | Make some variables static, remove stale debug code Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Abort radio receive when using flash memory on megametrumKeith Packard2012-06-26
| | | | | | | | | | Radio receive camps on the SPI bus, making it impossible to access flash memory. Abort any pending receive operation when trying to get to the flash part. Yes, this is a total hack. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Optimize FEC encode and decodeKeith Packard2012-06-26
| | | | | | | | | | | | | Integrate interleaving, CRC and padding within the decode/encode functions. Provide for ISR priorities so that the 1120 RX interrupt takes precedence over the other interrupts or we risk losing bits. Optimize the viterbi decoder a bit (goes from 10ms per packet to 7ms per packet). Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Clean up usage of port parametersKeith Packard2012-06-26
| | | | | | | | Make stm port parameters always be pointers; this avoids the confusion where some macros took '&port' and others took a bare 'port', and also unifies code to run on other processors in a consistent fashion. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Incremental viterbi decodeKeith Packard2012-06-25
| | | | | | | | Decode radio input one interleave block at a time. This overlaps the decode computation with the packet reception, leading to lower latency in an attempt to keep up with the transmitter. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: decode cc1120 received packetsKeith Packard2012-06-25
| | | | | | Call the fec decode function, compute RSSI and check CRC Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Get cc1120 packet reception workingKeith Packard2012-06-25
| | | | | | Interrupt-per-bit, but it seems to work Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Move FEC code to coreKeith Packard2012-06-21
| | | | | | It's not a driver as it's not specific to the 1120 chip Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: make cc1120 ao_radio_send re-entrantKeith Packard2012-06-17
| | | | | | It gets called from multiple tasks, so put local data on the stack. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Software implemenation of CC1111 radio encodingKeith Packard2012-06-17
| | | | | | | Add CRC, whitening, FEC and interleaving routines for transmission path to allow cc1120 to send telem packets to cc1111. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Use interrupts to wake up after RDF transmission.Keith Packard2012-06-17
| | | | | | Also clean up the debug output Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Crank cc1120 power down to 0dBm to avoid crashing CPUKeith Packard2012-06-17
| | | | | | | Looks like RFI from the transmitter is confusing the CPU; lower the 1120 power output from +14dBm to +0dBm to keep the CPU happy. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Start making cc1120 radio workKeith Packard2012-06-15
| | | | | | RDF tones and radio calibration work now. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Fix cc1120 packet mode datarate and configKeith Packard2012-06-15
| | | | | | Was using the wrong function Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Make sure cc1120 is initialized correctly at startup timeKeith Packard2012-06-15
| | | | | | Check to make sure it pulls down MISO when CS is enabled. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: use 'b' command for radio beepKeith Packard2012-06-15
| | | | | | 'B' is used by the baro data dumper. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Fix RDF mode data rate and PKT_CFG0 valueKeith Packard2012-06-15
| | | | | | | Changes tone to the desired 1kHz frequency and ensures the PKT_CFG0 has the right value. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Actually write cc1120 register valuesKeith Packard2012-06-15
| | | | | | Helps to not use 'read' mode when writing. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Configure cc1120 frequencyKeith Packard2012-06-15
| | | | | | | Set default conversion value, and pull the selected frequency calibration data out of the config block. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Other half of the ms5607 prom reporting patchKeith Packard2012-06-04
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>