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); }