public RMC()
        {
            id = NmeaMsg.MsgType.RMC;
            Field f = null;

            f = new Field(Field.ValueType.TIME);
            f.index = new int[] { 1 };
            fields.Add(FieldIds.Utc, f);

            f = new Field(Field.ValueType.ENUM);
            f.index = new int[] { 2 };
            fields.Add(FieldIds.Status, f);

            f = new Field(Field.ValueType.GEODEGREES);
            f.index = new int[] { 3, 4 };
            fields.Add(FieldIds.Y, f);

            f = new Field(Field.ValueType.GEODEGREES);
            f.index = new int[] { 5, 6 };
            fields.Add(FieldIds.X, f);

            f = new Field(Field.ValueType.SPEED);
            f.index = new int[] { 7 };
            fields.Add(FieldIds.Speed, f);

            f = new Field(Field.ValueType.DEGREES);
            f.index = new int[] { 8 };
            fields.Add(FieldIds.Course, f);

            f = new Field(Field.ValueType.DATE);
            f.index = new int[] { 9 };
            fields.Add(FieldIds.Date, f);
        }
        public GSA()
        {
            id = NmeaMsg.MsgType.GSA;
            Field f = null;

            for (int i = 0; i < 12; ++i)
            {
                f = new Field(Field.ValueType.INTEGER);
                f.index = new int[] { 3 + i };
                fields.Add(i, f);
            }

            f = new Field(Field.ValueType.ENUM);
            f.index = new int[] { 1 };
            fields.Add(FieldIds.Mode1, f);

            f = new Field(Field.ValueType.INTEGER);
            f.index = new int[] { 2 };
            fields.Add(FieldIds.Mode2, f);

            f = new Field(Field.ValueType.DOUBLE);
            f.index = new int[] { 15 };
            fields.Add(FieldIds.Pdop, f);

            f = new Field(Field.ValueType.DOUBLE);
            f.index = new int[] { 16 };
            fields.Add(FieldIds.Hdop, f);

            f = new Field(Field.ValueType.DOUBLE);
            f.index = new int[] { 17 };
            fields.Add(FieldIds.Vdop, f);
        }
Beispiel #3
0
        public GLL()
        {
            id = NmeaMsg.MsgType.GLL;
            Field f = null;

            f = new Field(Field.ValueType.GEODEGREES);
            f.index = new int[] { 1, 2 };
            fields.Add(FieldIds.Y, f);

            f = new Field(Field.ValueType.GEODEGREES);
            f.index = new int[] { 3, 4 };
            fields.Add(FieldIds.X, f);

            f = new Field(Field.ValueType.TIME);
            f.index = new int[] { 5 };
            fields.Add(FieldIds.Utc, f);

            f = new Field(Field.ValueType.ENUM);
            f.index = new int[] { 6 };
            fields.Add(FieldIds.Status, f);
        }
        public GSV()
        {
            id = NmeaMsg.MsgType.GSV;
            Field f = null;

            for (int i = 0; i < 4; ++i)
            {
                int t = 4 * i;

                f = new Field(Field.ValueType.INTEGER);
                f.index = new int[] { t + 4 };
                fields.Add(t + FieldIds.Sat01Id, f);

                f = new Field(Field.ValueType.DOUBLE);
                f.index = new int[] { t + 5 };
                fields.Add(t + FieldIds.Sat01Elevation, f);

                f = new Field(Field.ValueType.DOUBLE);
                f.index = new int[] { t + 6 };
                fields.Add(t + FieldIds.Sat01Azimuth, f);

                f = new Field(Field.ValueType.INTEGER);
                f.index = new int[] {t + 7 };
                fields.Add(t + FieldIds.Sat01SNR, f);
            }

            f = new Field(Field.ValueType.INTEGER);
            f.index = new int[] { 1 };
            fields.Add(FieldIds.NumberOfMessages, f);

            f = new Field(Field.ValueType.INTEGER);
            f.index = new int[] { 2 };
            fields.Add(FieldIds.MessageNumber, f);

            f = new Field(Field.ValueType.INTEGER);
            f.index = new int[] { 3 };
            fields.Add(FieldIds.VisibleSatelites, f);
        }
Beispiel #5
0
        public GGA()
        {
            id = NmeaMsg.MsgType.GGA;
            Field f = null;

            f = new Field(Field.ValueType.TIME);
            f.index = new int[] { 1 };
            fields.Add(FieldIds.Utc, f);

            f = new Field(Field.ValueType.GEODEGREES);
            f.index = new int[] { 4, 5 };
            fields.Add(FieldIds.X, f);

            f = new Field(Field.ValueType.GEODEGREES);
            f.index = new int[] { 2, 3 };
            fields.Add(FieldIds.Y, f);

            f = new Field(Field.ValueType.INTEGER);
            f.index = new int[] { 6 };
            fields.Add(FieldIds.PositionFixIndicator, f);

            f = new Field(Field.ValueType.INTEGER);
            f.index = new int[] { 7 };
            fields.Add(FieldIds.Satelites, f);

            f = new Field(Field.ValueType.DOUBLE);
            f.index = new int[] { 8 };
            fields.Add(FieldIds.Hdop, f);

            f = new Field(Field.ValueType.DOUBLE);
            f.index = new int[] { 9 };
            fields.Add(FieldIds.Altitude, f);

            f = new Field(Field.ValueType.DOUBLE);
            f.index = new int[] { 11 };
            fields.Add(FieldIds.GeoidHeight, f);
        }