public void ShowSymbolCollection(SymbolCollection sc) { DataTable dt = new DataTable(); dt.Columns.Add("SYMBOLNAME"); dt.Columns.Add("DESCRIPTION"); dt.Columns.Add("XAXIS"); dt.Columns.Add("XAXISDESCRIPTION"); dt.Columns.Add("YAXIS"); dt.Columns.Add("YAXISDESCRIPTION"); SymbolAxesTranslator sat = new SymbolAxesTranslator(); string xaxis = string.Empty; string yaxis = string.Empty; string xaxisdescr = ""; string yaxisdescr = ""; string zaxisdescr = ""; foreach (SymbolHelper sh in sc) { string name = sh.SmartVarname; sat.GetAxisSymbols(name, out xaxis, out yaxis, out xaxisdescr, out yaxisdescr, out zaxisdescr); String symboldescr = SymbolTranslator.ToDescription(name); if (xaxis != "") { xaxisdescr = SymbolTranslator.ToDescription(xaxis); } if (yaxis != "") { yaxisdescr = SymbolTranslator.ToDescription(yaxis); } if (xaxis != "" || yaxis != "") { dt.Rows.Add(name, symboldescr, xaxis, xaxisdescr, yaxis, yaxisdescr); } } gridControl1.DataSource = dt; }
public bool CheckAndFillCollection(SymbolCollection sc) { bool retval = false; // first check whether we have a "blank" file bool _hasSymbolNumbers = false; sc.SortColumn = "Symbol_number"; sc.SortingOrder = GenericComparer.SortOrder.Ascending; sc.Sort(); foreach (SymbolHelper sh in sc) { if (sh.Varname.StartsWith("Symbolnumber")) { _hasSymbolNumbers = true; break; } } // check known symbol length if (_hasSymbolNumbers) { int MapIndex = 0; int KnkFuelCalfi_MaxOffsetMap_Index = 0; int TrqMastCalm_AirTorqMap_Index = 0; int TrqMastCalX_AccPedalMAP_Index = 0; int BstKnkCalMaxAirmass_Index = 0; int BstKnkCalMaxAirmassAu_Index = 0; int PedalMapCalTrq_RequestMap_Index = 0; int PedalMapCalTrq_RequestSportMap_Index = 0; int KnkDetCalfi_knkWinOffsMAP_Index = 0; int KnkDetCalfi_knkWinSizeMAP_Index = 0; int InjAnglCalMap_Index = 0; bool _reverse288Maps = false; if (SequenceOf512Maps(sc, 1, 2, 1, 2, 2, 1)) { if (SequenceOf576Maps(sc, 1, 1, 1, 2, 1, 2)) // new file from JZW { //2 = KnkDetCal.fi_KnkWinOffsMap //3 = KnkDetCal.fi_KnkWinSizeMap //7 = TrqMastCal.m_AirTorqMap //8 = TrqMastCal.X_AccPedalMAP KnkFuelCalfi_MaxOffsetMap_Index = 4; KnkDetCalfi_knkWinOffsMAP_Index = 2; KnkDetCalfi_knkWinSizeMAP_Index = 3; InjAnglCalMap_Index = 1; PedalMapCalTrq_RequestMap_Index = 5; PedalMapCalTrq_RequestSportMap_Index = 6; TrqMastCalm_AirTorqMap_Index = 7; TrqMastCalX_AccPedalMAP_Index = 8; BstKnkCalMaxAirmass_Index = 9; _reverse288Maps = true; } else { KnkFuelCalfi_MaxOffsetMap_Index = 1; TrqMastCalm_AirTorqMap_Index = 2; TrqMastCalX_AccPedalMAP_Index = 3; BstKnkCalMaxAirmass_Index = 4; PedalMapCalTrq_RequestMap_Index = 5; PedalMapCalTrq_RequestSportMap_Index = 6; KnkDetCalfi_knkWinOffsMAP_Index = 7; KnkDetCalfi_knkWinSizeMAP_Index = 8; InjAnglCalMap_Index = 9; } } else if (SequenceOf512Maps(sc, 2, 1, 1, 2, 1, 2)) { BstKnkCalMaxAirmass_Index = 1; BstKnkCalMaxAirmassAu_Index = 2; InjAnglCalMap_Index = 3; KnkFuelCalfi_MaxOffsetMap_Index = 4; KnkDetCalfi_knkWinOffsMAP_Index = 5; KnkDetCalfi_knkWinSizeMAP_Index = 6; PedalMapCalTrq_RequestMap_Index = 7; TrqMastCalm_AirTorqMap_Index = 8; TrqMastCalX_AccPedalMAP_Index = 9; } else { BstKnkCalMaxAirmass_Index = 1; TrqMastCalm_AirTorqMap_Index = 2; TrqMastCalX_AccPedalMAP_Index = 3; InjAnglCalMap_Index = 4; KnkFuelCalfi_MaxOffsetMap_Index = 5; PedalMapCalTrq_RequestMap_Index = 6; PedalMapCalTrq_RequestSportMap_Index = 7; KnkDetCalfi_knkWinOffsMAP_Index = 8; KnkDetCalfi_knkWinSizeMAP_Index = 9; } // set the 512 map indexes correctly /* * 2008 file: (1,2,1,2,2,1) * * 9*512 map * * KnkFuelCal.fi_MaxOffsetMap 1039 1 * TrqMastCal.m_AirTorqMap 2344 2 * TrqMastCal.X_AccPedalMAP 2345 * BstKnkCal.MaxAirmass 3192 1 * PedalMapCal.Trq_RequestMap 5820 2 * PedalMapCal.Trq_RequestSportMap 5821 * KnkDetCal.fi_knkWinOffsMAP 6749 2 * KnkDetCal.fi_knkWinSizeMAP 6750 * InjAnglCal.Map 6815 1 * * 2007 file: (2,1,1,2,1,2) * * 9*512 map * BstKnkCal.MaxAirmass 316 * BstKnkCal.MaxAirmassAu 317 * InjAnglCal.Map 2489 * KnkFuelCal.fi_MaxOffsetMap 2517 * KnkDetCal.fi_knkWinOffsMAP 3311 * KnkDetCal.fi_knkWinSizeMAP 3312 * PedalMapCal.Trq_RequestMap 5962 * TrqMastCal.m_AirTorqMap 6254 * TrqMastCal.X_AccPedalMAP 6255 * * Non working file 2007: (1,2,1,1,2,2) * * BstKnkCal.MaxAirmass 512 1 * TrqMastCal.m_AirTorqMap 2186 2 * TrqMastCal.X_AccPedalMAP 2187 * InjAnglCal.Map 2981 1 * KnkFuelCal.fi_MaxOffsetMap 4496 1 * PedalMapCal.Trq_RequestMap 5771 2 * PedalMapCal.Trq_RequestSportMap 5772 * KnkDetCal.fi_knkWinOffsMAP 6373 2 * KnkDetCal.fi_knkWinSizeMAP 6374 * * * */ MapIndex = SetMapName(sc, 70, 1, "FCutCal.FuelFactorMAP"); SetMapNameByIndex(sc, MapIndex - 1, 10, "FCutCal.T_EngineSP"); SetMapNameByIndex(sc, MapIndex - 2, 14, "FCutCal.nCombSinceFuelCutSP"); SetMapNameByIndex(sc, MapIndex - 6, 2, "FCutCal.m_AirInletTime"); SetMapNameByIndex(sc, MapIndex - 7, 2, "FCutCal.m_AirInletLimit"); MapIndex = SetMapName(sc, 504, 1, "AfterStCal.StartMAP"); SetMapNameByIndex(sc, MapIndex + 1, 28, "AfterStCal.n_CombXSP"); SetMapNameByIndex(sc, MapIndex + 2, 36, "AfterStCal.T_EngineYSP"); SetMapNameByIndex(sc, MapIndex + 3, 112, "AfterStCal.AmbientMAP"); SetMapNameByIndex(sc, MapIndex + 4, 8, "AfterStCal.p_AirAmbientYSP"); SetMapName(sc, 480, 1, "EngTipLimCal.X_Koeff"); SetMapName(sc, 672, 1, "EngTipNormCal.Trq_BacklashTipOutMap"); SetMapName(sc, 672, 2, "EngTipSportCal.Trq_BacklashTipOutMap"); // very probable SetMapName(sc, 512, /*1*/ KnkFuelCalfi_MaxOffsetMap_Index, "KnkFuelCal.fi_MaxOffsetMap"); MapIndex = SetMapName(sc, 512, /*2*/ TrqMastCalm_AirTorqMap_Index, "TrqMastCal.m_AirTorqMap"); SetMapNameByIndex(sc, MapIndex - 2, 576, "TrqMastCal.Trq_MBTMAP"); // maybe use search first match from current index SetMapNameByIndex(sc, MapIndex - 1, 576, "TrqMastCal.Trq_NominalMap"); SetMapNameByIndex(sc, MapIndex + 1, 512, "TrqMastCal.X_AccPedalMAP"); SetMapNameByIndex(sc, MapIndex + 2, 72, "TrqMastCal.IgnAngleDiffSP"); SetMapNameByIndex(sc, MapIndex + 3, 72, "TrqMastCal.TLO_TAB"); SetMapNameByIndex(sc, MapIndex + 4, 32, "TrqMastCal.n_EngineYSP"); // TrqMastCal.n_EngineYSP/n_EngYSP SetMapNameByIndex(sc, MapIndex + 5, 32, "TrqMastCal.n_EngineXSP"); SetMapNameByIndex(sc, MapIndex + 6, 8, "TrqMastCal.n_MaxDerXSP"); SetMapNameByIndex(sc, MapIndex + 7, 32, "TrqMastCal.Trq_EngXSP"); SetMapNameByIndex(sc, MapIndex + 8, 32, "TrqMastCal.Trq_PedYSP"); SetMapNameByIndex(sc, MapIndex + 9, 32, "TrqMastCal.Trq_MaxDerIncMAP"); SetMapNameByIndex(sc, MapIndex + 10, 32, "TrqMastCal.Trq_MaxDerDecMAP"); SetMapNameByIndex(sc, MapIndex + 11, 2, "TrqMastCal.Trq_MaxDerShift"); SetMapNameByIndex(sc, MapIndex + 12, 36, "TrqMastCal.m_AirXSP"); SetMapName(sc, 512, /*3*/ TrqMastCalX_AccPedalMAP_Index, "TrqMastCal.X_AccPedalMAP"); MapIndex = SetMapName(sc, 512, /*4*/ BstKnkCalMaxAirmass_Index, "BstKnkCal.MaxAirmass"); SetMapNameByIndex(sc, MapIndex - 1, 32, "BstKnkCal.n_EngYSP"); SetMapNameByIndex(sc, MapIndex - 2, 32, "BstKnkCal.OffsetXSP"); if (BstKnkCalMaxAirmassAu_Index > 0) { MapIndex = SetMapName(sc, 512, /*4*/ BstKnkCalMaxAirmassAu_Index, "BstKnkCal.MaxAirmassAu"); } SetMapName(sc, 512, /*5*/ PedalMapCalTrq_RequestMap_Index, "PedalMapCal.Trq_RequestMap"); if (PedalMapCalTrq_RequestSportMap_Index > 0) { SetMapName(sc, 512, /*6*/ PedalMapCalTrq_RequestSportMap_Index, "PedalMapCal.Trq_RequestSportMap"); } SetMapName(sc, 512, /*7*/ KnkDetCalfi_knkWinOffsMAP_Index, "KnkDetCal.fi_knkWinOffsMAP"); SetMapName(sc, 512, /*8*/ KnkDetCalfi_knkWinSizeMAP_Index, "KnkDetCal.fi_knkWinSizeMAP"); MapIndex = SetMapName(sc, 512, /*9*/ InjAnglCalMap_Index, "InjAnglCal.Map"); SetMapNameByIndex(sc, MapIndex - 1, 32, "InjAnglCal.RpmYSP"); SetMapNameByIndex(sc, MapIndex - 2, 32, "InjAnglCal.AirXSP"); MapIndex = SetMapName(sc, 384, 1, "AirMassMastCal.m_AirMBTMAP"); SetMapNameByIndex(sc, MapIndex - 1, 24, "AirMassMastCal.Trq_MBTXSP"); SetMapNameByIndex(sc, MapIndex - 2, 32, "AirMassMastCal.n_EngMBTYSP"); MapIndex = SetMapName(sc, 384, 2, "IgnAbsCal.fi_IgnMBTMAP"); SetMapNameByIndex(sc, MapIndex - 1, 32, "IgnAbsCal.n_EngMBTYSP"); SetMapNameByIndex(sc, MapIndex - 2, 24, "IgnAbsCal.m_AirMBTXSP"); SetMapNameByIndex(sc, MapIndex + 1, 576, "IgnAbsCal.fi_highOctanMAP"); SetMapNameByIndex(sc, MapIndex + 2, 576, "IgnAbsCal.fi_lowOctanMAP"); SetMapNameByIndex(sc, MapIndex + 3, 576, "IgnAbsCal.fi_NormalMAP"); SetMapNameByIndex(sc, MapIndex + 4, 36, "IgnAbsCal.m_AirNormXSP"); SetMapNameByIndex(sc, MapIndex + 5, 32, "IgnAbsCal.n_EngNormYSP"); MapIndex = SetMapName(sc, 320, 1, "IgnAbsCal.fi_FuelCutMAP"); SetMapNameByIndex(sc, MapIndex - 1, 32, "IgnAbsCal.n_EngFuelCutYSP"); SetMapNameByIndex(sc, MapIndex - 2, 20, "IgnAbsCal.T_EngFuelCutXSP"); SetMapNameByIndex(sc, MapIndex + 1, 20, "IgnAbsCal.T_EngStartXSP"); SetMapNameByIndex(sc, MapIndex + 2, 16, "IgnAbsCal.n_EngStartYSP"); SetMapNameByIndex(sc, MapIndex + 3, 160, "IgnAbsCal.fi_StartMAP"); MapIndex = SetMapName(sc, 306, 1, "OilTempCal.T_SpeedAndLoadDecreaseMap"); SetMapNameByIndex(sc, MapIndex - 1, 34, "OilTempCal.v_VehicleYSP"); SetMapNameByIndex(sc, MapIndex - 2, 18, "OilTempCal.T_AirInletXSP"); //<GS-29082011> /* * 4 maps length 288 (0x120) means biopower for T8. * * 1st = BFuelCal.LambdaOneFacMap * 2nd = BFuelCal.TempEnrichFacMap * 3rd = BFuelCal.E85TempEnrichFacMap * 4th = MAFCal.NormAdjustFacMap * */ if (SymbolCountOfLength(sc, 288) == 4) { // biopower MapIndex = SetMapName(sc, 288, 1, "BFuelCal.LambdaOneFacMap"); SetMapNameByIndex(sc, MapIndex - 5, 32, "BFuelCal.RpmYSP"); SetMapNameByIndex(sc, MapIndex - 6, 36, "BFuelCal.AirXSP"); SetMapName(sc, 288, 2, "BFuelCal.E85TempEnrichFacMap"); SetMapName(sc, 288, 3, "BFuelCal.TempEnrichFacMap"); SetMapName(sc, 288, 4, "MAFCal.NormAdjustFacMap"); } else { if (!_reverse288Maps) { MapIndex = SetMapName(sc, 288, 1, "BFuelCal.LambdaOneFacMap"); SetMapNameByIndex(sc, MapIndex - 5, 32, "BFuelCal.RpmYSP"); SetMapNameByIndex(sc, MapIndex - 6, 36, "BFuelCal.AirXSP"); SetMapName(sc, 288, 2, "BFuelCal.TempEnrichFacMap"); SetMapName(sc, 288, 3, "MAFCal.NormAdjustFacMap"); } else { MapIndex = SetMapName(sc, 288, 2, "BFuelCal.LambdaOneFacMap"); SetMapNameByIndex(sc, MapIndex - 5, 32, "BFuelCal.RpmYSP"); SetMapNameByIndex(sc, MapIndex - 6, 36, "BFuelCal.AirXSP"); SetMapName(sc, 288, 3, "BFuelCal.TempEnrichFacMap"); SetMapName(sc, 288, 1, "MAFCal.NormAdjustFacMap"); } } SetMapName(sc, 256, 1, "AirCtrlCal.RegMap"); MapIndex = SetMapName(sc, 256, 2, "PedalMapCal.GainFactorMap"); SetMapNameByIndex(sc, MapIndex - 1, 16, "PedalMapCal.GainFactorYSP"); SetMapNameByIndex(sc, MapIndex - 3, 2, "PedalMapCal.T_SportModeEnable"); SetMapNameByIndex(sc, MapIndex - 10, 2, "PedalMapCal.SportFactor"); SetMapNameByIndex(sc, MapIndex - 14, 512, "PedalMapCal.Trq_RequestSportMap"); SetMapNameByIndex(sc, MapIndex - 15, 512, "PedalMapCal.Trq_RequestMap"); SetMapNameByIndex(sc, MapIndex - 16, 32, "PedalMapCal.X_PedalMap"); SetMapNameByIndex(sc, MapIndex - 17, 32, "PedalMapCal.n_EngineMap"); SetMapName(sc, 224, 1, "MAFCal.WeightConstMap"); MapIndex = SetMapName(sc, 220, 1, "IgnTempCal.T_AirInletReferenceMap"); SetMapNameByIndex(sc, MapIndex - 1, 22, "IgnTempCal.n_EngYSP"); SetMapNameByIndex(sc, MapIndex - 2, 20, "IgnTempCal.m_AirXSP"); SetMapName(sc, 220, 2, "IgnTempCal.fi_OffsetMaxAirInletMap"); SetMapName(sc, 220, 3, "IgnTempCal.T_MaxAirInletMap"); SetMapName(sc, 220, 4, "IgnTempCal.fi_OffsetMinAirInletMap"); SetMapName(sc, 220, 5, "IgnTempCal.T_MinAirInletMap"); SetMapName(sc, 220, 6, "IgnTempCal.fi_OffsetMaxTEngMap"); SetMapName(sc, 220, 7, "IgnTempCal.fi_OffsetMinTEngMap"); MapIndex = SetMapName(sc, 208, 1, "AfterStCal.HotSoakMAP"); SetMapNameByIndex(sc, MapIndex + 2, 26, "AfterStCal.t_soakXSP"); SetMapNameByIndex(sc, MapIndex + 4, 16, "AfterStCal.T_EngineYSP2"); MapIndex = SetMapName(sc, 204, 1, "IgnMastCal.dwellTimeMap"); SetMapNameByIndex(sc, MapIndex + 1, 34, "IgnMastCal.n_EngDwellTimeYSP"); SetMapNameByIndex(sc, MapIndex + 2, 12, "IgnMastCal.UBattDwellTimeXSP"); MapIndex = SetMapName(sc, 200, 1, "ExhaustCal.T_fiIgnMap"); SetMapNameByIndex(sc, MapIndex - 1, 20, "ExhaustCal.fi_IgnSP"); SetMapNameByIndex(sc, MapIndex - 4, 20, "ExhaustCal.m_AirSP"); SetMapNameByIndex(sc, MapIndex + 1, 576, "ExhaustCal.T_Lambda1Map"); SetMapNameByIndex(sc, MapIndex + 4, 576, "TrqMastCal.Trq_MBTMAP"); // maybe use search first match from current index SetMapNameByIndex(sc, MapIndex + 5, 576, "TrqMastCal.Trq_NominalMap"); SetMapNameByIndex(sc, MapIndex + 6, 512, "TrqMastCal.m_AirTorqMap"); SetMapNameByIndex(sc, MapIndex + 7, 512, "TrqMastCal.X_AccPedalMAP"); SetMapNameByIndex(sc, MapIndex + 8, 72, "TrqMastCal.IgnAngleDiffSP"); SetMapNameByIndex(sc, MapIndex + 9, 72, "TrqMastCal.TLO_TAB"); SetMapNameByIndex(sc, MapIndex + 10, 32, "TrqMastCal.n_EngYSP"); SetMapNameByIndex(sc, MapIndex + 11, 32, "TrqMastCal.n_EngXSP"); SetMapNameByIndex(sc, MapIndex + 12, 8, "TrqMastCal.n_MaxDerXSP"); SetMapNameByIndex(sc, MapIndex + 13, 32, "TrqMastCal.Trq_EngXSP"); SetMapNameByIndex(sc, MapIndex + 14, 32, "TrqMastCal.Trq_PedYSP"); SetMapNameByIndex(sc, MapIndex + 15, 32, "TrqMastCal.Trq_MaxDerIncMAP"); SetMapNameByIndex(sc, MapIndex + 16, 32, "TrqMastCal.Trq_MaxDerDecMAP"); SetMapNameByIndex(sc, MapIndex + 17, 2, "TrqMastCal.Trq_MaxDerShift"); SetMapNameByIndex(sc, MapIndex + 18, 36, "TrqMastCal.m_AirXSP"); MapIndex = SetMapName(sc, 192, 1, "AirCtrlCal.m_AirBoostHighAltOffsMAP"); SetMapNameByIndex(sc, MapIndex - 1, 24, "AirCtrlCal.p_AirAmbientYSP"); SetMapNameByIndex(sc, MapIndex - 2, 16, "AirCtrlCal.p_AfterTurbineXSP"); MapIndex = SetMapName(sc, 192, 2, "IgnMastCal.MinMap"); SetMapNameByIndex(sc, MapIndex + 1, 24, "IgnMastCal.n_EngYSP"); SetMapNameByIndex(sc, MapIndex + 2, 16, "IgnMastCal.m_AirXSP"); MapIndex = SetMapName(sc, 168, 1, "IgnKnkCal.RetardIndexMap"); SetMapNameByIndex(sc, MapIndex - 1, 24, "IgnKnkCal.n_EngIndexYSP"); SetMapNameByIndex(sc, MapIndex - 2, 14, "IgnKnkCal.m_AirIndexXSP"); SetMapNameByIndex(sc, MapIndex - 6, 32, "IgnKnkCal.n_EngYSP"); SetMapNameByIndex(sc, MapIndex - 7, 36, "IgnKnkCal.m_AirXSP"); MapIndex = SetMapName(sc, 168, 2, "IgnKnkCal.ARetardIndexMap"); SetMapNameByIndex(sc, MapIndex + 1, 576, "IgnKnkCal.IndexMap"); MapIndex = SetMapName(sc, 168, 3, "KnkDetCal.X_hystOffsetMAP"); MapIndex = SetMapName(sc, 168, 4, "KnkDetCal.X_AHystOffsetMAP"); MapIndex = SetMapName(sc, 160, 1, "MisfCal.m_LoadLevelMAT"); SetMapNameByIndex(sc, MapIndex + 1, 36, "MisfCal.m_AirXSP"); SetMapNameByIndex(sc, MapIndex + 4, 576, "MisfCal.CatOverheatFactorMAT"); SetMapNameByIndex(sc, MapIndex + 7, 32, "MisfCal.n_EngYSP"); SetMapNameByIndex(sc, MapIndex + 10, 10, "MisfCal.T_EngXSP"); if (_reverse288Maps) { MapIndex = SetMapName(sc, 576, 12, "KnkFuelCal.EnrichmentMap", 1, 576); SetMapNameByIndex(sc, MapIndex + 1, 576, "KnkFuelCal.fi_OffsetEnrichEnable"); SetMapNameByIndex(sc, MapIndex + 2, 576, "KnkFuelCal.fi_MaxOffsetMap"); SetMapNameByIndex(sc, MapIndex + 3, 32, "KnkFuelCal.m_AirXSP"); } else { MapIndex = SetMapName(sc, 576, 2, "KnkFuelCal.EnrichmentMap", 1, 576); SetMapNameByIndex(sc, MapIndex + 1, 576, "KnkFuelCal.fi_OffsetEnrichEnable"); SetMapNameByIndex(sc, MapIndex + 2, 576, "KnkFuelCal.fi_MaxOffsetMap"); SetMapNameByIndex(sc, MapIndex + 3, 32, "KnkFuelCal.m_AirXSP"); } SetMapName(sc, 160, 2, "IgnAbsCal.fi_StartMAP"); SetMapName(sc, 140, 1, "FuelCutInhibitCal.FCIFaultCodeList"); SetMapName(sc, 130, 1, "VIOSMAFCal.TicksSP"); SetMapName(sc, 130, 2, "VIOSMAFCal.Q_AirInletTab"); if (_reverse288Maps) { SetMapName(sc, 98, 1, "AirCtrlCal.Ppart_BoostMap"); SetMapName(sc, 98, 2, "AirCtrlCal.Ipart_BoostMap"); MapIndex = SetMapName(sc, 98, 3, "AirCtrlCal.Dpart_BoostMap"); } else { SetMapName(sc, 98, 3, "AirCtrlCal.Ppart_BoostMap"); SetMapName(sc, 98, 4, "AirCtrlCal.Ipart_BoostMap"); MapIndex = SetMapName(sc, 98, 5, "AirCtrlCal.Dpart_BoostMap"); } SetMapNameByIndex(sc, MapIndex + 1, 14, "AirCtrlCal.PIDXSP"); SetMapNameByIndex(sc, MapIndex + 2, 14, "AirCtrlCal.PIDYSP"); SetMapNameByIndex(sc, MapIndex + 3, 2, "AirCtrlCal.IPart_BoostCoAirM1"); SetMapNameByIndex(sc, MapIndex + 4, 2, "AirCtrlCal.m_IFacMax"); SetMapNameByIndex(sc, MapIndex + 5, 2, "AirCtrlCal.FilterFactor"); SetMapNameByIndex(sc, MapIndex + 6, 32, "AirCtrlCal.n_EngYSP"); SetMapNameByIndex(sc, MapIndex + 7, 2, "AirCtrlCal.Hysteres"); SetMapNameByIndex(sc, MapIndex + 8, 16, "AirCtrlCal.SetLoadXSP"); SetMapNameByIndex(sc, MapIndex + 9, 256, "AirCtrlCal.RegMap"); // find torquelimiters automatically int state = 0; int symIndex = 0; int symCounter = 0; bool limitersFound = false; foreach (SymbolHelper sh in sc) { //if (state > 0) logger.Debug("State = " + state.ToString() + " symcount: " + symCounter.ToString()); switch (state) { case 0: if (sh.Length == 16) { state++; } break; case 1: if (sh.Length == 2) { state++; } else { state = 0; } break; case 2: if (sh.Length == 32) { state++; } else { state = 0; } break; case 3: if (sh.Length == 32) { state++; } else { state = 0; } break; case 4: if (sh.Length == 32) { state++; } else { state = 0; } break; case 5: if (sh.Length == 32) { state++; } else { state = 0; } break; case 6: if (sh.Length == 2) { state++; } else { state = 0; } break; case 7: if (sh.Length == 2) { state++; } else { state = 0; } break; case 8: if (sh.Length == 2) { state++; } else { state = 0; } break; case 9: if (sh.Length == 32) { state++; } else { state = 0; } break; case 10: if (sh.Length == 32) { state++; } else { state = 0; } break; case 11: symIndex = sh.Symbol_number; break; } symCounter++; if (symIndex > 0) { break; } } if (symIndex > 0) { logger.Debug("(I) Found index: " + symIndex.ToString()); limitersFound = true; // - 11 = TrqLimCal.Trq_ManGear SetMapNameByIndex(sc, symIndex - 11, 16, "TrqLimCal.Trq_ManGear"); SetMapNameByIndex(sc, symIndex - 9, 32, "TrqLimCal.Trq_MaxEngineManTab1"); SetMapNameByIndex(sc, symIndex - 8, 32, "TrqLimCal.Trq_MaxEngineAutTab1"); SetMapNameByIndex(sc, symIndex - 7, 32, "TrqLimCal.Trq_MaxEngineManTab2"); SetMapNameByIndex(sc, symIndex - 6, 32, "TrqLimCal.Trq_MaxEngineAutTab2"); SetMapNameByIndex(sc, symIndex - 2, 32, "TrqLimCal.n_EngYSP"); SetMapNameByIndex(sc, symIndex - 1, 32, "TrqLimCal.Trq_OverBoostTab"); SetMapNameByIndex(sc, symIndex + 7, 24, "TrqLimCal.CompressorNoiseYSP"); SetMapNameByIndex(sc, symIndex + 8, 6, "TrqLimCal.CompressorNoiseXSP"); SetMapNameByIndex(sc, symIndex + 9, 72, "TrqLimCal.Trq_CompressorNoiseRedLimMAP"); } if (!limitersFound) { state = 0; symIndex = 0; symCounter = 0; foreach (SymbolHelper sh in sc) { //if (state > 0) logger.Debug("State = " + state.ToString() + " symcount: " + symCounter.ToString()); switch (state) { case 0: if (sh.Length == 16) { state++; } break; case 1: if (sh.Length == 2) { state++; } else { state = 0; } break; case 2: if (sh.Length == 32) { state++; } else { state = 0; } break; case 3: if (sh.Length == 32) { state++; } else { state = 0; } break; case 4: if (sh.Length == 2) { state++; } else { state = 0; } break; case 5: if (sh.Length == 2) { state++; } else { state = 0; } break; case 6: if (sh.Length == 2) { state++; } else { state = 0; } break; case 7: if (sh.Length == 32) { state++; } else { state = 0; } break; case 8: if (sh.Length == 32) { state++; } else { state = 0; } break; case 9: symIndex = sh.Symbol_number; state++; break; case 10: break; } symCounter++; if (symIndex > 0) { break; } } } if (symIndex > 0) { logger.Debug("(II) Found index: " + symIndex.ToString()); limitersFound = true; // - 9 = TrqLimCal.Trq_ManGear SetMapNameByIndex(sc, symIndex - 9, 16, "TrqLimCal.Trq_ManGear"); SetMapNameByIndex(sc, symIndex - 7, 32, "TrqLimCal.Trq_MaxEngineManTab1"); SetMapNameByIndex(sc, symIndex - 6, 32, "TrqLimCal.Trq_MaxEngineAutTab1"); SetMapNameByIndex(sc, symIndex - 2, 32, "TrqLimCal.n_EngYSP"); SetMapNameByIndex(sc, symIndex - 1, 32, "TrqLimCal.Trq_OverBoostTab"); SetMapNameByIndex(sc, symIndex + 7, 24, "TrqLimCal.CompressorNoiseYSP"); SetMapNameByIndex(sc, symIndex + 8, 6, "TrqLimCal.CompressorNoiseXSP"); SetMapNameByIndex(sc, symIndex + 9, 72, "TrqLimCal.Trq_CompressorNoiseRedLimMAP"); } foreach (SymbolHelper sh in sc) { sh.Description = SymbolTranslator.ToDescription(sh.Userdescription); sh.createAndUpdateCategory(sh.Userdescription); } } return(retval); }