Telemetry Data¶
Telemetry Report Format¶
The AX.25 Information field can contain telemetry data. The APRS Data Type Identifier is T.
The report Sequence Number is a 3-character value — typically a 3-digit number, or the three letters MIC. In the case of MIC, there may or may not be a comma preceding the first analog data value.
There are five 8-bit unsigned analog data values (expressed as 3-digit decimal numbers in the range 000–255), followed by a single 8-bit digital data value (expressed as 8 bits, each containing 1 or 0).
The Kantronics KPC-3+ TNC and APRS Micro Interface Module (MIM) use this format.
In version 1.2, this was relaxed to allow values in the range of 000-999.
In reality, the restriction of fixed width 3 digits is often ignored. It is common to see much longer variable width values including decimal points, optionally preceded by a minus sign. Most modern applications recognize this more convenient format. Others are encouraged to do the same.
| Telemetry Report Format | ||||||||
|---|---|---|---|---|---|---|---|---|
| T | Sequence No #xxx, | Analog Value 1 aaa, | Analog Value 2 aaa, | Analog Value 3 aaa, | Analog Value 4 aaa, | Analog Value 5 aaa, | Digital Value bbbbbbbb | Comment |
| 1 | 5 | 4 | 4 | 4 | 4 | 4 | 8 | n |
| Examples T#005,199,000,255,073,123,01101001 T#MIC199,000,255,073,123,01101001 T#151,45.7,2.3,190.0,91.0,-7.3,00001100 |
Bytes:
¶
APRS Base91 Comment Telemetry¶
The new Base91 Comment Telemetry extension MAY appear in the comment field of any of the three position packet formats ("Normal" uncompressed, Mic-E, and compressed). (Why not in an Object? Intentional exclusion or oversight?)
The Base91 Telemetry extension, if present, MUST appear after the free-form comment text entered by the end-user, but before any DAO or Mic-E type codes. The DAO extension MAY appear after the Base91 Telemetry extension. When the Mic-E Type Code is used, it must appear in the end of the packet.
Base91 telemetry is delimited at both ends by the '|' (pipe / vertical bar) character.
The telemetry sequence counter and telemetry channels are encoded using the Base91 encoding, as it is presently used in Compressed APRS position packets, the altitude extension, and the DAO extension.
Two bytes are transmitted for the sequence counter and each of the channels, giving over
13 bits of resolution (values 0 to 8280). Please note that APRS uses a different definition of Base91 than the internet standard Base91.
While the Base91 encoding provides more resolution and a larger sequence counter range, the transmitting station may use whatever resolution is available from the sensors. Values of 0 to 255 are fine for 8-bit A/D converters - upscaling to 0...8280 is not necessary.
The telemetry sequence counter MAY wrap from 255 to 0 if memory constraints require using a 1-byte variable for storing the counter. Please make sure that it and all of the telemetry values never get values higher than 8280. For example, the sequence number can be safely incremented with:
sequence = (sequence + 1) & 0x1FFF;
This will make it wrap to 0 after 8191, which will provide plenty of range.
The extension MUST contain at least a sequence counter and one channel of telemetry.
The extension MAY contain up to 5 channels of "analog values" and one 8-bit channel of "binary values", as in the traditional telemetry format.
If binary values are transmitted, they MUST appear last in the extension, after all 5 "analog" channels. They are put into a single Base91 encoded integer, where the LSB (least significant bit) corresponds to B1 of the traditional Telemetry specification, the 8th bit corresponds to B8. Bits 9 to 13 are reserved to future use and will not currently be treated as additional binary values.
Examples of valid Base91 telemetry formats:
|ss11|
|ss112233|
|ss1122334455!"|
Where ss is the sequence counter, 11 is the first channel, and so on. The '!"' in the end would be the binary values. These examples, while useful for demonstration, would also parse correctly.
Sequence: Base91 'ss' decodes to 7544
Channel 1: Base91 '11' decodes to 1472
Channel 2: Base91 '22' decodes to 1564
Channel 3: Base91 '33' decodes to 1656
Channel 4: Base91 '44' decodes to 1748
Channel 5: Base91 '55' decodes to 1840
Binary values: '!"' decodes to decimal 1, binary values 10000000,
B1 is 1, B2 to B8 are 0.
On-Air Definition of Telemetry Parameters¶
The following minimal telemetry extension has a sequence number of 0,
and Channel 1 value of 0:
|!!!!|
In principle, received telemetry data may be interpreted in any appropriate way. In practice, however, an APRS user can define the telemetry parameters (such as quadratic coefficients for the analog values, or the meaning of the binary data) at any time, and then send these definitions as APRS messages. Other stations receiving these messages will then know how to interpret the data.
This is achieved by sending four messages:
- A Parameter Name message.
- A Unit/Label message.
- An Equation Coefficients message.
- A Bit Sense/Project Name message.
The message addressee is the callsign of the station transmitting the telemetry data. For example, if N0QBF launches a balloon with the callsign N0QBF-11, then the four messages are addressed to N0QBF-11.
See Chapter 14: Messages, Bulletins and Announcements for full details of message formats.
Parameter Name Message¶
The Parameter Name message contains the names (N) associated with the five analog channels and the 8 digital channels. Its format is as follows:
Bytes:
| Telemetry Parameter Name Message Data Note the different byte counts, which include commas where shown. The list may stop at any field. | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| PARM. | A1 N… | A2 ,N… | A3 ,N… | A4 ,N… | A5 ,N… | B1 ,N… | B2 ,N… | B3 ,N… | B4 ,N… | B5 ,N… | B6 ,N… | B7 ,N… | B8 ,N… |
| 5 | 1-7 | 1-7 | 1-6 | 1-6 | 1-5 | 1-6 | 1-5 | 1-4 | 1-4 | 1-4 | 1-3 | 1-3 | 1-3 |
| Example :N0QBF-11˽:PARM.Battery,Btemp,ATemp,Pres,Alt,Camra,Chut,Sun,10m,ATV |
Historical Note: The field widths are not all the same (this is a legacy arising from earlier limitations in display screen width). Note also that the byte counts include the comma separators where shown.
The list can terminate after any field.
Compatibility note: Many implementations ignore these overly restrictive inconsistent name lengths. It is not uncommon to see names with a dozen characters or more. New/upgraded applications should handle what is in common use.
Unit/Label MessageThe Unit/Label message specifies the units (U) for the analog values, and the labels (L) associated with the digital channels:
| Telemetry Unit/Label Message Data Note the different byte counts, which include commas where shown. The list may stop at any field. | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| UNIT. | A1 U… | A2 ,U… | A3 ,U… | A4 ,U… | A5 ,U… | B1 ,L… | B2 ,L… | B3 ,L… | B4 ,L… | B5 ,L… | B6 ,L… | B7 ,L… | B8 ,L… |
| 5 | 1-7 | 1-7 | 1-6 | 1-6 | 1-5 | 1-6 | 1-5 | 1-4 | 1-4 | 1-4 | 1-3 | 1-3 | 1-3 |
| Example :N0QBF-11˽:UNIT.v/100,deg.F,deg.F,Mbar,Kft,Click,OPEN,on,on,hi |
Bytes:
Historical Note: Again, the field widths are not all the same, and the byte counts
include the comma separators where shown. The list can terminate after any field.
Compatibility note: Many implementations ignore these overly restrictive inconsistent unit lengths. It is not uncommon to see much longer unit descriptions. New/upgraded applications should handle what is in common use.
Equation Coefficients Message¶
| Telemetry Equation Coefficients Message Data The list may stop at any field. Value = a x v2 + b x v + c | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| EQNS. | A1 | A2 | A3 | A4 | A5 | ||||||||||
| a | ,b | ,c | ,a | ,b | ,c | ,a | ,b | ,c | ,a | ,b | ,c | ,a | ,b | ,c | |
| 5 | n | n | n | n | n | n | n | n | n | n | n | n | n | n | n |
| Example :N0QBF-11˽:EQNS.0,5.2,0,0,.53,-32,3,4.39,49,-32,3,18,1,2,3 |
The Equation Coefficients message contains three coefficients (a, b and c) for each of the five analog channels.
Bytes:
To obtain the final value of an analog channel, these coefficients are substituted into the equation:
a x v2 + b x v + c
where v is the raw received analog value.
For example, analog channel A1 in the above beacon examples relates to the battery voltage, expressed in hundredths of volts, and a = 0, b = 5.2, c = 0. If the raw received value v is 199, then the voltage is calculated as:
voltage = 0 x 1992 + 5.2 x 199 + 0
= 1034.8 hundredths of a volt
= 10.348 volts
Bit Sense/ Project Name Message¶
The Bit Sense/Project Name message contains two types of information:
-
- An 8-bit pattern of ones and zeros, specifying the sense of each digital channel that matches the corresponding label.
- The name of the project associated with the telemetry station.
Bytes:
| Telemetry Bit Sense/Project Name Message Data | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| BITS. | B1 x | B2 x | B3 x | B4 x | B5 x | B6 x | B7 x | B8 x | Project Title |
| 5 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0-23 |
| Example :N0QBF-11˽:BITS.10110000,N0QBF’s Big Balloon |
Thus in the above message examples, if digital channel B1 is 1, this indicates the camera has clicked. If channel B2 is 0, the parachute has opened, and so on.