UKHAS Wiki

UK High Altitude Society

User Tools

Site Tools


guides:aprs:telemetry

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
guides:aprs:telemetry [2014/12/11 23:37] – [Telemetry report format] lz1devguides:aprs:telemetry [2015/01/09 19:02] (current) – added C code for base91 + clean ups lz1dev
Line 1: Line 1:
-''WORK IN PROGRESS'' 
------ 
- 
 ====== APRS Telemetry ====== ====== APRS Telemetry ======
  
Line 8: Line 5:
 ===== Telemetry report format ===== ===== Telemetry report format =====
  
-The packet format is described on ''page 78'' in the ''APRS Protocol reference <sup>[1]</sup>''.+The packet format is described on ''page 78'' in the ''APRS Protocol reference'' 
 +((APRS Protocol reference v1.0.1 — {{:guides:aprs:aprs101.pdf|}}, http://www.aprs.org/doc/APRS101.PDF)) 
 +.
 It allows for 5 analogue channels and 8 digital bits. It allows for 5 analogue channels and 8 digital bits.
 Here are examples of typical telemetry messages: Here are examples of typical telemetry messages:
Line 24: Line 23:
 there are only 5 analogue channels. there are only 5 analogue channels.
  
-==== Setup ====+==== Set up ====
  
 You may have noticed that the above is limited in displaying negative numbers, You may have noticed that the above is limited in displaying negative numbers,
Line 30: Line 29:
 However, there are messages which can be send, that would indicate the unit of measurement, However, there are messages which can be send, that would indicate the unit of measurement,
 constants to calculate a meaningful value and friendly name for the specific channel.  constants to calculate a meaningful value and friendly name for the specific channel. 
-They are described in+The details are described in the ''APRS Protocol reference <sup>[1]</sup>''.
  
 <code> <code>
Line 48: Line 47:
 , which is used to calculate the final value. , which is used to calculate the final value.
  
-Example with channel #2:+Example of calculating the final value for channel #2:
 <code> <code>
 x = 100      a = 0, b = 0.53, c = -32 x = 100      a = 0, b = 0.53, c = -32
Line 60: Line 59:
 ==== Support ==== ==== Support ====
  
-Both [[http://aprs.fi]] and [[http://habhub.org/mt]] recognize the format and will graph the telemetry accordingly.+Both [[http://aprs.fi]] and [[http://tracker.habhub.org/]] recognize the format and will graph the telemetry accordingly.
  
-===== Base91 encoded as comment extension =====+===== Base91 comment telemetry =====
  
-FIXME+''Base91 comment telemetry'' 
 +((Base91 comment telemetry — {{:guides:aprs:aprs-base91-comment-telemetry.pdf|}}, http://he.fi/doc/aprs-base91-comment-telemetry.txt)) 
 +is an alternative to the telemetry report format.  
 +The key advantages are: 
 +  * Short (4 to 16 characters) 
 +  * Can be added to the comment field of any format (position reports for example) 
 +  * Each channel has resolution of 0-8280 
 +  * Set up the same way 
 + 
 +==== Example C program ==== 
 + 
 +<code c> 
 +#include <stdio.h> 
 + 
 +void base91_encode(char *buf, unsigned short value) { 
 +    // valid values are 0 - 8280 
 +    value = value % 8281; 
 + 
 +    // encode the value 
 +    buf[0] = 33 + (value / 91); 
 +    buf[1] = 33 + (value % 91); 
 +
 + 
 +int main(void) { 
 +    printf("APRS base91 telemetry extension example\n"); 
 +    printf("---------------------------------------\n"); 
 + 
 +    // One channel of telemetry 
 +    char telem1[] = "|ss11|"; 
 +    base91_encode(&telem1[1], 1); // sequence number 
 +    base91_encode(&telem1[3], 0); // ch1 
 +    printf("Telemetry #1: %s\n", telem1); 
 + 
 +    // Five channels of telemetry 
 +    char telem2[] = "|ss1122334455|"; 
 +    base91_encode(&telem2[1], 2); // sequence number 
 +    base91_encode(&telem2[3], 1111); // ch1 
 +    base91_encode(&telem2[5], 2222); // ch2 
 +    base91_encode(&telem2[7], 3333); // ch3 
 +    base91_encode(&telem2[9], 4444); // ch4 
 +    base91_encode(&telem2[11], 5555); // ch5 
 + 
 +    printf("Telemetry #2: %s\n", telem2); 
 +
 +</code>
  
 ===== Human readable format in the comment field ===== ===== Human readable format in the comment field =====
Line 79: Line 122:
   * the amount of characters in the comment section is limited, depending on the packet type (e.g. 0-28, 0-43)   * the amount of characters in the comment section is limited, depending on the packet type (e.g. 0-28, 0-43)
   * existing system won't recognize the telemetry and provide friendly plotting over time   * existing system won't recognize the telemetry and provide friendly plotting over time
- 
- 
  
 ====== References ====== ====== References ======
-  - APRS Protocol reference v1.0.1 — {{:guides:aprs:aprs101.pdf|}}, http://www.aprs.org/doc/APRS101.PDF 
-  - Base91 telemetry comment extension — {{:guides:aprs:aprs-base91-comment-telemetry.pdf|}}, http://he.fi/doc/aprs-base91-comment-telemetry.txt 
  
guides/aprs/telemetry.1418341046.txt.gz · Last modified: 2014/12/11 23:37 by lz1dev

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki