public TrackingChannel(SBP_Enums.TrackingState trackingState, uint sid, SBP_Enums.SIDCode sidCode, float cn0) { _trackingState = trackingState; _sid = sid; _sidCode = sidCode; _cn0 = cn0; }
public ObservationItem(byte[] data) { _p = BitConverter.ToUInt32(data, 0); _li = BitConverter.ToInt32(data, 4); _lf = data[8]; _di = BitConverter.ToInt16(data, 9); _df = data[11]; _cn0 = data[12]; _lockTimer = data[13]; _flags = data[14]; _sid = data[15]; _sidCode = (SBP_Enums.SIDCode)data[16]; }
public ObservationItem(double pseudoRange, double carrierPhase, double doppler, float carrierToNoiseDensity, ushort lockTimer, bool validPseudorange, bool validCarrierphase, bool halfCyclePhaseAmbiguityResolved, bool validDopplerMeasurement, byte sid, SBP_Enums.SIDCode sidCode) { _p = (uint)(pseudoRange * P_MULTIPLIER); double carrierWhole = Math.Floor(carrierPhase); double carrierFraction = (carrierPhase - carrierWhole); double dopplerWhole = Math.Floor(carrierPhase); double dopplerFraction = (carrierPhase - carrierWhole); _li = (int)carrierWhole; _lf = (byte)(carrierFraction * LF_DOPPLER_MULTIPLIER); _di = (short)dopplerWhole; _df = (byte)(dopplerFraction * LF_DOPPLER_MULTIPLIER); _cn0 = (byte)(carrierToNoiseDensity * CN0_MULTIPLIER); _lockTimer = lockTimer; _flags = Convert.ToByte(validPseudorange); _flags = (byte)(_flags | (Convert.ToByte(validCarrierphase) << 1)); _flags = (byte)(_flags | (Convert.ToByte(halfCyclePhaseAmbiguityResolved) << 2)); _flags = (byte)(_flags | (Convert.ToByte(validDopplerMeasurement) << 3)); _sid = sid; _sidCode = sidCode; }