| Commit message (Collapse) | Author | Age |
|\ |
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This logs the low 16 bits of the pressure value to the remaining
on-chip eeprom. It can be read out with a standard AVR programming
dongle.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This sets the programming clock to 1/4 of the 250kHz clock used by the
MicroPeak firmware, allowing the device to be reprogrammed.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
This gives the user time to move their finger out of the way of the LED.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |\| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
make the 0 longer (1 sec now), and make the time between digits longer
(also 1 sec now)
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |\| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Heights are 32 bits (to get .1 meter resolution) in micropeak; make
sure we have enough bits while blinking out the computed value.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We need 32 bits to hold intermediate values, even if the final
altitude is reported in only 16 bits.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Needs all 32 bits to store .1 meter resolution
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When the radio drops out of RX or TX mode due to an error, it changes
the MARC status, and sends pulse down a configured GPIO. Use this to
tell when something 'bad' happened during TX or RX so that we can
recover from losing the SPI bus in the middle of transmission or
reception.
Without this, the radio would change state and we'd never know,
leaving the radio code waiting for an interrupt that would never arrive.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This selects lat/lon and altitude near the rounding boundary to check
that the resulting APRS data is correctly computed.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
HAS_BOOT_RADIO causes the m25 driver to abort any ongoing receive in
case that is holding the SPI bus.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Apply rounding once at the start of the computation, then truncate
after that.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
These take CPU time and memory and are intended only for debugging
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
There's no configuration to take a callsign from...
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Instead of hard-coding my own call sign...
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This provides a separate configuration value for APRS, allowing the
interval between APRS reports to vary.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This fixes the FIFO management, ensuring that the data are streamed
into the radio fast enough to keep the packet continuous. Sounds like
it works, but testing with an actual APRS receiver is required.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|\| | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
AO_READ_AGAIN doesn't fit in a char anymore now that stdio is 8-bit
clean, everyone using pollchar must use an 'int' variable to capture
the whole value from pollchar.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Avoids ambiguity with stored flight info, which starts lines with 'flight'.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Each printf call costs quite a bit of code space on the cc1111, so
instead of making multiple short calls, make one longer one.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
If you're using APRS, presumably you want to watch the rocket going up too.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
But, only when APRS is available so that TeleMetrum and TeleMini don't
change behaviour
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Send APRS packet once every 2 seconds
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This adds an arbitrary-length packet writing function to the radio
code.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Make all variables static, const-ify constants, change the public
name of the single entry point.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We're generating a lovely square wave, which appears to be decoded
just fine thankyouverymuch.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Getting down to a reasonable amount of code.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Merge all of the data into a single printf call
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Any useful data will be sent over the digital link; APRS is strictly
for position tracking
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
altos: Switch APRS to standard position reporting form
Stop using NMEA sentences for position
|
| | |
| | |
| | |
| | |
| | |
| | | |
This has defines for the planned APRS interface
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Note that two of them are in NMEA form, which some receivers appear
not to parse
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This moves some test code out of ao_aprs.c and into ao_aprs_test.c,
and then adds Makefile fragments to compile and run the resulting
program, creating a wav file as output
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This generates a .wav file containing a single APRS packet. This has
been tested and appears to be successfully decoded by an APRS receiver.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Pico Beacon hooks a GPS to an AD9954 DDS radio chip with a PIC. It
directly synthesizes the necessary AX.25 packets to do APRS
reporting. We're going to appropriate the code for use in Mega Metrum
to (optionally) broadcast APRS packets.
http://ad7zj.net/kd7lmo/aprsbeacon_code.html
Signed-off-by: Keith Packard <keithp@keithp.com>
(
|
| |
| |
| |
| |
| |
| |
| | |
To set the GPS speed, we delay for 1/2 sec, change speed, then delay
for another 1/2 sec.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
| |
| |
| |
| |
| |
| | |
Multiple printf calls are longer than one big one, so merge these
together to save some code space
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
| |
| |
| |
| |
| |
| | |
This lets it communicate with the ROM code which boots at 4800 baud
instead of 9600 baud.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This simply switches the skytraq port to 115200 baud and then
essentially connects it directly to the USB port by forwarding bytes
in both directions.
Once started, the only way out is to reboot the board.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
| |
| |
| |
| |
| | |
Necessary for direct access by the GPS reflashing code
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When set, this causes the task switching code to avoid blocking IRQs
while looking for an idle task as that can increase IRQ latencies
enough to drop characters at 115200 baud on the cc1111. Note that this
*also* eliminates the ability to use low power modes as we cannot know
at any point whether some interrupt has come along and woken a task.
Has no effect when using task queues as those require IRQs to be
blocked while looking at the queue. Shouldn't be a problem there
though as the check for no running tasks is very cheap.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
| |
| |
| |
| |
| | |
This eliminates the libc generic version in TeleTerra
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
| |
| |
| |
| |
| | |
Necessary for flashing skytraq chips
Signed-off-by: Keith Packard <keithp@keithp.com>
|