summaryrefslogtreecommitdiff
path: root/src/drivers/ao_aprs.c
Commit message (Collapse)AuthorAge
* altos/test: Make aprs test code compile againKeith Packard2015-03-10
| | | | | | Adding the compressed/uncompressed config option broke the APRS test harness. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Make APRS format (compressed/uncompressed) configurableKeith Packard2015-03-02
| | | | | | | | This provides a choice of compressed vs uncompressed when sending APRS packets to deal with receivers that still do not have support for the more useful compressed format. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Extend GPS altitudes to at least 24 bits everywhereKeith Packard2014-07-10
| | | | | | | | Telemetry gets a special 'mode' flag indicating that 24-bit data is present; log files get new data and log readers are expected to detect that via the firmware version number. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Make APRS SSID configurableKeith Packard2014-06-22
| | | | | | | This uses the low-digit from the serial number by default, but lets the user change it if desired. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/aprs: Encode last serial number in SSID. Transmit serial in commentKeith Packard2014-06-20
| | | | | | | | This makes it a lot easier to tell which device is sending information, and to receive data from multiple devices on the same receiver. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Switch APRS altitude encoding computation to fixed pointKeith Packard2014-05-30
| | | | | | | | | APRS altitude is logarithmically encoded, so this implementation includes a fixed point log-base-2 function along with a bit of other fixed point stuff. This eliminates all floating point from TeleGPS, saving around 4kB of code space. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Allow APRS to send just battery voltageKeith Packard2014-05-21
| | | | | | Don't require apogee and main voltages as well Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Put locked/unlocked GPS status in APRS commentsKeith Packard2014-02-09
| | | | | | | | | | | Replace the 'S' (which marks the field showing sats in view) with either 'L' or 'U' to tell the user whether the GPS receiver is locked or unlocked. This also removes the colons in the comment field to shorten it. This makes it fit on one line of my FT1D display. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Re-send previous GPS position in APRS if lock is lostKeith Packard2014-02-09
| | | | | | | | | APRS radios often show only the last received APRS packet, which means that erasing the last known GPS position when we lose lock by sending 0/0/0 is unhelpful. Instead, just send the last known position, and make sure that we send 0/0/0 before we're locked the first time. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Report nsat in view in APRS packetKeith Packard2014-02-08
| | | | | | | This adds the number of sats in view (as opposed to the number of sats in solution) to the APRS packet. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: report 0/0/0 for APRS position when GPS is not lockedKeith Packard2014-02-06
| | | | | | | We were reporting whatever the GPS device sent, even if it wasn't reporting a valid status. That's not terribly useful. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Report battery, apogee and main voltages over APRSKeith Packard2014-01-15
| | | | | | This makes APRS more usable when you mute the RF audio on the HT. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Switch APRS to compressed position formatKeith Packard2014-01-14
| | | | | | This provides lat/lon/alt in fewer bytes while improving precision. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Get CC115L radio working.Keith Packard2013-03-29
| | | | | | | | | | | | | | | | This involved figuring out which GPIO signal would reliably indicate that the transmitter was finished; I ended up using the PA_PD bit for this. This also converts all of the radio users to the long packet support as the CC115L has only a 64-byte fifo, not large enough to hold either an RDF tone or a regular AltOS telemetry packet. This also renames the public API for sending APRS packets from ao_radio_send_lots to ao_radio_send_aprs, which is at least more accurate. The workings of that API haven't changed, just the name. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Round APRS data correctlyKeith Packard2012-12-16
| | | | | | | Apply rounding once at the start of the computation, then truncate after that. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Fix aprs test to not allow callsign configurationKeith Packard2012-12-07
| | | | | | There's no configuration to take a callsign from... Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Use configured callsign in APRS packetsKeith Packard2012-12-07
| | | | | | Instead of hard-coding my own call sign... Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Hook APRS up to the radioKeith Packard2012-12-06
| | | | | | | This adds an arbitrary-length packet writing function to the radio code. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Prepare APRS for use within altos itselfKeith Packard2012-12-05
| | | | | | | Make all variables static, const-ify constants, change the public name of the single entry point. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Start restructuring APRS code to create and send packetsKeith Packard2012-12-05
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Remove a bunch of time bits from the APRS codeKeith Packard2012-12-05
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Remove APRS sine-wave tableKeith Packard2012-12-05
| | | | | | | We're generating a lovely square wave, which appears to be decoded just fine thankyouverymuch. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: More APRS trimmingKeith Packard2012-12-05
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Remove more unused APRS codeKeith Packard2012-12-05
| | | | | | Getting down to a reasonable amount of code. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Reduce printf calls in APRS packet generationKeith Packard2012-12-05
| | | | | | Merge all of the data into a single printf call Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Strip out everything but the basic position reporting from APRSKeith Packard2012-12-05
| | | | | | | Any useful data will be sent over the digital link; APRS is strictly for position tracking Signed-off-by: Keith Packard <keithp@keithp.com>
* Signed-off-by: Keith Packard <keithp@keithp.com>Keith Packard2012-12-05
| | | | | | altos: Switch APRS to standard position reporting form Stop using NMEA sentences for position
* altos: Generate all of the APRS messagesKeith Packard2012-12-05
| | | | | | | Note that two of them are in NMEA form, which some receivers appear not to parse Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add test scaffolding for APRSKeith Packard2012-12-05
| | | | | | | | 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>
* altos: Make aprs code output encoded packets to stdoutKeith Packard2012-12-05
| | | | | | | 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>
* altos: Add Pico Beacon code as ao_aprs.cKeith Packard2012-12-05
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> (