summaryrefslogtreecommitdiff
path: root/src/core
Commit message (Collapse)AuthorAge
* altos: Baro-only (but record accel) for TM v1.2pwminKeith Packard2012-07-21
| | | | | | Changes for ULA payload Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Start radio a fixed time after boostKeith Packard2012-07-19
| | | | | | Keeps the radio quiet while inside the ULA airframe Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Allow 'Z' MPU6000 axis to be changed at compile timeKeith Packard2012-07-19
| | | | | | | This axis selects which axis to use for computing flight acceleration when no high-g accelerometer is present. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Toggling telemetry monitoring would replay the telem queueKeith Packard2012-07-17
| | | | | | | | Using the 'm' command to turn telem off and back on would end up going around the whole telemetry queue replaying everything there as the wait loop would exit when disabling monitoring even if the ring was empty. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Megametrum ADC values are 12 bits, discard low 4 for telemetryKeith Packard2012-07-17
| | | | | | | We've only got space for 8 bits for the ADC values for pyro channels, discard the low 4 bits instead of the low 8 bits. 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: Add manual firing command for extra pyro channelsKeith Packard2012-07-16
| | | | | | | In parallel with the existing igniter commands, this tests the programmable pyro channels Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Use 'HAS_ORIENT' to enable orientation selection in pyro codeKeith Packard2012-07-16
| | | | | | Don't expose orientation options when no orientation data is available 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>
* altos: Make ao_tick_count visibleKeith Packard2012-07-16
| | | | | | | Necessary to fetch it when interrupts are already disabled as we can't call ao_time then. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Make storage addresses datatype configurableKeith Packard2012-07-16
| | | | | | No sense using 32 bits for tiny hardware Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: No space for pyro help on TP v0.1Keith Packard2012-07-16
| | | | | | | AVR doesn't have enough ram to hold the help messages, and we can't use them in flash. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Remove unused 'func' from ao_config_setKeith Packard2012-07-16
| | | | 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>
* altos: Add arbitrary pyro channel supportKeith Packard2012-07-14
| | | | | | | Programmed by specifying a conjunction of flight conditions that trigger the igniter to fire. 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: remove optimization for 'help' that confuses cc1111 compilerKeith Packard2012-07-11
| | | | | | The cc1111 compiler gets this very wrong and prints piles of garbage Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Force 434.550Mhz by connecting debug gnd and clk (trac #41)Keith Packard2012-07-10
| | | | | | | | Check for pin P2_2 low at startup and set the frequency to 434.550MHz. This value won't get written to flash, so rebooting again will restore the configured frequency. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Continuously update ground state while on pad (trac #42)Keith Packard2012-07-10
| | | | | | | | Average data for 5 seconds, wait 5 seconds and if still in pad mode, replace the existing data with the new data. This should avoid averaging in boost data while still keeping things reasonably current. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Set HAS_FLIGHT_DEBUG=1 to include the flight debugging commandsKeith Packard2012-07-10
| | | | | | | This leaves USB enabled, and adds the 'F' command to dump internal flight state. 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: Add 'void' parameter to ao_fec_decode callback parameterKeith Packard2012-07-10
| | | | | | This keeps the compiler from whinging about the lack of a prototype. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Save some memory.Keith Packard2012-07-10
| | | | | | | A few minor space savings in ao_cmd.c and ao_config.c. Don't build unused conversion functions ao_altitude_to_pres and ao_temp_to_dC Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Eliminate compiler warnings when building ao_flight_testKeith Packard2012-07-10
| | | | | | We turn on a pile of warnings for that. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Rename *_mm.c back to *.cKeith Packard2012-07-10
| | | | | | Was just a temporary hack to keep cc1111 products building during MM development. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: remove stale ao_flight.c and ao_sample.cKeith Packard2012-07-10
| | | | | | The mega-metrum versions are now the official versions Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Viterbi performance improvments. Down to 5.7ms for command decodeKeith Packard2012-07-03
| | | | | | | | Stealing more of Phil's good ideas, decoding a command mode packet has been reduced from 9ms to 5.7ms. Lots more comments to help future-me figure out how this code works. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Do not block igniters on the radio mutex.Keith Packard2012-07-02
| | | | | | | | Blocking igniters on the radio mutex fails when doing igniter testing over the RF link; the packet receiver task will never release the mutex and the CPU at the same time, causing the system to lock up. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Allow megametrum to be built without using the mag sensorKeith Packard2012-06-27
| | | | | | | I'm having trouble getting it working reliably, so we'll like disable it for now. This patch makes that possible. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Unroll viterbi state loop for >30% performance boostKeith Packard2012-06-27
| | | | | | 9.3ms vs 14.7ms, a clear win. 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: Don't try to grab radio while firing MM ignitersKeith Packard2012-06-27
| | | | | | | If you're in idle mode, you stop forever as the packet mode receiver will own the radio mutex forever. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: ao_ignite.c is no longer cc1111 specificKeith Packard2012-06-26
| | | | | | Move it to core Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add debugging code to check for stack overflowKeith Packard2012-06-26
| | | | | | | | Stack overflow often happens from interrupt handlers sitting on top of a task stack. Check for this during ao_wakeup as that is often called during interrupt processing. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Make gcc happy with ao_telemetry_set_intervalKeith Packard2012-06-26
| | | | | | Using unsigned locals made GCC sad as it was compared with a signed value. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Turn radio-related bits of ao_flight_mm.cKeith Packard2012-06-26
| | | | | | Now that MM has full radio functionality, we can make it work right. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: custom hex printer for telemetry packetsKeith Packard2012-06-26
| | | | | | Using printf is way too slow with pdclib; just hand-write hex byte output. 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: Add GPS logging code for MegaMetrumKeith Packard2012-06-26
| | | | | | | MM uses a different logging format with larger log blocks, so restructure the GPS logging code to fill them up Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Make cc1111 radio control functions staticKeith Packard2012-06-26
| | | | | | No need to publish these; they're all private to cc1111 Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: rename ao_viterbi.c to ao_fec_rx.cKeith Packard2012-06-26
| | | | | | Keep it parallel with ao_fec_tx.c 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: Forgot ao_telemetry.hKeith Packard2012-06-25
| | | | | | Not much builds without this... Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: improve FEC apis to reduce data copyingKeith Packard2012-06-23
| | | | | | | | | Integrate interleaving and whitening into encode and decode steps. Add CRC checking function for receive. Make ao_fec_test program round-trip the data and verify correctness. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: fix comment about decoding last byte of FEC dataKeith Packard2012-06-23
| | | | | | There aren't *any* forward bits to use when decoding the last byte. Signed-off-by: Keith Packard <keithp@keithp.com>