summaryrefslogtreecommitdiff
path: root/src/drivers
Commit message (Collapse)AuthorAge
...
* 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>
* altos: Intgrate hmc5883 sensor into adc ringKeith Packard2012-06-02
| | | | | | | Creates a task to poll the mag sensor and place the data into the sensor data ring. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Get HMC5883 driver limping alongKeith Packard2012-06-02
| | | | | | Not pushing data into the ring yet, but the chip appears to work now. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Try to get hmc5883 workingKeith Packard2012-05-28
| | | | | | No joy yet Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Make telepyro-v0.1 build with new ao_data structKeith Packard2012-05-27
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Make telescience-v0.1 build with new ao_data structKeith Packard2012-05-27
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Don't start ADC ring until the other sensors have a valid valueKeith Packard2012-05-27
| | | | | | Yes, this is still an ugly kludge, but it's easy. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Poll mpu6000 values every tick and stash them locally.Keith Packard2012-05-18
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Finish ms5607 supportKeith Packard2012-05-18
| | | | | | | | | | This has the MS5607 polling once each tick for pressure and temperature and then saving that in a global variable. The command UI provides for dumping the prom data so that an eeprom file can have raw sensor data along with the conversion factors necessary to compute useful values. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Check MS5607 CRC. Clean up MS5607 APIKeith Packard2012-05-18
| | | | | | It's not ready for flight yet, but at least it's sensible now. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Conditional byte swapping in mpu6000 driverKeith Packard2012-05-18
| | | | | | Only needed on LSB machines. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Hacking at cc1120 driverKeith Packard2012-05-07
| | | | | | Still doesn't work, but this adds a ton more register definitions Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Get mpu6000 workingKeith Packard2012-05-07
| | | | | | | This initializes the device appropraitely, and provides a command to dump the current values in converted form. Signed-off-by: Keith Packard <keithp@keithp.com>