public bool compileSentence()
{
//CALLSIGN,SENTENCE_ID,TIME,LATITUDE,LONGITUDE,ALTITUDE,[CUSTOM, DATA, ..., ...]
string _sentence;
if (callsign.Length > 1)
{
_sentence = callsign.ToUpper();
}
else
{
return(false);
}
if (sentence_id >= 0)
{
_sentence += "," + sentence_id;
}
else
{
return(false);
}
_sentence += "," + System.DateTime.Now.ToString("HH:mm:ss");
_sentence += "," + latitude;
_sentence += "," + longitude;
_sentence += "," + altitude;
foreach (string item in sentenceData)
{
_sentence += "," + item;
}
Crc16Ccitt crc = new Crc16Ccitt();
string checksum = crc.ComputeChecksum(System.Text.UTF8Encoding.UTF8.GetBytes(_sentence)).ToString("X");
// $$$$$$CALLSIGN,SENTENCE_ID,TIME,LATITUDE,LONGITUDE,ALTITUDE,[CUSTOM, DATA, ..., ...]*XXXX
if (checksum.Length == 4)
{
_wholeSentence = "$$" + _sentence + "*" + checksum;
}
else
{
return(false);
}
return(true);
}