Skip to content

Commit

Permalink
add APRS proto examples
Browse files Browse the repository at this point in the history
  • Loading branch information
roema committed Oct 31, 2020
1 parent 0595c1c commit 818a97a
Show file tree
Hide file tree
Showing 3 changed files with 138 additions and 0 deletions.
24 changes: 24 additions & 0 deletions ReceiverBeacon.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
As of version 0.2.6, a complete receiver beacon message looks as follows:

LKHS>APRS,TCPIP*,qAC,GLIDERN2:/211635h4902.45NI01429.51E&000/000/A=001689

This message is standard APRS:

* 'LKHS>': origin
* 'LKHS': receiver callsign
* 'APRS,TCPIP*,qAC,GLIDERN2:': source
* 'APRS': software version (always "APRS")
* 'TCPIP*': tunneling (always "TCPIP*")
* 'qAC': [q construct](http://aprs-is.net/q.aspx) (not suited for beacon identifcation)
* 'GLIDERN2': receiver callsign (APRS server)
* '/': either "/" (timestamp and position follow) or ">" (timestamp follows)
* '211635h': timestamp in 24h notation UTC (21 hours, 16 minutes, 35 seconds)
* '4902.45NI01429.51E&': <i>optional</i> position (WSG84)
* '4902.45N': latitude (49 degrees, 2.45 minutes north)
* 'I': [display symbol](http://wa8lmf.net/aprs/APRS_symbols.htm) - table to use (alternate symbol table "I")
* '01429.51E': longitude (14 degrees, 29.51 minutes east)
* '&': [display symbol](http://wa8lmf.net/aprs/APRS_symbols.htm) - position in table "I" to use (diamond symbol with overlay)
* '000/000': *optional* heading and speed ("000/000" indicates no data)
* '000': heading (001 thru 360) in degrees ("000" = no data)
* '000': ground speed in knots (heading "000" = no data)
* '/A=001689': *optional* altitude (1689 feet)
54 changes: 54 additions & 0 deletions ReceiverStatus.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
As of version 0.2.6, a complete receiver status message looks as follows:

LKHS>APRS,TCPIP*,qAC,GLIDERN2:>211635h v0.2.6.ARM CPU:0.2 RAM:777.7/972.2MB NTP:3.1ms/-3.8ppm 4.902V 0.583A +33.6C 14/16Acfts[1h] RF:+62-0.8ppm/+33.66dB/+19.4dB@10km[112619]/+25.0dB@10km[8/15]

---

The first group is standard APRS:

LKHS>APRS,TCPIP*,qAC,GLIDERN2:>211635h

* 'LKHS>': origin
* 'LKHS': receiver callsign
* 'APRS,TCPIP*,qAC,GLIDERN2:': source
* 'APRS': software version (always "APRS")
* 'TCPIP*': tunneling (always "TCPIP*")
* 'qAC': [q construct](http://aprs-is.net/q.aspx) (not suited for beacon identifcation)
* 'GLIDERN2': receiver callsign (APRS server)
* '/': either "/" (timestamp and position follow) or ">" (timestamp follows)
* '211635h': timestamp in 24h notation UTC (21 hours, 16 minutes, 35 seconds)

---

All subsequent groups are OGN specific receiver status details:

v0.2.6.ARM CPU:0.2 RAM:777.7/972.2MB NTP:3.1ms/-3.8ppm 4.902V 0.583A +33.6C 14/16Acfts[1h] RF:+62-0.8ppm/+33.66dB/+19.4dB@10km[112619]/+25.0dB@10km[8/15]

* 'v0.2.6.ARM': *optional* software and hardware
* '0.2.6': software version
* 'ARM': *optional* hardware platform
* 'CPU:0.2': CPU
* '0.2': load average
* 'RAM:777.7/972.2MB': memory in MB
* '777.7': free
* '972.2': total
* 'NTP:3.1ms/-3.8ppm': real-time clock
* '3.1ms': offset from reference time
* '-3.8ppm': correction (parts-per-million)
* '4.902V': *optional* board voltage
* '0.583A': *optional* board amperage
* '+33.6C': *optional* CPU temperature
* '14/16Acfts[1h]': *optional* senders (aircraft) received within the last hour
* '14': visible senders received
* '16': total senders received (the difference of 2 are invisible senders by setting either "no-track" on the device or "invisible" in the database)
* '+62-0.8ppm/+33.66dB': *optional* RTLSDR information
* '+62': *optional* manual correction
* '-0.8ppm': *optional* automatic correction based on GSM
* '+33.66db': signal-to-noise ratio
* '+19.4dB@10km[112619]': *optional* quality of all senders (aircraft)
* '+19.4dB@10km': average signal-to-noise ratio normalized to 10km distance
* '112619': number of analyzed messages
* '+25.0dB@10km[8/15]': *optional* quality of good senders (aircraft) within the last 24 hours
* '+25.0dB@10km': average signal-to-noise ratio normalized to 10km distance
* '8': number of senders which are considered good and properly transmitting
* '15': total number of senders (the difference of 7 are considered bad and not properly transmitting)
60 changes: 60 additions & 0 deletions SenderBeacon.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
As of version 0.2.6, a complete sender (aircraft) beacon message looks as follows:

FLRDF0A52>APRS,qAS,LSTB:/220132h4658.70N/00707.72Ez090/054/A=001424 !W37! id06DF0A52 +020fpm +0.0rot 55.2dB 0e -6.2kHz gps4x6 s6.01 h03 rDDACC4 +5.0dBm hearD7EA hearDA95

---

The first two groups are standard APRS:

FLRDF0A52>APRS,qAS,LSTB:/220132h4658.70N/00707.72Ez090/054/A=001424 !W37!

* 'FLRDF0A52>': origin
* 'FLRDF0A52': sender callsign (may include device ID)
* 'APRS,qAS,LSTB:': source
* 'APRS': software version (always "APRS")
* 'qAS': [q construct](http://aprs-is.net/q.aspx) (not suited for beacon identifcation)
* 'LTSB': receiver callsign
* '/': position with timestamp follows
* '220132h': timestamp in 24h notation UTC (22 hours, 1 minute, 32 seconds)
* '4658.70N/00707.72Ez': position (WSG84) - see position precision enhancement below as well
* '4658.70N': latitude (46 degrees, 58.70 minutes north)
* '/': [display symbol](http://wa8lmf.net/aprs/APRS_symbols.htm) - table to use (primary symbol table)
* '00707.72E': longitude (007 degrees, 07.77 minutes east)
* 'z': [display symbol](http://wa8lmf.net/aprs/APRS_symbols.htm) - position in table "/" to use (house symbol)
* '090/054': *optional* heading and speed ("000/000" indicates no data)
* '090': heading (001 thru 360) in degrees ("090" = east)
* '054': ground speed in knots
* '/A=001424': altitude (1424 feet)
* '!W37!': position precision enhancement
* '3': latitude minutes third decimal digit (46 degrees, 58.70<b>3</b> minutes north)
* '7': longitude minutes third decimal digit (007 degrees, 07.72<b>7</b> minutes east)

---

All subsequent groups are OGN specific sender details:

id06DF0A52 +020fpm +0.0rot FL000.00 55.2dB 0e -6.2kHz gps4x6 s6.01 h03 rDDACC4 +5.0dBm hearD7EA hearDA95

* 'id02DF0A52'
* 0x'06' = 0b'00000110': sender details (2 digit hex number encoding 8 bits)
* 0b'0' = 'false': stealth mode boolean (should never be "1")
* 0b'0' = 'false': no-tracking boolean (must ignore if "1")
* 0b'0001' = '1':
* 0b'10' = '2': address type - 01 ICA 02 FLR 03 OGN 04 P3I 05 FNT 0 RANDOM
* 'DF0A52': sender address
* '+020fpm': climb rate in "feet per minute"
* '+0.0rot': turn rate in "half turn per 2 minutes"
* 'FL000.00': *optional* flight level
* '55.2dB': signal to noise ratio (5db are considered the lower limit for meaningful reception)
* '0e': CRC error rate (>5 is considered unusable)
* '-6.2kHz': frequency offset (should be constant thanks to GSM sync)
* 'gps4x6': *optional* GPS signal quality
* '4': horizontal accuracy (4 meters)
* '6': vertical accuracy (6 meters)
* 's6.01': *optional* FLARM software version
* 'h03': *optional* FLARM hardware version (hex)
* 'rDDACC4': *optional* FLARM device ID
* '+5.0dBm': *optional* power ratio :warning: unconfirmed
* 'hearD7EA hearDA95': *optional* other FLARM devices received by this device
* 'hearD7EA': receiving FLARM device with ID ending "D7EA"
* 'hearDA95': receiving FLARM device with ID ending "DA95"

0 comments on commit 818a97a

Please sign in to comment.