/*format = 2*/ /*ECU Created/Edited by GMECM Edit*/ /* General */ { /*ecuId =GM_C3_ECM, /*fileSize =1000, /*checkSumAddr =0, /*checkSumSize =2, /*checkSumStartAddr =4, /*checkSumEndAddr =FFF, /*Items =177,, }; /* Items */ /* ***Constants*** */ /* Constant 1: Mask id */ /*|| $61 raw is factory $AA is for development set this to AA if you are using a switcher like the one that was offered by Craig Moates ||*/ { /*startAddr =4, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =Mask id, /*ylabel =, /*yaxis =, /*xlabel =, /*xaxis =,, }; /* Constant 2: Cold start throttle kicker */ /*|| $00, disabled $40, normal output $44, inverted output ||*/ { /*startAddr =8, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =Cold start throttle kicker, /*ylabel =, /*yaxis =, /*xlabel =, /*xaxis =,, }; /* Constant 3: Initial Spark Advance */ /*|| base timing, set this up to match actual engine base timing ||*/ { /*startAddr =9, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.351563, /*map_name =Initial Spark Advance, /*ylabel =, /*yaxis =, /*xlabel =Deg, /*xaxis =,, }; /* Constant 4: Max rpm for slope SA */ /*|| Max rpm for calculated spark advance past main spark table upper rpm limit (3600rpm). Uses the next "slope" for adding additional timing past 3600rpm ||*/ { /*startAddr =A, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =25.000000, /*map_name =Max rpm for slope SA, /*ylabel =, /*yaxis =, /*xlabel =RP, /*xaxis =,, }; /* Constant 5: Slope added spark deg/1000rpm */ /*|| Deg per 1000rpm slope used till max slope SA rpm. ||*/ { /*startAddr =B, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.109863, /*map_name =Slope added spark deg/1000rpm, /*ylabel =, /*yaxis =, /*xlabel =Deg, /*xaxis =,, }; /* Constant 6: Main Spark Bias */ /*|| This value is subtracted from main SA table. Just remember that all bias's are subtracted. Their use is to get a negative value. ||*/ { /*startAddr =D, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.351563, /*map_name =Main Spark Bias, /*ylabel =, /*yaxis =, /*xlabel =Deg, /*xaxis =,, }; /* Constant 7: Coolant Spark Bias */ { /*startAddr =E, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.351563, /*map_name =Coolant Spark Bias, /*ylabel =, /*yaxis =, /*xlabel =Deg, /*xaxis =,, }; /* Constant 8: Cylinder count */ /*|| Number of cylinders, either 3, 4, 6, or 8 ||*/ { /*startAddr =F, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =Cylinder count, /*ylabel =, /*yaxis =, /*xlabel =, /*xaxis =,, }; /* Constant 9: Engine off time */ /*|| Engine off time in seconds ||*/ { /*startAddr =13, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.100000, /*map_name =Engine off time, /*ylabel =, /*yaxis =, /*xlabel =sec, /*xaxis =,, }; /* Constant 10: Max SA */ /*|| Max final SA keeps you safe :-) This is one reason to make certain engine base timing is correct in the eprom (initial SA) ||*/ { /*startAddr =15, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.351563, /*map_name =Max SA, /*ylabel =, /*yaxis =, /*xlabel =Deg, /*xaxis =,, }; /* Constant 11: Min SA */ /*|| Min SA ||*/ { /*startAddr =17, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =-90.000000, /*mulOrDivOrBit =0, /*factor =0.351563, /*map_name =Min SA, /*ylabel =, /*yaxis =, /*xlabel =Deg, /*xaxis =,, }; /* Constant 12: Max SA for EGR */ { /*startAddr =19, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.351563, /*map_name =Max SA for EGR, /*ylabel =, /*yaxis =, /*xlabel =Deg, /*xaxis =,, }; /* Constant 13: Max rpm for pseudo baro */ /*|| Max rpm for pseudo baro read. If you drive through the mountains without shutting off the car this is part of the computers way of measuring baro. It's complicated so I'll just leave it at that. ||*/ { /*startAddr =1D, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =25.000000, /*map_name =Max rpm for pseudo baro, /*ylabel =, /*yaxis =, /*xlabel =rpm, /*xaxis =,, }; /* Constant 14: Min tps% for pseudo baro */ { /*startAddr =1E, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.390625, /*map_name =Min tps% for pseudo baro, /*ylabel =, /*yaxis =, /*xlabel =%, /*xaxis =,, }; /* Constant 15: Max delta tps% for pseudo baro */ { /*startAddr =1F, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.390625, /*map_name =Max delta tps% for pseudo baro, /*ylabel =, /*yaxis =, /*xlabel =%, /*xaxis =,, }; /* Constant 16: ALDL SA */ /*|| Added to final SA when in ALAL mode ||*/ { /*startAddr =21, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.351563, /*map_name =ALDL SA, /*ylabel =, /*yaxis =, /*xlabel =Deg, /*xaxis =,, }; /* Constant 17: Highway Mode Load Threshold */ /*|| Anything above this MAP turns off highway mode fuel and timing adjustments ||*/ { /*startAddr =22, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =10.350000, /*mulOrDivOrBit =0, /*factor =0.369000, /*map_name =Highway Mode Load Threshold, /*ylabel =, /*yaxis =, /*xlabel =Kpa, /*xaxis =,, }; /* Constant 18: Highway Mode Speed Threshold */ /*|| Anything below this threshold disables highway mode. ||*/ { /*startAddr =23, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =Highway Mode Speed Threshold, /*ylabel =, /*yaxis =, /*xlabel =MPH, /*xaxis =,, }; /* Constant 19: Highway mode timer */ /*|| Time after all thresholds are met before highway mode is evoked. ||*/ { /*startAddr =24, /*columns =1, /*rows =1, /*elementSize =2, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.012500, /*map_name =Highway mode timer, /*ylabel =, /*yaxis =, /*xlabel =Sec, /*xaxis =,, }; /* Constant 20: TCC locked SA bias */ /*|| Yet another bias. This one is especially useful because you want to REMOVE timing when the tcc first locks. ||*/ { /*startAddr =28, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.351563, /*map_name =TCC locked SA bias, /*ylabel =, /*yaxis =, /*xlabel =, /*xaxis =,, }; /* Constant 21: Knock mph threshold */ /*|| Must be moving above this threshold for knock retard ||*/ { /*startAddr =34, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =Knock mph threshold, /*ylabel =, /*yaxis =, /*xlabel =mph, /*xaxis =,, }; /* Constant 22: Knock rpm threshold */ /*|| Engine speed threshold for knock ignition retard. Must be above this engine speed. ||*/ { /*startAddr =35, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =12.500000, /*map_name =Knock rpm threshold, /*ylabel =, /*yaxis =, /*xlabel =RPM, /*xaxis =,, }; /* Constant 23: Knock cts threshold */ /*|| Use a/d column in temperature table to figure out temperature for threshold. ||*/ { /*startAddr =36, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =Knock cts threshold, /*ylabel =, /*yaxis =, /*xlabel =tem, /*xaxis =,, }; /* Constant 24: Knock count threshold */ /*|| Min counts to do retard from knock ||*/ { /*startAddr =37, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =Knock count threshold, /*ylabel =, /*yaxis =, /*xlabel =Count, /*xaxis =,, }; /* Constant 25: EGR Off (Temp) */ /*|| Set to zero (-40 deg) to disable EGR ||*/ { /*startAddr =20C, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =EGR Off (Temp), /*ylabel =, /*yaxis =, /*xlabel =a/d inverse, /*xaxis =,, }; /* Constant 26: EGR On (Temp) */ /*|| Set to zero (-40 deg) to disable EGR ||*/ { /*startAddr =20D, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =EGR On (Temp), /*ylabel =, /*yaxis =, /*xlabel =a/d inverse, /*xaxis =,, }; /* Constant 27: EGR Off (Speed) */ { /*startAddr =20E, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =EGR Off (Speed), /*ylabel =, /*yaxis =, /*xlabel =mph, /*xaxis =,, }; /* Constant 28: EGR On (Speed) */ { /*startAddr =20F, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =EGR On (Speed), /*ylabel =, /*yaxis =, /*xlabel =mph, /*xaxis =,, }; /* Constant 29: EGR Off (TPS) */ { /*startAddr =210, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.390625, /*map_name =EGR Off (TPS), /*ylabel =, /*yaxis =, /*xlabel =% TP, /*xaxis =,, }; /* Constant 30: EGR On (TPS) */ { /*startAddr =211, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.390625, /*map_name =EGR On (TPS), /*ylabel =, /*yaxis =, /*xlabel =% TP, /*xaxis =,, }; /* Constant 31: EGR Off (Low MAP) */ { /*startAddr =212, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =10.400000, /*mulOrDivOrBit =0, /*factor =0.369000, /*map_name =EGR Off (Low MAP), /*ylabel =, /*yaxis =, /*xlabel =MAP (Kpa), /*xaxis =,, }; /* Constant 32: EGR On (Low MAP) */ { /*startAddr =213, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =10.400000, /*mulOrDivOrBit =0, /*factor =0.369000, /*map_name =EGR On (Low MAP), /*ylabel =, /*yaxis =, /*xlabel =MAP (Kpa), /*xaxis =,, }; /* Constant 33: IAC opening additional AE bpw */ { /*startAddr =222, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =15.260000, /*map_name =IAC opening additional AE bpw, /*ylabel =, /*yaxis =, /*xlabel =usec, /*xaxis =,, }; /* Constant 34: Closed Loop Delay Timer (Warm engine) */ { /*startAddr =229, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =2.000000, /*map_name =Closed Loop Delay Timer (Warm engine), /*ylabel =, /*yaxis =, /*xlabel =Sec, /*xaxis =,, }; /* Constant 35: Closed Loop Delay Timer (Cold engine) */ { /*startAddr =22A, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =2.000000, /*map_name =Closed Loop Delay Timer (Cold engine), /*ylabel =, /*yaxis =, /*xlabel =Sec, /*xaxis =,, }; /* Constant 36: Closed loop coolant threshold */ /*|| Use temp table to find desired temp ||*/ { /*startAddr =22B, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =Closed loop coolant threshold, /*ylabel =, /*yaxis =, /*xlabel =a/d, /*xaxis =,, }; /* Constant 37: BLM enable min temp threshold */ { /*startAddr =22D, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =BLM enable min temp threshold, /*ylabel =, /*yaxis =, /*xlabel =a/d, /*xaxis =,, }; /* Constant 38: BLM enable max temp threshold */ { /*startAddr =22E, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =BLM enable max temp threshold, /*ylabel =, /*yaxis =, /*xlabel =a/d, /*xaxis =,, }; /* Constant 39: BLM enable min MAP threshold */ { /*startAddr =22F, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =10.400000, /*mulOrDivOrBit =0, /*factor =0.369000, /*map_name =BLM enable min MAP threshold, /*ylabel =, /*yaxis =, /*xlabel =Kpa, /*xaxis =,, }; /* Constant 40: BLM enable max MAP threshold */ { /*startAddr =230, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =10.400000, /*mulOrDivOrBit =0, /*factor =0.369000, /*map_name =BLM enable max MAP threshold, /*ylabel =, /*yaxis =, /*xlabel =Kpa, /*xaxis =,, }; /* Constant 41: BLM enable max RPM threshold */ { /*startAddr =231, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =25.000000, /*map_name =BLM enable max RPM threshold, /*ylabel =, /*yaxis =, /*xlabel =RPM, /*xaxis =,, }; /* Constant 42: Stoich AFR */ { /*startAddr =232, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.100000, /*map_name =Stoich AFR, /*ylabel =, /*yaxis =, /*xlabel =afr, /*xaxis =,, }; /* Constant 43: Idle afr vs vac */ /*|| Used instead of afr vs vac for idle conditions ||*/ { /*startAddr =233, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.100000, /*map_name =Idle afr vs vac, /*ylabel =, /*yaxis =, /*xlabel =afr, /*xaxis =,, }; /* Constant 44: Highway min mph threshold */ { /*startAddr =234, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =Highway min mph threshold, /*ylabel =, /*yaxis =, /*xlabel =mph, /*xaxis =,, }; /* Constant 45: BLM update time */ { /*startAddr =238, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =BLM update time, /*ylabel =y, /*yaxis = y, /*xlabel =, /*xaxis = x,, }; /* Constant 46: BLM low rpm boundary */ /*|| BLM low rpm boundary ||*/ { /*startAddr =239, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =25.000000, /*map_name =BLM low rpm boundary, /*ylabel =, /*yaxis =, /*xlabel =rpm, /*xaxis =,, }; /* Constant 47: BLM mid rpm boundary */ /*|| BLM mid rpm boundary ||*/ { /*startAddr =23A, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =25.000000, /*map_name =BLM mid rpm boundary, /*ylabel =, /*yaxis =, /*xlabel =rpm, /*xaxis =,, }; /* Constant 48: BLM high rpm boundary */ /*|| BLM high rpm boundary ||*/ { /*startAddr =23B, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =25.000000, /*map_name =BLM high rpm boundary, /*ylabel =, /*yaxis =, /*xlabel =rpm, /*xaxis =,, }; /* Constant 49: BLM low map boundary */ /*|| BLM low map boundary ||*/ { /*startAddr =23C, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =20.000000, /*mulOrDivOrBit =0, /*factor =0.312500, /*map_name =BLM low map boundary, /*ylabel =, /*yaxis =, /*xlabel =kpa, /*xaxis =,, }; /* Constant 50: BLM mid map boundary */ /*|| BLM mid map boundary ||*/ { /*startAddr =23D, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =20.000000, /*mulOrDivOrBit =0, /*factor =0.312500, /*map_name =BLM mid map boundary, /*ylabel =, /*yaxis =, /*xlabel =kpa, /*xaxis =,, }; /* Constant 51: BLM high map boundary */ /*|| BLM high map boundary ||*/ { /*startAddr =23E, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =20.000000, /*mulOrDivOrBit =0, /*factor =0.312500, /*map_name =BLM high map boundary, /*ylabel =, /*yaxis =, /*xlabel =kpa, /*xaxis =,, }; /* Constant 52: BLM cell movement hyst rpm */ /*|| This prevents BLM cell bouncing around from cell to cell if you're holding a certain rpm for more than a split second. ||*/ { /*startAddr =23F, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =25.000000, /*map_name =BLM cell movement hyst rpm, /*ylabel =, /*yaxis =, /*xlabel =rpm, /*xaxis =,, }; /* Constant 53: BLM cell movement hyst map */ /*|| Keeps BLM cell movement from jumping around and chattering between cells if holding a certain kpa for more than a split second. ||*/ { /*startAddr =240, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.312500, /*map_name =BLM cell movement hyst map, /*ylabel =, /*yaxis =, /*xlabel =kpa, /*xaxis =,, }; /* Constant 54: BLM movement step */ /*|| 1 = one step so if BLM was 124, INT makes BLM move to either 123 or 125. 2 would move BLM by 2 so either 122 or 126. ||*/ { /*startAddr =245, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =BLM movement step, /*ylabel =, /*yaxis =, /*xlabel =, /*xaxis =,, }; /* Constant 55: ==== */ { /*startAddr =0, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =====, /*ylabel =, /*yaxis =, /*xlabel =, /*xaxis =,, }; /* Constant 56: BPW Constant */ { /*startAddr =241, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =BPW Constant, /*ylabel =, /*yaxis =, /*xlabel =Const, /*xaxis =,, }; /* Constant 57: TCC Lock (Low Gears) */ { /*startAddr =4C1, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =TCC Lock (Low Gears), /*ylabel =, /*yaxis =, /*xlabel =MP, /*xaxis =,, }; /* Constant 58: TCC Unlock (Low Gears) */ { /*startAddr =4C3, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =TCC Unlock (Low Gears), /*ylabel =, /*yaxis =, /*xlabel =MP, /*xaxis =,, }; /* Constant 59: TCC Lock (Hi Gears) */ { /*startAddr =4DB, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =TCC Lock (Hi Gears), /*ylabel =, /*yaxis =, /*xlabel =MP, /*xaxis =,, }; /* Constant 60: TCC Unlock (Hi Gears) */ { /*startAddr =4DD, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =TCC Unlock (Hi Gears), /*ylabel =, /*yaxis =, /*xlabel =MP, /*xaxis =,, }; /* Constant 61: IAC Park Postiton */ { /*startAddr =511, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =IAC Park Postiton, /*ylabel =, /*yaxis =, /*xlabel =Step, /*xaxis =,, }; /* Constant 62: Taget Idle (A/C Off) */ { /*startAddr =52C, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =12.500000, /*map_name =Taget Idle (A/C Off), /*ylabel =, /*yaxis =, /*xlabel =RP, /*xaxis =,, }; /* Constant 63: Maximum Cold Engine Speed */ { /*startAddr =535, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =12.500000, /*map_name =Maximum Cold Engine Speed, /*ylabel =, /*yaxis =, /*xlabel =RP, /*xaxis =,, }; /* Constant 64: Maximum Hot Engine Speed */ { /*startAddr =536, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =12.500000, /*map_name =Maximum Hot Engine Speed, /*ylabel =, /*yaxis =, /*xlabel =RP, /*xaxis =,, }; /* Constant 65: Taget Idle (A/C On) */ { /*startAddr =52A, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =12.500000, /*map_name =Taget Idle (A/C On), /*ylabel =, /*yaxis =, /*xlabel =RP, /*xaxis =,, }; /* Constant 66: Fuel Cutoff Speed */ { /*startAddr =261, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =Fuel Cutoff Speed, /*ylabel =, /*yaxis =, /*xlabel =MP, /*xaxis =,, }; /* Constant 67: Fuel Resume Speed */ { /*startAddr =262, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =Fuel Resume Speed, /*ylabel =, /*yaxis =, /*xlabel =MP, /*xaxis =,, }; /* Constant 68: Maximum BLM */ { /*startAddr =246, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =Maximum BLM, /*ylabel =, /*yaxis =, /*xlabel =, /*xaxis =,, }; /* Constant 69: Minimum BLM */ { /*startAddr =247, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =Minimum BLM, /*ylabel =, /*yaxis =, /*xlabel =, /*xaxis =,, }; /* Constant 70: Minimum INT */ { /*startAddr =251, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =Minimum INT, /*ylabel =, /*yaxis =, /*xlabel =, /*xaxis =,, }; /* Constant 71: Maximum INT */ { /*startAddr =252, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =Maximum INT, /*ylabel =, /*yaxis =, /*xlabel =, /*xaxis =,, }; /* Constant 72: Hi O2 to stay closed loop */ { /*startAddr =248, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =4.340300, /*map_name =Hi O2 to stay closed loop, /*ylabel =, /*yaxis =, /*xlabel =m, /*xaxis =,, }; /* Constant 73: Lo O2 to stay closed loop */ { /*startAddr =249, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =4.340300, /*map_name =Lo O2 to stay closed loop, /*ylabel =, /*yaxis =, /*xlabel =m, /*xaxis =,, }; /* Constant 74: Hi O2 to go closed loop */ { /*startAddr =24A, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =4.340300, /*map_name =Hi O2 to go closed loop, /*ylabel =, /*yaxis =, /*xlabel =m, /*xaxis =,, }; /* Constant 75: Lo O2 to go closed loop */ { /*startAddr =24B, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =4.340300, /*map_name =Lo O2 to go closed loop, /*ylabel =, /*yaxis =, /*xlabel =m, /*xaxis =,, }; /* Constant 76: Number of cylinders */ { /*startAddr =F, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =Number of cylinders, /*ylabel =, /*yaxis =, /*xlabel =Numbe, /*xaxis =,, }; /* Constant 77: ALDLepromid 53250 */ { /*startAddr =414, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =ALDLepromid 53250, /*ylabel =, /*yaxis =, /*xlabel =ALD, /*xaxis =,, }; /* Constant 78: ALDLepromid 53251 */ { /*startAddr =416, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =ALDLepromid 53251, /*ylabel =, /*yaxis =, /*xlabel =ALD, /*xaxis =,, }; /* Constant 79: TCC locked SA bias */ { /*startAddr =28, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.351563, /*map_name =TCC locked SA bias, /*ylabel =, /*yaxis =, /*xlabel =Deg, /*xaxis =,, }; /* Constant 80: Max lean afr */ { /*startAddr =253, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.100000, /*map_name =Max lean afr, /*ylabel =, /*yaxis =, /*xlabel =af, /*xaxis =,, }; /* Constant 81: Clear flood tps% threshold */ { /*startAddr =254, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.390625, /*map_name =Clear flood tps% threshold, /*ylabel =, /*yaxis =, /*xlabel =percen, /*xaxis =,, }; /* Constant 82: Clear flood afr */ { /*startAddr =255, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.100000, /*map_name =Clear flood afr, /*ylabel =, /*yaxis =, /*xlabel =af, /*xaxis =,, }; /* Constant 83: VATS freq */ { /*startAddr =291, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =VATS freq, /*ylabel =, /*yaxis =, /*xlabel =fre, /*xaxis =,, }; /* Constant 84: VATS freq (2) */ { /*startAddr =293, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =VATS freq (2), /*ylabel =, /*yaxis =, /*xlabel =fre, /*xaxis =,, }; /* Constant 85: Battery Volts stall saver threshold */ { /*startAddr =530, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.100000, /*map_name =Battery Volts stall saver threshold, /*ylabel =, /*yaxis =, /*xlabel =Volt, /*xaxis =,, }; /* Constant 86: MPH threshold for mandatory tcc lockup */ { /*startAddr =4C0, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =MPH threshold for mandatory tcc lockup, /*ylabel =, /*yaxis =, /*xlabel =mp, /*xaxis =,, }; /* Constant 87: Max sync pw to exit async */ { /*startAddr =263, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =15.260000, /*map_name =Max sync pw to exit async, /*ylabel =, /*yaxis =, /*xlabel =use, /*xaxis =,, }; /* Constant 88: Min sync pw to enter async */ { /*startAddr =265, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =15.260000, /*map_name =Min sync pw to enter async, /*ylabel =, /*yaxis =, /*xlabel =use, /*xaxis =,, }; /* Constant 89: Injector bias added to pw (sync) */ { /*startAddr =267, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =15.260000, /*map_name =Injector bias added to pw (sync), /*ylabel =, /*yaxis =, /*xlabel =use, /*xaxis =,, }; /* Constant 90: Max async pw */ { /*startAddr =269, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =15.260000, /*map_name =Max async pw, /*ylabel =, /*yaxis =, /*xlabel =use, /*xaxis =,, }; /* Constant 91: Min async pw */ { /*startAddr =26B, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =15.260000, /*map_name =Min async pw, /*ylabel =, /*yaxis =, /*xlabel =use, /*xaxis =,, }; /* Constant 92: Closed lp decel enlean map threshold */ { /*startAddr =24F, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =10.350000, /*mulOrDivOrBit =0, /*factor =0.369000, /*map_name =Closed lp decel enlean map threshold, /*ylabel =, /*yaxis =, /*xlabel =Kp, /*xaxis =,, }; /* Constant 93: Closed lp decel enlean RPM threshold */ { /*startAddr =250, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =25.000000, /*map_name =Closed lp decel enlean RPM threshold, /*ylabel =, /*yaxis =, /*xlabel =RP, /*xaxis =,, }; /* Constant 94: Tcc min temp threshold */ { /*startAddr =4B6, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =-40.000000, /*mulOrDivOrBit =0, /*factor =0.750000, /*map_name =Tcc min temp threshold, /*ylabel =, /*yaxis =, /*xlabel =Deg, /*xaxis =,, }; /* Constant 95: ALDLbatv */ { /*startAddr =430, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =ALDLbatv, /*ylabel =, /*yaxis =, /*xlabel =6, /*xaxis =,, }; /* Constant 96: TPS% threshold for idle adjust */ { /*startAddr =514, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.392157, /*map_name =TPS% threshold for idle adjust, /*ylabel =, /*yaxis =, /*xlabel =TPS, /*xaxis =,, }; /* Constant 97: Added to IAC w/low BatV */ { /*startAddr =52D, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =Added to IAC w/low BatV, /*ylabel =, /*yaxis =, /*xlabel =IAC step, /*xaxis =,, }; /* Constant 98: max added to IAC w/low BatV */ { /*startAddr =52E, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =max added to IAC w/low BatV, /*ylabel =, /*yaxis =, /*xlabel =IAC step, /*xaxis =,, }; /* Constant 99: ALDLknock */ { /*startAddr =434, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =ALDLknock, /*ylabel =, /*yaxis =, /*xlabel =10, /*xaxis =,, }; /* Constant 100: ALDLiac */ { /*startAddr =419, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =ALDLiac, /*ylabel =, /*yaxis =, /*xlabel =25, /*xaxis =,, }; /* Constant 101: ALDLrpm */ { /*startAddr =420, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =ALDLrpm, /*ylabel =, /*yaxis =, /*xlabel =2, /*xaxis =,, }; /* Constant 102: ALDLint */ { /*startAddr =424, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =ALDLint, /*ylabel =, /*yaxis =, /*xlabel =16, /*xaxis =,, }; /* Constant 103: ESC error min coolant thres */ { /*startAddr =48A, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =ESC error min coolant thres, /*ylabel =, /*yaxis =, /*xlabel =80 160, /*xaxis =,, }; /* Constant 104: Max IAC steps */ { /*startAddr =532, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =Max IAC steps, /*ylabel =, /*yaxis =, /*xlabel =IAC step, /*xaxis =,, }; /* Constant 105: Max IAC Throttle Follower steps */ { /*startAddr =538, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =Max IAC Throttle Follower steps, /*ylabel =, /*yaxis =, /*xlabel =IAC step, /*xaxis =,, }; /* Constant 106: ALDLcoolant */ { /*startAddr =41A, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =ALDLcoolant, /*ylabel =, /*yaxis =, /*xlabel =3, /*xaxis =,, }; /* Constant 107: ALDLmph */ { /*startAddr =41C, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =ALDLmph, /*ylabel =, /*yaxis =, /*xlabel =4, /*xaxis =,, }; /* Constant 108: ALDLmap */ { /*startAddr =41E, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =ALDLmap, /*ylabel =, /*yaxis =, /*xlabel =4, /*xaxis =,, }; /* Constant 109: ALDLtps */ { /*startAddr =422, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =ALDLtps, /*ylabel =, /*yaxis =, /*xlabel =6, /*xaxis =,, }; /* Constant 110: ALDLo2 */ { /*startAddr =426, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =ALDLo2, /*ylabel =, /*yaxis =, /*xlabel =5, /*xaxis =,, }; /* Constant 111: ALDLerrorflag1 */ { /*startAddr =428, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =ALDLerrorflag1, /*ylabel =, /*yaxis =, /*xlabel =22, /*xaxis =,, }; /* Constant 112: ALDLerrorflag2 */ { /*startAddr =42A, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =ALDLerrorflag2, /*ylabel =, /*yaxis =, /*xlabel =22, /*xaxis =,, }; /* Constant 113: ALDLerrorflag3 */ { /*startAddr =42C, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =ALDLerrorflag3, /*ylabel =, /*yaxis =, /*xlabel =22, /*xaxis =,, }; /* Constant 114: ALDLa/f mode word flag 1 */ { /*startAddr =42E, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =ALDLa/f mode word flag 1, /*ylabel =, /*yaxis =, /*xlabel =1, /*xaxis =,, }; /* Constant 115: ALDLmcu2 i/o */ { /*startAddr =432, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =ALDLmcu2 i/o, /*ylabel =, /*yaxis =, /*xlabel =204, /*xaxis =,, }; /* Constant 116: ALDLblm */ { /*startAddr =436, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =ALDLblm, /*ylabel =, /*yaxis =, /*xlabel =16, /*xaxis =,, }; /* Constant 117: ALDLiat */ { /*startAddr =438, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =ALDLiat, /*ylabel =, /*yaxis =, /*xlabel =3, /*xaxis =,, }; /* Constant 118: TCC COAST LO MPH LD LIMIT */ { /*startAddr =4B9, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.390625, /*map_name =TCC COAST LO MPH LD LIMIT, /*ylabel =, /*yaxis =, /*xlabel =, /*xaxis =,, }; /* Constant 119: TCC COAST HI MPH LD LIMIT */ { /*startAddr =4BA, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.390625, /*map_name =TCC COAST HI MPH LD LIMIT, /*ylabel =, /*yaxis =, /*xlabel =, /*xaxis =,, }; /* Constant 120: tps limti hyst FOR COAST LD'S (2 ABOVE) */ { /*startAddr =4BB, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =tps limti hyst FOR COAST LD'S (2 ABOVE), /*ylabel =, /*yaxis =, /*xlabel =, /*xaxis =,, }; /* Constant 121: Sec COAST RELEASE TMR (3 above) */ { /*startAddr =4BC, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.100000, /*map_name =Sec COAST RELEASE TMR (3 above), /*ylabel =, /*yaxis =, /*xlabel =second, /*xaxis =,, }; /* Constant 122: rpm limit for not in dfco */ { /*startAddr =270, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =25.000000, /*map_name =rpm limit for not in dfco, /*ylabel =, /*yaxis =, /*xlabel =rpm, /*xaxis =,, }; /* Constant 123: rpm limit for in dfco */ { /*startAddr =271, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =25.000000, /*map_name =rpm limit for in dfco, /*ylabel =, /*yaxis =, /*xlabel =rpm, /*xaxis =,, }; /* Constant 124: mph limit for not in dfco */ { /*startAddr =272, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =mph limit for not in dfco, /*ylabel =, /*yaxis =, /*xlabel =mph, /*xaxis =,, }; /* Constant 125: mph limit for in dfco */ { /*startAddr =273, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =mph limit for in dfco, /*ylabel =, /*yaxis =, /*xlabel =mph, /*xaxis =,, }; /* Constant 126: dfco map lower limit */ { /*startAddr =274, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =10.415000, /*mulOrDivOrBit =0, /*factor =0.369000, /*map_name =dfco map lower limit, /*ylabel =, /*yaxis =, /*xlabel =kpa, /*xaxis =,, }; /* Constant 127: dfco map upper limit */ { /*startAddr =275, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =10.410000, /*mulOrDivOrBit =0, /*factor =0.369000, /*map_name =dfco map upper limit, /*ylabel =, /*yaxis =, /*xlabel =kpa, /*xaxis =,, }; /* Constant 128: delta rpm thres for dfco */ { /*startAddr =276, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =25.000000, /*map_name =delta rpm thres for dfco, /*ylabel =rpm, /*yaxis =, /*xlabel =, /*xaxis =,, }; /* Constant 129: delta map threshold */ { /*startAddr =277, /*columns =1, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =20.000000, /*mulOrDivOrBit =0, /*factor =0.312500, /*map_name =delta map threshold, /*ylabel =, /*yaxis =, /*xlabel =kpa, /*xaxis =,, }; /* ***Flags*** */ /* Flag 1: Options @ 0x0005 */ /*|| b7- egr type b5- use IAT for hot restart threshold b1- decell fuel cut off tcc unlock ||*/ { /*startAddr =5, /*columns =1, /*rows =8, /*elementSize =1, /*bitMask =80, /*offset =0.000000, /*mulOrDivOrBit =2, /*factor =1.000000, /*map_name =Options @ 0x0005, /*ylabel =, /*yaxis =b7 b6 b5 b4 b3 b2 b1 b0 , /*xlabel =, /*xaxis =,, }; /* Flag 2: Options @ 0x0006 */ /*|| b5- reset INT on AE b4- do INT reset on BLM cell change b3- do inj. constant baro adjustment b1- use rpm for tcc unlock threshold (else mph) ||*/ { /*startAddr =6, /*columns =1, /*rows =8, /*elementSize =1, /*bitMask =80, /*offset =0.000000, /*mulOrDivOrBit =2, /*factor =1.000000, /*map_name =Options @ 0x0006, /*ylabel =, /*yaxis =b7 b6 b5 b4 b3 b2 b1 b0 , /*xlabel =, /*xaxis =,, }; /* Flag 3: Options @ 0x0007 */ /*|| b7- check box for shift light, else tcc b6- VATS enable b5- high gear switch polarity (on is high signal, off is low) ||*/ { /*startAddr =7, /*columns =1, /*rows =8, /*elementSize =1, /*bitMask =80, /*offset =0.000000, /*mulOrDivOrBit =2, /*factor =1.000000, /*map_name =Options @ 0x0007, /*ylabel =, /*yaxis =b7 b6 b5 b4 b3 b2 b1 b0 , /*xlabel =, /*xaxis =,, }; /* Flag 4: Diagnostics @ 43A */ /*|| b7- no ref's, eng no run b6- o2 sensor b5- cts hi b4- cts lo b3- tps hi b2- tps lo b1- iat lo ||*/ { /*startAddr =43A, /*columns =1, /*rows =8, /*elementSize =1, /*bitMask =80, /*offset =0.000000, /*mulOrDivOrBit =2, /*factor =1.000000, /*map_name =Diagnostics @ 43A, /*ylabel =Error, /*yaxis =24 23 22 21 15 14 13 12, /*xlabel =, /*xaxis =,, }; /* Flag 5: Diagnostics @ 43B */ /*|| b7- iat hi b6- map low (not used) b5- egr failure b4- map hi b3- map low b2- iac error (not used) b1- no drp (not used) b0- EST mon error ||*/ { /*startAddr =43B, /*columns =1, /*rows =8, /*elementSize =1, /*bitMask =80, /*offset =0.000000, /*mulOrDivOrBit =2, /*factor =1.000000, /*map_name =Diagnostics @ 43B, /*ylabel =Error, /*yaxis =42 41 35 34 33 32 31 25, /*xlabel =, /*xaxis =,, }; /* Flag 6: Diagnostics @ 43C */ /*|| b7- ESC failure b6- o2 lean b5- o2 rich b4- eprom error b3- cal-pack missing b2- VATS (not used) b1- fuel pump relay b0- ADU error ||*/ { /*startAddr =43C, /*columns =1, /*rows =8, /*elementSize =1, /*bitMask =80, /*offset =0.000000, /*mulOrDivOrBit =2, /*factor =1.000000, /*map_name =Diagnostics @ 43C, /*ylabel =Error, /*yaxis =55 54 53 52 51 45 44 43, /*xlabel =, /*xaxis =,, }; /* ***Tables*** */ /* Table 1: Checksum */ { /*startAddr =0, /*columns =2, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =Checksum, /*ylabel =, /*yaxis =, /*xlabel =, /*xaxis =,, }; /* Table 2: PROM ID */ { /*startAddr =2, /*columns =2, /*rows =1, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =PROM ID, /*ylabel =, /*yaxis =, /*xlabel =, /*xaxis =,, }; /* Table 3: Main Spark Vs. RPM Vs. Load */ { /*startAddr =3C, /*columns =15, /*rows =14, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.351563, /*map_name =Main Spark Vs. RPM Vs. Load, /*ylabel =RPM, /*yaxis =400 600 800 1000 1200 1400 1600 1800 2000 2200 2400 2800 3200 3600 4000 4400 4800 , /*xlabel =MAP (Kpa), /*xaxis =30 35 40 45 50 55 60 65 70 75 80 85 90 95 100,, }; /* Table 4: Cool Compensation Spark Vs Load */ { /*startAddr =112, /*columns =5, /*rows =8, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.351563, /*map_name =Cool Compensation Spark Vs Load, /*ylabel =Deg F, /*yaxis = -40 40 77 100 122 148 176 230, /*xlabel =kpa, /*xaxis =40 30 20 10 0 ,, }; /* Table 5: Highway Mode Spark Advance Vs. Vacuum */ /*|| Added SA when in Hiway Mode ||*/ { /*startAddr =13F, /*columns =1, /*rows =5, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.351563, /*map_name =Highway Mode Spark Advance Vs. Vacuum, /*ylabel =Vacuum (Kpa), /*yaxis =50 40 30 20 10 0 , /*xlabel =Deg., /*xaxis =,, }; /* Table 6: TCC locked spark retard RPM vs Vac */ /*|| Advance depending on vac and rpm, don't forget about the tcc bias. ||*/ { /*startAddr =149, /*columns =5, /*rows =4, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.351563, /*map_name =TCC locked spark retard RPM vs Vac, /*ylabel =rpm, /*yaxis = 800 1200 1600 2000, /*xlabel =vac, /*xaxis =40 30 20 10 0 ,, }; /* Table 7: Power Ehrichment Added Spark In WOT */ /*|| Added SA when in PE/WOT. ||*/ { /*startAddr =15D, /*columns =1, /*rows =4, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.351563, /*map_name =Power Ehrichment Added Spark In WOT, /*ylabel =Baro (Kpa), /*yaxis =75 85 90 105 , /*xlabel =Added Spark (Deg), /*xaxis =,, }; /* Table 8: SA corr idle high vs rpm */ /*|| ul - upper limit ||*/ { /*startAddr =161, /*columns =1, /*rows =8, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.351563, /*map_name =SA corr idle high vs rpm, /*ylabel =rpm, /*yaxis = ul 0 150 300 470 625 780 940, /*xlabel =Deg, /*xaxis =,, }; /* Table 9: SA corr idle low vs rpm */ /*|| ul - upper limit ||*/ { /*startAddr =172, /*columns =1, /*rows =8, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.351563, /*map_name =SA corr idle low vs rpm, /*ylabel =rpm, /*yaxis = ul 0 150 300 470 625 780 940, /*xlabel =Deg, /*xaxis =,, }; /* Table 10: Choke SA vs temp */ /*|| Initial SA which is decayed in some time period. ||*/ { /*startAddr =184, /*columns =1, /*rows =5, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.351563, /*map_name =Choke SA vs temp, /*ylabel =Deg F, /*yaxis = Cold 76 120 178 Hot, /*xlabel =SA, /*xaxis =,, }; /* Table 11: Choke SA decay delay vs temp */ { /*startAddr =18A, /*columns =1, /*rows =9, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =Choke SA decay delay vs temp, /*ylabel =Deg F, /*yaxis = Cold 51 75 99 122 150 177 200 Hot, /*xlabel =Seconds, /*xaxis =,, }; /* Table 12: Max Knock Retard Vs. RPM (in WOT) */ /*|| ul - upper rpm limit ||*/ { /*startAddr =193, /*columns =1, /*rows =6, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =Max Knock Retard Vs. RPM (in WOT), /*ylabel =RPM, /*yaxis = ul 400 800 1200 1600 2000, /*xlabel =pct/msec, /*xaxis =,, }; /* Table 13: Max Knock Retard Vs. MAP */ /*|| ul - upper vac limit ||*/ { /*startAddr =199, /*columns =1, /*rows =6, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =Max Knock Retard Vs. MAP, /*ylabel =MAP (Kpa), /*yaxis = ul 40 30 20 10 0, /*xlabel =pct/msec, /*xaxis =,, }; /* Table 14: IAT max knock retard SA multiplier */ { /*startAddr =19F, /*columns =1, /*rows =9, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.007813, /*map_name =IAT max knock retard SA multiplier, /*ylabel =Deg F, /*yaxis = -40 41 74 100 122 144 176 225 392, /*xlabel =mult, /*xaxis =30 40 50 60 70 75 80 85 90 95 100,, }; /* Table 15: Spark Latencies correction vs Rpm */ /*|| ul - upper rpm table limit ||*/ { /*startAddr =1A8, /*columns =1, /*rows =14, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =15.260000, /*map_name =Spark Latencies correction vs Rpm, /*ylabel =rpm, /*yaxis = ul 0 400 800 1200 1600 2000 2400 2800 3200 3600 4000 4400 4800, /*xlabel =usec, /*xaxis =,, }; /* Table 16: Retard Attack Rate vs RPM PE mode */ /*|| ul - upper rpm limit ||*/ { /*startAddr =1B6, /*columns =1, /*rows =6, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.025500, /*map_name =Retard Attack Rate vs RPM PE mode, /*ylabel =RPM, /*yaxis = ul 400 800 1200 1600 2000, /*xlabel =deg/msec, /*xaxis =,, }; /* Table 17: Retard Attack Rate vs Rpm non-PE mode */ /*|| ul - upper vac limit ||*/ { /*startAddr =1BC, /*columns =1, /*rows =6, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.025500, /*map_name =Retard Attack Rate vs Rpm non-PE mode, /*ylabel =Vac, /*yaxis = ul 40 30 20 10 0, /*xlabel =deg/msec, /*xaxis =,, }; /* Table 18: Retard Recovery rate vs RPM PE mode */ /*|| ul - upper rpm limit ||*/ { /*startAddr =1C2, /*columns =1, /*rows =5, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.025500, /*map_name =Retard Recovery rate vs RPM PE mode, /*ylabel =rpm, /*yaxis = ul 400 800 1200 1600, /*xlabel =deg/msec, /*xaxis =,, }; /* Table 19: Retard recovery rate vs vac: non-PE mode */ { /*startAddr =1C7, /*columns =1, /*rows =5, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.953125, /*map_name =Retard recovery rate vs vac: non-PE mode, /*ylabel =vac, /*yaxis = ul, /*xlabel =pct/msec, /*xaxis =,, }; /* Table 20: Base SA for transient SA vs delta map */ { /*startAddr =1CD, /*columns =1, /*rows =8, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.351563, /*map_name =Base SA for transient SA vs delta map, /*ylabel =delta Map (Kpa), /*yaxis = 0 10 20 30 40 50 60 70, /*xlabel =spark, /*xaxis =,, }; /* Table 21: Map multiplier for trans SA vs s/d map counts */ { /*startAddr =1D5, /*columns =1, /*rows =17, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.003906, /*map_name =Map multiplier for trans SA vs s/d map counts, /*ylabel =s/d map, /*yaxis = 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100, /*xlabel =mult, /*xaxis =,, }; /* Table 22: IAT mult for trans SA vs IAT adc counts */ { /*startAddr =201, /*columns =1, /*rows =5, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.003906, /*map_name =IAT mult for trans SA vs IAT adc counts, /*ylabel =Deg F, /*yaxis = 392 176 118 73 -40, /*xlabel =Mult, /*xaxis =,, }; /* Table 23: Baro correction vs TPS */ { /*startAddr =207, /*columns =1, /*rows =5, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.057870, /*map_name =Baro correction vs TPS, /*ylabel =%TPS, /*yaxis = 0 25 50 75 100, /*xlabel =Kpa/1k rpm, /*xaxis =,, }; /* Table 24: ====== */ { /*startAddr =0, /*columns =3, /*rows =3, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =======, /*ylabel =, /*yaxis =, /*xlabel =, /*xaxis =,, }; /* Table 25: Main Fuel Table #1 %Volumetric. Effeciency. */ { /*startAddr =2B1, /*columns =9, /*rows =8, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.390625, /*map_name =Main Fuel Table #1 %Volumetric. Effeciency., /*ylabel =RPM, /*yaxis =400 800 1200 1600 2000 2400 2800 3200 , /*xlabel =MAP (Kpa), /*xaxis =20 30 40 50 60 70 80 90 100,, }; /* Table 26: Main Fuel Table #2 %Volumetric. Eff. Adder */ { /*startAddr =2F9, /*columns =1, /*rows =17, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.390625, /*map_name =Main Fuel Table #2 %Volumetric. Eff. Adder, /*ylabel =RPM, /*yaxis =0 400 800 1200 1600 2000 2400 2800 3200 3600 4000 4400 4800 5200 5600 6000 6400, /*xlabel =% Vol. Eff., /*xaxis =,, }; /* Table 27: TPS Threshold Vs. RPM for WOT Mode */ { /*startAddr =3B2, /*columns =1, /*rows =5, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.390625, /*map_name =TPS Threshold Vs. RPM for WOT Mode, /*ylabel =RPM, /*yaxis =400 1200 2000 3200 4800, /*xlabel =%TPS, /*xaxis =,, }; /* Table 28: WOT Air Fuel Ratio Vs. RPM */ { /*startAddr =3B7, /*columns =1, /*rows =5, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.100000, /*map_name =WOT Air Fuel Ratio Vs. RPM, /*ylabel =RPM, /*yaxis =800 1600 2400 3200 4000 4800 5600 6400, /*xlabel =Air Fuel Ratio, /*xaxis =,, }; /* Table 29: Pump Shot Vs. Differential TPS */ { /*startAddr =29C, /*columns =1, /*rows =5, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =61.035160, /*map_name =Pump Shot Vs. Differential TPS, /*ylabel =%TPS, /*yaxis =0 3.1 6.3 9.4 12.5 15.6 18.8 21.9 25 , /*xlabel =usec Added, /*xaxis =,, }; /* Table 30: Pump Shot Vs. Differential MAP */ { /*startAddr =296, /*columns =1, /*rows =5, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =61.035160, /*map_name =Pump Shot Vs. Differential MAP, /*ylabel =Kpa, /*yaxis =0 20 40 60 80 , /*xlabel =usec Added, /*xaxis =,, }; /* Table 31: Crank Air Fuel Ratio Vs. Coolant Temp. */ { /*startAddr =36F, /*columns =1, /*rows =17, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.100000, /*map_name =Crank Air Fuel Ratio Vs. Coolant Temp., /*ylabel =Deg F, /*yaxis =-34.6 19.4 44.6 60.8 75.2 87.8 98.6111.2 122 131147.2161.6177.8197.6228.2282.2298.2, /*xlabel =Air Fuel Ratio, /*xaxis =,, }; /* Table 32: IAC Steps Vs. Coolant Temperature */ { /*startAddr =547, /*columns =1, /*rows =17, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =1.000000, /*map_name =IAC Steps Vs. Coolant Temperature, /*ylabel =Deg F, /*yaxis =-34.6 19.4 44.6 60.8 75.2 87.8 98.6111.2 122 131147. 166.6177.8197.6228.2282.2298.2, /*xlabel =IAC Steps, /*xaxis =,, }; /* Table 33: TCC Upper Load Limit Vs MPH (Low Gears) */ { /*startAddr =4C5, /*columns =2, /*rows =11, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.390625, /*map_name =TCC Upper Load Limit Vs MPH (Low Gears), /*ylabel =MPH, /*yaxis =10 15 20 25 30 35 40 45 50 55 60 , /*xlabel =% TPS, /*xaxis =HI LO ,, }; /* Table 34: TCC Upper Load Limit Vs. MPH (High Gears) */ { /*startAddr =4DF, /*columns =2, /*rows =11, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.390625, /*map_name =TCC Upper Load Limit Vs. MPH (High Gears), /*ylabel =MPH, /*yaxis =10 15 20 25 30 35 40 45 50 55 60 , /*xlabel =% TPS, /*xaxis =HI LO ,, }; /* Table 35: Voltage Comp vs Battery (fuelpump) volts for BPW calc */ { /*startAddr =31B, /*columns =1, /*rows =17, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.007813, /*map_name =Voltage Comp vs Battery (fuelpump) volts for BPW calc, /*ylabel =Voltage, /*yaxis = 0 1.6 3.2 4.8 6.4 8.0 9.6 11.2 12.8 14.4 16.0 17.6 19.2 20.8 22.4 24.0 25.5, /*xlabel =Mult, /*xaxis = 0,, }; /* Table 36: BPW Injector constant mult vs IAT */ { /*startAddr =3A6, /*columns =1, /*rows =4, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.007813, /*map_name =BPW Injector constant mult vs IAT, /*ylabel =IAT deg C, /*yaxis = 48 63 80 110, /*xlabel =Mult, /*xaxis = 0,, }; /* Table 37: BPW Injector constant mult vs baro */ { /*startAddr =3AA, /*columns =1, /*rows =4, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.007813, /*map_name =BPW Injector constant mult vs baro, /*ylabel =Baro Kpa, /*yaxis = 75 85 95 105, /*xlabel =Mult, /*xaxis = 0,, }; /* Table 38: Tps Mult vs. Baro */ { /*startAddr =3AE, /*columns =1, /*rows =4, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.003922, /*map_name =Tps Mult vs. Baro, /*ylabel =Baro Kpa, /*yaxis = 75 85 95 105, /*xlabel =Mult, /*xaxis = 0,, }; /* Table 39: Highway Mode AFR Vs. Vacuum */ { /*startAddr =3BC, /*columns =1, /*rows =9, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.100000, /*map_name =Highway Mode AFR Vs. Vacuum, /*ylabel =Vacuum Kpa, /*yaxis =88, /*xlabel =AFR, /*xaxis =0,, }; /* Table 40: Open Loop AFR vs Coolant */ { /*startAddr =38B, /*columns =1, /*rows =17, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.100000, /*map_name =Open Loop AFR vs Coolant, /*ylabel =Deg C, /*yaxis = Cold -7.0 6.5 16.0 24.0 31.0 37.3 43.7 49.7 56.5 63.5 71.5 80.5 92.0108.5138.5 HOT, /*xlabel =AFR+vac table, /*xaxis = 1,, }; /* Table 41: Open Loop AFR vs Vacuum */ { /*startAddr =344, /*columns =1, /*rows =9, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.100000, /*map_name =Open Loop AFR vs Vacuum, /*ylabel =Vac kpa, /*yaxis = 80 70 60 50 40 30 20 10 0, /*xlabel =AFR+coolant table, /*xaxis = 1,, }; /* Table 42: Choke AFR vs Coolant */ /*|| Subtracted from open loop AFR vs col + open loop AFR vs vac ||*/ { /*startAddr =34D, /*columns =1, /*rows =17, /*elementSize =1, /*bitMask =0, /*offset =0.000000, /*mulOrDivOrBit =0, /*factor =0.100000, /*map_name =Choke AFR vs Coolant, /*ylabel =Deg C, /*yaxis = Cold -7.0 6.5 16.0 24.0 31.0 37.3 43.7 49.7 56.5 63.5 71.5 80.5 92.0108.5138.5 HOT, /*xlabel =subtrcd frm final Op, /*xaxis = 1,, };