예제 #1
0
        public RMC()
        {
            Id = NmeaMessageType.RMC;
            NmeaField f = null;

            f = new NmeaField(NmeaValueType.Time);
            f.Index = new[] {1};
            Fields.Add(FieldIds.Utc, f);

            f = new NmeaField(NmeaValueType.Enum);
            f.Index = new[] {2};
            Fields.Add(FieldIds.Status, f);

            f = new NmeaField(NmeaValueType.GeoDegrees);
            f.Index = new[] {3, 4};
            Fields.Add(FieldIds.Y, f);

            f = new NmeaField(NmeaValueType.GeoDegrees);
            f.Index = new[] {5, 6};
            Fields.Add(FieldIds.X, f);

            f = new NmeaField(NmeaValueType.Speed);
            f.Index = new[] {7};
            Fields.Add(FieldIds.Speed, f);

            f = new NmeaField(NmeaValueType.Degrees);
            f.Index = new[] {8};
            Fields.Add(FieldIds.Course, f);

            f = new NmeaField(NmeaValueType.Date);
            f.Index = new[] {9};
            Fields.Add(FieldIds.Date, f);
        }
예제 #2
0
        public GSA()
        {
            Id = NmeaMessageType.GSA;
            NmeaField f = null;

            for (int i = 0; i < 12; ++i)
            {
                f       = new NmeaField(NmeaValueType.Integer);
                f.Index = new[] { 3 + i };
                Fields.Add(i, f);
            }

            f       = new NmeaField(NmeaValueType.Enum);
            f.Index = new[] { 1 };
            Fields.Add(FieldIds.Mode1, f);

            f       = new NmeaField(NmeaValueType.Integer);
            f.Index = new[] { 2 };
            Fields.Add(FieldIds.Mode2, f);

            f       = new NmeaField(NmeaValueType.Double);
            f.Index = new[] { 15 };
            Fields.Add(FieldIds.Pdop, f);

            f       = new NmeaField(NmeaValueType.Double);
            f.Index = new[] { 16 };
            Fields.Add(FieldIds.Hdop, f);

            f       = new NmeaField(NmeaValueType.Double);
            f.Index = new[] { 17 };
            Fields.Add(FieldIds.Vdop, f);
        }
예제 #3
0
        public GSA()
        {
            Id = NmeaMessageType.GSA;
            NmeaField f = null;

            for (int i = 0; i < 12; ++i)
            {
                f = new NmeaField(NmeaValueType.Integer);
                f.Index = new[] {3 + i};
                Fields.Add(i, f);
            }

            f = new NmeaField(NmeaValueType.Enum);
            f.Index = new[] {1};
            Fields.Add(FieldIds.Mode1, f);

            f = new NmeaField(NmeaValueType.Integer);
            f.Index = new[] {2};
            Fields.Add(FieldIds.Mode2, f);

            f = new NmeaField(NmeaValueType.Double);
            f.Index = new[] {15};
            Fields.Add(FieldIds.Pdop, f);

            f = new NmeaField(NmeaValueType.Double);
            f.Index = new[] {16};
            Fields.Add(FieldIds.Hdop, f);

            f = new NmeaField(NmeaValueType.Double);
            f.Index = new[] {17};
            Fields.Add(FieldIds.Vdop, f);
        }
예제 #4
0
파일: RMC.cs 프로젝트: Avatarchik/utymap
        public RMC()
        {
            Id = NmeaMessageType.RMC;
            NmeaField f = null;

            f       = new NmeaField(NmeaValueType.Time);
            f.Index = new[] { 1 };
            Fields.Add(FieldIds.Utc, f);

            f       = new NmeaField(NmeaValueType.Enum);
            f.Index = new[] { 2 };
            Fields.Add(FieldIds.Status, f);

            f       = new NmeaField(NmeaValueType.GeoDegrees);
            f.Index = new[] { 3, 4 };
            Fields.Add(FieldIds.Y, f);

            f       = new NmeaField(NmeaValueType.GeoDegrees);
            f.Index = new[] { 5, 6 };
            Fields.Add(FieldIds.X, f);

            f       = new NmeaField(NmeaValueType.Speed);
            f.Index = new[] { 7 };
            Fields.Add(FieldIds.Speed, f);

            f       = new NmeaField(NmeaValueType.Degrees);
            f.Index = new[] { 8 };
            Fields.Add(FieldIds.Course, f);

            f       = new NmeaField(NmeaValueType.Date);
            f.Index = new[] { 9 };
            Fields.Add(FieldIds.Date, f);
        }
예제 #5
0
        public GLL()
        {
            Id = NmeaMessageType.GLL;
            NmeaField f = null;

            f = new NmeaField(NmeaValueType.GeoDegrees);
            f.Index = new[] {1, 2};
            Fields.Add(FieldIds.Y, f);

            f = new NmeaField(NmeaValueType.GeoDegrees);
            f.Index = new[] {3, 4};
            Fields.Add(FieldIds.X, f);

            f = new NmeaField(NmeaValueType.Time);
            f.Index = new[] {5};
            Fields.Add(FieldIds.Utc, f);

            f = new NmeaField(NmeaValueType.Enum);
            f.Index = new[] {6};
            Fields.Add(FieldIds.Status, f);
        }
예제 #6
0
        public GLL()
        {
            Id = NmeaMessageType.GLL;
            NmeaField f = null;

            f       = new NmeaField(NmeaValueType.GeoDegrees);
            f.Index = new[] { 1, 2 };
            Fields.Add(FieldIds.Y, f);

            f       = new NmeaField(NmeaValueType.GeoDegrees);
            f.Index = new[] { 3, 4 };
            Fields.Add(FieldIds.X, f);

            f       = new NmeaField(NmeaValueType.Time);
            f.Index = new[] { 5 };
            Fields.Add(FieldIds.Utc, f);

            f       = new NmeaField(NmeaValueType.Enum);
            f.Index = new[] { 6 };
            Fields.Add(FieldIds.Status, f);
        }
예제 #7
0
        public GSV()
        {
            Id = NmeaMessageType.GSV;
            NmeaField f = null;

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

                f       = new NmeaField(NmeaValueType.Integer);
                f.Index = new[] { t + 4 };
                Fields.Add(t + FieldIds.Sat01Id, f);

                f       = new NmeaField(NmeaValueType.Double);
                f.Index = new[] { t + 5 };
                Fields.Add(t + FieldIds.Sat01Elevation, f);

                f       = new NmeaField(NmeaValueType.Double);
                f.Index = new[] { t + 6 };
                Fields.Add(t + FieldIds.Sat01Azimuth, f);

                f       = new NmeaField(NmeaValueType.Integer);
                f.Index = new[] { t + 7 };
                Fields.Add(t + FieldIds.Sat01SNR, f);
            }

            f       = new NmeaField(NmeaValueType.Integer);
            f.Index = new[] { 1 };
            Fields.Add(FieldIds.NumberOfMessages, f);

            f       = new NmeaField(NmeaValueType.Integer);
            f.Index = new[] { 2 };
            Fields.Add(FieldIds.MessageNumber, f);

            f       = new NmeaField(NmeaValueType.Integer);
            f.Index = new[] { 3 };
            Fields.Add(FieldIds.VisibleSatelites, f);
        }
예제 #8
0
        public GSV()
        {
            Id = NmeaMessageType.GSV;
            NmeaField f = null;

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

                f = new NmeaField(NmeaValueType.Integer);
                f.Index = new[] {t + 4};
                Fields.Add(t + FieldIds.Sat01Id, f);

                f = new NmeaField(NmeaValueType.Double);
                f.Index = new[] {t + 5};
                Fields.Add(t + FieldIds.Sat01Elevation, f);

                f = new NmeaField(NmeaValueType.Double);
                f.Index = new[] {t + 6};
                Fields.Add(t + FieldIds.Sat01Azimuth, f);

                f = new NmeaField(NmeaValueType.Integer);
                f.Index = new[] {t + 7};
                Fields.Add(t + FieldIds.Sat01SNR, f);
            }

            f = new NmeaField(NmeaValueType.Integer);
            f.Index = new[] {1};
            Fields.Add(FieldIds.NumberOfMessages, f);

            f = new NmeaField(NmeaValueType.Integer);
            f.Index = new[] {2};
            Fields.Add(FieldIds.MessageNumber, f);

            f = new NmeaField(NmeaValueType.Integer);
            f.Index = new[] {3};
            Fields.Add(FieldIds.VisibleSatelites, f);
        }
예제 #9
0
        public GGA()
        {
            Id = NmeaMessageType.GGA;
            NmeaField f = null;

            f       = new NmeaField(NmeaValueType.Time);
            f.Index = new[] { 1 };
            Fields.Add(FieldIds.Utc, f);

            f       = new NmeaField(NmeaValueType.GeoDegrees);
            f.Index = new[] { 4, 5 };
            Fields.Add(FieldIds.X, f);

            f       = new NmeaField(NmeaValueType.GeoDegrees);
            f.Index = new[] { 2, 3 };
            Fields.Add(FieldIds.Y, f);

            f       = new NmeaField(NmeaValueType.Integer);
            f.Index = new[] { 6 };
            Fields.Add(FieldIds.PositionFixIndicator, f);

            f       = new NmeaField(NmeaValueType.Integer);
            f.Index = new[] { 7 };
            Fields.Add(FieldIds.Satelites, f);

            f       = new NmeaField(NmeaValueType.Double);
            f.Index = new[] { 8 };
            Fields.Add(FieldIds.Hdop, f);

            f       = new NmeaField(NmeaValueType.Double);
            f.Index = new[] { 9 };
            Fields.Add(FieldIds.Altitude, f);

            f       = new NmeaField(NmeaValueType.Double);
            f.Index = new[] { 11 };
            Fields.Add(FieldIds.GeoidHeight, f);
        }
예제 #10
0
        public GGA()
        {
            Id = NmeaMessageType.GGA;
            NmeaField f = null;

            f = new NmeaField(NmeaValueType.Time);
            f.Index = new[] {1};
            Fields.Add(FieldIds.Utc, f);

            f = new NmeaField(NmeaValueType.GeoDegrees);
            f.Index = new[] {4, 5};
            Fields.Add(FieldIds.X, f);

            f = new NmeaField(NmeaValueType.GeoDegrees);
            f.Index = new[] {2, 3};
            Fields.Add(FieldIds.Y, f);

            f = new NmeaField(NmeaValueType.Integer);
            f.Index = new[] {6};
            Fields.Add(FieldIds.PositionFixIndicator, f);

            f = new NmeaField(NmeaValueType.Integer);
            f.Index = new[] {7};
            Fields.Add(FieldIds.Satelites, f);

            f = new NmeaField(NmeaValueType.Double);
            f.Index = new[] {8};
            Fields.Add(FieldIds.Hdop, f);

            f = new NmeaField(NmeaValueType.Double);
            f.Index = new[] {9};
            Fields.Add(FieldIds.Altitude, f);

            f = new NmeaField(NmeaValueType.Double);
            f.Index = new[] {11};
            Fields.Add(FieldIds.GeoidHeight, f);
        }