UKHAS Wiki

UK High Altitude Society

User Tools

Site Tools


communication:protocol

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
communication:protocol [2012/07/21 12:40]
danielrichman
communication:protocol [2015/04/03 09:49] (current)
mfa298 removed eroneous , at the end of the example
Line 3: Line 3:
 This is the typical protocol used by UKHAS members to transmit GPS data balloon to ground on the unlicensed bands. Parsing is handled by [[http://​habitat.habhub.org/​|habitat]] which can be configured to almost practically any format you can come up with, provided the string starts with $$CALLSIGN, end with a newline ('​\n'​),​ and contains printable ASCII characters. Fields are comma delimited. This is the typical protocol used by UKHAS members to transmit GPS data balloon to ground on the unlicensed bands. Parsing is handled by [[http://​habitat.habhub.org/​|habitat]] which can be configured to almost practically any format you can come up with, provided the string starts with $$CALLSIGN, end with a newline ('​\n'​),​ and contains printable ASCII characters. Fields are comma delimited.
  
- <​code>​ $$CALLSIGN,​sentence_id,​time,​latitude,​longitude,​<​ALTITUDE METRES MMMMM>,<O SPEED KM/H DDDD.DD>,<O BEARING DDD.DD>,<O TEMPERATURE INTERNAL C D.DD>,<​O TEMPERATURE EXTERNAL C D.DD>,<​O TEMPERATURE CAMERA C D.DD>,<​O BAROMETRIC PRESSURE hPa(millibars)>,<​O CUSTOM DATA>*<CHECKSUM><​NEWLINE> ​</​code>​+ <​code>​ $$CALLSIGN,​sentence_id,​time,​latitude,​longitude,​altitude,optional speed,optional bearing,optional internal temperature*CHECKSUM\n </​code>​
  
   * The individual fields can be of variable length, the minimum and maximum can be set in the payloads XML file.   * The individual fields can be of variable length, the minimum and maximum can be set in the payloads XML file.
Line 51: Line 51:
  
 **Useful code to calculate NMEA xor checksum** **Useful code to calculate NMEA xor checksum**
 +
 +Please note: The use of xor checksum for payload telemetry is not advised, this code is useful for checking sentences sent by the GPS. The CCITT checksum below has much better performance and is preferred for payload telemetry
  
 <code c>#​include <​stdio.h>​ <code c>#​include <​stdio.h>​
Line 75: Line 77:
  
 **Useful code to calculate CRC16_CCITT checksum on the AVR** **Useful code to calculate CRC16_CCITT checksum on the AVR**
 +
 +(Refer to [[http://​www.nongnu.org/​avr-libc/​user-manual/​group__util__crc.html#​gaca726c22a1900f9bad52594c8846115f | this page]] for implementation on other microcontrollers)
  
 <code c>#​include <​stdio.h>​ <code c>#​include <​stdio.h>​
Line 98: Line 102:
  return crc;  return crc;
 }</​code>​ }</​code>​
- 
 ====== Getting Your Payload On the Tracker ====== ====== Getting Your Payload On the Tracker ======
  
 You will need to fill out a flight document so the server can parse your telemetry strings and update the map.\\ ​ You will need to fill out a flight document so the server can parse your telemetry strings and update the map.\\ ​
 Fill out the form here :​[[http://​habhub.org/​genpayload/​|Payload Document Generator]] the come and see us on [[ukhas:​irc_channel|IRC]] to get it added. Fill out the form here :​[[http://​habhub.org/​genpayload/​|Payload Document Generator]] the come and see us on [[ukhas:​irc_channel|IRC]] to get it added.
communication/protocol.1342874437.txt.gz ยท Last modified: 2012/07/21 12:40 by danielrichman