Ejemplo n.º 1
0
        //=======================================================================

        //=======================================================================
        private static GpsReading ParseSentences(string[] sentences)
        {
            //---- declare vars
            GpsReading gpsReading = new GpsReading();

            //---- loop through each sentence
            for (int i = 0; i < sentences.Length; i++)
            {
                //---- if the sentence has a header and data
                if (sentences[i].Length > 6)
                {
                    switch (sentences[i].Trim().Substring(0, 6).ToUpper())
                    {
                    case "$GPGSA":
                        gpsReading.DopActiveSatellites = GsaData.Parse(sentences[i]);
                        break;

                    case "$GPGSV":
                        gpsReading.SatellitesInView.Add(GsvData.Parse(sentences[i]));
                        break;

                    case "$GPGGA":
                        gpsReading.FixedGpsData = GgaData.Parse(sentences[i]);
                        break;

                    case "$GPRMC":
                        gpsReading.Summary = RmcData.Parse(sentences[i]);
                        break;

                    case "$GPMSS":
                        break;

                    case "$GPVTG":
                        break;
                    }
                }
            }

            //---- return our parsed gps reading
            return(gpsReading);
        }