| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
9.3ms vs 14.7ms, a clear win.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Move it to core
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Using unsigned locals made GCC sad as it was compared with a signed value.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Now that MM has full radio functionality, we can make it work right.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Using printf is way too slow with pdclib; just hand-write hex byte output.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
No need to publish these; they're all private to cc1111
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Keep it parallel with ao_fec_tx.c
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Call the fec decode function, compute RSSI and check CRC
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Interrupt-per-bit, but it seems to work
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Not much builds without this...
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
There aren't *any* forward bits to use when decoding the last byte.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Minimize data usage, make data arrays static
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
Decode bits incrementally. Don't bother decoding the last byte; it's
always a pad byte.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
| |
Only need two cost arrays (previous and next). Create constant
full-width decoder table instead of expanding bits into bytes for each
decode step.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
I think I understand how it works now. It's not exactly speedy, and it
uses a lot of memory.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
It's not a driver as it's not specific to the 1120 chip
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
| |
Create two new telemetry packets to hold all of the MM data.
This patch also splits the telemetry structures out of ao.h
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
| |
ao_storage_read does in fact call ao_storage_setup, but we need the
value of ao_storage_config *before* calling ao_storage_read, so call
ao_storage_setup first.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Now that the radio works
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Using ao_arch_critical around the wchan setting will force interrupts
to be re-enabled before ao_yield records the state of that bit,
potentially causing problems with functions not atomically testing and
sleeping.
Tasks that need to set wchan with interrupts disabled should have
interrupts disabled when entering ao_sleep already.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
No need to call twice.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
While work on the radio code progresses
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Just in case some product wants to save memory, or have more.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This created ground station software that couldn't actually receive
and report telemetry packets.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Avoids needing a new command
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
Remove references to accel variables when building baro-only flight
test code.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
| |
The legacy telemetry packets included the raw ADC structure directly,
so make sure that doesn't change further, allowing teledongle firmware
to remain compatible with old TM firmware.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
Until we've got the radio working, there's no way to see inside the MM
state without using USB. Add a diagnostic command to dump out the
internal flight state variables.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
| |
Switches all acceleration computation to using the MegaAccel
accelerometer to ensure support for high-g flights.
MPU6000 values continue to be logged as normal
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
These nicely fill the 32-byte sensor log record
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Make sure megametrum reports 'log format 5'.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Otherwise, this goes way too slow
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
otherwise TM doesn't build anymore
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Avoid breaking telemetrum (too much) by splitting this stuff apart.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Doesn't track flight state changes correctly.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
|
| |
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>
|