| Commit message (Collapse) | Author | Age |
| ... | |
| |
|
|
|
|
| |
No sense using 32 bits for tiny hardware
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
|
| |
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>
|
| |
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
| |
Programmed by specifying a conjunction of flight conditions that
trigger the igniter to fire.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
| |
unused variables and mis-matches in printf format codes.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
| |
The cc1111 compiler gets this very wrong and prints piles of garbage
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
| |
This leaves USB enabled, and adds the 'F' command to dump
internal flight state.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
| |
This keeps the compiler from whinging about the lack of a prototype.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
| |
We turn on a pile of warnings for that.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
| |
Was just a temporary hack to keep cc1111 products building during MM development.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
| |
The mega-metrum versions are now the official versions
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
| |
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>
|