$$<CALL SIGN>,<COUNTER D>,<TIME HH:MM:SS>,<LATITUDE DD.DDDDDD>,<LONGITUDE DD.DDDDDD>,<ALTITUDE METERS 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>
All fields starting with O are optional
The checksum is also optional
example
$$icarus,12342,12:34:17,52.345645,-1.02342,10232,21.35,192.3,15.4,-22.34,-18.27,1232,Blah;Blah;Blah*00
Useful code to calculate checksum
sprintf (checksum, "*%02X\n",gps_checksum(string));
unsigned int gps_checksum (char * string)
{
unsigned int i;
unsigned int XOR;
unsigned int c;
// Calculate checksum ignoring any $'s in the string
for (XOR = 0, i = 0; i < strlen(string); i++)
{
c = (unsigned char)string[i];
if (c != '$') XOR ^= c;
}
return XOR;
}
The callsign ID can also be passed to distinguish between multiple payloads / chase cars etc …
http://www.robertharrison.org/listen/lastpos.php?callsign=horus
Data can now be polled from the listening server using the following script
http://www.robertharrison.org/listen/poll.php?callsign=atlas&lastid=0&format=HTML
There are various options that can be passed
callsign=payload or vehicle name your interested in
format=
lastid=ID of your last data string and only subsequent data will be sent to you. Leave this out and all payload data will be sent.
missionid=ID of historical mission. Leave this out data will be from current mission only. There is no list of historical missions at the moment