public bool GetPositionValues() { int navLib = 0; int unhealthySV = 0; CNavLibOutputFix navLibOutputFix = null; string[] measRespCsv = msgDecoded.DecodeMsg(this.MeasRespMsg); string[] setEphClkCsv = msgInputDecoded.DecodeInputMsg(this.EphClkMsg); if ((measRespCsv.Length == 0) || (this.EphClkMsg.Length == 0)) { return(false); } int index = 2; this.TTBEphValues.nLastSV = Convert.ToByte(setEphClkCsv[index++]); int num4 = index; index = num4; try { this.SetEphValuesHelper(ref this.TTBEphValues.Eph1, setEphClkCsv, ref index); this.SetEphValuesHelper(ref this.TTBEphValues.Eph2, setEphClkCsv, ref index); this.SetEphValuesHelper(ref this.TTBEphValues.Eph3, setEphClkCsv, ref index); this.SetEphValuesHelper(ref this.TTBEphValues.Eph4, setEphClkCsv, ref index); this.SetEphValuesHelper(ref this.TTBEphValues.Eph5, setEphClkCsv, ref index); this.SetEphValuesHelper(ref this.TTBEphValues.Eph6, setEphClkCsv, ref index); this.SetEphValuesHelper(ref this.TTBEphValues.Eph7, setEphClkCsv, ref index); this.SetEphValuesHelper(ref this.TTBEphValues.Eph8, setEphClkCsv, ref index); this.SetEphValuesHelper(ref this.TTBEphValues.Eph9, setEphClkCsv, ref index); this.SetEphValuesHelper(ref this.TTBEphValues.Eph10, setEphClkCsv, ref index); this.SetEphValuesHelper(ref this.TTBEphValues.Eph11, setEphClkCsv, ref index); this.SetEphValuesHelper(ref this.TTBEphValues.Eph12, setEphClkCsv, ref index); this.SetEphValuesHelper(ref this.TTBEphValues.Eph13, setEphClkCsv, ref index); this.SetEphValuesHelper(ref this.TTBEphValues.Eph14, setEphClkCsv, ref index); this.SetEphValuesHelper(ref this.TTBEphValues.Eph15, setEphClkCsv, ref index); this.SetEphValuesHelper(ref this.TTBEphValues.Eph16, setEphClkCsv, ref index); this.SetEphValuesHelper(ref this.TTBEphValues.Eph17, setEphClkCsv, ref index); this.SetEphValuesHelper(ref this.TTBEphValues.Eph18, setEphClkCsv, ref index); this.SetEphValuesHelper(ref this.TTBEphValues.Eph19, setEphClkCsv, ref index); this.SetEphValuesHelper(ref this.TTBEphValues.Eph20, setEphClkCsv, ref index); this.SetEphValuesHelper(ref this.TTBEphValues.Eph21, setEphClkCsv, ref index); this.SetEphValuesHelper(ref this.TTBEphValues.Eph22, setEphClkCsv, ref index); this.SetEphValuesHelper(ref this.TTBEphValues.Eph23, setEphClkCsv, ref index); this.SetEphValuesHelper(ref this.TTBEphValues.Eph24, setEphClkCsv, ref index); this.SetEphValuesHelper(ref this.TTBEphValues.Eph25, setEphClkCsv, ref index); this.SetEphValuesHelper(ref this.TTBEphValues.Eph26, setEphClkCsv, ref index); this.SetEphValuesHelper(ref this.TTBEphValues.Eph27, setEphClkCsv, ref index); this.SetEphValuesHelper(ref this.TTBEphValues.Eph28, setEphClkCsv, ref index); this.SetEphValuesHelper(ref this.TTBEphValues.Eph29, setEphClkCsv, ref index); this.SetEphValuesHelper(ref this.TTBEphValues.Eph30, setEphClkCsv, ref index); this.SetEphValuesHelper(ref this.TTBEphValues.Eph31, setEphClkCsv, ref index); this.SetEphValuesHelper(ref this.TTBEphValues.Eph32, setEphClkCsv, ref index); this.SetEphValuesHelper(ref this.TTBEphValues.Eph33, setEphClkCsv, ref index); } catch { } index = 3; this.Ai3ResultValues.gpsMeasFlag = Convert.ToByte(measRespCsv[index++]); this.Ai3ResultValues.measErrStat = Convert.ToByte(measRespCsv[index++]); this.Ai3ResultValues.measWeek = Convert.ToUInt16(measRespCsv[index++]); this.Ai3ResultValues.measTow = Convert.ToUInt32(measRespCsv[index++]); this.Ai3ResultValues.measTimeAcc = Convert.ToByte(measRespCsv[index++]); this.Ai3ResultValues.measNumSv = Convert.ToByte(measRespCsv[index++]); num4 = index; index = num4; try { this.SetMeasSVInfoHelper(ref this.Ai3ResultValues.measSV_Info1, measRespCsv, ref index); this.SetMeasSVInfoHelper(ref this.Ai3ResultValues.measSV_Info2, measRespCsv, ref index); this.SetMeasSVInfoHelper(ref this.Ai3ResultValues.measSV_Info3, measRespCsv, ref index); this.SetMeasSVInfoHelper(ref this.Ai3ResultValues.measSV_Info4, measRespCsv, ref index); this.SetMeasSVInfoHelper(ref this.Ai3ResultValues.measSV_Info5, measRespCsv, ref index); this.SetMeasSVInfoHelper(ref this.Ai3ResultValues.measSV_Info6, measRespCsv, ref index); this.SetMeasSVInfoHelper(ref this.Ai3ResultValues.measSV_Info7, measRespCsv, ref index); this.SetMeasSVInfoHelper(ref this.Ai3ResultValues.measSV_Info8, measRespCsv, ref index); this.SetMeasSVInfoHelper(ref this.Ai3ResultValues.measSV_Info9, measRespCsv, ref index); this.SetMeasSVInfoHelper(ref this.Ai3ResultValues.measSV_Info10, measRespCsv, ref index); this.SetMeasSVInfoHelper(ref this.Ai3ResultValues.measSV_Info11, measRespCsv, ref index); this.SetMeasSVInfoHelper(ref this.Ai3ResultValues.measSV_Info12, measRespCsv, ref index); this.SetMeasSVInfoHelper(ref this.Ai3ResultValues.measSV_Info13, measRespCsv, ref index); this.SetMeasSVInfoHelper(ref this.Ai3ResultValues.measSV_Info14, measRespCsv, ref index); this.SetMeasSVInfoHelper(ref this.Ai3ResultValues.measSV_Info15, measRespCsv, ref index); this.SetMeasSVInfoHelper(ref this.Ai3ResultValues.measSV_Info16, measRespCsv, ref index); } catch { } this.NLcompute(ref this.AprValues, ref this.TTBEphValues, ref this.Ai3ResultValues, ref this.MeasConfigValues, navLib, ref navLibOutputFix, unhealthySV); return(true); }
public unsafe void NLcompute(ref APR aprPos, ref CTTBEph EphData, ref CAI3Results AI3Res, ref MeasConfig measConfig, int navLib, ref CNavLibOutputFix navLibOutputFix, int unhealthySV) { APR apr = aprPos; APR * aprPtr = &apr; CTTBEph eph = EphData; CTTBEph * ephData = &eph; CAI3Results results = AI3Res; CAI3Results *resultsPtr = &results; MeasConfig config = measConfig; MeasConfig * configPtr = &config; navLibLSQ(aprPtr, ephData, resultsPtr, configPtr, navLib, ref navLibOutputFix, unhealthySV); aprPos = apr; EphData = eph; AI3Res = results; measConfig = config; }
public static unsafe extern int navLibLSQ(APR* aprPos, CTTBEph* EphData, CAI3Results* AI3Res, MeasConfig* measConfig, int navLib, ref CNavLibOutputFix navLibOutputFix, int unhealthySV);
public static extern unsafe int navLibLSQ(APR *aprPos, CTTBEph *EphData, CAI3Results *AI3Res, MeasConfig *measConfig, int navLib, ref CNavLibOutputFix navLibOutputFix, int unhealthySV);
public unsafe void NLcompute(ref APR aprPos, ref CTTBEph EphData, ref CAI3Results AI3Res, ref MeasConfig measConfig, int navLib, ref CNavLibOutputFix navLibOutputFix, int unhealthySV) { APR apr = aprPos; APR* aprPtr = &apr; CTTBEph eph = EphData; CTTBEph* ephData = &eph; CAI3Results results = AI3Res; CAI3Results* resultsPtr = &results; MeasConfig config = measConfig; MeasConfig* configPtr = &config; navLibLSQ(aprPtr, ephData, resultsPtr, configPtr, navLib, ref navLibOutputFix, unhealthySV); aprPos = apr; EphData = eph; AI3Res = results; measConfig = config; }