public virtual string[] FormatMPMStatsMessage(SiRFawareStatsParams DisplayStatsData) { string[] strArray = new string[2]; List<string> list = new List<string>(); if (DisplayStatsData.isValid_TimeSpentInFullPowerSec) { list.Add(DisplayStatsData.TimeSpentInFullPowerSec.ToString()); } else { list.Add("N/A"); } if (DisplayStatsData.isValid_RTCWakeupUncUs) { list.Add(DisplayStatsData.RTCWakeupUncUs.ToString()); } else { list.Add("N/A"); } if (DisplayStatsData.isValid_RTCCorrectionPerform) { list.Add(DisplayStatsData.RTCCorrectionPerform.ToString()); } else { list.Add("N/A"); } if (DisplayStatsData.isValid_TOW) { list.Add(DisplayStatsData.TOW.ToString()); } else { list.Add("N/A"); } if (DisplayStatsData.isValid_UnusedTokenLeft) { list.Add(DisplayStatsData.UnusedTokenLeft.ToString()); } else { list.Add("N/A"); } if (DisplayStatsData.isValid_TempRecord) { list.Add(DisplayStatsData.TempRecordC.ToString("F1")); } else { list.Add("N/A"); } if (DisplayStatsData.isValid_TempRecord) { list.Add(DisplayStatsData.TempRecordT.ToString()); } else { list.Add("N/A"); } if (DisplayStatsData.isValid_AlmID) { list.Add(DisplayStatsData.AlmID.ToString()); } else { list.Add("N/A"); } if (DisplayStatsData.isValid_TotalSVMeasureWithBE) { list.Add(DisplayStatsData.TotalSVMeasureWithBE.ToString()); } else { list.Add("N/A"); } if (DisplayStatsData.isValid_TotalSVMeasureWithEE) { list.Add(DisplayStatsData.TotalSVMeasureWithEE.ToString()); } else { list.Add("N/A"); } if (DisplayStatsData.isValid_TotalSVMeasureWithAlm) { list.Add(DisplayStatsData.TotalSVMeasureWithAlm.ToString()); } else { list.Add("N/A"); } int num = 0; strArray[0] = string.Format("\n--- Time in Full Power(s):\t\t\t{0}\n--- RTC Initial Time Uncertainty(us):\t\t{1}\n--- Total RTC Correction:\t\t\t{2}\n--- GPS TOW(ms):\t\t\t\t{3}\n--- Available Maintenance Power Time(s):\t{4}\n--- Temperature(C):\t\t\t\t{5}\n--- Temperature(T):\t\t\t\t{6}\n--- ALM ID:\t\t\t\t{7}\n--- Total SVs with BE:\t\t\t{8}\n--- Total SVs with EE:\t\t\t{9}\n--- Total SVs with ALM:\t\t\t{10}\n", new object[] { list[num++], list[num++], list[num++], list[num++], list[num++], list[num++], list[num++], list[num++], list[num++], list[num++], list[num++] }); list.Clear(); if (DisplayStatsData.isValid_uNavTimeCorrection) { list.Add(DisplayStatsData.uNavTimeCorrection.ToString()); } else { list.Add("N/A"); } if (DisplayStatsData.isValid_MeanCodePhaseCorrection) { list.Add((((double) DisplayStatsData.MeanCodePhaseCorrection) / 1000.0).ToString("F3")); } else { list.Add("N/A"); } if (DisplayStatsData.isValid_StdPseudoRanges) { list.Add((((double) DisplayStatsData.StdPseudoRanges) / 1000.0).ToString("F3")); } else { list.Add("N/A"); } if (DisplayStatsData.isValid_MeanDopplerResidual) { list.Add((((double) DisplayStatsData.MeanDopplerResidual) / 1000.0).ToString("F3")); } else { list.Add("N/A"); } if (DisplayStatsData.isValid_StdDeltaRanges) { list.Add((((double) DisplayStatsData.StdDeltaRanges) / 1000.0).ToString("F3")); } else { list.Add("N/A"); } if (DisplayStatsData.isValid_IsBitSynch) { list.Add((DisplayStatsData.IsBitSynch == 1) ? "Yes" : "No"); } else { list.Add("N/A"); } if (DisplayStatsData.isValid_IsFrameSynch) { list.Add((DisplayStatsData.IsFrameSynch == 1) ? "Yes" : "No"); } else { list.Add("N/A"); } if (DisplayStatsData.isValid_TotalTimeCorrection) { list.Add(DisplayStatsData.TotalTimeCorrection.ToString()); } else { list.Add("N/A"); } if (DisplayStatsData.isValid_SVBeforeEphCollection) { list.Add("0x" + DisplayStatsData.SVBeforeEphCollection.ToString("X")); } else { list.Add("N/A"); } if (DisplayStatsData.isValid_SVAfterEphCollection) { list.Add("0x" + DisplayStatsData.SVAfterEphCollection.ToString("X")); } else { list.Add("N/A"); } if (DisplayStatsData.isValid_IsNav) { list.Add((DisplayStatsData.IsNav == 1) ? "Yes" : "No"); } else { list.Add("N/A"); } if (DisplayStatsData.isValid_IsSuccessAlmCollection) { list.Add((DisplayStatsData.IsSuccessAlmCollection == 1) ? "Yes" : "No"); } else { list.Add("N/A"); } num = 0; strArray[1] = string.Format("\n--- uNav Correction(us):\t\t{0}\n--- Mean Code Phase Correction(m):\t{1}\n--- Pseudo Range Std(m):\t\t{2}\n--- Mean Doppler residual(Hz):\t\t{3}\n--- Delta Ranges Std(Hz):\t\t{4}\n--- Bit Synch achieved:\t\t{5}\n--- Frame Synch achieved:\t\t{6}\n--- Total Time Correction:\t\t{7}\n--- SV mask before Eph collection:\t{8}\n--- SV mask after Eph collection:\t{9}\n--- Successful Nav:\t\t\t{10}\n--- Successful ALM collection:\t\t{11}\n", new object[] { list[num++], list[num++], list[num++], list[num++], list[num++], list[num++], list[num++], list[num++], list[num++], list[num++], list[num++], list[num++] }); return strArray; }
public void UpdateSiRFawareGUI(Hashtable SiRFAwareScanResHash) { try { this.DisplayStatsData = this.comm.RxCtrl.DecodeMPMStats(SiRFAwareScanResHash); if ((this.DisplayStatsDataList != null) && (this.DisplayStatsData != null)) { this._cumulateTimeInFullPower += this.DisplayStatsData.TimeSpentInFullPowerSec; this.DisplayStatsData.CumulateTimeInFullPower = this._cumulateTimeInFullPower; if (this.DisplayStatsDataList.Count > 0x2710) { this.DisplayStatsDataList.RemoveAt(0); } this.DisplayStatsDataList.Add(this.DisplayStatsData); this.frmSiRFawareUpdateGUI(); } } catch (Exception exception) { throw exception; } }
public virtual SiRFawareStatsParams DecodeMPMStats(Hashtable SiRFAwareScanResHash) { if (SiRFAwareScanResHash == null) { return null; } SiRFawareStatsParams @params = new SiRFawareStatsParams(); if (SiRFAwareScanResHash.Contains("Message Sub ID")) { @params.UpdateType = byte.Parse((string) SiRFAwareScanResHash["Message Sub ID"]); } if (SiRFAwareScanResHash.Contains("TimeInFullPwrSec")) { @params.TimeSpentInFullPowerSec = ushort.Parse((string) SiRFAwareScanResHash["TimeInFullPwrSec"]); @params.isValid_TimeSpentInFullPowerSec = true; } if (SiRFAwareScanResHash.Contains("RTC_WAKEUP_UNC")) { @params.RTCWakeupUncUs = ushort.Parse((string) SiRFAwareScanResHash["RTC_WAKEUP_UNC"]); @params.isValid_RTCWakeupUncUs = true; } if (SiRFAwareScanResHash.Contains("TOTAL_RTC_CORR")) { @params.RTCCorrectionPerform = ushort.Parse((string) SiRFAwareScanResHash["TOTAL_RTC_CORR"]); @params.isValid_RTCCorrectionPerform = true; } if (SiRFAwareScanResHash.Contains("TOW_ms")) { @params.TOW = uint.Parse((string) SiRFAwareScanResHash["TOW_ms"]); @params.isValid_TOW = true; } if (SiRFAwareScanResHash.Contains("Unused_Token")) { @params.UnusedTokenLeft = byte.Parse((string) SiRFAwareScanResHash["Unused_Token"]); @params.isValid_UnusedTokenLeft = true; } if (SiRFAwareScanResHash.Contains("TemperatureT")) { @params.TempRecordT = byte.Parse((string) SiRFAwareScanResHash["TemperatureT"]); @params.TempRecordC = (@params.TempRecordT * 0.546875) - 40.0; @params.isValid_TempRecord = true; } if (SiRFAwareScanResHash.Contains("SVsBeforeCollection")) { @params.SVBeforeEphCollection = uint.Parse((string) SiRFAwareScanResHash["SVsBeforeCollection"]); @params.isValid_SVBeforeEphCollection = true; } if (SiRFAwareScanResHash.Contains("SVsAfterCollection")) { @params.SVAfterEphCollection = uint.Parse((string) SiRFAwareScanResHash["SVsAfterCollection"]); @params.isValid_SVAfterEphCollection = true; } if (SiRFAwareScanResHash.Contains("IsNav")) { @params.IsNav = byte.Parse((string) SiRFAwareScanResHash["IsNav"]); @params.isValid_IsNav = true; } if (SiRFAwareScanResHash.Contains("Alm_ID")) { @params.AlmID = byte.Parse((string) SiRFAwareScanResHash["Alm_ID"]); @params.isValid_AlmID = true; } if (SiRFAwareScanResHash.Contains("IsCollectionSuccessful")) { @params.IsSuccessAlmCollection = byte.Parse((string) SiRFAwareScanResHash["IsCollectionSuccessful"]); @params.isValid_IsSuccessAlmCollection = true; } if (SiRFAwareScanResHash.Contains("BE_SVS")) { @params.TotalSVMeasureWithBE = byte.Parse((string) SiRFAwareScanResHash["BE_SVS"]); @params.isValid_TotalSVMeasureWithBE = true; } if (SiRFAwareScanResHash.Contains("EE_SVS")) { @params.TotalSVMeasureWithEE = byte.Parse((string) SiRFAwareScanResHash["EE_SVS"]); @params.isValid_TotalSVMeasureWithEE = true; } if (SiRFAwareScanResHash.Contains("ALM_SVS")) { @params.TotalSVMeasureWithAlm = byte.Parse((string) SiRFAwareScanResHash["ALM_SVS"]); @params.isValid_TotalSVMeasureWithAlm = true; } if (SiRFAwareScanResHash.Contains("UNAV_TIME_CORR")) { @params.uNavTimeCorrection = short.Parse((string) SiRFAwareScanResHash["UNAV_TIME_CORR"]); @params.isValid_uNavTimeCorrection = true; } if (SiRFAwareScanResHash.Contains("MEAN_CODE_PHASE_CORR")) { @params.MeanCodePhaseCorrection = int.Parse((string) SiRFAwareScanResHash["MEAN_CODE_PHASE_CORR"]); @params.isValid_MeanCodePhaseCorrection = true; } if (SiRFAwareScanResHash.Contains("STD_PR")) { @params.StdPseudoRanges = int.Parse((string) SiRFAwareScanResHash["STD_PR"]); @params.isValid_StdPseudoRanges = true; } if (SiRFAwareScanResHash.Contains("MEAN_DOPP_RES")) { @params.MeanDopplerResidual = int.Parse((string) SiRFAwareScanResHash["MEAN_DOPP_RES"]); @params.isValid_MeanDopplerResidual = true; } if (SiRFAwareScanResHash.Contains("STD_DR")) { @params.StdDeltaRanges = int.Parse((string) SiRFAwareScanResHash["STD_DR"]); @params.isValid_StdDeltaRanges = true; } if (SiRFAwareScanResHash.Contains("IsBitSync")) { @params.IsBitSynch = byte.Parse((string) SiRFAwareScanResHash["IsBitSync"]); @params.isValid_IsBitSynch = true; } if (SiRFAwareScanResHash.Contains("IsFrmSync")) { @params.IsFrameSynch = byte.Parse((string) SiRFAwareScanResHash["IsFrmSync"]); @params.isValid_IsFrameSynch = true; } if (SiRFAwareScanResHash.Contains("TotalTimeCorr")) { @params.TotalTimeCorrection = int.Parse((string) SiRFAwareScanResHash["TotalTimeCorr"]); @params.isValid_TotalTimeCorrection = true; } return @params; }