Esempio n. 1
0
        public static Message1005 Parse(string binStr)
        {
            StringSequence sequence = new StringSequence();

            sequence.EnQuence(binStr);

            Message1005 msg = new Message1005();

            msg.MessageNumber                  = BitConvertUtil.GetUInt(sequence.DeQueue(12));             //uint12
            msg.ReferenceStationID             = BitConvertUtil.GetUInt(sequence.DeQueue(12));             //uint12
            msg.ReservedforITRFRealizationYear = BitConvertUtil.GetUInt(sequence.DeQueue(6));              //uint6
            msg.GpsIndicator                      = BitConvertUtil.GetInt(sequence.DeQueue(1)) == 1;       //bit(1)
            msg.GLONASSIndicator                  = BitConvertUtil.GetInt(sequence.DeQueue(1)) == 1;       //bit(1)
            msg.ReservedforGalileoIndicator       = BitConvertUtil.GetInt(sequence.DeQueue(1)) == 1;       //bit(1)
            msg.ReferenceStationIndicator         = BitConvertUtil.GetInt(sequence.DeQueue(1)) == 1;       //bit(1)
            msg.AntennaReferencePointECEF_X       = BitConvertUtil.GetLong(sequence.DeQueue(38)) * 0.0001; //int38
            msg.SingleReceiverOscillatorIndicator = BitConvertUtil.GetInt(sequence.DeQueue(1)) == 1;       //bit(1)
            msg.Reserved1 = BitConvertUtil.GetInt(sequence.DeQueue(1)) == 1;                               //bit(1)
            msg.AntennaReferencePointECEF_Y = BitConvertUtil.GetLong(sequence.DeQueue(38)) * 0.0001;       //int38
            //msg.Reserved2 = BitConvertUtil.GetInt(sequence.DeQueue(1)) == 1;//bit(1)
            msg.quartercycleindicator       = BitConvertUtil.GetUInt(sequence.DeQueue(2));                 //bit(2)
            msg.AntennaReferencePointECEF_Z = BitConvertUtil.GetLong(sequence.DeQueue(38)) * 0.0001;       //int38

            return(msg);
        }