Пример #1
0
        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);
        }
Пример #2
0
        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;
        }