; This is a TunerStudio project for the rusEFI.com engine management system ; ; This file has been generated by invoking gen_config.sh. ; The input files are ; tunerstudio.template.ini the common template ; rusefi_config.txt the project specific file ; ; In TunerStudio some fields have little question mark on the left of the name for additional field tips. ; Those tips are defined in ../integration/rusefi_config.txt ; ; For example ; ; float bias_resistor;Pull-up resistor value on your board;"Ohm" ; here 'bias_resistor' is internal field name and the text between semicolons is what produces the tooltip ; Note that '+' sign is required after first semicolon for tooltip to appear in TunerStudio ; ; ; field = "# blue text" ; field = "! red text" ; field = "normal text" ; ; see also https://www.tunerstudio.com/index.php/support/manuals/tsdevmanuals/137-ecu-definition-specification-aka-the-ini-document ; ; this should stop TS from looking for the CAN ID in the 2nd byte location and allow the page reads to work correctly. enable2ndByteCanID = false [SettingGroups] ; the referenceName will over-ride previous, so if you are creating a ; settingGroup with a reference name of lambdaSensor, it will replace the ; setting group defined in the settingGroups.xml of the TunerStudio config ; folder. If is is an undefined referenceName, it will be added. ; keyword = referenceName, DisplayName ; see https://github.com/rusefi/rusefi/issues/6170 issue ; settingGroup = connectivityProfile, "Protocol Profile" ; settingOption = CONN_SLOW, "Slower / Wireless" ; settingOption = CONN_FAST, "High Speed / USB" [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 signature = "rusEFI master.2025.11.25.MEGA100F4.3475365577" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. signature= "rusEFI master.2025.11.25.MEGA100F4.3475365577" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false ignoreMissingBitOptions = true ; Optimize comms for fast rusEFI ECUs noCommReadDelay = true; defaultRuntimeRecordPerSec = 100; ;#if CONN_SLOW ;#else maxUnusedRuntimeRange = 1000; ;#endif ; Set default IP/port to our IP/port defaultIpAddress = localhost defaultIpPort = 29001 [Constants] ; new packet serial format with CRC messageEnvelopeFormat = msEnvelope_1.0 endianness = little ; nPages = 3 nPages = 2 ; Note endian in pageIdentifier! second page is 0x0100 ; pageIdentifier = "\x00\x00", "\x00\x01", "\x00\x02" pageIdentifier = "\x00\x00", "\x00\x01" ; Page 2 size is TS_HIGH_SPEED_COUNT of uint16_t ; pageSize = 28664, 256, 2048 pageSize = 28664, 256 ; pageReadCommand = "R%2i%2o%2c", "R%2i%2o%2c", "R%2i%2o%2c" pageReadCommand = "R%2i%2o%2c", "R%2i%2o%2c" ; burnCommand = "B%2i", "", "" burnCommand = "B%2i", "" ; pageValueWrite = "C%2i%2o%2c%v", "C%2i%2o%2c%v", "C%2i%2o%2c%v" ; pageChunkWrite = "C%2i%2o%2c%v", "C%2i%2o%2c%v", "C%2i%2o%2c%v" ; crc32CheckCommand = "k%2i%2o%2c", "k%2i%2o%2c", "k%2i%2o%2c" pageValueWrite = "C%2i%2o%2c%v", "C%2i%2o%2c%v" pageChunkWrite = "C%2i%2o%2c%v", "C%2i%2o%2c%v" crc32CheckCommand = "k%2i%2o%2c", "k%2i%2o%2c" retrieveConfigError = "e" ;communication settings ; Milliseconds delay after burn command. See https://sourceforge.net/p/rusefi/tickets/77/ pageActivationDelay = 500 ;e.g. put writeblocks off and add an interwrite delay writeBlocks = on tsWriteBlocks = on interWriteDelay = 3 blockReadTimeout = 3000; Milliseconds general timeout ; re_auto_update_root_url = "https://rusefi.com/build_server" refreshLocalStoreOnActivity = true ; delayAfterPortOpen = 500 blockingFactor = 3000 ; max chunk size ;end communication settings ; name = bits, type, offset, bits ; name = array, type, offset, shape, units, scale, translate, lo, hi, digits ; name = scalar, type, offset, units, scale, translate, lo, hi, digits #define gpio_list="NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15", "PJ0", "PJ1", "PJ2", "PJ3", "PJ4", "PJ5", "PJ6", "PJ7", "PJ8", "PJ9", "PJ10", "PJ11", "PJ12", "PJ13", "PJ14", "PJ15", "PK0", "PK1", "PK2", "PK3", "PK4", "PK5", "PK6", "PK7", "PK8", "PK9", "PK10", "PK11", "PK12", "PK13", "PK14", "PK15" #define switch_input_pin_e_list="NONE","INVALID","PA0","PA1","PA2","PA3","PA4","PA5","PA6","PA7","PA8","PA9","PA10","PA11","PA12","PA13","PA14","PA15","PB0","PB1","PB2","PB3","PB4","PB5","PB6","PB7","PB8","PB9","PB10","PB11","PB12","PB13","PB14","PB15","PC0","PC1","PC2","PC3","PC4","PC5","PC6","PC7","PC8","PC9","PC10","PC11","PC12","PC13","PC14","PC15","PD0","PD1","PD2","PD3","PD4","PD5","PD6","PD7","PD8","PD9","PD10","PD11","PD12","PD13","PD14","PD15","PE0","PE1","PE2","PE3","PE4","PE5","PE6","PE7","PE8","PE9","PE10","PE11","PE12","PE13","PE14","PE15","PF0","PF1","PF2","PF3","PF4","PF5","PF6","PF7","PF8","PF9","PF10","PF11","PF12","PF13","PF14","PF15","PG0","PG1","PG2","PG3","PG4","PG5","PG6","PG7","PG8","PG9","PG10","PG11","PG12","PG13","PG14","PG15","PH0","PH1","PH2","PH3","PH4","PH5","PH6","PH7","PH8","PH9","PH10","PH11","PH12","PH13","PH14","PH15","PI0","PI1","PI2","PI3","PI4","PI5","PI6","PI7","PI8","PI9","PI10","PI11","PI12","PI13","PI14","PI15","PJ0","PJ1","PJ2","PJ3","PJ4","PJ5","PJ6","PJ7","PJ8","PJ9","PJ10","PJ11","PJ12","PJ13","PJ14","PJ15","PK0","PK1","PK2","PK3","PK4","PK5","PK6","PK7","PK8","PK9","PK10","PK11","PK12","PK13","PK14","PK15","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","CAN_INPUT_0","CAN_INPUT_1","CAN_INPUT_2","CAN_INPUT_3","CAN_INPUT_4","CAN_INPUT_5","CAN_INPUT_6","CAN_INPUT_7","MEGA_EPIC_D22","MEGA_EPIC_D23","MEGA_EPIC_D24","MEGA_EPIC_D25","MEGA_EPIC_D26","MEGA_EPIC_D27","MEGA_EPIC_D28","MEGA_EPIC_D29","MEGA_EPIC_D30","MEGA_EPIC_D31","MEGA_EPIC_D32","MEGA_EPIC_D33","MEGA_EPIC_D34","MEGA_EPIC_D35","MEGA_EPIC_D36","MEGA_EPIC_D37","CAN_CHECKED_D0","CAN_CHECKED_D1","CAN_CHECKED_D2","CAN_CHECKED_D3","CAN_CHECKED_D4","CAN_CHECKED_D5","CAN_CHECKED_D6","CAN_CHECKED_D7","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","CANBUS_KB_1_D0","CANBUS_KB_1_D1","CANBUS_KB_1_D2","CANBUS_KB_1_D3","CANBUS_KB_1_D4","CANBUS_KB_1_D5","CANBUS_KB_1_D6","CANBUS_KB_1_D7","CANBUS_KB_1_D8","CANBUS_KB_1_D9","CANBUS_KB_1_D10","CANBUS_KB_1_D11","CANBUS_KB_1_D12","CANBUS_KB_1_D13","CANBUS_KB_1_D14","CANBUS_KB_1_D15","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID" #define output_pin_e_list="NONE","INVALID","PA0","PA1","PA2","PA3","PA4","PA5","PA6","PA7","PA8","PA9","PA10","PA11","PA12","PA13","PA14","PA15","PB0","PB1","PB2","PB3","PB4","PB5","PB6","PB7","PB8","PB9","PB10","PB11","PB12","PB13","PB14","PB15","PC0","PC1","PC2","PC3","PC4","PC5","PC6","PC7","PC8","PC9","PC10","PC11","PC12","PC13","PC14","PC15","PD0","PD1","PD2","PD3","PD4","PD5","PD6","PD7","PD8","PD9","PD10","PD11","PD12","PD13","PD14","PD15","PE0","PE1","PE2","PE3","PE4","PE5","PE6","PE7","PE8","PE9","PE10","PE11","PE12","PE13","PE14","PE15","PF0","PF1","PF2","PF3","PF4","PF5","PF6","PF7","PF8","PF9","PF10","PF11","PF12","PF13","PF14","PF15","PG0","PG1","PG2","PG3","PG4","PG5","PG6","PG7","PG8","PG9","PG10","PG11","PG12","PG13","PG14","PG15","PH0","PH1","PH2","PH3","PH4","PH5","PH6","PH7","PH8","PH9","PH10","PH11","PH12","PH13","PH14","PH15","PI0","PI1","PI2","PI3","PI4","PI5","PI6","PI7","PI8","PI9","PI10","PI11","PI12","PI13","PI14","PI15","PJ0","PJ1","PJ2","PJ3","PJ4","PJ5","PJ6","PJ7","PJ8","PJ9","PJ10","PJ11","PJ12","PJ13","PJ14","PJ15","PK0","PK1","PK2","PK3","PK4","PK5","PK6","PK7","PK8","PK9","PK10","PK11","PK12","PK13","PK14","PK15","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","CAN_PIN_0","CAN_PIN_1","CAN_PIN_2","CAN_PIN_3","CAN_PIN_4","CAN_PIN_5","CAN_PIN_6","CAN_PIN_7","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","MEGA_EPIC_1_PWM_T3_D3","MEGA_EPIC_1_PWM_T3_D5","MEGA_EPIC_1_PWM_T4_D6","MEGA_EPIC_1_PWM_T4_D7","MEGA_EPIC_1_PWM_T4_D8","MEGA_EPIC_1_PWM_T1_D11","MEGA_EPIC_1_PWM_T1_D12","MEGA_EPIC_1_PWM_T5_D44","MEGA_EPIC_1_PWM_T5_D45","MEGA_EPIC_1_PWM_T5_D46","MEGA_EPIC_1_SLOW_D39","MEGA_EPIC_1_SLOW_D40","MEGA_EPIC_1_SLOW_D41","MEGA_EPIC_1_SLOW_D42","MEGA_EPIC_1_SLOW_D43","MEGA_EPIC_1_SLOW_D47","MEGA_EPIC_1_SLOW_D48","MEGA_EPIC_1_SLOW_D49" #define brain_input_pin_e_list="NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" #define adc_channel_e_list="Disabled","PA0","PA1","PA2","PA3","PA4","PA5","PA6","PA7","PB0","PB1","PC0","PC1","PC2","PC3","PC4","PC5","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","MEGA_EPIC_CANBUS_ADC_0","MEGA_EPIC_CANBUS_ADC_1","MEGA_EPIC_CANBUS_ADC_2","MEGA_EPIC_CANBUS_ADC_3","MEGA_EPIC_CANBUS_ADC_4","MEGA_EPIC_CANBUS_ADC_5","MEGA_EPIC_CANBUS_ADC_6","MEGA_EPIC_CANBUS_ADC_7","MEGA_EPIC_CANBUS_ADC_8","MEGA_EPIC_CANBUS_ADC_9","MEGA_EPIC_CANBUS_ADC_10","MEGA_EPIC_CANBUS_ADC_11","MEGA_EPIC_CANBUS_ADC_12","MEGA_EPIC_CANBUS_ADC_13","MEGA_EPIC_CANBUS_ADC_14","MEGA_EPIC_CANBUS_ADC_15","CAN_CHECKED_A0","CAN_CHECKED_A1","CAN_CHECKED_A2","CAN_CHECKED_A3","CAN_CHECKED_A4","CAN_CHECKED_A5","CAN_CHECKED_A6","CAN_CHECKED_A7","CAN_CHECKED_A8" ; TODO: move to autogenerated? #define can_wbo_re_id_list="ID1 0x190/191", "ID2 0x192/193", "ID3 0x194/195", "ID4 0x196/197", "ID5 0x198/199", "ID6 0x19A/19B", "ID7 0x19C/19D", "ID8 0x19E/19F", "ID9 0x200/201", "ID10 0x202/203", "ID11 0x204/205", "ID12 0x206/207", "ID13 0x208/209", "ID14 0x20A/20B", "ID15 0x20C/20D", "ID16 0x20E/20F" #define can_wbo_aem_id_list="ID1 0x0000180", "ID2 0x0000181", "ID3 0x0000182", "ID4 0x0000183", "ID5 0x0000184", "ID6 0x0000185", "ID7 0x0000186", "ID8 0x0000187", "ID9 0x0000188", "ID10 0x0000189", "ID11 0x000018A", "ID12 0x000018B", "ID13 0x000018C", "ID14 0x000018D", "ID15 0x000018E", "ID16 0x000018F" #define can_wbo_re_hwidx_list="Idx 0", "Idx 1", "Idx 2", "Idx 3", "Idx 4", "Idx 5", "Idx 6", "Idx 7", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" #define pin_mode_e_enum="default", "INVALID", "INVALID", "INVALID", "opendrain", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PULLUP", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PULLDOWN" #define pin_input_mode_e_enum="DEFAULT", "PULLUP", "PULLDOWN", "INVALID", "INVERTED DEFAULT", "INVERTED PULLUP", "INVERTED PULLDOWN" #define pin_output_mode_e_enum="default", "default inverted", "open collector", "open collector inverted" #define gppwm_channel_e_enum="Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 In Actual", "VVT 1 Ex Actual", "VVT 2 In Actual", "VVT 2 Ex Actual", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)", "Baro pressure", "EGT 1", "EGT 2", "Aux Linear 3", "Aux Linear 4", "Vehicle speed", "Oil pressure", "Oil temp", "Fuel Pressure", "Throttle Ratio", "Percent Baro" #define spi_device_e_enum="Off", "SPI1", "SPI2", "SPI3", "SPI4", "SPI5", "SPI6" ; Remove next line when Java toolset gets adjusted to load those from json config into VariablesRegistry #define engine_load_mode_e_list="Speed Density", "MAF Air Charge", "Alpha-N", "Lua", "MAFMAP", "TMF" ; page 2 goes before autogenerated page 1 because ConfigDefinition.jar also generates [SettingContextHelp] section right after ; but all pages should be in [Constants] section page = 2 highSpeedOffsets = array, U16, 0, [128], "", 1, 0.00000, 0.00, 65535, 0, noMsqSave ; total TS size = 256 ;page = 3 ; a@a@aPAGE_CONTENT_2a@a@a ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",3="FORD_ASPIRE_1996",11="FORD_COYOTE",67="FORD_ECOBOOST",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",65="GM_LNF",55="GM_LTG",98="GM_SBC",27="GM_SBC_GEN4",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",56="SUBARU_2011",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",31="UNUSED31",42="UNUSED42",94="UNUSED94",105="UNUSED_105",16="UNUSED_16",5="UNUSED_5",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 launchRpm = scalar, U16, 4, "rpm", 1, 0, 0, 20000, 0 minRpmLockLaunch = scalar, U16, 6, "rpm", 1, 0, 0, 20000, 0 launchRpmLockAdder = scalar, S08, 8, "rpm", 20.0, 0, -2500, 2500, 0 rpmHardLimit = scalar, U16, 10, "rpm", 1, 0, 0, 20000, 0 engineSnifferRpmThreshold = scalar, U16, 12, "RPM", 1, 0, 0, 30000, 0 multisparkMaxRpm = scalar, U08, 14, "rpm", 50.0, 0, 0, 3000, 0 maxAcRpm = scalar, U08, 15, "rpm", 50.0, 0, 0, 10000, 0 maxAcTps = scalar, U08, 16, "%", 1, 0, 0, 100, 0 maxAcClt = scalar, U08, 17, "deg C", 1, 0, 0, 250, 0 compressionRatio = scalar, U08, 18, "CR", 0.1, 0, 0, 25, 1 idlePositionMin = scalar, U16, 20, "mv", 1, 0, 0, 5000, 0 idlePositionMax = scalar, U16, 22, "mv", 1, 0, 0, 5000, 0 ltitEnabled = bits, U32, 24, [0:0], "false", "true" ltitEmaAlpha = scalar, U08, 28, "0-255", 1,0,1,255,0 ltitStableRpmThreshold = scalar, U08, 29, "rpm", 1,0,1,100,0 ltitStableTime = scalar, U08, 30, "s", 1,0,1,30,0 ltitCorrectionRate = scalar, U08, 31, "%/s", 1,0,1,100,0 ltitIgnitionOnDelay = scalar, U08, 32, "s", 1,0,1,60,0 ltitIgnitionOffSaveDelay = scalar, U08, 33, "s", 1,0,1,60,0 ltitClampMin = scalar, F32, 36, "%", 1, 0, 0, 100, 1 ltitClampMax = scalar, F32, 40, "%", 1, 0, 100, 300, 1 ltitSmoothingIntensity = scalar, U08, 44, "ratio", 0.01, 0, 0, 2.5, 2 ltitIntegratorThreshold = scalar, F32, 48, "%", 1, 0, 0, 25, 0 mainRelayPin = bits, U16, 52, [0:8], $output_pin_e_list sdCardCsPin = bits, U16, 54, [0:8], $gpio_list canTxPin = bits, U16, 56, [0:8], $gpio_list canRxPin = bits, U16, 58, [0:8], $gpio_list torqueReductionTriggerPin = bits, U16, 60, [0:8], $switch_input_pin_e_list launchFuelAdderPercent = scalar, S08, 62, "%", 1, 0, -100, 100, 0 etbJamTimeout = scalar, U08, 63, "sec", 0.02, 0, 0, 5, 2 tachOutputPin = bits, U16, 64, [0:8], $output_pin_e_list tachOutputPinMode = bits, U08, 66, [0:1], $pin_output_mode_e_enum acIdleExtraOffset = scalar, U08, 67, "%", 1, 0, 0, 100, 0 multisparkMaxSparkingAngle = scalar, U08, 68, "deg", 1, 0, 0, 60, 0 multisparkMaxExtraSparkCount = scalar, U08, 69, "count", 1, 0, 1, 5, 0 vvtControlMinRpm = scalar, S16, 70, "RPM", 1, 0, 0, 3000, 0 smallPwInjLookupBins = array, U16, 72, [48], "ms", 5.0E-4, 0, 0, 25, 3 smallPwInjVoltBins = array, U08, 168, [5], "volts", 0.1, 0, 0, 25, 1 smallPwInjBatCorr = array, U16, 174, [48x5], "mult", 1.0E-4, 0, 0, 2.5, 4 injector_flow = scalar, F32, 656, "", 1, 0, 0, 99999, 2 injector_battLagCorrBattBins = array, S16, 660, [12], "volts", 0.01, 0, 0, 22, 2 injector_battLagCorrPressBins = array, U32, 684, [2], "kPa", 0.1, 0, 0, 30000, 2 injector_battLagCorrTable = array, S16, 692, [12x2], "ms", 0.01, 0, 0, 50, 2 injector_smallPwInjLookup = array, U16, 740, [48], "ms", 5.0E-4, 0, 0, 25, 3 injectorSecondary_flow = scalar, F32, 836, "", 1, 0, 0, 99999, 2 injectorSecondary_battLagCorrBattBins = array, S16, 840, [12], "volts", 0.01, 0, 0, 22, 2 injectorSecondary_battLagCorrPressBins = array, U32, 864, [2], "kPa", 0.1, 0, 0, 30000, 2 injectorSecondary_battLagCorrTable = array, S16, 872, [12x2], "ms", 0.01, 0, 0, 50, 2 injectorSecondary_smallPwInjLookup = array, U16, 920, [48], "ms", 5.0E-4, 0, 0, 25, 3 isForcedInduction = bits, U32, 1016, [0:0], "false", "true" useFordRedundantTps = bits, U32, 1016, [1:1], "false", "true" enableKline = bits, U32, 1016, [2:2], "false", "true" overrideTriggerGaps = bits, U32, 1016, [3:3], "false", "true" enableFan1WithAc = bits, U32, 1016, [4:4], "false", "true" enableFan2WithAc = bits, U32, 1016, [5:5], "false", "true" enableTrailingSparks = bits, U32, 1016, [6:6], "false", "true" etb_use_two_wires = bits, U32, 1016, [7:7], "false", "true" isDoubleSolenoidIdle = bits, U32, 1016, [8:8], "false", "true" useEeprom = bits, U32, 1016, [9:9], "false", "true" useCicPidForIdle = bits, U32, 1016, [10:10], "false", "true" useTLE8888_cranking_hack = bits, U32, 1016, [11:11], "false", "true" kickStartCranking = bits, U32, 1016, [12:12], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 1016, [13:13], "false", "true" launchControlEnabled = bits, U32, 1016, [14:14], "false", "true" antiLagEnabled = bits, U32, 1016, [15:15], "false", "true" useRunningMathForCranking = bits, U32, 1016, [16:16], "Cranking Cycle Base Fuel", "Fuel Map" displayLogicLevelsInEngineSniffer = bits, U32, 1016, [17:17], "false", "true" useTLE8888_stepper = bits, U32, 1016, [18:18], "false", "true" usescriptTableForCanSniffingFiltering = bits, U32, 1016, [19:19], "false", "true" verboseCan = bits, U32, 1016, [20:20], "Do not print", "Print all" artificialTestMisfire = bits, U32, 1016, [21:21], "No thank you", "Danger Mode" useFordRedundantPps = bits, U32, 1016, [22:22], "false", "true" cltSensorPulldown = bits, U32, 1016, [23:23], "false", "true" iatSensorPulldown = bits, U32, 1016, [24:24], "false", "true" allowIdenticalPps = bits, U32, 1016, [25:25], "false", "true" overrideVvtTriggerGaps = bits, U32, 1016, [26:26], "false", "true" useSpiImu = bits, U32, 1016, [27:27], "false", "true" enableStagedInjection = bits, U32, 1016, [28:28], "false", "true" useIdleAdvanceWhileCoasting = bits, U32, 1016, [29:29], "false", "true" tpsMin = scalar, S16, 1020, "ADC", 1, 0, 0, 1023, 0 tpsMax = scalar, S16, 1022, "ADC", 1, 0, 0, 1023, 0 tpsErrorDetectionTooLow = scalar, S16, 1024, "%", 1, 0, -10, 0, 0 tpsErrorDetectionTooHigh = scalar, S16, 1026, "%", 1, 0, 100, 110, 0 cranking_rpm = scalar, S16, 1028, "RPM", 1, 0, 0, 12000, 0 ignitionDwellForCrankingMs = scalar, U08, 1032, "ms", 0.1, 0, 0, 20, 1 etbRevLimitStart = scalar, U16, 1034, "rpm", 1, 0, 0, 25000, 0 etbRevLimitRange = scalar, U16, 1036, "rpm", 1, 0, 0, 2000, 0 map_samplingAngleBins = array, U08, 1040, [8], "", 100.0, 0, 0, 18000, 0 map_samplingAngle = array, S16, 1048, [8], "deg", 0.1, 0, -720, 720, 1 map_samplingWindowBins = array, U08, 1064, [8], "", 100.0, 0, 0, 18000, 0 map_samplingWindow = array, S16, 1072, [8], "deg", 0.1, 0, -720, 720, 1 map_sensor_lowValue = scalar, F32, 1088, "kpa", 1, 0, -400, 800, 2 map_sensor_highValue = scalar, F32, 1092, "kpa", 1, 0, -400, 800, 2 map_sensor_type = bits, U08, 1096, [0:4], "Custom", "DENSO183", "MPX4250", "HONDA3BAR", "NEON_2003", "22012AA090", "GM 3 Bar", "MPX4100", "Toyota 89420-02010", "MPX4250A", "Bosch 2.5", "Mazda1Bar", "GM 2 Bar", "GM 1 Bar", "MPXH6400", "MPXH6300", "MPXH6250", "MPXH6115", "KP234", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" map_sensor_hwChannel = bits, U08, 1097, [0:7], $adc_channel_e_list map_sensorpre_lowValue = scalar, F32, 1100, "kpa", 1, 0, -400, 800, 2 map_sensorpre_highValue = scalar, F32, 1104, "kpa", 1, 0, -400, 800, 2 map_sensorpre_type = bits, U08, 1108, [0:4], "Custom", "DENSO183", "MPX4250", "HONDA3BAR", "NEON_2003", "22012AA090", "GM 3 Bar", "MPX4100", "Toyota 89420-02010", "MPX4250A", "Bosch 2.5", "Mazda1Bar", "GM 2 Bar", "GM 1 Bar", "MPXH6400", "MPXH6300", "MPXH6250", "MPXH6115", "KP234", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" map_sensorpre_hwChannel = bits, U08, 1109, [0:7], $adc_channel_e_list clt_tempC_1 = scalar, F32, 1112, "*C", 1, 0, -55, 200, 1 clt_tempC_2 = scalar, F32, 1116, "*C", 1, 0, -55, 200, 1 clt_tempC_3 = scalar, F32, 1120, "*C", 1, 0, -55, 200, 1 clt_resistance_1 = scalar, F32, 1124, "Ohm", 1, 0, 0, 1000000, 1 clt_resistance_2 = scalar, F32, 1128, "Ohm", 1, 0, 0, 1000000, 1 clt_resistance_3 = scalar, F32, 1132, "Ohm", 1, 0, 0, 1000000, 1 clt_bias_resistor = scalar, F32, 1136, "Ohm", 1, 0, 0, 200000, 1 clt_adcChannel = bits, U08, 1140, [0:7], $adc_channel_e_list iat_tempC_1 = scalar, F32, 1144, "*C", 1, 0, -55, 200, 1 iat_tempC_2 = scalar, F32, 1148, "*C", 1, 0, -55, 200, 1 iat_tempC_3 = scalar, F32, 1152, "*C", 1, 0, -55, 200, 1 iat_resistance_1 = scalar, F32, 1156, "Ohm", 1, 0, 0, 1000000, 1 iat_resistance_2 = scalar, F32, 1160, "Ohm", 1, 0, 0, 1000000, 1 iat_resistance_3 = scalar, F32, 1164, "Ohm", 1, 0, 0, 1000000, 1 iat_bias_resistor = scalar, F32, 1168, "Ohm", 1, 0, 0, 200000, 1 iat_adcChannel = bits, U08, 1172, [0:7], $adc_channel_e_list launchTimingRetard = scalar, S08, 1176, "deg", 1, 0, -120, 120, 0 idleMaximumAirmass = scalar, U08, 1177, "mg", 2.0, 0, 0, 500, 1 alternator_iTermMin = scalar, S16, 1178, "", 1, 0, -30000, 30000, 0 alternator_iTermMax = scalar, S16, 1180, "", 1, 0, -30000, 30000, 0 displacement = scalar, F32, 1184, "L", 1, 0, 0, 65, 3 triggerSimulatorRpm = scalar, U16, 1188, "RPM", 1, 0, 0, 65000, 0 cylindersCount = scalar, U08, 1190, "", 1, 0, 1, 8, 0 maxCylindersCount = scalar, U08, 1191, "", 1, 0, 0, 100, 0 firingOrder = bits, U08, 1192, [0:6], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8 Mustang", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8 HO", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "1-5-4-8-3-7-2-6 Voodoo", "1-6-5-10-2-7-3-8-4-9", "1-8-6-2-7-3-4-5 F136", "1-2-3-4", "fo36", "fo37", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" justATempTest = scalar, U08, 1193, "", 1, 0, 0, 100, 0 mapSyncThreshold = scalar, U08, 1194, "kPa", 1, 0, 0, 50, 0 cylinderBore = scalar, F32, 1196, "mm", 1, 0, 0, 2000, 2 fuelAlgorithm = bits, U08, 1200, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua", "MAFMAP", "TMF", "INVALID", "INVALID" ALSMaxTPS = scalar, U08, 1201, "%", 1, 0, 0, 10, 0 crankingInjectionMode = bits, U08, 1202, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" injectionMode = bits, U08, 1203, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" boostControlMinRpm = scalar, U08, 1204, "", 100.0, 0, 0, 25000, 0 boostControlMinTps = scalar, U08, 1205, "", 0.5, 0, 0, 100, 0 boostControlMinMap = scalar, U08, 1206, "", 1, 0, 0, 250, 0 boostControlPin = bits, U16, 1208, [0:8], $output_pin_e_list boostControlPinMode = bits, U08, 1210, [0:1], $pin_output_mode_e_enum lowerWastegatePin = bits, U16, 1212, [0:8], $output_pin_e_list lowerWastegatePinMode = bits, U08, 1214, [0:1], $pin_output_mode_e_enum crankingTimingAngle = scalar, F32, 1216, "deg", 1, 0, -30, 30, 0 ignitionMode = bits, U08, 1220, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" gapTrackingLengthOverride = scalar, S08, 1221, "count", 1, 0, 1, 18, 0 maxIdleVss = scalar, U08, 1222, "kph", 1, 0, 0, 100, 0 camDecoder2jzPrecision = scalar, U08, 1223, "", 1, 0, 0, 100, 0 minOilPressureAfterStart = scalar, U08, 1224, "kPa", 5.0, 0, 0, 1000, 0 oilPressureSwitch = bits, U16, 1226, [0:8], $switch_input_pin_e_list oilPressureSwitchMode = bits, U08, 1228, [0:2], $pin_input_mode_e_enum timingMode = bits, U08, 1229, [0:0], "dynamic", "fixed" canNbcType = bits, U08, 1230, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" fixedModeTiming = scalar, F32, 1232, "RPM", 1, 0, 0, 3000, 0 globalTriggerAngleOffset = scalar, F32, 1236, "deg btdc", 1, 0, -720, 720, 0 analogInputDividerCoefficient = scalar, F32, 1240, "coef", 1, 0, 0.01, 10, 2 vbattDividerCoeff = scalar, F32, 1244, "coef", 1, 0, 0.01, 99, 2 fanPin = bits, U16, 1248, [0:8], $output_pin_e_list fanPinMode = bits, U08, 1250, [0:1], $pin_output_mode_e_enum fanOnTemperature = scalar, U08, 1251, "deg C", 1, 0, 0, 150, 0 fanOffTemperature = scalar, U08, 1252, "deg C", 1, 0, 0, 150, 0 fan2Pin = bits, U16, 1254, [0:8], $output_pin_e_list fan2PinMode = bits, U08, 1256, [0:1], $pin_output_mode_e_enum fan2OnTemperature = scalar, U08, 1257, "deg C", 1, 0, 0, 150, 0 fan2OffTemperature = scalar, U08, 1258, "deg C", 1, 0, 0, 150, 0 waterPumpPin = bits, U16, 1260, [0:8], $output_pin_e_list waterPumpPinMode = bits, U08, 1262, [0:1], $pin_output_mode_e_enum waterPumpOnTemperature = scalar, U08, 1263, "deg C", 1, 0, 0, 150, 0 waterPumpOffTemperature = scalar, U08, 1264, "deg C", 1, 0, 0, 150, 0 waterPump2Pin = bits, U16, 1266, [0:8], $output_pin_e_list waterPump2PinMode = bits, U08, 1268, [0:1], $pin_output_mode_e_enum waterPump2OnTemperature = scalar, U08, 1269, "deg C", 1, 0, 0, 150, 0 waterPump2OffTemperature = scalar, U08, 1270, "deg C", 1, 0, 0, 150, 0 disableFan1AtSpeed = scalar, S08, 1271, "", 1, 0, 0, 100, 0 disableFan2AtSpeed = scalar, S08, 1272, "", 1, 0, 0, 100, 0 disableWaterPumpAtSpeed = scalar, S08, 1273, "", 1, 0, 0, 100, 0 disableWaterPump2AtSpeed = scalar, S08, 1274, "", 1, 0, 0, 100, 0 enableFan1 = bits, U32, 1276, [0:0], "false", "true" enableFan2 = bits, U32, 1276, [1:1], "false", "true" enableWaterPump = bits, U32, 1276, [2:2], "false", "true" enableWaterPump2 = bits, U32, 1276, [3:3], "false", "true" disableFan1WhenStopped = bits, U32, 1276, [4:4], "false", "true" disableFan2WhenStopped = bits, U32, 1276, [5:5], "false", "true" disableWaterPumpWhenStopped = bits, U32, 1276, [6:6], "false", "true" disableWaterPump2WhenStopped = bits, U32, 1276, [7:7], "false", "true" fan1PwmEnabled = bits, U32, 1276, [8:8], "false", "true" fan2PwmEnabled = bits, U32, 1276, [9:9], "false", "true" waterPumpPwmEnabled = bits, U32, 1276, [10:10], "false", "true" waterPump2PwmEnabled = bits, U32, 1276, [11:11], "false", "true" disableFan1WhenStoppedTimeout = scalar, U16, 1280, "s", 1, 0, 0, 65000, 0 disableFan2WhenStoppedTimeout = scalar, U16, 1282, "s", 1, 0, 0, 65000, 0 disableWaterPumpWhenStoppedTimeout = scalar, U16, 1284, "s", 1, 0, 0, 65000, 0 disableWaterPump2WhenStoppedTimeout = scalar, U16, 1286, "s", 1, 0, 0, 65000, 0 fan1PwmFrequency = scalar, U16, 1288, "Hz", 1, 0, 1, 30000, 0 fan1MinPwm = scalar, U08, 1290, "%", 1, 0, 0, 100, 0 fan1MaxPwm = scalar, U08, 1291, "%", 1, 0, 0, 100, 0 fan1AcAdder = scalar, U08, 1292, "%", 1, 0, 0, 100, 0 fan1SoftStartSec = scalar, U08, 1293, "s", 0.1, 0, 0, 25, 1 fan1ExtraIdle = scalar, U08, 1294, "%", 1, 0, 0, 100, 0 fan2PwmFrequency = scalar, U16, 1296, "Hz", 1, 0, 1, 30000, 0 fan2MinPwm = scalar, U08, 1298, "%", 1, 0, 0, 100, 0 fan2MaxPwm = scalar, U08, 1299, "%", 1, 0, 0, 100, 0 fan2AcAdder = scalar, U08, 1300, "%", 1, 0, 0, 100, 0 fan2SoftStartSec = scalar, U08, 1301, "s", 0.1, 0, 0, 25, 1 fan2ExtraIdle = scalar, U08, 1302, "%", 1, 0, 0, 100, 0 waterPumpPwmFrequency = scalar, U16, 1304, "Hz", 1, 0, 1, 30000, 0 waterPumpMinPwm = scalar, U08, 1306, "%", 1, 0, 0, 100, 0 waterPumpMaxPwm = scalar, U08, 1307, "%", 1, 0, 0, 100, 0 waterPumpAcAdder = scalar, U08, 1308, "%", 1, 0, 0, 100, 0 waterPumpSoftStartSec = scalar, U08, 1309, "s", 0.1, 0, 0, 25, 1 waterPumpExtraIdle = scalar, U08, 1310, "%", 1, 0, 0, 100, 0 waterPump2PwmFrequency = scalar, U16, 1312, "Hz", 1, 0, 1, 30000, 0 waterPump2MinPwm = scalar, U08, 1314, "%", 1, 0, 0, 100, 0 waterPump2MaxPwm = scalar, U08, 1315, "%", 1, 0, 0, 100, 0 waterPump2AcAdder = scalar, U08, 1316, "%", 1, 0, 0, 100, 0 waterPump2SoftStartSec = scalar, U08, 1317, "s", 0.1, 0, 0, 25, 1 waterPump2ExtraIdle = scalar, U08, 1318, "%", 1, 0, 0, 100, 0 acrPin = bits, U16, 1320, [0:8], $output_pin_e_list vssCalSpeed = scalar, U16, 1322, "", 0.01, 0, 0, 300, 2 vssPulsePerKm = scalar, U32, 1324, "", 1, 0, 0, 100000, 0 driveWheelRevPerKm = scalar, F32, 1328, "revs/km", 1, 0, 100, 1000, 1 canSleepPeriodMs = scalar, S32, 1332, "ms", 1, 0, 0, 1000, 2 byFirmwareVersion = scalar, S32, 1336, "index", 1, 0, 0, 300, 0 tps1_1AdcChannel = bits, U08, 1340, [0:7], $adc_channel_e_list vbattAdcChannel = bits, U08, 1341, [0:7], $adc_channel_e_list fuelLevelSensor = bits, U08, 1342, [0:7], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 1343, [0:7], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 1344, "x", 1, 0, -1000000, 1000000, 4 trigger_type = bits, U32, 1348, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "INVALID", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "probably broken ChryslerNGC 36-2-2", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "INVALID", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "INVALID", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "trg89", "Dodge/Chrysler/Jeep V8 5.7L", "Toyota UZ 3 tooth", "Jeep EVD 36-2-2", "Jeep 66-2-2-2", "Subaru 6 tooth Crank", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" trigger_customTotalToothCount = scalar, S32, 1352, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 1356, "number", 1, 0, 0, 300, 0 airByRpmTaper = scalar, F32, 1360, "%", 1, 0, 0, 50, 1 boostControlSafeDutyCycle = scalar, U08, 1364, "%", 1, 0, 0, 100, 0 mafAdcChannel = bits, U08, 1365, [0:7], $adc_channel_e_list acrRevolutions = scalar, U08, 1366, "", 1, 0, 0, 100, 0 calibrationBirthday = scalar, S32, 1368, "", 1, 0, 0, 100, 0 adcVcc = scalar, F32, 1372, "volts", 1, 0, 0, 6, 3 mapCamDetectionAnglePosition = scalar, F32, 1376, "Deg", 1, 0, 0, 360, 0 camInputs1 = bits, U16, 1380, [0:8], $brain_input_pin_e_list camInputs2 = bits, U16, 1382, [0:8], $brain_input_pin_e_list camInputs3 = bits, U16, 1384, [0:8], $brain_input_pin_e_list camInputs4 = bits, U16, 1386, [0:8], $brain_input_pin_e_list afr_hwChannel = bits, U08, 1388, [0:7], $adc_channel_e_list afr_hwChannel2 = bits, U08, 1389, [0:7], $adc_channel_e_list afr_v1 = scalar, F32, 1392, "volts", 1, 0, 0, 10, 2 afr_value1 = scalar, F32, 1396, "AFR", 1, 0, 0, 1000, 2 afr_v2 = scalar, F32, 1400, "volts", 1, 0, 0, 10, 2 afr_value2 = scalar, F32, 1404, "AFR", 1, 0, 0, 1000, 2 throttlePedalPositionAdcChannel = bits, U08, 1408, [0:7], $adc_channel_e_list etbSplit = scalar, U08, 1409, "%", 0.1, 0, 0, 15, 1 tle6240_cs = bits, U16, 1410, [0:8], $gpio_list tle6240_csPinMode = bits, U08, 1412, [0:1], $pin_output_mode_e_enum mc33810_csPinMode = bits, U08, 1413, [0:1], $pin_output_mode_e_enum baroSensor_lowValue = scalar, F32, 1416, "kpa", 1, 0, -400, 800, 2 baroSensor_highValue = scalar, F32, 1420, "kpa", 1, 0, -400, 800, 2 baroSensor_type = bits, U08, 1424, [0:4], "Custom", "DENSO183", "MPX4250", "HONDA3BAR", "NEON_2003", "22012AA090", "GM 3 Bar", "MPX4100", "Toyota 89420-02010", "MPX4250A", "Bosch 2.5", "Mazda1Bar", "GM 2 Bar", "GM 1 Bar", "MPXH6400", "MPXH6300", "MPXH6250", "MPXH6115", "KP234", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" baroSensor_hwChannel = bits, U08, 1425, [0:7], $adc_channel_e_list idle_solenoidFrequency = scalar, S32, 1428, "Hz", 1, 0, 0, 3000, 0 idle_solenoidPin = bits, U16, 1432, [0:8], $output_pin_e_list idle_stepperDirectionPin = bits, U16, 1434, [0:8], $gpio_list idle_stepperStepPin = bits, U16, 1436, [0:8], $gpio_list idle_solenoidPinMode = bits, U08, 1438, [0:1], $pin_output_mode_e_enum knockRetardAggression = scalar, U08, 1440, "%", 0.1, 0, 0, 20, 1 knockRetardReapplyRate = scalar, U08, 1441, "deg/s", 0.1, 0, 0, 10, 1 engineSyncCam = bits, S08, 1442, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" sdCardCsPinMode = bits, U08, 1443, [0:1], $pin_output_mode_e_enum vssGearRatio = scalar, U16, 1444, "ratio", 0.001, 0, 0, 60, 3 vssFilterReciprocal = scalar, U08, 1446, "", 1, 0, 3, 200, 0 vssToothCount = scalar, U08, 1447, "count", 1, 0, 1, 100, 0 idleVeOverrideMode = bits, U08, 1448, [0:1], "None", "MAP", "TPS", "PERCENT BARO" l9779_cs = bits, U16, 1450, [0:8], $gpio_list injectionPins1 = bits, U16, 1452, [0:8], $output_pin_e_list injectionPins2 = bits, U16, 1454, [0:8], $output_pin_e_list injectionPins3 = bits, U16, 1456, [0:8], $output_pin_e_list injectionPins4 = bits, U16, 1458, [0:8], $output_pin_e_list injectionPins5 = bits, U16, 1460, [0:8], $output_pin_e_list injectionPins6 = bits, U16, 1462, [0:8], $output_pin_e_list injectionPins7 = bits, U16, 1464, [0:8], $output_pin_e_list injectionPins8 = bits, U16, 1466, [0:8], $output_pin_e_list ignitionPins1 = bits, U16, 1468, [0:8], $output_pin_e_list ignitionPins2 = bits, U16, 1470, [0:8], $output_pin_e_list ignitionPins3 = bits, U16, 1472, [0:8], $output_pin_e_list ignitionPins4 = bits, U16, 1474, [0:8], $output_pin_e_list ignitionPins5 = bits, U16, 1476, [0:8], $output_pin_e_list ignitionPins6 = bits, U16, 1478, [0:8], $output_pin_e_list ignitionPins7 = bits, U16, 1480, [0:8], $output_pin_e_list ignitionPins8 = bits, U16, 1482, [0:8], $output_pin_e_list injectionPinMode = bits, U08, 1484, [0:1], $pin_output_mode_e_enum ignitionPinMode = bits, U08, 1485, [0:1], $pin_output_mode_e_enum fuelPumpPin = bits, U16, 1486, [0:8], $output_pin_e_list fuelPumpPinMode = bits, U08, 1488, [0:1], $pin_output_mode_e_enum gapVvtTrackingLengthOverride = scalar, S08, 1489, "count", 1, 0, 1, 4, 0 malfunctionIndicatorPin = bits, U16, 1490, [0:8], $output_pin_e_list malfunctionIndicatorPinMode = bits, U08, 1492, [0:1], $pin_output_mode_e_enum clutchDownPin = bits, U16, 1494, [0:8], $switch_input_pin_e_list alternatorControlPin = bits, U16, 1496, [0:8], $output_pin_e_list alternatorControlPinMode = bits, U08, 1498, [0:1], $pin_output_mode_e_enum clutchDownPinMode = bits, U08, 1499, [0:2], $pin_input_mode_e_enum digitalPotentiometerChipSelect1 = bits, U16, 1500, [0:8], $gpio_list digitalPotentiometerChipSelect2 = bits, U16, 1502, [0:8], $gpio_list digitalPotentiometerChipSelect3 = bits, U16, 1504, [0:8], $gpio_list digitalPotentiometerChipSelect4 = bits, U16, 1506, [0:8], $gpio_list electronicThrottlePin1Mode = bits, U08, 1508, [0:1], $pin_output_mode_e_enum max31855spiDevice = bits, U08, 1509, [0:2], $spi_device_e_enum debugTriggerSync = bits, U16, 1510, [0:8], $gpio_list digitalPotentiometerSpiDevice = bits, U08, 1512, [0:2], $spi_device_e_enum brakePedalPinMode = bits, U08, 1513, [0:2], $pin_input_mode_e_enum mc33972_cs = bits, U16, 1514, [0:8], $gpio_list mc33972_csPinMode = bits, U08, 1516, [0:1], $pin_output_mode_e_enum auxFastSensor1_adcChannel = bits, U08, 1517, [0:7], $adc_channel_e_list tps1_2AdcChannel = bits, U08, 1518, [0:7], $adc_channel_e_list tps2_2AdcChannel = bits, U08, 1519, [0:7], $adc_channel_e_list throttlePedalPositionSecondAdcChannel = bits, U08, 1520, [0:7], $adc_channel_e_list afr_type = bits, S08, 1521, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM", "INVALID" mc33810_cs1 = bits, U16, 1522, [0:8], $gpio_list idle_antiwindupFreq = scalar, F32, 1524, "x", 1, 0, -1000000, 1000000, 4 triggerInputPins1 = bits, U16, 1528, [0:8], $brain_input_pin_e_list triggerInputPins2 = bits, U16, 1530, [0:8], $brain_input_pin_e_list mc33_t_min_boost = scalar, U16, 1532, "us", 1, 0, 0, 10000, 0 finalGearRatio = scalar, U16, 1534, "ratio", 0.01, 0, 0, 10, 2 triggerSimulatorPins1 = bits, U16, 1536, [0:8], $gpio_list triggerSimulatorPins2 = bits, U16, 1538, [0:8], $gpio_list fordInjectorSmallPulseSlope = scalar, U16, 1540, "g/s", 0.001, 0, 0, 65, 3 triggerSimulatorPinModes1 = bits, U08, 1542, [0:1], $pin_output_mode_e_enum triggerSimulatorPinModes2 = bits, U08, 1543, [0:1], $pin_output_mode_e_enum maf2AdcChannel = bits, U08, 1544, [0:7], $adc_channel_e_list o2heaterPin = bits, U16, 1546, [0:8], $output_pin_e_list o2heaterPinModeTodO = bits, U08, 1548, [0:1], $pin_output_mode_e_enum lambdaProtectionMinRpm = scalar, U08, 1549, "RPM", 100.0, 0, 0, 25000, 0 lambdaProtectionMinLoad = scalar, U08, 1550, "%", 10.0, 0, 0, 650, 0 is_enabled_spi_1 = bits, U32, 1552, [0:0], "false", "true" is_enabled_spi_2 = bits, U32, 1552, [1:1], "false", "true" is_enabled_spi_3 = bits, U32, 1552, [2:2], "false", "true" isSdCardEnabled = bits, U32, 1552, [3:3], "false", "true" rusefiVerbose29b = bits, U32, 1552, [4:4], "11 bit", "29 bit" rethrowHardFault = bits, U32, 1552, [5:5], "false", "true" requireFootOnBrakeToCrank = bits, U32, 1552, [6:6], "false", "true" verboseQuad = bits, U32, 1552, [7:7], "false", "true" useStepperIdle = bits, U32, 1552, [8:8], "false", "true" enabledStep1Limiter = bits, U32, 1552, [9:9], "false", "true" lambdaProtectionEnable = bits, U32, 1552, [10:10], "false", "true" verboseTLE8888 = bits, U32, 1552, [11:11], "false", "true" enableVerboseCanTx = bits, U32, 1552, [12:12], "false", "true" externalRusEfiGdiModule = bits, U32, 1552, [13:13], "false", "true" ecumasterEgtToCan = bits, U32, 1552, [14:14], "false", "true" measureMapOnlyInOneCylinder = bits, U32, 1552, [15:15], "false", "true" stepperForceParkingEveryRestart = bits, U32, 1552, [16:16], "false", "true" isFasterEngineSpinUpEnabled = bits, U32, 1552, [17:17], "false", "true" coastingFuelCutEnabled = bits, U32, 1552, [18:18], "false", "true" useIacTableForCoasting = bits, U32, 1552, [19:19], "false", "true" useNoiselessTriggerDecoder = bits, U32, 1552, [20:20], "false", "true" useIdleTimingPidControl = bits, U32, 1552, [21:21], "false", "true" disableEtbWhenEngineStopped = bits, U32, 1552, [22:22], "false", "true" is_enabled_spi_4 = bits, U32, 1552, [23:23], "false", "true" pauseEtbControl = bits, U32, 1552, [24:24], "false", "true" verboseKLine = bits, U32, 1552, [25:25], "false", "true" idleIncrementalPidCic = bits, U32, 1552, [26:26], "false", "true" enableAemXSeries = bits, U32, 1552, [27:27], "false", "true" modeledFlowIdle = bits, U32, 1552, [28:28], "false", "true" tpsAeScaledFrom = bits, U32, 1552, [29:29], "false", "true" tpsFuelPumpPrimeEnabled = bits, U32, 1552, [30:30], "false", "true" mainRelayPinMode = bits, U08, 1556, [0:1], $pin_output_mode_e_enum verboseCanBaseAddress = scalar, U32, 1560, "", 1, 0, 0, 536870911, 0 mc33_hvolt = scalar, U08, 1564, "v", 1, 0, 40, 70, 0 minimumBoostClosedLoopMap = scalar, U16, 1566, "kPa", 1, 0, 0, 650, 0 initialIgnitionCutPercent = scalar, S08, 1568, "%", 1, 0, 0, 100, 0 finalIgnitionCutPercentBeforeLaunch = scalar, S08, 1569, "%", 1, 0, 0, 100, 0 boostOpenLoopYAxis = bits, U08, 1570, [0:5], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 In Actual", "VVT 1 Ex Actual", "VVT 2 In Actual", "VVT 2 Ex Actual", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)", "Baro pressure", "EGT 1", "EGT 2", "Aux Linear 3", "Aux Linear 4", "Vehicle speed", "Oil pressure", "Oil temp", "Fuel Pressure", "Throttle Ratio", "Percent Baro", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" boostClosedLoopYAxis = bits, U08, 1571, [0:5], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 In Actual", "VVT 1 Ex Actual", "VVT 2 In Actual", "VVT 2 Ex Actual", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)", "Baro pressure", "EGT 1", "EGT 2", "Aux Linear 3", "Aux Linear 4", "Vehicle speed", "Oil pressure", "Oil temp", "Fuel Pressure", "Throttle Ratio", "Percent Baro", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" l9779spiDevice = bits, U08, 1572, [0:2], $spi_device_e_enum imuType = bits, U08, 1573, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" idlePidRpmUpperLimit = scalar, S16, 1574, "RPM", 1, 0, 0, 1000, 0 lps25BaroSensorScl = bits, U16, 1576, [0:8], $gpio_list lps25BaroSensorSda = bits, U16, 1578, [0:8], $gpio_list vehicleSpeedSensorInputPin = bits, U16, 1580, [0:8], $brain_input_pin_e_list clutchUpPin = bits, U16, 1582, [0:8], $switch_input_pin_e_list injectorNonlinearMode = bits, U08, 1584, [0:1], "None", "Polynomial", "Ford (dual slope)", "INVALID" clutchUpPinMode = bits, U08, 1585, [0:2], $pin_input_mode_e_enum max31855_cs1 = bits, U16, 1586, [0:8], $gpio_list max31855_cs2 = bits, U16, 1588, [0:8], $gpio_list max31855_cs3 = bits, U16, 1590, [0:8], $gpio_list max31855_cs4 = bits, U16, 1592, [0:8], $gpio_list max31855_cs5 = bits, U16, 1594, [0:8], $gpio_list max31855_cs6 = bits, U16, 1596, [0:8], $gpio_list max31855_cs7 = bits, U16, 1598, [0:8], $gpio_list max31855_cs8 = bits, U16, 1600, [0:8], $gpio_list flexSensorPin = bits, U16, 1602, [0:8], $brain_input_pin_e_list torqueReductionArmingRpm = scalar, U16, 1604, "rpm", 1, 0, 0, 20000, 0 tachSweepTime = scalar, U08, 1606, "s", 0.1, 0, 0, 10, 1 tachSweepMax = scalar, U08, 1607, "rpm", 50.0, 0, 0, 12500, 0 speedoSweepTime = scalar, U08, 1608, "s", 0.1, 0, 0, 10, 1 speedoSweepMax = scalar, U08, 1609, "km/h", 2.0, 0, 0, 500, 0 stepperDirectionPinMode = bits, U08, 1610, [0:1], $pin_output_mode_e_enum mc33972spiDevice = bits, U08, 1611, [0:2], $spi_device_e_enum stoichRatioSecondary = scalar, U08, 1612, ":1", 0.1, 0, 5, 25, 1 etbMaximumPosition = scalar, U08, 1613, "%", 1, 0, 70, 100, 0 sdCardLogFrequency = scalar, U16, 1614, "hz", 1, 0, 1, 250, 0 idlePositionChannel = bits, U08, 1616, [0:7], $adc_channel_e_list starterRelayDisablePin = bits, U16, 1618, [0:8], $output_pin_e_list starterRelayDisablePinMode = bits, U08, 1620, [0:1], $pin_output_mode_e_enum secondSolenoidPin = bits, U16, 1622, [0:8], $output_pin_e_list startStopButtonPin = bits, U16, 1624, [0:8], $switch_input_pin_e_list lambdaProtectionRestoreRpm = scalar, U08, 1626, "RPM", 100.0, 0, 0, 25000, 0 acRelayPinMode = bits, U08, 1627, [0:1], $pin_output_mode_e_enum mapMinBufferLength = scalar, U08, 1628, "count", 1, 0, 1, 24, 0 idlePidDeactivationTpsThreshold = scalar, S16, 1630, "%", 1, 0, 0, 50, 0 stepperParkingExtraSteps = scalar, S16, 1632, "%", 1, 0, 0, 3000, 0 tps1SecondaryMin = scalar, U16, 1634, "ADC", 1, 0, 0, 1000, 0 tps1SecondaryMax = scalar, U16, 1636, "ADC", 1, 0, 0, 1000, 0 startCrankingDuration = scalar, U08, 1638, "Seconds", 1, 0, 0, 30, 0 triggerErrorPin = bits, U16, 1640, [0:8], $gpio_list triggerErrorPinMode = bits, U08, 1642, [0:1], $pin_output_mode_e_enum acRelayPin = bits, U16, 1644, [0:8], $output_pin_e_list lambdaProtectionMinTps = scalar, U08, 1646, "%", 1, 0, 0, 100, 0 lambdaProtectionTimeout = scalar, U08, 1647, "s", 0.1, 0, 0, 10, 1 spi1mosiPin = bits, U16, 1648, [0:8], $gpio_list spi1misoPin = bits, U16, 1650, [0:8], $gpio_list spi1sckPin = bits, U16, 1652, [0:8], $gpio_list spi2mosiPin = bits, U16, 1654, [0:8], $gpio_list spi2misoPin = bits, U16, 1656, [0:8], $gpio_list spi2sckPin = bits, U16, 1658, [0:8], $gpio_list spi3mosiPin = bits, U16, 1660, [0:8], $gpio_list spi3misoPin = bits, U16, 1662, [0:8], $gpio_list spi3sckPin = bits, U16, 1664, [0:8], $gpio_list cdmInputPin = bits, U16, 1666, [0:8], $gpio_list consoleUartDevice = bits, U08, 1668, [0:1], "Off", "UART1", "UART2", "UART3" idleReturnTargetRamp = bits, U32, 1672, [0:0], "no", "yes" useInjectorFlowLinearizationTable = bits, U32, 1672, [1:1], "false", "true" useHbridgesToDriveIdleStepper = bits, U32, 1672, [2:2], "false", "true" multisparkEnable = bits, U32, 1672, [3:3], "false", "true" enableLaunchRetard = bits, U32, 1672, [4:4], "false", "true" canInputBCM = bits, U32, 1672, [5:5], "false", "true" consumeObdSensors = bits, U32, 1672, [6:6], "false", "true" enableCanVss = bits, U32, 1672, [7:7], "false", "true" stftIgnoreErrorMagnitude = bits, U32, 1672, [8:8], "false", "true" vvtBooleanForVerySpecialCases = bits, U32, 1672, [9:9], "false", "true" enableSoftwareKnock = bits, U32, 1672, [10:10], "false", "true" verboseVVTDecoding = bits, U32, 1672, [11:11], "false", "true" invertCamVVTSignal = bits, U32, 1672, [12:12], "Rising", "Falling" alphaNUseIat = bits, U32, 1672, [13:13], "false", "true" knockBankCyl1 = bits, U32, 1672, [14:14], "Channel 1", "Channel 2" knockBankCyl2 = bits, U32, 1672, [15:15], "Channel 1", "Channel 2" knockBankCyl3 = bits, U32, 1672, [16:16], "Channel 1", "Channel 2" knockBankCyl4 = bits, U32, 1672, [17:17], "Channel 1", "Channel 2" knockBankCyl5 = bits, U32, 1672, [18:18], "Channel 1", "Channel 2" knockBankCyl6 = bits, U32, 1672, [19:19], "Channel 1", "Channel 2" knockBankCyl7 = bits, U32, 1672, [20:20], "Channel 1", "Channel 2" knockBankCyl8 = bits, U32, 1672, [21:21], "Channel 1", "Channel 2" knockBankCyl9 = bits, U32, 1672, [22:22], "Channel 1", "Channel 2" knockBankCyl10 = bits, U32, 1672, [23:23], "Channel 1", "Channel 2" knockBankCyl11 = bits, U32, 1672, [24:24], "Channel 1", "Channel 2" knockBankCyl12 = bits, U32, 1672, [25:25], "Channel 1", "Channel 2" vvlControlEnabled = bits, U32, 1672, [26:26], "false", "true" canBroadcastUseChannelTwo = bits, U32, 1672, [27:27], "first", "second" useRawOutputToDriveIdleStepper = bits, U32, 1672, [28:28], "false", "true" verboseCan2 = bits, U32, 1672, [29:29], "Do not print", "Print all" disallowPrimeFuelPump = bits, U32, 1672, [30:30], "false", "true" etbIo1_directionPin1 = bits, U16, 1676, [0:8], $gpio_list etbIo1_directionPin2 = bits, U16, 1678, [0:8], $gpio_list etbIo1_controlPin = bits, U16, 1680, [0:8], $gpio_list etbIo1_disablePin = bits, U16, 1682, [0:8], $gpio_list etbIo2_directionPin1 = bits, U16, 1684, [0:8], $gpio_list etbIo2_directionPin2 = bits, U16, 1686, [0:8], $gpio_list etbIo2_controlPin = bits, U16, 1688, [0:8], $gpio_list etbIo2_disablePin = bits, U16, 1690, [0:8], $gpio_list ALSActivatePin = bits, U16, 1692, [0:8], $switch_input_pin_e_list launchActivatePin = bits, U16, 1694, [0:8], $switch_input_pin_e_list launchActivatePinRpmLock = bits, U16, 1696, [0:8], $switch_input_pin_e_list boostPid_pFactor = scalar, F32, 1700, "", 1, 0, -10000, 10000, 4 boostPid_iFactor = scalar, F32, 1704, "", 1, 0, -10000, 10000, 4 boostPid_dFactor = scalar, F32, 1708, "", 1, 0, -10000, 10000, 4 boostPid_offset = scalar, S16, 1712, "", 1, 0, -1000, 1000, 0 boostPid_periodMs = scalar, S16, 1714, "ms", 1, 0, 0, 3000, 0 boostPid_minValue = scalar, S16, 1716, "", 1, 0, -30000, 30000, 0 boostPid_maxValue = scalar, S16, 1718, "", 1, 0, -30000, 30000, 0 boostType = bits, U08, 1720, [0:0], "Open Loop", "Open + Closed Loop" ignitionKeyDigitalPinMode = bits, U08, 1721, [0:2], $pin_input_mode_e_enum ignitionKeyDigitalPin = bits, U16, 1722, [0:8], $gpio_list boostPwmFrequency = scalar, S32, 1724, "Hz", 1, 0, 0, 3000, 0 launchActivationMode = bits, S08, 1728, [0:2], "Launch Button", "Clutch Down Switch", "Speed Based", "Brake Pedal", "Lua", "TPS based", "INVALID", "INVALID" antiLagActivationMode = bits, S08, 1729, [0:1], "Switch Input", "Always Active", "Lua", "INVALID" crankingCondition = bits, S08, 1730, [0:1], "None", "Brake", "Clutch", "INVALID" tpsAccelLookback = scalar, U16, 1732, "sec", 1.0E-4, 0, 0, 6, 4 tpsDecelEnleanmentThreshold = scalar, F32, 1736, "roc", 1, 0, 0, 200, 1 tpsDecelEnleanmentMultiplier = scalar, F32, 1740, "coeff", 1, 0, 0, 200, 2 mapPredictionBlendDuration = scalar, F32, 1744, "s", 1, 0, 0.1, 2.0, 2 noFuelTrimAfterDfcoTime = scalar, U08, 1748, "sec", 0.1, 0, 0, 10, 1 noFuelTrimAfterAccelTime = scalar, U08, 1749, "sec", 0.1, 0, 0, 10, 1 launchSpeedThreshold = scalar, S32, 1752, "Kph", 1, 0, 0, 300, 0 launchRpmWindow = scalar, S32, 1756, "RPM", 1, 0, 0, 8000, 0 triggerEventsTimeoutMs = scalar, F32, 1760, "ms", 1, 0, 0, 3000, 3 ppsExpAverageAlpha = scalar, F32, 1764, "", 1, 0, 0, 1, 3 mapExpAverageAlpha = scalar, F32, 1768, "", 1, 0, 0, 1, 3 turbochargerFilter = scalar, F32, 1772, "", 1, 0, 0, 100, 0 launchTpsThreshold = scalar, S32, 1776, "", 1, 0, 0, 20000, 0 stft_deadband_rich = scalar, U08, 1780, "%", 0.1, 0, 0, 3, 1 stft_deadband_lean = scalar, U08, 1781, "%", 0.1, 0, 0, 3, 1 stft_minClt = scalar, S08, 1782, "C", 1, 0, -20, 100, 0 stft_minAfr = scalar, U08, 1783, "afr", 0.1, 0, 5, 25, 1 stft_maxAfr = scalar, U08, 1784, "afr", 0.1, 0, 5, 25, 1 stft_minLambda = scalar, U08, 1785, "lambda", 0.01, 0, 0, 2.5, 2 stft_maxLambda = scalar, U08, 1786, "lambda", 0.01, 0, 0, 2.5, 2 stft_startupDelay = scalar, U08, 1787, "seconds", 1, 0, 0, 250, 0 stft_cell_maxAdd = scalar, S08, 1788, "%", 1, 0, 0, 25, 0 stft_cell_maxRemove = scalar, S08, 1789, "%", 1, 0, -25, 0, 0 stft_cell_timeConstant = scalar, U16, 1790, "sec", 0.1, 0, 0.1, 100, 2 ltft_enabled = bits, U32, 1792, [0:0], "false", "true" ltft_correctionEnabled = bits, U32, 1792, [1:1], "false", "true" ltft_deadband = scalar, U08, 1796, "%", 0.1, 0, 0, 3, 1 ltft_maxAdd = scalar, U08, 1797, "%", 0.1, 0, 0, 25, 1 ltft_maxRemove = scalar, U08, 1798, "%", 0.1, 0, 0, 25, 1 ltft_timeConstant = scalar, U16, 1800, "sec", 1, 0, 15, 3000, 0 stepperDcIo1_directionPin1 = bits, U16, 1804, [0:8], $gpio_list stepperDcIo1_directionPin2 = bits, U16, 1806, [0:8], $gpio_list stepperDcIo1_controlPin = bits, U16, 1808, [0:8], $gpio_list stepperDcIo1_disablePin = bits, U16, 1810, [0:8], $gpio_list stepperDcIo2_directionPin1 = bits, U16, 1812, [0:8], $gpio_list stepperDcIo2_directionPin2 = bits, U16, 1814, [0:8], $gpio_list stepperDcIo2_controlPin = bits, U16, 1816, [0:8], $gpio_list stepperDcIo2_disablePin = bits, U16, 1818, [0:8], $gpio_list engineMake = string, ASCII, 1820, 32 engineCode = string, ASCII, 1852, 32 vehicleName = string, ASCII, 1884, 32 engineMods = string, ASCII, 1916, 256 etbFunctions1 = bits, U08, 2172, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate", "INVALID", "INVALID", "INVALID" etbFunctions2 = bits, U08, 2173, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate", "INVALID", "INVALID", "INVALID" drv8860spiDevice = bits, U08, 2174, [0:2], $spi_device_e_enum drv8860_cs = bits, U16, 2176, [0:8], $gpio_list drv8860_csPinMode = bits, U08, 2178, [0:1], $pin_output_mode_e_enum drv8860_miso = bits, U16, 2180, [0:8], $gpio_list luaOutputPins1 = bits, U16, 2182, [0:8], $output_pin_e_list luaOutputPins2 = bits, U16, 2184, [0:8], $output_pin_e_list luaOutputPins3 = bits, U16, 2186, [0:8], $output_pin_e_list luaOutputPins4 = bits, U16, 2188, [0:8], $output_pin_e_list luaOutputPins5 = bits, U16, 2190, [0:8], $output_pin_e_list luaOutputPins6 = bits, U16, 2192, [0:8], $output_pin_e_list luaOutputPins7 = bits, U16, 2194, [0:8], $output_pin_e_list luaOutputPins8 = bits, U16, 2196, [0:8], $output_pin_e_list vvtOffsets1 = scalar, F32, 2200, "value", 1, 0, -720, 1000, 1 vvtOffsets2 = scalar, F32, 2204, "value", 1, 0, -720, 1000, 1 vvtOffsets3 = scalar, F32, 2208, "value", 1, 0, -720, 1000, 1 vvtOffsets4 = scalar, F32, 2212, "value", 1, 0, -720, 1000, 1 vrThreshold1_rpmBins = array, U08, 2216, [6], "rpm", 50.0, 0, 0, 12000, 0 vrThreshold1_values = array, U08, 2222, [6], "volts", 0.01, 0, 0, 2.5, 2 vrThreshold1_pin = bits, U16, 2228, [0:8], $gpio_list vrThreshold2_rpmBins = array, U08, 2232, [6], "rpm", 50.0, 0, 0, 12000, 0 vrThreshold2_values = array, U08, 2238, [6], "volts", 0.01, 0, 0, 2.5, 2 vrThreshold2_pin = bits, U16, 2244, [0:8], $gpio_list gpPwmNote1 = string, ASCII, 2248, 16 gpPwmNote2 = string, ASCII, 2264, 16 gpPwmNote3 = string, ASCII, 2280, 16 gpPwmNote4 = string, ASCII, 2296, 16 tps2SecondaryMin = scalar, U16, 2312, "ADC", 1, 0, 0, 1000, 0 tps2SecondaryMax = scalar, U16, 2314, "ADC", 1, 0, 0, 1000, 0 widebandOnSecondBus = bits, U32, 2316, [0:0], "CAN1", "CAN2" fuelClosedLoopCorrectionEnabled = bits, U32, 2316, [1:1], "false", "true" alwaysWriteSdCard = bits, U32, 2316, [2:2], "false", "true" knockDetectionUseDoubleFrequency = bits, U32, 2316, [3:3], "first harmonic", "second harmonic" yesUnderstandLocking = bits, U32, 2316, [4:4], "no", "yes" silentTriggerError = bits, U32, 2316, [5:5], "false", "true" useLinearCltSensor = bits, U32, 2316, [6:6], "false", "true" canReadEnabled = bits, U32, 2316, [7:7], "false", "true" canWriteEnabled = bits, U32, 2316, [8:8], "false", "true" useLinearIatSensor = bits, U32, 2316, [9:9], "false", "true" enableOilPressureProtect = bits, U32, 2316, [10:10], "false", "true" tachPulseDurationAsDutyCycle = bits, U32, 2316, [11:11], "Constant time", "Duty cycle" isAlternatorControlEnabled = bits, U32, 2316, [12:12], "false", "true" invertPrimaryTriggerSignal = bits, U32, 2316, [13:13], "Rising", "Falling" invertSecondaryTriggerSignal = bits, U32, 2316, [14:14], "Rising", "Falling" cutFuelOnHardLimit = bits, U32, 2316, [15:15], "no", "yes" cutSparkOnHardLimit = bits, U32, 2316, [16:16], "no", "yes" launchFuelCutEnable = bits, U32, 2316, [17:17], "false", "true" launchSparkCutEnable = bits, U32, 2316, [18:18], "false", "true" torqueReductionEnabled = bits, U32, 2316, [19:19], "false", "true" camSyncOnSecondCrankRevolution = bits, U32, 2316, [20:20], "first", "second" limitTorqueReductionTime = bits, U32, 2316, [21:21], "false", "true" verboseIsoTp = bits, U32, 2316, [22:22], "false", "true" engineSnifferFocusOnInputs = bits, U32, 2316, [23:23], "false", "true" twoStroke = bits, U32, 2316, [24:24], "Four Stroke", "Two Stroke" skippedWheelOnCam = bits, U32, 2316, [25:25], "On crankshaft", "On camshaft" acSwitch = bits, U16, 2320, [0:8], $switch_input_pin_e_list acPressureSwitch = bits, U16, 2322, [0:8], $switch_input_pin_e_list vRefAdcChannel = bits, U08, 2324, [0:7], $adc_channel_e_list etbNeutralPosition = scalar, U08, 2325, "%", 1, 0, 0, 100, 0 idleMode = bits, U08, 2326, [0:0], "Open Loop + Closed Loop", "Open Loop" isInjectionEnabled = bits, U32, 2328, [0:0], "false", "true" isIgnitionEnabled = bits, U32, 2328, [1:1], "false", "true" isCylinderCleanupEnabled = bits, U32, 2328, [2:2], "false", "true" complexWallModel = bits, U32, 2328, [3:3], "Basic (constants)", "Advanced (tables)" alwaysInstantRpm = bits, U32, 2328, [4:4], "false", "true" isMapAveragingEnabled = bits, U32, 2328, [5:5], "false", "true" useSeparateAdvanceForIdle = bits, U32, 2328, [6:6], "false", "true" isWaveAnalyzerEnabled = bits, U32, 2328, [7:7], "false", "true" useSeparateVeForIdle = bits, U32, 2328, [8:8], "false", "true" verboseTriggerSynchDetails = bits, U32, 2328, [9:9], "false", "true" hondaK = bits, U32, 2328, [10:10], "false", "true" twoWireBatchIgnition = bits, U32, 2328, [11:11], "false", "true" useFixedBaroCorrFromMap = bits, U32, 2328, [12:12], "false", "true" useSeparateAdvanceForCranking = bits, U32, 2328, [13:13], "Fixed (auto taper)", "Table" useAdvanceCorrectionsForCranking = bits, U32, 2328, [14:14], "false", "true" flexCranking = bits, U32, 2328, [15:15], "false", "true" useIacPidMultTable = bits, U32, 2328, [16:16], "false", "true" isBoostControlEnabled = bits, U32, 2328, [17:17], "false", "true" launchSmoothRetard = bits, U32, 2328, [18:18], "false", "true" isPhaseSyncRequiredForIgnition = bits, U32, 2328, [19:19], "false", "true" useCltBasedRpmLimit = bits, U32, 2328, [20:20], "no", "yes" forceO2Heating = bits, U32, 2328, [21:21], "no", "yes" invertVvtControlIntake = bits, U32, 2328, [22:22], "advance", "retard" invertVvtControlExhaust = bits, U32, 2328, [23:23], "advance", "retard" useBiQuadOnAuxSpeedSensors = bits, U32, 2328, [24:24], "false", "true" sdTriggerLog = bits, U32, 2328, [25:25], "normal", "trigger" stepper_dc_use_two_wires = bits, U32, 2328, [26:26], "false", "true" watchOutForLinearTime = bits, U32, 2328, [27:27], "false", "true" engineChartSize = scalar, U32, 2332, "count", 1, 0, 0, 300, 0 turboSpeedSensorMultiplier = scalar, F32, 2336, "mult", 1, 0, 0, 7000, 3 acIdleRpmTarget = scalar, S16, 2340, "RPM", 1, 0, 0, 2000, 0 warningPeriod = scalar, U08, 2342, "seconds", 1, 0, 0, 60, 0 knockDetectionWindowStart = scalar, S16, 2344, "angle", 0.05, 0, -1000, 1000, 2 idleStepperReactionTime = scalar, U08, 2346, "ms", 1, 0, 1, 254, 0 idleStepperTotalSteps = scalar, S32, 2348, "count", 1, 0, 5, 3000, 0 torqueReductionArmingApp = scalar, S32, 2352, "", 1, 0, 0, 20000, 0 tachPulseDuractionMs = scalar, F32, 2356, "", 1, 0, 0, 100, 2 rotationalIdlePin = bits, U16, 2360, [0:8], $switch_input_pin_e_list wwaeTau = scalar, F32, 2364, "Seconds", 1, 0, 0, 3, 4 alternatorControl_pFactor = scalar, F32, 2368, "", 1, 0, -10000, 10000, 4 alternatorControl_iFactor = scalar, F32, 2372, "", 1, 0, -10000, 10000, 4 alternatorControl_dFactor = scalar, F32, 2376, "", 1, 0, -10000, 10000, 4 alternatorControl_offset = scalar, S16, 2380, "", 1, 0, -1000, 1000, 0 alternatorControl_periodMs = scalar, S16, 2382, "ms", 1, 0, 0, 3000, 0 alternatorControl_minValue = scalar, S16, 2384, "", 1, 0, -30000, 30000, 0 alternatorControl_maxValue = scalar, S16, 2386, "", 1, 0, -30000, 30000, 0 etb_pFactor = scalar, F32, 2388, "", 1, 0, -10000, 10000, 4 etb_iFactor = scalar, F32, 2392, "", 1, 0, -10000, 10000, 4 etb_dFactor = scalar, F32, 2396, "", 1, 0, -10000, 10000, 4 etb_offset = scalar, S16, 2400, "", 1, 0, -1000, 1000, 0 etb_periodMs = scalar, S16, 2402, "ms", 1, 0, 0, 3000, 0 etb_minValue = scalar, S16, 2404, "", 1, 0, -30000, 30000, 0 etb_maxValue = scalar, S16, 2406, "", 1, 0, -30000, 30000, 0 airTaperRpmRange = scalar, S16, 2408, "RPM", 1, 0, 0, 1500, 0 turboSpeedSensorInputPin = bits, U16, 2410, [0:8], $brain_input_pin_e_list tps2Min = scalar, S16, 2412, "ADC", 1, 0, 0, 1023, 0 tps2Max = scalar, S16, 2414, "ADC", 1, 0, 0, 1023, 0 starterControlPin = bits, U16, 2416, [0:8], $output_pin_e_list startStopButtonMode = bits, U08, 2418, [0:2], $pin_input_mode_e_enum mc33816_flag0 = bits, U16, 2420, [0:8], $gpio_list tachPulsePerRev = scalar, U16, 2422, "", 0.001, 0, 0.1, 15, 3 mapErrorDetectionTooLow = scalar, F32, 2424, "kPa", 1, 0, -100, 100, 2 mapErrorDetectionTooHigh = scalar, F32, 2428, "kPa", 1, 0, -100, 800, 2 multisparkSparkDuration = scalar, U16, 2432, "ms", 0.001, 0, 0, 3, 2 multisparkDwell = scalar, U16, 2434, "ms", 0.001, 0, 0, 3, 2 idleRpmPid_pFactor = scalar, F32, 2436, "", 1, 0, -10000, 10000, 4 idleRpmPid_iFactor = scalar, F32, 2440, "", 1, 0, -10000, 10000, 4 idleRpmPid_dFactor = scalar, F32, 2444, "", 1, 0, -10000, 10000, 4 idleRpmPid_offset = scalar, S16, 2448, "", 1, 0, -1000, 1000, 0 idleRpmPid_periodMs = scalar, S16, 2450, "ms", 1, 0, 0, 3000, 0 idleRpmPid_minValue = scalar, S16, 2452, "", 1, 0, -30000, 30000, 0 idleRpmPid_maxValue = scalar, S16, 2454, "", 1, 0, -30000, 30000, 0 wwaeBeta = scalar, F32, 2456, "Fraction", 1, 0, 0, 1, 4 binarySerialTxPin = bits, U16, 2460, [0:8], $gpio_list binarySerialRxPin = bits, U16, 2462, [0:8], $gpio_list auxValves1 = bits, U16, 2464, [0:8], $gpio_list auxValves2 = bits, U16, 2466, [0:8], $gpio_list throttlePedalUpVoltage = scalar, F32, 2468, "voltage", 1, 0, -6, 6, 2 throttlePedalWOTVoltage = scalar, F32, 2472, "voltage", 1, 0, -6, 6, 2 startUpFuelPumpDuration = scalar, U08, 2476, "seconds", 1, 0, 0, 250, 0 idlePidRpmDeadZone = scalar, U08, 2477, "RPM", 5.0, 0, 0, 800, 0 mc33810DisableRecoveryMode = bits, U32, 2480, [0:0], "false", "true" mc33810Gpgd0Mode = bits, U32, 2480, [1:1], "false", "true" mc33810Gpgd1Mode = bits, U32, 2480, [2:2], "false", "true" mc33810Gpgd2Mode = bits, U32, 2480, [3:3], "false", "true" mc33810Gpgd3Mode = bits, U32, 2480, [4:4], "false", "true" enableExtendedCanBroadcast = bits, U32, 2480, [5:5], "false", "true" luaCanRxWorkaround = bits, U32, 2480, [6:6], "false", "true" flexSensorInverted = bits, U32, 2480, [7:7], "Normal", "Inverted" disablemax31855 = bits, U32, 2480, [8:8], "false", "true" enableSlipCalculations = bits, U32, 2480, [9:9], "false", "true" ltftEnableAutoSave = bits, U32, 2480, [10:10], "false", "true" is_enabled_spi_5 = bits, U32, 2480, [11:11], "false", "true" is_enabled_spi_6 = bits, U32, 2480, [12:12], "false", "true" enableAemXSeriesEgt = bits, U32, 2480, [13:13], "false", "true" startRequestPinInverted = bits, U32, 2480, [14:14], "Normal", "Inverted" ltftEnableLiveWrites = bits, U32, 2480, [15:15], "false", "true" accelEnX = bits, U32, 2480, [16:16], "false", "true" accelEnY = bits, U32, 2480, [17:17], "false", "true" accelEnZ = bits, U32, 2480, [18:18], "false", "true" tpsAeFastCallback = bits, U32, 2480, [19:19], "false", "true" accelHighRes = bits, U32, 2480, [20:20], "false", "true" disableProgOutputs = bits, U32, 2480, [21:21], "false", "true" disableMCP3208 = bits, U32, 2480, [22:22], "false", "true" disableINJOK = bits, U32, 2480, [23:23], "false", "true" disableDINP = bits, U32, 2480, [24:24], "false", "true" invertExhaustCamVVTSignal = bits, U32, 2480, [25:25], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 2480, [26:26], "no", "yes" enableKnockSpectrogramFilter = bits, U32, 2480, [27:27], "false", "true" isMapPreAveragingEnabled = bits, U32, 2480, [28:28], "false", "true" iacByTpsTaper = scalar, S16, 2484, "percent", 1, 0, 0, 500, 0 iacByTpsTaperAC = scalar, S16, 2486, "percent", 1, 0, 0, 500, 0 accelerometerCsPin = bits, U16, 2488, [0:8], $gpio_list coastingFuelCutVssLow = scalar, U08, 2490, "kph", 1, 0, 0, 255, 0 coastingFuelCutVssHigh = scalar, U08, 2491, "kph", 1, 0, 0, 255, 0 tpsAccelEnrichmentThreshold = scalar, F32, 2492, "roc", 1, 0, 0, 200, 3 auxSpeedSensorInputPin1 = bits, U16, 2496, [0:8], $brain_input_pin_e_list auxSpeedSensorInputPin2 = bits, U16, 2498, [0:8], $brain_input_pin_e_list auxSpeedSensorInputPin3 = bits, U16, 2500, [0:8], $brain_input_pin_e_list auxSpeedSensorInputPin4 = bits, U16, 2502, [0:8], $brain_input_pin_e_list totalGearsCount = scalar, U08, 2504, "", 1, 0, 1, 10, 0 injectionTimingMode = bits, U08, 2505, [0:1], "End of injection", "Start of injection", "Center of injection", "INVALID" injAdvAssistStepDeg = scalar, S08, 2506, "deg", 0.1, 0, -12, 12, 1 injAdvAssistStepCycles = scalar, U08, 2507, "engine cycles", 1, 0, 1, 250, 0 injAdvAssistMinRpm = scalar, U08, 2508, "RPM", 100.0, 0, 0, 25000, 0 injAdvAssistMaxRpm = scalar, U08, 2509, "RPM", 100.0, 0, 0, 25000, 0 injAdvAssistStartDeg = scalar, S16, 2510, "deg", 1, 0, -720, 720, 0 injAdvAssistEndDeg = scalar, S16, 2512, "deg", 1, 0, -720, 720, 0 debugMode = bits, U08, 2514, [0:5], "INVALID", "TPS acceleration enrichment", "INVALID", "Stepper Idle Control", "Engine Load accl enrich", "Trigger Counters", "Soft Spark Cut", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "SD card", "sr5", "Knock", "INVALID", "Electronic Throttle", "Executor", "Bench Test / TS commands", "INVALID", "Analog inputs #1", "INSTANT_RPM", "INVALID", "Status", "INVALID", "INVALID", "MAP", "Metrics", "INVALID", "Ion Sense", "TLE8888", "Analog inputs #2", "Dwell Metric", "INVALID", "INVALID", "Boost Control", "INVALID", "INVALID", "ETB Autotune", "Composite Log", "INVALID", "INVALID", "INVALID", "Dyno_View", "Logic_Analyzer", "INVALID", "TCU", "Lua", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" fan1TempBins = array, S08, 2515, [8], "C", 1, 0, -40, 120, 0 fan1PwmValues = array, U08, 2523, [8], "%", 0.5, 0, 0, 100, 1 uartConsoleSerialSpeed = scalar, U32, 2532, "BPs", 1, 0, 0, 1000000, 0 throttlePedalSecondaryUpVoltage = scalar, F32, 2536, "volts", 1, 0, -6, 6, 2 throttlePedalSecondaryWOTVoltage = scalar, F32, 2540, "volts", 1, 0, -6, 6, 2 canBaudRate = bits, U08, 2544, [0:2], "33.33kbps", "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" veOverrideMode = bits, U08, 2545, [0:1], "None", "MAP", "TPS", "PERCENT BARO" can2BaudRate = bits, U08, 2546, [0:2], "33.33kbps", "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" afrOverrideMode = bits, U08, 2547, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %", "MAFAirChargeLoad", "Percent Baro", "INVALID" mc33_hpfp_i_peak = scalar, U08, 2548, "A", 0.1, 0, 0, 25, 1 mc33_hpfp_i_hold = scalar, U08, 2549, "A", 0.1, 0, 0, 25, 1 mc33_hpfp_i_hold_off = scalar, U08, 2550, "us", 1, 0, 0, 255, 0 mc33_hpfp_max_hold = scalar, U08, 2551, "ms", 1, 0, 0, 255, 0 stepperDcInvertedPins = bits, U32, 2552, [0:0], "false", "true" canOpenBLT = bits, U32, 2552, [1:1], "false", "true" can2OpenBLT = bits, U32, 2552, [2:2], "false", "true" injectorFlowAsMassFlow = bits, U32, 2552, [3:3], "cc/min", "grams per second" boardUseCanTerminator = bits, U32, 2552, [4:4], "false", "true" kLineDoHondaSend = bits, U32, 2552, [5:5], "false", "true" can1ListenMode = bits, U32, 2552, [6:6], "false", "true" can2ListenMode = bits, U32, 2552, [7:7], "false", "true" epicCanEcuReadONLYONWrite = bits, U32, 2552, [8:8], "false", "true" sdPrecentBaroMode = bits, U32, 2552, [9:9], "false", "true" guessCamCheck1 = bits, U32, 2552, [10:10], "false", "true" guessCamCheck2 = bits, U32, 2552, [11:11], "false", "true" MAFMAPMAXAirmass = bits, U32, 2552, [12:12], "false", "true" ltftLiveWritesRefreshTs = bits, U32, 2552, [13:13], "false", "true" overrideUaefiVbat = bits, U32, 2552, [14:14], "false", "true" disableIncorporateAFR = bits, U32, 2552, [15:15], "false", "true" overboostCutSparkInstead = bits, U32, 2552, [16:16], "false", "true" overboostCutBoth = bits, U32, 2552, [17:17], "false", "true" overboostSparkDropFeather = bits, U32, 2552, [18:18], "false", "true" cel_sensor_checking = bits, U32, 2552, [19:19], "false", "true" cel_on_not_running = bits, U32, 2552, [20:20], "false", "true" cel_map_sensor_checking = bits, U32, 2552, [21:21], "false", "true" cel_iat_sensor_checking = bits, U32, 2552, [22:22], "false", "true" cel_clt_sensor_checking = bits, U32, 2552, [23:23], "false", "true" cel_tps_sensor_checking = bits, U32, 2552, [24:24], "false", "true" cel_battery_sensor_checking = bits, U32, 2552, [25:25], "false", "true" cel_afr0_sensor_checking = bits, U32, 2552, [26:26], "false", "true" cel_sync_loss_sensor_checking = bits, U32, 2552, [27:27], "false", "true" cel_error_codes_checking = bits, U32, 2552, [28:28], "false", "true" cel_oil_temp_sensor_checking = bits, U32, 2552, [29:29], "false", "true" cel_oil_pressure_sensor_checking = bits, U32, 2552, [30:30], "false", "true" cel_fuel_pressure_sensor_checking = bits, U32, 2552, [31:31], "false", "true" cel_sync_loss_tolerance = scalar, U08, 2556, "#", 1, 0, 0, 255, 0 cel_battery_minv = scalar, U08, 2557, "#", 0.1, 0, 0, 25, 1 cel_battery_maxv = scalar, U08, 2558, "#", 0.1, 0, 0, 25, 1 cel_map_min_v = scalar, U08, 2559, "V", 0.02, 0, 0, 5, 2 cel_map_max_v = scalar, U08, 2560, "V", 0.02, 0, 0, 5, 2 cel_iat_min_v = scalar, U08, 2561, "V", 0.02, 0, 0, 5, 2 cel_iat_max_v = scalar, U08, 2562, "V", 0.02, 0, 0, 5, 2 cel_iat_max_c = scalar, U08, 2563, "C", 1, 0, 0, 255, 0 cel_clt_min_v = scalar, U08, 2564, "V", 0.02, 0, 0, 5, 2 cel_clt_max_v = scalar, U08, 2565, "V", 0.02, 0, 0, 5, 2 cel_clt_max_c = scalar, U08, 2566, "C", 1, 0, 0, 255, 0 cel_tps_min_v = scalar, U08, 2567, "V", 0.02, 0, 0, 5, 2 cel_tps_max_v = scalar, U08, 2568, "V", 0.02, 0, 0, 5, 2 cel_afr_min_v = scalar, U08, 2569, "V", 0.02, 0, 0, 5, 2 cel_afr_max_v = scalar, U08, 2570, "V", 0.02, 0, 0, 5, 2 cel_oil_temp_min_v = scalar, U08, 2571, "V", 0.02, 0, 0, 5, 2 cel_oil_temp_max_v = scalar, U08, 2572, "V", 0.02, 0, 0, 5, 2 cel_oil_temp_max_c = scalar, U08, 2573, "C", 1, 0, 0, 255, 0 cel_oil_pressure_min_v = scalar, U08, 2574, "V", 0.02, 0, 0, 5, 2 cel_oil_pressure_min_kpa = scalar, U08, 2575, "kpa", 1, 0, 0, 250, 0 cel_oil_pressure_max_v = scalar, U08, 2576, "V", 0.02, 0, 0, 5, 2 cel_fuel_pressure_min_v = scalar, U08, 2577, "V", 0.02, 0, 0, 5, 2 cel_fuel_pressure_max_v = scalar, U08, 2578, "V", 0.02, 0, 0, 5, 2 cel_maf_min_v = scalar, U08, 2579, "V", 0.02, 0, 0, 5, 2 cel_maf_max_v = scalar, U08, 2580, "V", 0.02, 0, 0, 5, 2 cel_any_cut_time = scalar, U08, 2581, "s", 1, 0, 0, 255, 0 cel_maf_sensor_checking = bits, U32, 2584, [0:0], "false", "true" cel_any_cut_checking = bits, U32, 2584, [1:1], "false", "true" cel_fuel_pump_prime_checking = bits, U32, 2584, [2:2], "false", "true" cel_shiftlight_flash = bits, U32, 2584, [3:3], "false", "true" als_switch_uses_timeout = bits, U32, 2584, [4:4], "false", "true" noFuelUntilOilPressure = bits, U32, 2584, [5:5], "false", "true" cruiseControlEnablePinInverted = bits, U32, 2584, [6:6], "false", "true" cruiseControlSetPinInverted = bits, U32, 2584, [7:7], "false", "true" cruiseControlResumePinInverted = bits, U32, 2584, [8:8], "false", "true" cruiseControlIncPinInverted = bits, U32, 2584, [9:9], "false", "true" cruiseControlDecPinInverted = bits, U32, 2584, [10:10], "false", "true" cruiseControlOffPinInverted = bits, U32, 2584, [11:11], "false", "true" canMatchEnabled = bits, U32, 2584, [12:12], "false", "true" canCheckedDigitalEnable = bits, U32, 2584, [13:13], "false", "true" enablePreSyncFuel = bits, U32, 2584, [14:14], "false", "true" universalCam1SyncNeeded = bits, U32, 2584, [15:15], "false", "true" universalCam2SyncNeeded = bits, U32, 2584, [16:16], "false", "true" dfcoEgoPauseOrDisableSTFT = bits, U32, 2584, [17:17], "false", "true" useAbsolutePressureForLagTime = bits, U32, 2584, [18:18], "no", "yes" debouncedAc = bits, U32, 2584, [19:19], "false", "true" customCanVSS = bits, U32, 2584, [20:20], "false", "true" canVssFLEnabled = bits, U32, 2584, [21:21], "false", "true" canVssFREnabled = bits, U32, 2584, [22:22], "false", "true" canVssRLEnabled = bits, U32, 2584, [23:23], "false", "true" canVssRREnabled = bits, U32, 2584, [24:24], "false", "true" canWheelFLBitEndianness = bits, U32, 2584, [25:25], " little", " big" canWheelFRBitEndianness = bits, U32, 2584, [26:26], " little", " big" canWheelRLBitEndianness = bits, U32, 2584, [27:27], " little", " big" canWheelRRBitEndianness = bits, U32, 2584, [28:28], " little", " big" total_shift_no_rpm_reset = bits, U32, 2584, [29:29], "false", "true" use_honda_k_ac = bits, U32, 2584, [30:30], "false", "true" ignore_no_etb_error = bits, U32, 2584, [31:31], "false", "true" cel_shiftlight_flash_freq = scalar, U08, 2588, "Hz", 0.1, 0, 0, 20, 1 klineAcDebounceTime = scalar, U08, 2589, "sec", 0.01, 0, 0, 2.5, 2 cel_shiftlight_threshold = scalar, U16, 2590, "rpm", 1, 0, 0, 65000, 0 cel_shiftlight_checking = bits, U32, 2592, [0:0], "false", "true" launch_control_driver_intent_tps = bits, U32, 2592, [1:1], "false", "true" canCheckedAnalogEnable = bits, U32, 2592, [2:2], "false", "true" u1493_4 = bits, U32, 2592, [3:3], "false", "true" u1493_5 = bits, U32, 2592, [4:4], "false", "true" u1493_6 = bits, U32, 2592, [5:5], "false", "true" u1493_7 = bits, U32, 2592, [6:6], "false", "true" u1493_8 = bits, U32, 2592, [7:7], "false", "true" u1493_9 = bits, U32, 2592, [8:8], "false", "true" u1493_10 = bits, U32, 2592, [9:9], "false", "true" u1493_11 = bits, U32, 2592, [10:10], "false", "true" u1493_12 = bits, U32, 2592, [11:11], "false", "true" u1493_13 = bits, U32, 2592, [12:12], "false", "true" u1493_14 = bits, U32, 2592, [13:13], "false", "true" u1493_15 = bits, U32, 2592, [14:14], "false", "true" u1493_16 = bits, U32, 2592, [15:15], "false", "true" u1493_17 = bits, U32, 2592, [16:16], "false", "true" u1493_18 = bits, U32, 2592, [17:17], "false", "true" u1493_19 = bits, U32, 2592, [18:18], "false", "true" u1493_20 = bits, U32, 2592, [19:19], "false", "true" u1493_21 = bits, U32, 2592, [20:20], "false", "true" u1493_22 = bits, U32, 2592, [21:21], "false", "true" u1493_23 = bits, U32, 2592, [22:22], "false", "true" u1493_24 = bits, U32, 2592, [23:23], "false", "true" u1493_25 = bits, U32, 2592, [24:24], "false", "true" u1493_26 = bits, U32, 2592, [25:25], "false", "true" u1493_27 = bits, U32, 2592, [26:26], "false", "true" u1493_28 = bits, U32, 2592, [27:27], "false", "true" u1493_29 = bits, U32, 2592, [28:28], "false", "true" u1493_30 = bits, U32, 2592, [29:29], "false", "true" u1493_31 = bits, U32, 2592, [30:30], "false", "true" u1493_32 = bits, U32, 2592, [31:31], "false", "true" cel_shiftlight_threshold_hysteresis = scalar, U08, 2596, "rpm", 5.0, 0, 0, 1200, 0 cel_shiftlight_tps_threshold = scalar, U08, 2597, "tps", 0.5, 0, 0, 100, 1 camDecoder2jzPosition = scalar, U16, 2598, "angle", 1, 0, 0, 360, 0 mc33810maxDwellTimer = bits, U08, 2600, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS", "INVALID", "INVALID" benchTestOnTime = scalar, U32, 2604, "ms", 0.001, 0, 0.001, 60000, 3 lambdaProtectionRestoreTps = scalar, U08, 2608, "%", 1, 0, 0, 100, 0 lambdaProtectionRestoreLoad = scalar, U08, 2609, "%", 10.0, 0, 0, 650, 0 launchActivatePinMode = bits, U08, 2610, [0:2], $pin_input_mode_e_enum launchActivatePinRpmLockMode = bits, U08, 2611, [0:2], $pin_input_mode_e_enum can2TxPin = bits, U16, 2612, [0:8], $gpio_list can2RxPin = bits, U16, 2614, [0:8], $gpio_list starterControlPinMode = bits, U08, 2616, [0:1], $pin_output_mode_e_enum wastegatePositionSensor = bits, U08, 2617, [0:7], $adc_channel_e_list ignOverrideMode = bits, U08, 2618, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %", "MAFAirChargeLoad", "Percent Baro", "INVALID" injectorPressureType = bits, U08, 2619, [0:0], "Low", "High" hpfpValvePin = bits, U16, 2620, [0:8], $output_pin_e_list hpfpValvePinMode = bits, U08, 2622, [0:1], $pin_output_mode_e_enum boostCutPressure = scalar, U16, 2624, "kPa (absolute)", 1, 0, 0, 650, 0 boostCutPressureFeather = scalar, U16, 2626, "kPa (absolute)", 1, 0, 0, 650, 0 tchargeBins = array, U08, 2628, [16], "kg/h", 5.0, 0, 0, 1200, 0 tchargeValues = array, U08, 2644, [16], "ratio", 0.01, 0, 0, 1, 2 fixedTiming = scalar, F32, 2660, "deg", 1, 0, -720, 720, 2 baroLowValueVoltage = scalar, F32, 2664, "v", 1, 0, 0, 10, 2 baroHighValueVoltage = scalar, F32, 2668, "v", 1, 0, 0, 10, 2 mapLowValueVoltage = scalar, F32, 2672, "v", 1, 0, 0, 10, 2 mapHighValueVoltage = scalar, F32, 2676, "v", 1, 0, 0, 10, 2 mappreLowValueVoltage = scalar, F32, 2680, "v", 1, 0, 0, 10, 2 mappreHighValueVoltage = scalar, F32, 2684, "v", 1, 0, 0, 10, 2 egoValueShift = scalar, F32, 2688, "value", 1, 0, -10, 10, 3 vvtPins1 = bits, U16, 2692, [0:8], $output_pin_e_list vvtPins2 = bits, U16, 2694, [0:8], $output_pin_e_list vvtPins3 = bits, U16, 2696, [0:8], $output_pin_e_list vvtPins4 = bits, U16, 2698, [0:8], $output_pin_e_list tChargeMinRpmMinTps = scalar, U08, 2700, "", 0.005, 0, 0, 1, 3 tChargeMinRpmMaxTps = scalar, U08, 2701, "", 0.005, 0, 0, 1, 3 tChargeMaxRpmMinTps = scalar, U08, 2702, "", 0.005, 0, 0, 1, 3 tChargeMaxRpmMaxTps = scalar, U08, 2703, "", 0.005, 0, 0, 1, 3 vvtOutputFrequency = scalar, U16, 2704, "Hz", 1, 0, 0, 3000, 0 minimumIgnitionTiming = scalar, S08, 2706, "deg BTDC", 1, 0, -90, 90, 0 maximumIgnitionTiming = scalar, S08, 2707, "deg BTDC", 1, 0, -90, 90, 0 alternatorPwmFrequency = scalar, S32, 2708, "Hz", 1, 0, 0, 3000, 0 vvtMode1 = bits, U08, 2712, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth Even/2JZ", "Miata NB2", "Mitsu 4G69", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "Sync by MAP", "Chrysler Phaser", "Mazda Skyactiv", "Honda K Exhaust", "INVALID", "Mitsubishi 4G63", "Ford Coyote", "Mitsu 6G72", "Honda 600", "Mazda L", "Dev", "HR12DDR In", "INVALID", "INVALID", "Toyota 3 Tooth UZ", "Subaru 3-1-2-1", "INVALID", "INVALID", "Sync By Trying", "BMW N5x Cam", "Universal Cam 1", "Universal Cam 2", "BMW N63TU", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" vvtMode2 = bits, U08, 2713, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth Even/2JZ", "Miata NB2", "Mitsu 4G69", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "Sync by MAP", "Chrysler Phaser", "Mazda Skyactiv", "Honda K Exhaust", "INVALID", "Mitsubishi 4G63", "Ford Coyote", "Mitsu 6G72", "Honda 600", "Mazda L", "Dev", "HR12DDR In", "INVALID", "INVALID", "Toyota 3 Tooth UZ", "Subaru 3-1-2-1", "INVALID", "INVALID", "Sync By Trying", "BMW N5x Cam", "Universal Cam 1", "Universal Cam 2", "BMW N63TU", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" fan2TempBins = array, S08, 2714, [8], "C", 1, 0, -40, 120, 0 fan2PwmValues = array, U08, 2722, [8], "%", 0.5, 0, 0, 100, 1 waterPumpTempBins = array, S08, 2730, [8], "C", 1, 0, -40, 120, 0 waterPumpPwmValues = array, U08, 2738, [8], "%", 0.5, 0, 0, 100, 1 waterPump2TempBins = array, S08, 2746, [8], "C", 1, 0, -40, 120, 0 waterPump2PwmValues = array, U08, 2754, [8], "%", 0.5, 0, 0, 100, 1 primingDelay = scalar, U08, 2762, "sec", 0.01, 0, 0, 1, 2 auxAnalogInputs1 = bits, U08, 2763, [0:7], $adc_channel_e_list auxAnalogInputs2 = bits, U08, 2764, [0:7], $adc_channel_e_list auxAnalogInputs3 = bits, U08, 2765, [0:7], $adc_channel_e_list auxAnalogInputs4 = bits, U08, 2766, [0:7], $adc_channel_e_list auxAnalogInputs5 = bits, U08, 2767, [0:7], $adc_channel_e_list auxAnalogInputs6 = bits, U08, 2768, [0:7], $adc_channel_e_list auxAnalogInputs7 = bits, U08, 2769, [0:7], $adc_channel_e_list auxAnalogInputs8 = bits, U08, 2770, [0:7], $adc_channel_e_list trailingCoilPins1 = bits, U16, 2772, [0:8], $output_pin_e_list trailingCoilPins2 = bits, U16, 2774, [0:8], $output_pin_e_list trailingCoilPins3 = bits, U16, 2776, [0:8], $output_pin_e_list trailingCoilPins4 = bits, U16, 2778, [0:8], $output_pin_e_list trailingCoilPins5 = bits, U16, 2780, [0:8], $output_pin_e_list trailingCoilPins6 = bits, U16, 2782, [0:8], $output_pin_e_list trailingCoilPins7 = bits, U16, 2784, [0:8], $output_pin_e_list trailingCoilPins8 = bits, U16, 2786, [0:8], $output_pin_e_list tle8888mode = bits, U08, 2788, [0:1], "Auto", "SemiAuto", "Manual", "Hall" accelerometerCsPinMode = bits, U08, 2789, [0:1], $pin_output_mode_e_enum injectorCompensationMode = bits, U08, 2790, [0:1], "Manifold Referenced Pressure Regulator", "Returnless fuel system", "Sensed Rail Pressure", "INVALID" fuelReferencePressure = scalar, F32, 2792, "kPa", 1, 0, 50, 700000, 0 auxTempSensor1_tempC_1 = scalar, F32, 2796, "*C", 1, 0, -55, 200, 1 auxTempSensor1_tempC_2 = scalar, F32, 2800, "*C", 1, 0, -55, 200, 1 auxTempSensor1_tempC_3 = scalar, F32, 2804, "*C", 1, 0, -55, 200, 1 auxTempSensor1_resistance_1 = scalar, F32, 2808, "Ohm", 1, 0, 0, 1000000, 1 auxTempSensor1_resistance_2 = scalar, F32, 2812, "Ohm", 1, 0, 0, 1000000, 1 auxTempSensor1_resistance_3 = scalar, F32, 2816, "Ohm", 1, 0, 0, 1000000, 1 auxTempSensor1_bias_resistor = scalar, F32, 2820, "Ohm", 1, 0, 0, 200000, 1 auxTempSensor1_adcChannel = bits, U08, 2824, [0:7], $adc_channel_e_list auxTempSensor2_tempC_1 = scalar, F32, 2828, "*C", 1, 0, -55, 200, 1 auxTempSensor2_tempC_2 = scalar, F32, 2832, "*C", 1, 0, -55, 200, 1 auxTempSensor2_tempC_3 = scalar, F32, 2836, "*C", 1, 0, -55, 200, 1 auxTempSensor2_resistance_1 = scalar, F32, 2840, "Ohm", 1, 0, 0, 1000000, 1 auxTempSensor2_resistance_2 = scalar, F32, 2844, "Ohm", 1, 0, 0, 1000000, 1 auxTempSensor2_resistance_3 = scalar, F32, 2848, "Ohm", 1, 0, 0, 1000000, 1 auxTempSensor2_bias_resistor = scalar, F32, 2852, "Ohm", 1, 0, 0, 200000, 1 auxTempSensor2_adcChannel = bits, U08, 2856, [0:7], $adc_channel_e_list knockSamplingDuration = scalar, S16, 2860, "Deg", 1, 0, 0, 720, 0 etbFreq = scalar, S16, 2862, "Hz", 1, 0, 0, 25000, 0 etbWastegatePid_pFactor = scalar, F32, 2864, "", 1, 0, -10000, 10000, 4 etbWastegatePid_iFactor = scalar, F32, 2868, "", 1, 0, -10000, 10000, 4 etbWastegatePid_dFactor = scalar, F32, 2872, "", 1, 0, -10000, 10000, 4 etbWastegatePid_offset = scalar, S16, 2876, "", 1, 0, -1000, 1000, 0 etbWastegatePid_periodMs = scalar, S16, 2878, "ms", 1, 0, 0, 3000, 0 etbWastegatePid_minValue = scalar, S16, 2880, "", 1, 0, -30000, 30000, 0 etbWastegatePid_maxValue = scalar, S16, 2882, "", 1, 0, -30000, 30000, 0 stepperNumMicroSteps = bits, U08, 2884, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" stepperMinDutyCycle = scalar, U08, 2885, "%", 1, 0, 0, 100, 0 stepperMaxDutyCycle = scalar, U08, 2886, "%", 1, 0, 0, 100, 0 sdCardSpiDevice = bits, U08, 2887, [0:2], $spi_device_e_enum timing_offset_cylinder1 = scalar, F32, 2888, "deg", 1, 0, -720, 720, 1 timing_offset_cylinder2 = scalar, F32, 2892, "deg", 1, 0, -720, 720, 1 timing_offset_cylinder3 = scalar, F32, 2896, "deg", 1, 0, -720, 720, 1 timing_offset_cylinder4 = scalar, F32, 2900, "deg", 1, 0, -720, 720, 1 timing_offset_cylinder5 = scalar, F32, 2904, "deg", 1, 0, -720, 720, 1 timing_offset_cylinder6 = scalar, F32, 2908, "deg", 1, 0, -720, 720, 1 timing_offset_cylinder7 = scalar, F32, 2912, "deg", 1, 0, -720, 720, 1 timing_offset_cylinder8 = scalar, F32, 2916, "deg", 1, 0, -720, 720, 1 idlePidActivationTime = scalar, F32, 2920, "seconds", 1, 0, 0, 60, 1 vvtControlMinClt = scalar, S08, 2924, "deg C", 1, 0, -40, 120, 0 spi1SckMode = bits, U08, 2925, [0:6], $pin_mode_e_enum spi1MosiMode = bits, U08, 2926, [0:6], $pin_mode_e_enum spi1MisoMode = bits, U08, 2927, [0:6], $pin_mode_e_enum spi2SckMode = bits, U08, 2928, [0:6], $pin_mode_e_enum spi2MosiMode = bits, U08, 2929, [0:6], $pin_mode_e_enum spi2MisoMode = bits, U08, 2930, [0:6], $pin_mode_e_enum spi3SckMode = bits, U08, 2931, [0:6], $pin_mode_e_enum spi3MosiMode = bits, U08, 2932, [0:6], $pin_mode_e_enum spi3MisoMode = bits, U08, 2933, [0:6], $pin_mode_e_enum ecumasterEgtToCanBaseId = scalar, U16, 2934, "", 1, 0, 0, 32000, 0 stepperEnablePinMode = bits, U08, 2936, [0:1], $pin_output_mode_e_enum mc33816_rstb = bits, U16, 2938, [0:8], $gpio_list mc33816_driven = bits, U16, 2940, [0:8], $gpio_list brakePedalPin = bits, U16, 2942, [0:8], $switch_input_pin_e_list auxPid1_pFactor = scalar, F32, 2944, "", 1, 0, -10000, 10000, 4 auxPid1_iFactor = scalar, F32, 2948, "", 1, 0, -10000, 10000, 4 auxPid1_dFactor = scalar, F32, 2952, "", 1, 0, -10000, 10000, 4 auxPid1_offset = scalar, S16, 2956, "", 1, 0, -1000, 1000, 0 auxPid1_periodMs = scalar, S16, 2958, "ms", 1, 0, 0, 3000, 0 auxPid1_minValue = scalar, S16, 2960, "", 1, 0, -30000, 30000, 0 auxPid1_maxValue = scalar, S16, 2962, "", 1, 0, -30000, 30000, 0 auxPid2_pFactor = scalar, F32, 2964, "", 1, 0, -10000, 10000, 4 auxPid2_iFactor = scalar, F32, 2968, "", 1, 0, -10000, 10000, 4 auxPid2_dFactor = scalar, F32, 2972, "", 1, 0, -10000, 10000, 4 auxPid2_offset = scalar, S16, 2976, "", 1, 0, -1000, 1000, 0 auxPid2_periodMs = scalar, S16, 2978, "ms", 1, 0, 0, 3000, 0 auxPid2_minValue = scalar, S16, 2980, "", 1, 0, -30000, 30000, 0 auxPid2_maxValue = scalar, S16, 2982, "", 1, 0, -30000, 30000, 0 primeBins = array, S08, 2984, [8], "C", 5.0, 0, -40, 250, 0 oilPressure_hwChannel = bits, U08, 2992, [0:7], $adc_channel_e_list oilPressure_v1 = scalar, F32, 2996, "volts", 1, 0, 0, 10, 2 oilPressure_value1 = scalar, F32, 3000, "", 1, 0, -100000, 1000000, 2 oilPressure_v2 = scalar, F32, 3004, "volts", 1, 0, 0, 10, 2 oilPressure_value2 = scalar, F32, 3008, "", 1, 0, -100000, 1000000, 2 accelerometerSpiDevice = bits, U08, 3012, [0:2], $spi_device_e_enum stepperEnablePin = bits, U16, 3014, [0:8], $gpio_list tle8888_cs = bits, U16, 3016, [0:8], $gpio_list tle8888_csPinMode = bits, U08, 3018, [0:1], $pin_output_mode_e_enum mc33816_cs = bits, U16, 3020, [0:8], $gpio_list auxFrequencyFilter = scalar, U08, 3022, "hz" , 0.5, 0, 0, 100, 1 sentInputPins1 = bits, U16, 3024, [0:8], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15", "PJ0", "PJ1", "PJ2", "PJ3", "PJ4", "PJ5", "PJ6", "PJ7", "PJ8", "PJ9", "PJ10", "PJ11", "PJ12", "PJ13", "PJ14", "PJ15", "PK0", "PK1", "PK2", "PK3", "PK4", "PK5", "PK6", "PK7", "PK8", "PK9", "PK10", "PK11", "PK12", "PK13", "PK14", "PK15", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" coastingFuelCutRpmHigh = scalar, S16, 3026, "rpm", 1, 0, 0, 5000, 0 coastingFuelCutRpmLow = scalar, S16, 3028, "rpm", 1, 0, 0, 5000, 0 coastingFuelCutTps = scalar, S16, 3030, "%", 1, 0, 0, 20, 0 coastingFuelCutClt = scalar, S16, 3032, "C", 1, 0, -100, 250, 0 pidExtraForLowRpm = scalar, S16, 3034, "%", 1, 0, 0, 100, 0 coastingFuelCutMap = scalar, S16, 3036, "kPa", 1, 0, 0, 650, 0 triggerSkipPulses = scalar, U08, 3038, "count", 1, 0, 0, 250, 0 highPressureFuel_hwChannel = bits, U08, 3040, [0:7], $adc_channel_e_list highPressureFuel_v1 = scalar, F32, 3044, "volts", 1, 0, 0, 10, 2 highPressureFuel_value1 = scalar, F32, 3048, "", 1, 0, -100000, 1000000, 2 highPressureFuel_v2 = scalar, F32, 3052, "volts", 1, 0, 0, 10, 2 highPressureFuel_value2 = scalar, F32, 3056, "", 1, 0, -100000, 1000000, 2 lowPressureFuel_hwChannel = bits, U08, 3060, [0:7], $adc_channel_e_list lowPressureFuel_v1 = scalar, F32, 3064, "volts", 1, 0, 0, 10, 2 lowPressureFuel_value1 = scalar, F32, 3068, "", 1, 0, -100000, 1000000, 2 lowPressureFuel_v2 = scalar, F32, 3072, "volts", 1, 0, 0, 10, 2 lowPressureFuel_value2 = scalar, F32, 3076, "", 1, 0, -100000, 1000000, 2 tChargeAirCoefMin = scalar, F32, 3080, "", 1, 0, 0, 1, 3 tChargeAirCoefMax = scalar, F32, 3084, "", 1, 0, 0, 1, 3 tChargeAirFlowMax = scalar, F32, 3088, "kg/h", 1, 0, 0, 1000, 1 tChargeAirIncrLimit = scalar, F32, 3092, "deg/sec", 1, 0, 0, 100, 1 tChargeAirDecrLimit = scalar, F32, 3096, "deg/sec", 1, 0, 0, 100, 1 etb_iTermMin = scalar, S16, 3100, "", 1, 0, -30000, 30000, 0 etb_iTermMax = scalar, S16, 3102, "", 1, 0, -30000, 30000, 0 idleTimingPid_pFactor = scalar, F32, 3104, "", 1, 0, -10000, 10000, 4 idleTimingPid_iFactor = scalar, F32, 3108, "", 1, 0, -10000, 10000, 4 idleTimingPid_dFactor = scalar, F32, 3112, "", 1, 0, -10000, 10000, 4 idleTimingPid_offset = scalar, S16, 3116, "", 1, 0, -1000, 1000, 0 idleTimingPid_periodMs = scalar, S16, 3118, "ms", 1, 0, 0, 3000, 0 idleTimingPid_minValue = scalar, S16, 3120, "", 1, 0, -30000, 30000, 0 idleTimingPid_maxValue = scalar, S16, 3122, "", 1, 0, -30000, 30000, 0 idleTimingSoftEntryTime = scalar, F32, 3124, "sec", 1, 0, 0, 100, 1 torqueReductionTriggerPinMode = bits, U08, 3128, [0:2], $pin_input_mode_e_enum torqueReductionActivationMode = bits, S08, 3129, [0:1], "Torque Reduction Button", "Launch Button", "Clutch Down Switch", "Clutch Up Switch" tpsAccelFractionPeriod = scalar, S16, 3130, "cycles", 1, 0, 0, 500, 0 tpsAccelFractionDivisor = scalar, F32, 3132, "coef", 1, 0, 1, 100, 2 tle8888spiDevice = bits, U08, 3136, [0:2], $spi_device_e_enum mc33816spiDevice = bits, U08, 3137, [0:2], $spi_device_e_enum idlerpmpid_iTermMin = scalar, S16, 3138, "", 1, 0, -30000, 30000, 0 tle6240spiDevice = bits, U08, 3140, [0:2], $spi_device_e_enum stoichRatioPrimary = scalar, U08, 3141, ":1", 0.1, 0, 5, 25, 1 idlerpmpid_iTermMax = scalar, S16, 3142, "", 1, 0, -30000, 30000, 0 etbIdleThrottleRange = scalar, U08, 3144, "%", 0.2, 0, 0, 45, 0 cylinderBankSelect1 = scalar, U08, 3145, "", 1, 1, 1, 2, 0 cylinderBankSelect2 = scalar, U08, 3146, "", 1, 1, 1, 2, 0 cylinderBankSelect3 = scalar, U08, 3147, "", 1, 1, 1, 2, 0 cylinderBankSelect4 = scalar, U08, 3148, "", 1, 1, 1, 2, 0 cylinderBankSelect5 = scalar, U08, 3149, "", 1, 1, 1, 2, 0 cylinderBankSelect6 = scalar, U08, 3150, "", 1, 1, 1, 2, 0 cylinderBankSelect7 = scalar, U08, 3151, "", 1, 1, 1, 2, 0 cylinderBankSelect8 = scalar, U08, 3152, "", 1, 1, 1, 2, 0 primeValues = array, U08, 3153, [8], "mg", 5.0, 0, 0, 1250, 0 triggerCompCenterVolt = scalar, U08, 3161, "V", 0.02, 0, 0, 5.1, 2 triggerCompHystMin = scalar, U08, 3162, "V", 0.02, 0, 0, 5.1, 2 triggerCompHystMax = scalar, U08, 3163, "V", 0.02, 0, 0, 5.1, 2 triggerCompSensorSatRpm = scalar, U08, 3164, "RPM", 50.0, 0, 0, 12000, 0 canVssNbcType = bits, U08, 3165, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9", "INVALID", "INVALID" gppwm1_pin = bits, U16, 3168, [0:8], $output_pin_e_list gppwm1_dutyIfError = scalar, U08, 3170, "%", 1, 0, 0, 100, 0 gppwm1_pwmFrequency = scalar, U16, 3172, "hz", 1, 0, 0, 500, 0 gppwm1_onAboveDuty = scalar, U08, 3174, "%", 1, 0, 0, 100, 0 gppwm1_offBelowDuty = scalar, U08, 3175, "%", 1, 0, 0, 100, 0 gppwm1_loadAxis = bits, U08, 3176, [0:5], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 In Actual", "VVT 1 Ex Actual", "VVT 2 In Actual", "VVT 2 Ex Actual", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)", "Baro pressure", "EGT 1", "EGT 2", "Aux Linear 3", "Aux Linear 4", "Vehicle speed", "Oil pressure", "Oil temp", "Fuel Pressure", "Throttle Ratio", "Percent Baro", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" gppwm1_rpmAxis = bits, U08, 3177, [0:5], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 In Actual", "VVT 1 Ex Actual", "VVT 2 In Actual", "VVT 2 Ex Actual", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)", "Baro pressure", "EGT 1", "EGT 2", "Aux Linear 3", "Aux Linear 4", "Vehicle speed", "Oil pressure", "Oil temp", "Fuel Pressure", "Throttle Ratio", "Percent Baro", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" gppwm1_loadBins = array, S16, 3178, [8], "", 0.5, 0, -1000, 10000, 1 gppwm1_rpmBins = array, S16, 3194, [8], "", 1, 0, -30000, 30000, 0 gppwm1_table = array, U08, 3210, [8x8], "duty", 0.5, 0, 0, 100, 1 gppwm2_pin = bits, U16, 3276, [0:8], $output_pin_e_list gppwm2_dutyIfError = scalar, U08, 3278, "%", 1, 0, 0, 100, 0 gppwm2_pwmFrequency = scalar, U16, 3280, "hz", 1, 0, 0, 500, 0 gppwm2_onAboveDuty = scalar, U08, 3282, "%", 1, 0, 0, 100, 0 gppwm2_offBelowDuty = scalar, U08, 3283, "%", 1, 0, 0, 100, 0 gppwm2_loadAxis = bits, U08, 3284, [0:5], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 In Actual", "VVT 1 Ex Actual", "VVT 2 In Actual", "VVT 2 Ex Actual", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)", "Baro pressure", "EGT 1", "EGT 2", "Aux Linear 3", "Aux Linear 4", "Vehicle speed", "Oil pressure", "Oil temp", "Fuel Pressure", "Throttle Ratio", "Percent Baro", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" gppwm2_rpmAxis = bits, U08, 3285, [0:5], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 In Actual", "VVT 1 Ex Actual", "VVT 2 In Actual", "VVT 2 Ex Actual", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)", "Baro pressure", "EGT 1", "EGT 2", "Aux Linear 3", "Aux Linear 4", "Vehicle speed", "Oil pressure", "Oil temp", "Fuel Pressure", "Throttle Ratio", "Percent Baro", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" gppwm2_loadBins = array, S16, 3286, [8], "", 0.5, 0, -1000, 10000, 1 gppwm2_rpmBins = array, S16, 3302, [8], "", 1, 0, -30000, 30000, 0 gppwm2_table = array, U08, 3318, [8x8], "duty", 0.5, 0, 0, 100, 1 gppwm3_pin = bits, U16, 3384, [0:8], $output_pin_e_list gppwm3_dutyIfError = scalar, U08, 3386, "%", 1, 0, 0, 100, 0 gppwm3_pwmFrequency = scalar, U16, 3388, "hz", 1, 0, 0, 500, 0 gppwm3_onAboveDuty = scalar, U08, 3390, "%", 1, 0, 0, 100, 0 gppwm3_offBelowDuty = scalar, U08, 3391, "%", 1, 0, 0, 100, 0 gppwm3_loadAxis = bits, U08, 3392, [0:5], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 In Actual", "VVT 1 Ex Actual", "VVT 2 In Actual", "VVT 2 Ex Actual", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)", "Baro pressure", "EGT 1", "EGT 2", "Aux Linear 3", "Aux Linear 4", "Vehicle speed", "Oil pressure", "Oil temp", "Fuel Pressure", "Throttle Ratio", "Percent Baro", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" gppwm3_rpmAxis = bits, U08, 3393, [0:5], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 In Actual", "VVT 1 Ex Actual", "VVT 2 In Actual", "VVT 2 Ex Actual", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)", "Baro pressure", "EGT 1", "EGT 2", "Aux Linear 3", "Aux Linear 4", "Vehicle speed", "Oil pressure", "Oil temp", "Fuel Pressure", "Throttle Ratio", "Percent Baro", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" gppwm3_loadBins = array, S16, 3394, [8], "", 0.5, 0, -1000, 10000, 1 gppwm3_rpmBins = array, S16, 3410, [8], "", 1, 0, -30000, 30000, 0 gppwm3_table = array, U08, 3426, [8x8], "duty", 0.5, 0, 0, 100, 1 gppwm4_pin = bits, U16, 3492, [0:8], $output_pin_e_list gppwm4_dutyIfError = scalar, U08, 3494, "%", 1, 0, 0, 100, 0 gppwm4_pwmFrequency = scalar, U16, 3496, "hz", 1, 0, 0, 500, 0 gppwm4_onAboveDuty = scalar, U08, 3498, "%", 1, 0, 0, 100, 0 gppwm4_offBelowDuty = scalar, U08, 3499, "%", 1, 0, 0, 100, 0 gppwm4_loadAxis = bits, U08, 3500, [0:5], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 In Actual", "VVT 1 Ex Actual", "VVT 2 In Actual", "VVT 2 Ex Actual", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)", "Baro pressure", "EGT 1", "EGT 2", "Aux Linear 3", "Aux Linear 4", "Vehicle speed", "Oil pressure", "Oil temp", "Fuel Pressure", "Throttle Ratio", "Percent Baro", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" gppwm4_rpmAxis = bits, U08, 3501, [0:5], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 In Actual", "VVT 1 Ex Actual", "VVT 2 In Actual", "VVT 2 Ex Actual", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)", "Baro pressure", "EGT 1", "EGT 2", "Aux Linear 3", "Aux Linear 4", "Vehicle speed", "Oil pressure", "Oil temp", "Fuel Pressure", "Throttle Ratio", "Percent Baro", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" gppwm4_loadBins = array, S16, 3502, [8], "", 0.5, 0, -1000, 10000, 1 gppwm4_rpmBins = array, S16, 3518, [8], "", 1, 0, -30000, 30000, 0 gppwm4_table = array, U08, 3534, [8x8], "duty", 0.5, 0, 0, 100, 1 mc33_i_boost = scalar, U16, 3600, "mA", 1, 0, 1000, 25000, 0 mc33_i_peak = scalar, U16, 3602, "mA", 1, 0, 1000, 20000, 0 mc33_i_hold = scalar, U16, 3604, "mA", 1, 0, 1000, 20000, 0 mc33_t_max_boost = scalar, U16, 3606, "us", 1, 0, 0, 10000, 0 mc33_t_peak_off = scalar, U16, 3608, "us", 1, 0, 0, 10000, 0 mc33_t_peak_tot = scalar, U16, 3610, "us", 1, 0, 0, 10000, 0 mc33_t_bypass = scalar, U16, 3612, "us", 1, 0, 0, 10000, 0 mc33_t_hold_off = scalar, U16, 3614, "us", 1, 0, 0, 10000, 0 mc33_t_hold_tot = scalar, U16, 3616, "us", 1, 0, 0, 10000, 0 acSwitchMode = bits, U08, 3618, [0:2], $pin_input_mode_e_enum acPressureSwitchMode = bits, U08, 3619, [0:2], $pin_input_mode_e_enum triggerGapOverrideFrom1 = scalar, F32, 3620, "ratio", 1, 0, 0, 20, 3 triggerGapOverrideFrom2 = scalar, F32, 3624, "ratio", 1, 0, 0, 20, 3 triggerGapOverrideFrom3 = scalar, F32, 3628, "ratio", 1, 0, 0, 20, 3 triggerGapOverrideFrom4 = scalar, F32, 3632, "ratio", 1, 0, 0, 20, 3 triggerGapOverrideFrom5 = scalar, F32, 3636, "ratio", 1, 0, 0, 20, 3 triggerGapOverrideFrom6 = scalar, F32, 3640, "ratio", 1, 0, 0, 20, 3 triggerGapOverrideFrom7 = scalar, F32, 3644, "ratio", 1, 0, 0, 20, 3 triggerGapOverrideFrom8 = scalar, F32, 3648, "ratio", 1, 0, 0, 20, 3 triggerGapOverrideFrom9 = scalar, F32, 3652, "ratio", 1, 0, 0, 20, 3 triggerGapOverrideFrom10 = scalar, F32, 3656, "ratio", 1, 0, 0, 20, 3 triggerGapOverrideFrom11 = scalar, F32, 3660, "ratio", 1, 0, 0, 20, 3 triggerGapOverrideFrom12 = scalar, F32, 3664, "ratio", 1, 0, 0, 20, 3 triggerGapOverrideFrom13 = scalar, F32, 3668, "ratio", 1, 0, 0, 20, 3 triggerGapOverrideFrom14 = scalar, F32, 3672, "ratio", 1, 0, 0, 20, 3 triggerGapOverrideFrom15 = scalar, F32, 3676, "ratio", 1, 0, 0, 20, 3 triggerGapOverrideFrom16 = scalar, F32, 3680, "ratio", 1, 0, 0, 20, 3 triggerGapOverrideFrom17 = scalar, F32, 3684, "ratio", 1, 0, 0, 20, 3 triggerGapOverrideFrom18 = scalar, F32, 3688, "ratio", 1, 0, 0, 20, 3 triggerGapOverrideTo1 = scalar, F32, 3692, "ratio", 1, 0, 0, 20, 3 triggerGapOverrideTo2 = scalar, F32, 3696, "ratio", 1, 0, 0, 20, 3 triggerGapOverrideTo3 = scalar, F32, 3700, "ratio", 1, 0, 0, 20, 3 triggerGapOverrideTo4 = scalar, F32, 3704, "ratio", 1, 0, 0, 20, 3 triggerGapOverrideTo5 = scalar, F32, 3708, "ratio", 1, 0, 0, 20, 3 triggerGapOverrideTo6 = scalar, F32, 3712, "ratio", 1, 0, 0, 20, 3 triggerGapOverrideTo7 = scalar, F32, 3716, "ratio", 1, 0, 0, 20, 3 triggerGapOverrideTo8 = scalar, F32, 3720, "ratio", 1, 0, 0, 20, 3 triggerGapOverrideTo9 = scalar, F32, 3724, "ratio", 1, 0, 0, 20, 3 triggerGapOverrideTo10 = scalar, F32, 3728, "ratio", 1, 0, 0, 20, 3 triggerGapOverrideTo11 = scalar, F32, 3732, "ratio", 1, 0, 0, 20, 3 triggerGapOverrideTo12 = scalar, F32, 3736, "ratio", 1, 0, 0, 20, 3 triggerGapOverrideTo13 = scalar, F32, 3740, "ratio", 1, 0, 0, 20, 3 triggerGapOverrideTo14 = scalar, F32, 3744, "ratio", 1, 0, 0, 20, 3 triggerGapOverrideTo15 = scalar, F32, 3748, "ratio", 1, 0, 0, 20, 3 triggerGapOverrideTo16 = scalar, F32, 3752, "ratio", 1, 0, 0, 20, 3 triggerGapOverrideTo17 = scalar, F32, 3756, "ratio", 1, 0, 0, 20, 3 triggerGapOverrideTo18 = scalar, F32, 3760, "ratio", 1, 0, 0, 20, 3 maxCamPhaseResolveRpm = scalar, U08, 3764, "rpm", 50.0, 0, 0, 12500, 0 minCamPhaseResolveRpm = scalar, U08, 3765, "rpm", 50.0, 0, 0, 12500, 0 syncByTryingRpmThreshold = scalar, U08, 3766, "rpm", 5.0, 0, 50, 1200, 0 syncByTryingMaxAttempts = scalar, U08, 3767, "attempts", 1, 0, 1, 255, 0 syncByTryingPhaseAttempts = scalar, U08, 3768, "attempts", 1, 0, 0, 255, 0 dfcoDelay = scalar, U08, 3769, "sec", 0.1, 0, 0, 10, 1 acDelay = scalar, U08, 3770, "sec", 0.1, 0, 0, 10, 1 tChargeMode = bits, U08, 3771, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table", "INVALID" fordInjectorSmallPulseBreakPoint = scalar, U16, 3772, "mg", 0.001, 0, 0, 65, 3 etbJamDetectThreshold = scalar, U08, 3774, "%", 1, 0, 0, 50, 0 hpfpCamLobes = scalar, U08, 3775, "lobes/cam", 1, 0, 0, 255, 0 hpfpCam = bits, U08, 3776, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2", "INVALID", "INVALID", "INVALID" acLowRpmLimit = scalar, S08, 3777, "RPM", 10.0, 0, 0, 1200, 0 hpfpMinAngle = scalar, U08, 3778, "deg", 1, 0, 0, 255, 0 hpfpPumpVolume = scalar, U16, 3780, "cc", 0.001, 0, 0, 65, 3 hpfpActivationAngle = scalar, U08, 3782, "deg", 1, 0, 0, 255, 0 issFilterReciprocal = scalar, U08, 3783, "", 1, 0, 0, 255, 0 hpfpPidP = scalar, U16, 3784, "%/kPa", 0.001, 0, 0, 65, 3 hpfpPidI = scalar, U16, 3786, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 hpfpPid_iTermMin = scalar, S16, 3788, "", 1, 0, -30000, 30000, 0 hpfpPid_iTermMax = scalar, S16, 3790, "", 1, 0, -30000, 30000, 0 hpfpTargetDecay = scalar, U16, 3792, "kPa/s", 1, 0, 0, 65000, 0 stepper_raw_output1 = bits, U16, 3794, [0:8], $output_pin_e_list stepper_raw_output2 = bits, U16, 3796, [0:8], $output_pin_e_list stepper_raw_output3 = bits, U16, 3798, [0:8], $output_pin_e_list stepper_raw_output4 = bits, U16, 3800, [0:8], $output_pin_e_list gearRatio1 = scalar, U16, 3802, "ratio", 0.01, 0, 0, 600, 2 gearRatio2 = scalar, U16, 3804, "ratio", 0.01, 0, 0, 600, 2 gearRatio3 = scalar, U16, 3806, "ratio", 0.01, 0, 0, 600, 2 gearRatio4 = scalar, U16, 3808, "ratio", 0.01, 0, 0, 600, 2 gearRatio5 = scalar, U16, 3810, "ratio", 0.01, 0, 0, 600, 2 gearRatio6 = scalar, U16, 3812, "ratio", 0.01, 0, 0, 600, 2 gearRatio7 = scalar, U16, 3814, "ratio", 0.01, 0, 0, 600, 2 gearRatio8 = scalar, U16, 3816, "ratio", 0.01, 0, 0, 600, 2 gearRatio9 = scalar, U16, 3818, "ratio", 0.01, 0, 0, 600, 2 gearRatio10 = scalar, U16, 3820, "ratio", 0.01, 0, 0, 600, 2 vvtActivationDelayMs = scalar, U16, 3822, "ms", 1, 0, 0, 65000, 0 gearControllerMode = bits, U08, 3824, [0:1], "None", "Button Shift", "Automatic", "Generic" transmissionControllerMode = bits, U08, 3825, [0:1], "None", "Simple Transmission", "Generic 4-Speed", "GM 4L6X" acrDisablePhase = scalar, U16, 3826, "deg", 1, 0, 0, 720, 0 auxLinear1_hwChannel = bits, U08, 3828, [0:7], $adc_channel_e_list auxLinear1_v1 = scalar, F32, 3832, "volts", 1, 0, 0, 10, 2 auxLinear1_value1 = scalar, F32, 3836, "", 1, 0, -100000, 1000000, 2 auxLinear1_v2 = scalar, F32, 3840, "volts", 1, 0, 0, 10, 2 auxLinear1_value2 = scalar, F32, 3844, "", 1, 0, -100000, 1000000, 2 auxLinear2_hwChannel = bits, U08, 3848, [0:7], $adc_channel_e_list auxLinear2_v1 = scalar, F32, 3852, "volts", 1, 0, 0, 10, 2 auxLinear2_value1 = scalar, F32, 3856, "", 1, 0, -100000, 1000000, 2 auxLinear2_v2 = scalar, F32, 3860, "volts", 1, 0, 0, 10, 2 auxLinear2_value2 = scalar, F32, 3864, "", 1, 0, -100000, 1000000, 2 acrPin2 = bits, U16, 3868, [0:8], $output_pin_e_list etbMinimumPosition = scalar, U08, 3870, "%", 0.1, 0, 0, 10, 1 tuneHidingKey = scalar, U16, 3872, "", 1, 0, 0, 20000, 0 vinNumber = string, ASCII, 3874, 17, 17 torqueReductionActivationTemperature = scalar, S08, 3891, "C", 1, 0, 0, 90, 0 fuelPressureSensorMode = bits, U08, 3892, [0:1], "Absolute", "Gauge", "Differential", "INVALID" luaDigitalInputPins1 = bits, U16, 3894, [0:8], $switch_input_pin_e_list luaDigitalInputPins2 = bits, U16, 3896, [0:8], $switch_input_pin_e_list luaDigitalInputPins3 = bits, U16, 3898, [0:8], $switch_input_pin_e_list luaDigitalInputPins4 = bits, U16, 3900, [0:8], $switch_input_pin_e_list luaDigitalInputPins5 = bits, U16, 3902, [0:8], $switch_input_pin_e_list luaDigitalInputPins6 = bits, U16, 3904, [0:8], $switch_input_pin_e_list luaDigitalInputPins7 = bits, U16, 3906, [0:8], $switch_input_pin_e_list luaDigitalInputPins8 = bits, U16, 3908, [0:8], $switch_input_pin_e_list ALSMinRPM = scalar, S16, 3910, "rpm", 1, 0, 0, 20000, 0 ALSMaxRPM = scalar, S16, 3912, "rpm", 1, 0, 0, 20000, 0 ALSMaxDuration = scalar, S16, 3914, "sec", 1, 0, 0, 10, 0 ALSMinCLT = scalar, S08, 3916, "C", 1, 0, 0, 90, 0 ALSMaxCLT = scalar, S08, 3917, "C", 1, 0, 0, 105, 0 ALSMinMap = scalar, U08, 3918, "kpa", 1, 0, 0, 255, 0 ALSMaxMap = scalar, U08, 3919, "kpa", 1, 0, 0, 255, 0 alsMinTimeBetween = scalar, U08, 3920, "", 1, 0, 0, 250, 0 alsEtbPosition = scalar, U08, 3921, "", 1, 0, 0, 250, 0 acRelayAlternatorDutyAdder = scalar, U08, 3922, "%", 1, 0, 0, 100, 0 instantRpmRange = scalar, U08, 3923, "deg", 1, 0, 0, 250, 0 sentEtbType = bits, S08, 3924, [0:1], "None", "GM type 1", "Ford type 1", "Custom" customSentTpsMin = scalar, U16, 3926, "", 1, 0, 0, 32000, 0 ALSIdleAdd = scalar, S32, 3928, "%", 1, 0, 0, 100, 2 ALSEtbAdd = scalar, S32, 3932, "%", 1, 0, 0, 100, 2 ALSSkipRatio = scalar, F32, 3936, "", 1, 0, 0, 1, 1 acPressureEnableHyst = scalar, U08, 3940, "kPa (absolute)", 0.5, 0, 0, 125, 1 ALSActivatePinMode = bits, U08, 3941, [0:2], $pin_input_mode_e_enum tpsSecondaryMaximum = scalar, U08, 3942, "%", 0.5, 0, 0, 100, 1 ppsSecondaryMaximum = scalar, U08, 3943, "%", 0.5, 0, 0, 100, 1 luaDigitalInputPinModes1 = bits, U08, 3944, [0:2], $pin_input_mode_e_enum luaDigitalInputPinModes2 = bits, U08, 3945, [0:2], $pin_input_mode_e_enum luaDigitalInputPinModes3 = bits, U08, 3946, [0:2], $pin_input_mode_e_enum luaDigitalInputPinModes4 = bits, U08, 3947, [0:2], $pin_input_mode_e_enum luaDigitalInputPinModes5 = bits, U08, 3948, [0:2], $pin_input_mode_e_enum luaDigitalInputPinModes6 = bits, U08, 3949, [0:2], $pin_input_mode_e_enum luaDigitalInputPinModes7 = bits, U08, 3950, [0:2], $pin_input_mode_e_enum luaDigitalInputPinModes8 = bits, U08, 3951, [0:2], $pin_input_mode_e_enum customSentTpsMax = scalar, U16, 3952, "", 1, 0, 0, 32000, 0 kLineBaudRate = scalar, U16, 3954, "", 1, 0, 0, 32000, 0 canGpioType = bits, S08, 3956, [0:1], "None", "DRT protocol", "MS protocol", "INVALID" uiMode = bits, S08, 3957, [0:1], "Full", "INVALID", "Tuning", "INVALID" hpfpPeakPos = scalar, S16, 3958, "deg", 1, 0, -719, 719, 0 kLinePeriodUs = scalar, S16, 3960, "us", 1, 0, 0, 30000, 0 rpmSoftLimitWindowSize = scalar, U08, 3962, "RPM", 10.0, 0, 0, 2500, 0 rpmSoftLimitTimingRetard = scalar, U08, 3963, "deg", 0.2, 0, 0, 50, 1 rpmSoftLimitFuelAdded = scalar, U08, 3964, "%", 0.2, 0, 0, 50, 1 rpmHardLimitHyst = scalar, U08, 3965, "RPM", 10.0, 0, 0, 2500, 0 benchTestOffTime = scalar, U16, 3966, "ms", 0.1, 0, 1, 2000, 1 boostCutPressureHyst = scalar, U08, 3968, "kPa (absolute)", 0.5, 0, 0, 125, 1 gearBasedOpenLoopBoostAdder = array, S08, 3969, [10], "%", 0.5, 0, -63, 63, 1 gearBasedClosedLoopBoostAdder = array, S08, 3979, [10], "%", 5.0, 0, -600, 600, 0 gearBasedOpenLoopBoostMultiplier = array, U08, 3989, [10], "%", 0.01, 0, 0, 2.5, 2 gearBasedClosedLoopBoostMultiplier = array, U08, 3999, [10], "%", 0.01, 0, 0, 2.5, 2 gearBasedOpenLoopBoostLimiter = array, U08, 4009, [10], "%", 0.5, 0, 0, 100, 1 gearBasedClosedLoopBoostLimiter = array, U08, 4019, [10], "%", 5.0, 0, 0, 1200, 0 benchTestCount = scalar, U32, 4032, "", 1, 0, 1, 10000000, 0 iacByTpsHoldTime = scalar, U08, 4036, "seconds", 0.1, 0, 0, 25, 1 iacByTpsDecayTime = scalar, U08, 4037, "seconds", 0.1, 0, 0, 25, 1 iacByTpsHoldTimeAC = scalar, U08, 4038, "seconds", 0.1, 0, 0, 25, 1 iacByTpsDecayTimeAC = scalar, U08, 4039, "seconds", 0.1, 0, 0, 25, 1 canVssScaling = scalar, U16, 4040, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 oilTempSensor_tempC_1 = scalar, F32, 4044, "*C", 1, 0, -55, 200, 1 oilTempSensor_tempC_2 = scalar, F32, 4048, "*C", 1, 0, -55, 200, 1 oilTempSensor_tempC_3 = scalar, F32, 4052, "*C", 1, 0, -55, 200, 1 oilTempSensor_resistance_1 = scalar, F32, 4056, "Ohm", 1, 0, 0, 1000000, 1 oilTempSensor_resistance_2 = scalar, F32, 4060, "Ohm", 1, 0, 0, 1000000, 1 oilTempSensor_resistance_3 = scalar, F32, 4064, "Ohm", 1, 0, 0, 1000000, 1 oilTempSensor_bias_resistor = scalar, F32, 4068, "Ohm", 1, 0, 0, 200000, 1 oilTempSensor_adcChannel = bits, U08, 4072, [0:7], $adc_channel_e_list fuelTempSensor_tempC_1 = scalar, F32, 4076, "*C", 1, 0, -55, 200, 1 fuelTempSensor_tempC_2 = scalar, F32, 4080, "*C", 1, 0, -55, 200, 1 fuelTempSensor_tempC_3 = scalar, F32, 4084, "*C", 1, 0, -55, 200, 1 fuelTempSensor_resistance_1 = scalar, F32, 4088, "Ohm", 1, 0, 0, 1000000, 1 fuelTempSensor_resistance_2 = scalar, F32, 4092, "Ohm", 1, 0, 0, 1000000, 1 fuelTempSensor_resistance_3 = scalar, F32, 4096, "Ohm", 1, 0, 0, 1000000, 1 fuelTempSensor_bias_resistor = scalar, F32, 4100, "Ohm", 1, 0, 0, 200000, 1 fuelTempSensor_adcChannel = bits, U08, 4104, [0:7], $adc_channel_e_list ambientTempSensor_tempC_1 = scalar, F32, 4108, "*C", 1, 0, -55, 200, 1 ambientTempSensor_tempC_2 = scalar, F32, 4112, "*C", 1, 0, -55, 200, 1 ambientTempSensor_tempC_3 = scalar, F32, 4116, "*C", 1, 0, -55, 200, 1 ambientTempSensor_resistance_1 = scalar, F32, 4120, "Ohm", 1, 0, 0, 1000000, 1 ambientTempSensor_resistance_2 = scalar, F32, 4124, "Ohm", 1, 0, 0, 1000000, 1 ambientTempSensor_resistance_3 = scalar, F32, 4128, "Ohm", 1, 0, 0, 1000000, 1 ambientTempSensor_bias_resistor = scalar, F32, 4132, "Ohm", 1, 0, 0, 200000, 1 ambientTempSensor_adcChannel = bits, U08, 4136, [0:7], $adc_channel_e_list compressorDischargeTemperature_tempC_1 = scalar, F32, 4140, "*C", 1, 0, -55, 200, 1 compressorDischargeTemperature_tempC_2 = scalar, F32, 4144, "*C", 1, 0, -55, 200, 1 compressorDischargeTemperature_tempC_3 = scalar, F32, 4148, "*C", 1, 0, -55, 200, 1 compressorDischargeTemperature_resistance_1 = scalar, F32, 4152, "Ohm", 1, 0, 0, 1000000, 1 compressorDischargeTemperature_resistance_2 = scalar, F32, 4156, "Ohm", 1, 0, 0, 1000000, 1 compressorDischargeTemperature_resistance_3 = scalar, F32, 4160, "Ohm", 1, 0, 0, 1000000, 1 compressorDischargeTemperature_bias_resistor = scalar, F32, 4164, "Ohm", 1, 0, 0, 200000, 1 compressorDischargeTemperature_adcChannel = bits, U08, 4168, [0:7], $adc_channel_e_list throttleInletPressureChannel = bits, U08, 4172, [0:7], $adc_channel_e_list compressorDischargePressureChannel = bits, U08, 4173, [0:7], $adc_channel_e_list dacOutputPins1 = bits, U16, 4174, [0:8], $gpio_list dacOutputPins2 = bits, U16, 4176, [0:8], $gpio_list speedometerOutputPin = bits, U16, 4178, [0:8], $output_pin_e_list speedometerOutputPinMode = bits, U08, 4180, [0:1], $pin_output_mode_e_enum speedometerPulsePerKm = scalar, U16, 4182, "", 1, 0, 0, 65000, 0 simulatorCamPosition1 = scalar, U08, 4184, "", 1, 0, 0, 100, 0 simulatorCamPosition2 = scalar, U08, 4185, "", 1, 0, 0, 100, 0 simulatorCamPosition3 = scalar, U08, 4186, "", 1, 0, 0, 100, 0 simulatorCamPosition4 = scalar, U08, 4187, "", 1, 0, 0, 100, 0 ignKeyAdcChannel = bits, U08, 4188, [0:7], $adc_channel_e_list ignKeyAdcDivider = scalar, F32, 4192, "", 1, 0, 0, 100, 0 spi6MisoMode = bits, U08, 4196, [0:6], $pin_mode_e_enum canBroadcastKnock = bits, U32, 4200, [0:0], "false", "true" disableFuelCutOnClutch = bits, U32, 4200, [1:1], "false", "true" useTableForDfcoMap = bits, U32, 4200, [2:2], "Fixed", "Table" neverWrite = bits, U32, 4200, [3:3], "false", "true" etbSkipReinitWhileRunning = bits, U32, 4200, [4:4], "false", "true" tachSweepUsesTachCorrection = bits, U32, 4200, [5:5], "false", "true" speedoSweepUsesSpeedoCorrection = bits, U32, 4200, [6:6], "false", "true" stimulatorBench = bits, U32, 4200, [7:7], "false", "true" tpsAeUseDynamicThreshold = bits, U32, 4200, [8:8], "false", "true" tpsAeDynamicTresholdAverageStaticCurve = bits, U32, 4200, [9:9], "false", "true" cruiseControlEnabled = bits, U32, 4200, [10:10], "false", "true" cruiseControlUseVehicleSpeed = bits, U32, 4200, [11:11], "false", "true" cruiseControlEnableTogglesState = bits, U32, 4200, [12:12], "false", "true" cruiseControlInhibitDFCO = bits, U32, 4200, [13:13], "false", "true" cruiseControlAverageAdjustment = bits, U32, 4200, [14:14], "false", "true" cruiseControlAllowPedalUpToEngage = bits, U32, 4200, [15:15], "false", "true" cruiseControlReadClutchPedal = bits, U32, 4200, [16:16], "false", "true" cruiseControlReadBrakePedal = bits, U32, 4200, [17:17], "false", "true" cruiseControlReadClutchUp = bits, U32, 4200, [18:18], "false", "true" boostSpooledApplyToLowerWg = bits, U32, 4200, [19:19], "false", "true" boostUsePWMLimiterLowerWg = bits, U32, 4200, [20:20], "false", "true" enableWaterPumpWithAc = bits, U32, 4200, [21:21], "false", "true" ignore_tps_pps_sensors_too_close = bits, U32, 4200, [22:22], "false", "true" injAdvAssistEnabled = bits, U32, 4200, [23:23], "false", "true" enableWaterPump2WithAc = bits, U32, 4200, [24:24], "false", "true" forceIdleBelowTpsThreshold = bits, U32, 4200, [25:25], "false", "true" forceIdleIgnitionBelowTps = bits, U32, 4200, [26:26], "false", "true" forceIdleIgnitionUseDFCO = bits, U32, 4200, [27:27], "false", "true" bypassTcharge = bits, U32, 4200, [28:28], "false", "true" assistedEtbTuningEnabled = bits, U32, 4200, [29:29], "false", "true" assistedEtbRotate = bits, U32, 4200, [30:30], "false", "true" applyExpAverageToEtbTarget = bits, U32, 4200, [31:31], "false", "true" triggerVVTGapOverrideFrom1 = scalar, F32, 4204, "ratio", 1, 0, 0, 20, 3 triggerVVTGapOverrideFrom2 = scalar, F32, 4208, "ratio", 1, 0, 0, 20, 3 triggerVVTGapOverrideFrom3 = scalar, F32, 4212, "ratio", 1, 0, 0, 20, 3 triggerVVTGapOverrideFrom4 = scalar, F32, 4216, "ratio", 1, 0, 0, 20, 3 triggerVVTGapOverrideTo1 = scalar, F32, 4220, "ratio", 1, 0, 0, 20, 3 triggerVVTGapOverrideTo2 = scalar, F32, 4224, "ratio", 1, 0, 0, 20, 3 triggerVVTGapOverrideTo3 = scalar, F32, 4228, "ratio", 1, 0, 0, 20, 3 triggerVVTGapOverrideTo4 = scalar, F32, 4232, "ratio", 1, 0, 0, 20, 3 maxInjectorDutyInstant = scalar, U08, 4236, "%", 1, 0, 50, 200, 0 maxInjectorDutySustained = scalar, U08, 4237, "%", 1, 0, 50, 120, 0 maxInjectorDutySustainedTimeout = scalar, U08, 4238, "sec", 0.1, 0, 0, 5, 1 injectionPinsStage21 = bits, U16, 4240, [0:8], $output_pin_e_list injectionPinsStage22 = bits, U16, 4242, [0:8], $output_pin_e_list injectionPinsStage23 = bits, U16, 4244, [0:8], $output_pin_e_list injectionPinsStage24 = bits, U16, 4246, [0:8], $output_pin_e_list injectionPinsStage25 = bits, U16, 4248, [0:8], $output_pin_e_list injectionPinsStage26 = bits, U16, 4250, [0:8], $output_pin_e_list injectionPinsStage27 = bits, U16, 4252, [0:8], $output_pin_e_list injectionPinsStage28 = bits, U16, 4254, [0:8], $output_pin_e_list auxSpeed1Multiplier = scalar, F32, 4256, "", 1, 0, 0, 100, 0 brakeMeanEffectivePressureDifferential = scalar, F32, 4260, "", 1, 0, 0, 100, 0 spi4mosiPin = bits, U16, 4264, [0:8], $gpio_list spi4misoPin = bits, U16, 4266, [0:8], $gpio_list spi4sckPin = bits, U16, 4268, [0:8], $gpio_list spi5mosiPin = bits, U16, 4270, [0:8], $gpio_list spi5misoPin = bits, U16, 4272, [0:8], $gpio_list spi5sckPin = bits, U16, 4274, [0:8], $gpio_list spi6mosiPin = bits, U16, 4276, [0:8], $gpio_list spi6misoPin = bits, U16, 4278, [0:8], $gpio_list spi6sckPin = bits, U16, 4280, [0:8], $gpio_list spi4SckMode = bits, U08, 4282, [0:6], $pin_mode_e_enum spi4MosiMode = bits, U08, 4283, [0:6], $pin_mode_e_enum spi4MisoMode = bits, U08, 4284, [0:6], $pin_mode_e_enum spi5SckMode = bits, U08, 4285, [0:6], $pin_mode_e_enum spi5MosiMode = bits, U08, 4286, [0:6], $pin_mode_e_enum spi5MisoMode = bits, U08, 4287, [0:6], $pin_mode_e_enum spi6SckMode = bits, U08, 4288, [0:6], $pin_mode_e_enum spi6MosiMode = bits, U08, 4289, [0:6], $pin_mode_e_enum tunerStudioSerialSpeed = scalar, U32, 4292, "BPs", 1, 0, 0, 1000000, 0 camSimulatorPin = bits, U16, 4296, [0:8], $gpio_list camSimulatorPinMode = bits, U08, 4298, [0:1], $pin_output_mode_e_enum anotherCiTest = scalar, S32, 4300, "", 1, 0, 0, 100, 0 device_uid1 = scalar, U32, 4304, "", 1, 0, 0, 100, 0 device_uid2 = scalar, U32, 4308, "", 1, 0, 0, 100, 0 device_uid3 = scalar, U32, 4312, "", 1, 0, 0, 100, 0 msIoBox0_id = bits, U08, 4316, [0:1], "Off", "ID1 (0x200)", "ID2 (0x220)", "ID3 (0x240)" msIoBox0_vss = bits, U08, 4317, [0:1], "Off", "VR speed in (1, 2)", "Hall speed in (3, 4)", "All (1, 2, 3, 4)" mc33810Nomi = scalar, U08, 4320, "A", 0.25, 0, 3.00, 10.75, 2 mc33810Maxi = scalar, U08, 4321, "A", 1, 0, 6, 21, 0 acPressure_hwChannel = bits, U08, 4324, [0:7], $adc_channel_e_list acPressure_v1 = scalar, F32, 4328, "volts", 1, 0, 0, 10, 2 acPressure_value1 = scalar, F32, 4332, "", 1, 0, -100000, 1000000, 2 acPressure_v2 = scalar, F32, 4336, "volts", 1, 0, 0, 10, 2 acPressure_value2 = scalar, F32, 4340, "", 1, 0, -100000, 1000000, 2 minAcPressure = scalar, U16, 4344, "kPa", 1, 0, 0, 500, 0 maxAcPressure = scalar, U16, 4346, "kPa", 1, 0, 0, 500, 0 minimumOilPressureTimeout = scalar, U08, 4348, "sec", 0.1, 0, 0, 5, 1 auxLinear3_hwChannel = bits, U08, 4352, [0:7], $adc_channel_e_list auxLinear3_v1 = scalar, F32, 4356, "volts", 1, 0, 0, 10, 2 auxLinear3_value1 = scalar, F32, 4360, "", 1, 0, -100000, 1000000, 2 auxLinear3_v2 = scalar, F32, 4364, "volts", 1, 0, 0, 10, 2 auxLinear3_value2 = scalar, F32, 4368, "", 1, 0, -100000, 1000000, 2 auxLinear4_hwChannel = bits, U08, 4372, [0:7], $adc_channel_e_list auxLinear4_v1 = scalar, F32, 4376, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 4380, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 4384, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 4388, "", 1, 0, -100000, 1000000, 2 knockSuppressMinTps = scalar, U08, 4392, "%", 1, 0, 0, 100, 1 knockFuelTrimAggression = scalar, U08, 4393, "%", 0.1, 0, 0, 20, 1 knockFuelTrimReapplyRate = scalar, U08, 4394, "1%/s", 0.1, 0, 0, 10, 1 knockFuelTrim = scalar, U08, 4395, "%", 1, 0, 0, 30, 1 knockSuppressMinRpm = scalar, U08, 4396, "RPM", 100.0, 0, 0, 25000, 0 knockSpectrumSensitivity = scalar, F32, 4400, "sense", 1, 0, 0, 1, 2 knockFrequency = scalar, F32, 4404, "Hz", 1, 0, 0, 20000, 2 secondaryInjectorCompensationMode = bits, U08, 4408, [0:1], "Manifold Referenced Pressure Regulator", "Returnless fuel system", "Sensed Rail Pressure", "INVALID" secondaryInjectorFuelReferencePressure = scalar, F32, 4412, "kPa", 1, 0, 50, 700000, 0 EtbSentInput = bits, U08, 4416, [0:2], "None", "SENT input 1", "SENT input 2", "SENT input 3", "SENT input 4", "SENT input 5", "SENT input 6", "SENT input 7" FuelHighPressureSentInput = bits, U08, 4417, [0:2], "None", "SENT input 1", "SENT input 2", "SENT input 3", "SENT input 4", "SENT input 5", "SENT input 6", "SENT input 7" FuelHighPressureSentType = bits, U08, 4418, [0:1], "None", "GM type", "Custom", "INVALID" nitrousControlEnabled = bits, U32, 4420, [0:0], "false", "true" tpsAccelAeEnabled = bits, U32, 4420, [1:1], "false", "true" wallWettingAeEnabled = bits, U32, 4420, [2:2], "false", "true" useMapEstimateDuringTransient = bits, U32, 4420, [3:3], "false", "true" allowDFUwithIgn = bits, U32, 4420, [4:4], "false", "true" STFTResetRegionChange = bits, U32, 4420, [5:5], "false", "true" fixSyncMisfire = bits, U32, 4420, [6:6], "false", "true" tractionControlEnabled = bits, U32, 4420, [7:7], "false", "true" tcUseETB = bits, U32, 4420, [8:8], "false", "true" tcUseSparkSkip = bits, U32, 4420, [9:9], "false", "true" tcUseIgnTiming = bits, U32, 4420, [10:10], "false", "true" flexEnabled = bits, U32, 4420, [11:11], "false", "true" epicInitHSHigh = bits, U32, 4420, [12:12], "false", "true" disableEGT = bits, U32, 4420, [13:13], "false", "true" disableBARO = bits, U32, 4420, [14:14], "false", "true" useInjSmallPulseWidth1 = bits, U32, 4420, [15:15], "false", "true" useInjSmallPulseWidth2 = bits, U32, 4420, [16:16], "false", "true" calmerBurn = bits, U32, 4420, [17:17], "false", "true" afrSensorLambdaRange = bits, U32, 4420, [18:18], "false", "true" useIdleVeWhileCoasting = bits, U32, 4420, [19:19], "false", "true" MAFMAPLoadIsMAF = bits, U32, 4420, [20:20], "false", "true" TMFLoadIsTMF = bits, U32, 4420, [21:21], "false", "true" useSmoothedLambda = bits, U32, 4420, [22:22], "false", "true" stftLimitsUseLambda = bits, U32, 4420, [23:23], " AFR ", " Lambda" unusedLTFTSDcardReadWrite = bits, U32, 4420, [24:24], "false", "true" harleyAcrSprayFuel = bits, U32, 4420, [25:25], "false", "true" useSpooledCurve = bits, U32, 4420, [26:26], "false", "true" deferAllWritesUntilEngineOff = bits, U32, 4420, [27:27], "false", "true" sparkHardwareLatencyCorrectionCurveCurveUnits = bits, U32, 4420, [28:28], " us", " Degrees" canBroadcastEgt = bits, U32, 4420, [29:29], "false", "true" canBroadcastCams = bits, U32, 4420, [30:30], "false", "true" epicCanAllowSetVar = bits, U32, 4420, [31:31], "false", "true" nitrousControlArmingMethod = bits, S08, 4424, [3:3], "Digital Switch Input", "Lua Gauge" nitrousControlTriggerPin = bits, U16, 4426, [0:8], $switch_input_pin_e_list nitrousControlTriggerPinMode = bits, U08, 4428, [0:2], $pin_input_mode_e_enum nitrousLuaGauge = bits, S08, 4429, [0:2], "Lua Gauge 1", "Lua Gauge 2", "Lua Gauge 3", "Lua Gauge 4", "Lua Gauge 5", "Lua Gauge 6", "Lua Gauge 7", "Lua Gauge 8" nitrousLuaGaugeMeaning = bits, S08, 4430, [3:3], "Lower Bound", "Upper Bound" nitrousLuaGaugeArmingValue = scalar, F32, 4432, "", 1, 0, -30000, 30000, 3 nitrousMinimumTps = scalar, S32, 4436, "", 1, 0, 0, 20000, 0 nitrousMinimumClt = scalar, U08, 4440, "deg C", 1, 0, 0, 250, 0 nitrousMaximumMap = scalar, S16, 4442, "kPa", 1, 0, 0, 650, 0 nitrousMaximumAfr = scalar, U08, 4444, "afr", 0.1, 0, 10, 20, 1 nitrousActivationRpm = scalar, U16, 4446, "rpm", 1, 0, 0, 20000, 0 nitrousDeactivationRpm = scalar, U16, 4448, "rpm", 1, 0, 0, 20000, 0 nitrousDeactivationRpmWindow = scalar, U16, 4450, "rpm", 1, 0, 0, 20000, 0 dfcoRetardDeg = scalar, U08, 4452, "deg", 1, 0, 0, 30, 0 dfcoRetardRampInTime = scalar, U08, 4453, "s", 0.1, 0, 0, 1, 1 nitrousRelayPin = bits, U16, 4454, [0:8], $output_pin_e_list nitrousRelayPinMode = bits, U08, 4456, [0:1], $pin_output_mode_e_enum nitrousFuelAdderPercent = scalar, S08, 4457, "%", 1, 0, 0, 100, 0 nitrousIgnitionRetard = scalar, F32, 4460, "deg", 1, 0, -180, 180, 2 nitrousMinimumVehicleSpeed = scalar, U16, 4464, "Kph", 1, 0, 0, 300, 0 fuelLevelAveragingAlpha = scalar, F32, 4468, "", 1, 0, 0.0001, 1, 4 fuelLevelUpdatePeriodSec = scalar, F32, 4472, "seconds", 1, 0, 0, 60000, 3 fuelLevelLowThresholdVoltage = scalar, F32, 4476, "v", 1, 0, 0, 10, 2 fuelLevelHighThresholdVoltage = scalar, F32, 4480, "v", 1, 0, 0, 10, 2 afrExpAverageAlpha = scalar, F32, 4484, "", 1, 0, 0, 1, 3 sparkHardwareLatencyCorrectionDegreesCurve = array, U08, 4488, [8], "degree", 0.1, 0, 0, 25, 1 maxOilPressureTimeout = scalar, U08, 4496, "sec", 0.1, 0, 0, 5, 1 idleFlowEstimateFlow = array, U16, 4498, [8], "kg/h", 0.01, 0, 0, 200, 2 idleFlowEstimatePosition = array, U08, 4514, [8], "%", 0.5, 0, 0, 100, 1 airmassToTimingBins = array, S08, 4522, [8], "mg", 1, 0, -100, 100, 0 airmassToTimingValues = array, S08, 4530, [8], "deg", 1, 0, -30, 30, 0 idleReturnTargetRampDuration = scalar, U08, 4538, "seconds", 0.1, 0, 0.1, 15, 1 wastegatePositionOpenedVoltage = scalar, F32, 4540, "v", 1, 0, 0, 10, 2 wastegatePositionClosedVoltage = scalar, F32, 4544, "v", 1, 0, 0, 10, 2 canWbo1_type = bits, U08, 4548, [0:1], "RusEFI", "AEM X-series", "Disabled/Analog", "INVALID" canWbo1_reId = bits, U08, 4549, [0:3], $can_wbo_re_id_list canWbo1_aemId = bits, U08, 4550, [0:3], $can_wbo_aem_id_list canWbo1_reHwidx = bits, U08, 4551, [0:3], $can_wbo_re_hwidx_list canWbo1_enableRemap = bits, U32, 4552, [0:0], "false", "true" canWbo2_type = bits, U08, 4556, [0:1], "RusEFI", "AEM X-series", "Disabled/Analog", "INVALID" canWbo2_reId = bits, U08, 4557, [0:3], $can_wbo_re_id_list canWbo2_aemId = bits, U08, 4558, [0:3], $can_wbo_aem_id_list canWbo2_reHwidx = bits, U08, 4559, [0:3], $can_wbo_re_hwidx_list canWbo2_enableRemap = bits, U32, 4560, [0:0], "false", "true" vvlRelayPin = bits, U16, 4564, [0:8], $output_pin_e_list vvlRelayPinMode = bits, U08, 4566, [0:1], $pin_output_mode_e_enum vvlController_fuelAdderPercent = scalar, S08, 4568, "%", 1, 0, 0, 100, 0 vvlController_ignitionRetard = scalar, F32, 4572, "deg", 1, 0, -180, 180, 2 vvlController_minimumTps = scalar, S32, 4576, "", 1, 0, 0, 20000, 0 vvlController_minimumClt = scalar, S16, 4580, "C", 1, 0, 0, 250, 0 vvlController_maximumMap = scalar, S16, 4582, "kPa", 1, 0, 0, 650, 0 vvlController_maximumAfr = scalar, U08, 4584, "afr", 0.1, 0, 0, 20, 1 vvlController_activationRpm = scalar, U16, 4586, "rpm", 1, 0, 0, 20000, 0 vvlController_deactivationRpm = scalar, U16, 4588, "rpm", 1, 0, 0, 20000, 0 vvlController_deactivationRpmWindow = scalar, U16, 4590, "rpm", 1, 0, 0, 20000, 0 mafExpAverageAlpha = scalar, F32, 4592, "", 1, 0, 0, 1, 3 mafExpAverageAlphaFinal = scalar, F32, 4596, "", 1, 0, 0, 1, 3 driveWheelRevPerKm1 = scalar, F32, 4600, "revs/km", 1, 0, 100, 1000, 1 driveWheelRevPerKm2 = scalar, F32, 4604, "revs/km", 1, 0, 100, 1000, 1 driveWheelRevPerKm3 = scalar, F32, 4608, "revs/km", 1, 0, 100, 1000, 1 driveWheelRevPerKm4 = scalar, F32, 4612, "revs/km", 1, 0, 100, 1000, 1 drive_train_layout = bits, U08, 4616, [0:1], "None", "RWD", "FWD", "AWD" trac_vss_source = bits, U08, 4617, [0:1], "VSS Sensor", "Trac Front", "Trac Rear", "Trac Front/Rear AVG" vssGearRatio1 = scalar, U16, 4618, "ratio", 0.001, 0, 0, 60, 3 vssFilterReciprocal1 = scalar, U08, 4620, "", 1, 0, 3, 200, 0 vssToothCount1 = scalar, U08, 4621, "count", 1, 0, 1, 100, 0 vssGearRatio2 = scalar, U16, 4622, "ratio", 0.001, 0, 0, 60, 3 vssFilterReciprocal2 = scalar, U08, 4624, "", 1, 0, 3, 200, 0 vssToothCount2 = scalar, U08, 4625, "count", 1, 0, 1, 100, 0 vssGearRatio3 = scalar, U16, 4626, "ratio", 0.001, 0, 0, 60, 3 vssFilterReciprocal3 = scalar, U08, 4628, "", 1, 0, 3, 200, 0 vssToothCount3 = scalar, U08, 4629, "count", 1, 0, 1, 100, 0 vssGearRatio4 = scalar, U16, 4630, "ratio", 0.001, 0, 0, 60, 3 vssFilterReciprocal4 = scalar, U08, 4632, "", 1, 0, 3, 200, 0 vssToothCount4 = scalar, U08, 4633, "count", 1, 0, 1, 100, 0 primaryInjectorDisabled1 = bits, U32, 4636, [0:0], "false", "true" primaryInjectorDisabled2 = bits, U32, 4636, [1:1], "false", "true" primaryInjectorDisabled3 = bits, U32, 4636, [2:2], "false", "true" primaryInjectorDisabled4 = bits, U32, 4636, [3:3], "false", "true" primaryInjectorDisabled5 = bits, U32, 4636, [4:4], "false", "true" primaryInjectorDisabled6 = bits, U32, 4636, [5:5], "false", "true" primaryInjectorDisabled7 = bits, U32, 4636, [6:6], "false", "true" primaryInjectorDisabled8 = bits, U32, 4636, [7:7], "false", "true" primaryInjectorDisabled9 = bits, U32, 4636, [8:8], "false", "true" primaryInjectorDisabled10 = bits, U32, 4636, [9:9], "false", "true" primaryInjectorDisabled11 = bits, U32, 4636, [10:10], "false", "true" primaryInjectorDisabled12 = bits, U32, 4636, [11:11], "false", "true" ignitionDisabled2 = bits, U32, 4636, [12:12], "false", "true" ignitionDisabled1 = bits, U32, 4636, [13:13], "false", "true" ignitionDisabled3 = bits, U32, 4636, [14:14], "false", "true" ignitionDisabled4 = bits, U32, 4636, [15:15], "false", "true" ignitionDisabled5 = bits, U32, 4636, [16:16], "false", "true" ignitionDisabled6 = bits, U32, 4636, [17:17], "false", "true" ignitionDisabled7 = bits, U32, 4636, [18:18], "false", "true" ignitionDisabled8 = bits, U32, 4636, [19:19], "false", "true" ignitionDisabled9 = bits, U32, 4636, [20:20], "false", "true" ignitionDisabled10 = bits, U32, 4636, [21:21], "false", "true" ignitionDisabled11 = bits, U32, 4636, [22:22], "false", "true" ignitionDisabled12 = bits, U32, 4636, [23:23], "false", "true" ltitApplyToFuel = bits, U32, 4636, [24:24], "false", "true" measureMafOnlyInOneCylinder = bits, U32, 4636, [25:25], "false", "true" tpsAccelExtraShot = bits, U32, 4636, [26:26], "false", "true" dtTuneCycleFuel = bits, U32, 4636, [27:27], "false", "true" dtTuneSequential = bits, U32, 4636, [28:28], "false", "true" dtTuneBatch = bits, U32, 4636, [29:29], "false", "true" dtTuneSimultaneous = bits, U32, 4636, [30:30], "false", "true" useCustomCLTSensor = bits, U32, 4636, [31:31], "false", "true" mafMinBufferLength = scalar, U08, 4640, "count", 1, 0, 1, 24, 0 accelerometerScale = scalar, U08, 4641, "#", 1, 0, 0, 3, 0 accelerometerFds = scalar, U08, 4642, "", 1, 0, 0, 100, 0 accelerometerHPCF = scalar, U08, 4643, "", 1, 0, 0, 100, 0 accelerometerHPM = scalar, U08, 4644, "", 1, 0, 0, 100, 0 accelerometerOrd = scalar, U08, 4645, "", 1, 0, 0, 100, 0 accelSelfTest = scalar, U08, 4646, "", 1, 0, 0, 100, 0 wheelSpeedSensorInputPin1 = bits, U16, 4648, [0:8], $brain_input_pin_e_list wheelSpeedSensorInputPin2 = bits, U16, 4650, [0:8], $brain_input_pin_e_list wheelSpeedSensorInputPin3 = bits, U16, 4652, [0:8], $brain_input_pin_e_list wheelSpeedSensorInputPin4 = bits, U16, 4654, [0:8], $brain_input_pin_e_list isMafAveragingEnabled = bits, U32, 4656, [0:0], "false", "true" useCustomIATSensor = bits, U32, 4656, [1:1], "false", "true" useCustomOTSensor = bits, U32, 4656, [2:2], "false", "true" fuelPumpDisable = bits, U32, 4656, [3:3], "false", "true" injectorPrimeInhibit = bits, U32, 4656, [4:4], "false", "true" useIdleTimingTargetError = bits, U32, 4656, [5:5], "false", "true" useIdleTimingTargetErrorMode = bits, U32, 4656, [6:6], "false", "true" tpsAeResetsEgo = bits, U32, 4656, [7:7], "false", "true" useBiQuadOnWheelSpeedSensors1 = bits, U32, 4656, [8:8], "false", "true" useBiQuadOnWheelSpeedSensors2 = bits, U32, 4656, [9:9], "false", "true" useBiQuadOnWheelSpeedSensors3 = bits, U32, 4656, [10:10], "false", "true" useBiQuadOnWheelSpeedSensors4 = bits, U32, 4656, [11:11], "false", "true" useBiQuadOnAuxSpeedSensors1 = bits, U32, 4656, [12:12], "false", "true" useBiQuadOnAuxSpeedSensors2 = bits, U32, 4656, [13:13], "false", "true" useBiQuadOnAuxSpeedSensors3 = bits, U32, 4656, [14:14], "false", "true" useBiQuadOnAuxSpeedSensors4 = bits, U32, 4656, [15:15], "false", "true" resetCanToggleInhibit1 = bits, U32, 4656, [16:16], "false", "true" resetCanToggleInhibit2 = bits, U32, 4656, [17:17], "false", "true" resetCanToggleInhibit3 = bits, U32, 4656, [18:18], "false", "true" resetCanToggleInhibit4 = bits, U32, 4656, [19:19], "false", "true" resetCanToggleInhibit5 = bits, U32, 4656, [20:20], "false", "true" resetCanToggleInhibit6 = bits, U32, 4656, [21:21], "false", "true" resetCanToggleInhibit7 = bits, U32, 4656, [22:22], "false", "true" resetCanToggleInhibit8 = bits, U32, 4656, [23:23], "false", "true" veBlend1BlendMode = bits, U32, 4656, [24:24], "false", "true" veBlend2BlendMode = bits, U32, 4656, [25:25], "false", "true" ignBlend1BlendMode = bits, U32, 4656, [26:26], "false", "true" ignBlend2BlendMode = bits, U32, 4656, [27:27], "false", "true" AFRBlend1BlendMode = bits, U32, 4656, [28:28], "false", "true" OLBoostBlend1BlendMode = bits, U32, 4656, [29:29], "false", "true" CLBoostBlend1BlendMode = bits, U32, 4656, [30:30], "false", "true" idleEntryRampInterpolateAngle = bits, U32, 4656, [31:31], "false", "true" defaultEthanolContent = scalar, U08, 4660, "%", 0.5, 0, 0, 100, 1 auxFrequencyFilter1 = scalar, U08, 4661, "hz", 0.5, 0, 0, 100, 1 auxFrequencyFilter2 = scalar, U08, 4662, "hz", 0.5, 0, 0, 100, 1 auxFrequencyFilter3 = scalar, U08, 4663, "hz", 0.5, 0, 0, 100, 1 auxFrequencyFilter4 = scalar, U08, 4664, "hz", 0.5, 0, 0, 100, 1 auxSpeedMult1 = scalar, F32, 4668, "", 1, 0, 0.0001, 100, 4 auxSpeedMult2 = scalar, F32, 4672, "", 1, 0, 0.0001, 100, 4 auxSpeedMult3 = scalar, F32, 4676, "", 1, 0, 0.0001, 100, 4 auxSpeedMult4 = scalar, F32, 4680, "", 1, 0, 0.0001, 100, 4 canBoxTracTrimMax = scalar, S08, 4684, "%", 1, 0, 0, 50, 0 canBoxTracTrimMin = scalar, S08, 4685, "%", 1, 0, -50, 0, 0 canBoxTracTrimStep = scalar, S08, 4686, "%", 1, 0 , 0, 50, 0 canBoxTracTrim1 = scalar, S08, 4687, "%", 1, 0 -50, 50, 0 canBoxTracTrim2 = scalar, S08, 4688, "%", 1, 0 -50, 50, 0 canBoxTracTrim3 = scalar, S08, 4689, "%", 1, 0 -50, 50, 0 canBoxTracTrim4 = scalar, S08, 4690, "%", 1, 0 -50, 50, 0 dwellClampPercent = scalar, U08, 4691, "%", 1,0, 0, 100, 0 pedalToTpsIndex = scalar, U08, 4692, "#", 1, 0, 0, 4, 0 afrTrimRangeMax = scalar, F32, 4696, "(lambda)", 1, 0, 0, 0.5, 3 afrTrimRangeMin = scalar, F32, 4700, "(lambda)", 1, 0, -0.5, 0, 3 globalFuelCorrection = scalar, U16, 4704, "*", 1.0E-4, 0, 0, 6, 4 canVirtualInputs1_id = scalar, U32, 4708, "", 1, 0, 0, 536870911, 0 canVirtualInputs1_byte = scalar, U08, 4712, "", 1, 0, 0, 7, 0 canVirtualInputs1_bitOffset = scalar, U08, 4713, "", 1, 0, 0, 7, 0 canVirtualInputs1_timeout = scalar, U08, 4714, "", 0.1, 0, 0, 10, 1 canVirtualInputs1_defaultValue = scalar, U08, 4715, "", 1, 0, 0, 1, 0 canVirtualInputs2_id = scalar, U32, 4716, "", 1, 0, 0, 536870911, 0 canVirtualInputs2_byte = scalar, U08, 4720, "", 1, 0, 0, 7, 0 canVirtualInputs2_bitOffset = scalar, U08, 4721, "", 1, 0, 0, 7, 0 canVirtualInputs2_timeout = scalar, U08, 4722, "", 0.1, 0, 0, 10, 1 canVirtualInputs2_defaultValue = scalar, U08, 4723, "", 1, 0, 0, 1, 0 canVirtualInputs3_id = scalar, U32, 4724, "", 1, 0, 0, 536870911, 0 canVirtualInputs3_byte = scalar, U08, 4728, "", 1, 0, 0, 7, 0 canVirtualInputs3_bitOffset = scalar, U08, 4729, "", 1, 0, 0, 7, 0 canVirtualInputs3_timeout = scalar, U08, 4730, "", 0.1, 0, 0, 10, 1 canVirtualInputs3_defaultValue = scalar, U08, 4731, "", 1, 0, 0, 1, 0 canVirtualInputs4_id = scalar, U32, 4732, "", 1, 0, 0, 536870911, 0 canVirtualInputs4_byte = scalar, U08, 4736, "", 1, 0, 0, 7, 0 canVirtualInputs4_bitOffset = scalar, U08, 4737, "", 1, 0, 0, 7, 0 canVirtualInputs4_timeout = scalar, U08, 4738, "", 0.1, 0, 0, 10, 1 canVirtualInputs4_defaultValue = scalar, U08, 4739, "", 1, 0, 0, 1, 0 canVirtualInputs5_id = scalar, U32, 4740, "", 1, 0, 0, 536870911, 0 canVirtualInputs5_byte = scalar, U08, 4744, "", 1, 0, 0, 7, 0 canVirtualInputs5_bitOffset = scalar, U08, 4745, "", 1, 0, 0, 7, 0 canVirtualInputs5_timeout = scalar, U08, 4746, "", 0.1, 0, 0, 10, 1 canVirtualInputs5_defaultValue = scalar, U08, 4747, "", 1, 0, 0, 1, 0 canVirtualInputs6_id = scalar, U32, 4748, "", 1, 0, 0, 536870911, 0 canVirtualInputs6_byte = scalar, U08, 4752, "", 1, 0, 0, 7, 0 canVirtualInputs6_bitOffset = scalar, U08, 4753, "", 1, 0, 0, 7, 0 canVirtualInputs6_timeout = scalar, U08, 4754, "", 0.1, 0, 0, 10, 1 canVirtualInputs6_defaultValue = scalar, U08, 4755, "", 1, 0, 0, 1, 0 canVirtualInputs7_id = scalar, U32, 4756, "", 1, 0, 0, 536870911, 0 canVirtualInputs7_byte = scalar, U08, 4760, "", 1, 0, 0, 7, 0 canVirtualInputs7_bitOffset = scalar, U08, 4761, "", 1, 0, 0, 7, 0 canVirtualInputs7_timeout = scalar, U08, 4762, "", 0.1, 0, 0, 10, 1 canVirtualInputs7_defaultValue = scalar, U08, 4763, "", 1, 0, 0, 1, 0 canVirtualInputs8_id = scalar, U32, 4764, "", 1, 0, 0, 536870911, 0 canVirtualInputs8_byte = scalar, U08, 4768, "", 1, 0, 0, 7, 0 canVirtualInputs8_bitOffset = scalar, U08, 4769, "", 1, 0, 0, 7, 0 canVirtualInputs8_timeout = scalar, U08, 4770, "", 0.1, 0, 0, 10, 1 canVirtualInputs8_defaultValue = scalar, U08, 4771, "", 1, 0, 0, 1, 0 dtcControl_p0102 = bits, S08, 4772, [0:0], "Warning only", "Ignore" dtcControl_p0103 = bits, S08, 4773, [0:0], "Warning only", "Ignore" dtcControl_p0107 = bits, S08, 4774, [0:0], "Warning only", "Ignore" dtcControl_p0108 = bits, S08, 4775, [0:0], "Warning only", "Ignore" dtcControl_p0112 = bits, S08, 4776, [0:0], "Warning only", "Ignore" dtcControl_p0113 = bits, S08, 4777, [0:0], "Warning only", "Ignore" dtcControl_p0117 = bits, S08, 4778, [0:0], "Warning only", "Ignore" dtcControl_p0118 = bits, S08, 4779, [0:0], "Warning only", "Ignore" dtcControl_p0176 = bits, S08, 4780, [0:0], "Warning only", "Ignore" dtcControl_p0178 = bits, S08, 4781, [0:0], "Warning only", "Ignore" dtcControl_p0179 = bits, S08, 4782, [0:0], "Warning only", "Ignore" dtcControl_p0197 = bits, S08, 4783, [0:0], "Warning only", "Ignore" dtcControl_p0198 = bits, S08, 4784, [0:0], "Warning only", "Ignore" dtcControl_p0522 = bits, S08, 4785, [0:0], "Warning only", "Ignore" dtcControl_p0523 = bits, S08, 4786, [0:0], "Warning only", "Ignore" tmfTable = array, U16, 4788, [16x16], "", 0.001, 0, 0, 65, 3 tmfRatioBins = array, U08, 5300, [16], "", 0.01, 0, 0, 2.5, 2 tmfOpeningBins = array, U08, 5316, [16], "", 0.5, 0, 0, 100, 1 torqueTable = array, U08, 5332, [6x6], "Nm", 10.0, 0, 0, 255, 0 torqueRpmBins = array, U16, 5368, [6], "RPM", 1, 0, 0, 65000, 0 torqueLoadBins = array, U16, 5380, [6], "Load", 1, 0, 0, 65000, 0 postCrankingFactor = array, U08, 5392, [6x6], "mult", 0.02, 0, 1, 3, 2 postCrankingDurationBins = array, U08, 5428, [6], "count", 2.0, 0, 0, 500, 0 postCrankingCLTBins = array, S08, 5434, [6], "C", 2.0, 0, -100, 250, 0 etbBiasBins = array, F32, 5440, [8], "target TPS position", 1, 0, 0, 100, 2 etbBiasValues = array, F32, 5472, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 etbVoltageTpsBins = array, U08, 5504, [5], "TPS position", 0.5, 0, 0, 100, 1 etbVoltageVoltageBins = array, U08, 5509, [5], "volts", 0.1, 0, 8, 18, 1 etbVoltageCompensationTable = array, U08, 5514, [5x5], "mult", 0.01, 0, 0.0, 2.0, 2 dcWastegateBiasBins = array, S08, 5539, [8], "target DC position", 1, 0, 0, 100, 0 dcWastegateBiasValues = array, S16, 5548, [8], "DC wastegate duty cycle bias", 0.01, 0, -100, 100, 2 iacPidMultTable = array, U08, 5564, [8x8], "%", 0.05, 0, 0, 10, 2 iacPidMultLoadBins = array, U08, 5628, [8], "Load", 1, 0, 0, 250, 2 iacPidMultRpmBins = array, U08, 5636, [8], "RPM", 10.0, 0, 0, 2500, 0 sparkDwellRpmBins = array, U08, 5644, [8], "RPM", 100.0, 0, 0, 25000, 0 cltIdleRpmBins = array, S08, 5652, [16], "C", 2.0, 0, -40, 250, 0 cltIdleRpm = array, U08, 5668, [16], "RPM", 20.0, 0, 0, 5000, 0 ignitionCltCorrTable = array, S16, 5684, [5x5], "deg", 0.1, 0, -50, 50, 1 ignitionCltCorrTempBins = array, S08, 5734, [5], "C", 5.0, 0, -40, 250, 0 ignitionCltCorrLoadBins = array, U08, 5739, [5], "Load", 5.0, 0, 0, 650, 0 baroCorrPressureBins = array, U08, 5744, [4], "kPa", 0.5, 0, 0, 120, 1 baroCorrRpmBins = array, U08, 5748, [4], "RPM", 100.0, 0, 0, 25000, 0 baroCorrTable = array, U08, 5752, [4x4], "ratio", 0.01, 0, 0, 2, 2 crankingTpsCoef = array, F32, 5768, [8], "Ratio", 1, 0, 0, 700, 2 crankingTpsBins = array, F32, 5800, [8], "%", 1, 0, 0, 100, 2 crankingAdvanceBins = array, U08, 5832, [4], "RPM", 100.0, 0, 0, 25000, 0 crankingAdvance = array, S08, 5836, [4], "deg", 1, 0, -20, 90, 2 iacCoastingRpmBins = array, U08, 5840, [16], "RPM", 100.0, 0, 0, 25000, 0 iacCoasting = array, U08, 5856, [16], "%", 0.5, 0, 0, 100, 1 boostTableOpenLoop = array, U08, 5872, [8x8], "", 0.5, 0, 0, 100, 1 boostRpmBins = array, U08, 5936, [8], "RPM", 100.0, 0, 0, 25000, 0 boostOpenLoopLoadBins = array, U16, 5944, [8], "", 1, 0, 0, 650, 0 boostTableClosedLoop = array, U08, 5960, [8x8], "", 2.0, 0, 0, 510, 0 boostClosedLoopLoadBins = array, U16, 6024, [8], "", 1, 0, 0, 650, 0 lowerWgTableOpenLoop = array, U08, 6040, [8x8], "%", 0.5, 0, 0, 100, 1 pedalToTpsTable = array, U08, 6104, [8x8], "%", 1, 0, 0, 100, 0 pedalToTpsPedalBins = array, U08, 6168, [8], "%", 1, 0, 0, 120, 0 pedalToTpsRpmBins = array, U08, 6176, [8], "RPM", 100.0, 0, 0, 25000, 0 cltCrankingCorrBins = array, S08, 6184, [8], "C", 2.0, 0, -100, 250, 2 cltCrankingCorr = array, U08, 6192, [8], "percent", 0.5, 0, 0, 100, 2 afterCrankingIACtaperDurationBins = array, S08, 6200, [6], "C", 2.0, 0, -100, 250, 2 afterCrankingIACtaperDuration = array, U16, 6206, [6], "cycles", 1, 0, 0, 65000, 0 idleAdvanceBins = array, U08, 6218, [8], "RPM", 50.0, 0, 0, 12000, 0 idleAdvance = array, S16, 6226, [8], "deg", 0.1, 0, -20, 90, 1 idleVeRpmBins = array, U08, 6242, [4], "RPM", 10.0, 0, 0, 2500, 0 idleVeLoadBins = array, U08, 6246, [4], "load", 1, 0, 0, 100, 0 idleVeTable = array, U16, 6250, [4x4], "%", 0.1, 0, 0, 999, 1 luaScript = string, ASCII, 6282, 5000 cltFuelCorrBins = array, S08, 11282, [16], "C", 2.0, 0, -100, 250, 2 cltFuelCorr = array, U08, 11298, [16], "ratio", 0.02, 0, 0, 5, 2 iatFuelCorrBins = array, S08, 11314, [16], "C", 2.0, 0, -100, 250, 2 iatFuelCorr = array, U08, 11330, [16], "ratio", 0.02, 0, 0, 5, 2 crankingFuelCoef = array, U08, 11346, [8], "ratio", 0.02, 0, 0, 5, 2 crankingFuelBins = array, S08, 11354, [8], "C", 2.0, 0, -80, 250, 2 crankingCycleFuelCltBins = array, S08, 11362, [4], "C", 2.0, 0, -100, 250, 2 crankingCycleBins = array, U08, 11366, [8], "counter", 1, 0, 0, 250, 0 crankingCycleBaseFuel = array, U08, 11374, [8x4], "% req_fuel", 1, 0, 0, 250, 0 cltIdleCorrBins = array, S08, 11406, [8], "C", 2.0, 0, -100, 250, 0 cltIdleCorrTable = array, U08, 11414, [8x3], "%", 0.5, 0, 0, 100, 1 rpmIdleCorrBins = array, U08, 11438, [3], "Target RPM", 100.0, 0, 0, 25000, 0 ltitTable = array, U16, 11442, [8], "%", 0.1, 0, 50, 150, 1 mafDecoding = array, F32, 11460, [128], "kg/hour", 1, 0, 0, 10000, 3 mafDecodingBins = array, U16, 11972, [128], "V", 1.0E-4, 0, 0, 5, 4 mafDecodingBinsHz = array, U16, 12228, [128], "hz", 1, 0, 0, 32000, 0 ignitionIatCorrTable = array, S16, 12484, [8x8], "deg", 0.1, 0, -50, 50, 1 ignitionIatCorrTempBins = array, S08, 12612, [8], "C", 1, 0, -40, 120, 0 ignitionIatCorrLoadBins = array, U08, 12620, [8], "Load", 5.0, 0, 0, 650, 0 injectionPhase = array, S16, 12628, [16x16], "deg", 1, 0, -720, 720, 0 injPhaseLoadBins = array, U16, 13140, [16], "Load", 1, 0, 0, 650, 0 injPhaseRpmBins = array, U08, 13172, [16], "RPM", 100.0, 0, 0, 25000, 0 mapEstimateTable = array, U16, 13188, [16x16], "kPa", 0.01, 0, 0, 650, 2 mapEstimateTpsBins = array, U08, 13700, [16], "% TPS", 0.5, 0, 0, 100, 1 mapEstimateRpmBins = array, U08, 13716, [16], "RPM", 100.0, 0, 0, 25000, 0 vvtTable1 = array, S08, 13732, [16x16], "value", 1, 0, -125, 125, 0 vvtTable1LoadBins = array, U08, 13988, [16], "L", 2.0, 0, 0, 500, 0 vvtTable1RpmBins = array, U08, 14004, [16], "RPM", 100.0, 0, 0, 25000, 0 vvtTable2 = array, S08, 14020, [16x16], "value", 1, 0, -125, 125, 0 vvtTable2LoadBins = array, U08, 14276, [16], "L", 2.0, 0, 0, 500, 0 vvtTable2RpmBins = array, U08, 14292, [16], "RPM", 100.0, 0, 0, 25000, 0 ignitionTable = array, S16, 14308, [20x20], "deg", 0.01, 0, -90, 90, 2 ignitionLoadBins = array, U16, 15108, [20], "Load", 1, 0, 0, 650, 0 ignitionRpmBins = array, U16, 15148, [20], "RPM", 1, 0, 0, 32000, 0 veTable = array, U16, 15188, [24x24], "%", 0.01, 0, 0, 650, 2 veLoadBins = array, U16, 16340, [24], {bitStringValue(fuelUnits, fuelAlgorithm) }, 1, 0, 0, 650, 0 veRpmBins = array, U16, 16388, [24], "RPM", 1, 0, 0, 32000, 0 #if LAMBDA lambdaTable = array, U08, 16436, [18x18], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else lambdaTable = array, U08, 16436, [18x18], "afr", 0.1, 0, 0, 25, 1 #endif lambdaLoadBins = array, U16, 16760, [18], "", 1, 0, 0, 1000, 0 lambdaRpmBins = array, U08, 16796, [18], "RPM", 100.0, 0, 0, 25000, 0 ignTrimLoadBins = array, U16, 16814, [4], "", 1, 0, 0, 1000, 0 ignTrimRpmBins = array, U08, 16822, [4], "rpm", 100.0, 0, 0, 25000, 0 ignTrims1_table = array, S08, 16828, [4x4], "", 0.2, 0, -25, 25, 1 ignTrims2_table = array, S08, 16844, [4x4], "", 0.2, 0, -25, 25, 1 ignTrims3_table = array, S08, 16860, [4x4], "", 0.2, 0, -25, 25, 1 ignTrims4_table = array, S08, 16876, [4x4], "", 0.2, 0, -25, 25, 1 ignTrims5_table = array, S08, 16892, [4x4], "", 0.2, 0, -25, 25, 1 ignTrims6_table = array, S08, 16908, [4x4], "", 0.2, 0, -25, 25, 1 ignTrims7_table = array, S08, 16924, [4x4], "", 0.2, 0, -25, 25, 1 ignTrims8_table = array, S08, 16940, [4x4], "", 0.2, 0, -25, 25, 1 fuelTrimLoadBins = array, U16, 16956, [4], "", 1, 0, 0, 1000, 0 fuelTrimRpmBins = array, U08, 16964, [4], "rpm", 100.0, 0, 0, 25000, 0 fuelTrims1_table = array, S08, 16968, [4x4], "", 0.2, 0, -25, 25, 1 fuelTrims2_table = array, S08, 16984, [4x4], "", 0.2, 0, -25, 25, 1 fuelTrims3_table = array, S08, 17000, [4x4], "", 0.2, 0, -25, 25, 1 fuelTrims4_table = array, S08, 17016, [4x4], "", 0.2, 0, -25, 25, 1 fuelTrims5_table = array, S08, 17032, [4x4], "", 0.2, 0, -25, 25, 1 fuelTrims6_table = array, S08, 17048, [4x4], "", 0.2, 0, -25, 25, 1 fuelTrims7_table = array, S08, 17064, [4x4], "", 0.2, 0, -25, 25, 1 fuelTrims8_table = array, S08, 17080, [4x4], "", 0.2, 0, -25, 25, 1 crankingFuelCoefE100 = array, U16, 17096, [8], "ratio", 0.01, 0, 0, 50, 2 throttle2TrimTable = array, S08, 17112, [6x6], "%", 0.1, 0, -10, 10, 1 throttle2TrimTpsBins = array, U08, 17148, [6], "%", 1, 0, 0, 120, 0 throttle2TrimRpmBins = array, U08, 17154, [6], "RPM", 100.0, 0, 0, 25000, 0 maxKnockRetardTable = array, U08, 17160, [6x6], "deg", 0.25, 0, 0, 30, 2 maxKnockRetardLoadBins = array, U08, 17196, [6], "%", 1, 0, 0, 250, 0 maxKnockRetardRpmBins = array, U08, 17202, [6], "RPM", 100.0, 0, 0, 25000, 0 ALSTimingRetardTable = array, S16, 17208, [6x6], "deg", 0.1, 0, -60, 0, 1 alsIgnRetardLoadBins = array, U16, 17280, [6], "TPS", 1, 0, 0, 100, 0 alsIgnRetardrpmBins = array, U08, 17292, [6], "RPM", 100.0, 0, 0, 25000, 0 ALSFuelAdjustment = array, S16, 17298, [6x6], "percent", 0.1, 0, 0, 50, 1 alsFuelAdjustmentLoadBins = array, U16, 17370, [6], "TPS", 1, 0, 0, 100, 0 alsFuelAdjustmentrpmBins = array, U08, 17382, [6], "RPM", 100.0, 0, 0, 25000, 0 ALSIgnSkipTable = array, S16, 17388, [6x6], "ratio", 10.0, 0, 0, 50, 1 alsIgnSkipLoadBins = array, U16, 17460, [6], "TPS", 1, 0, 0, 100, 0 alsIgnSkiprpmBins = array, U08, 17472, [6], "RPM", 100.0, 0, 0, 25000, 0 throttleEstimateEffectiveAreaBins = array, U08, 17478, [16], "%", 0.5, 0, 0, 100, 1 throttleEstimateEffectiveAreaValues = array, U08, 17494, [16], "%", 0.5, 0, 0, 100, 1 boostOpenLoopBlends1_table = array, S16, 17512, [8x8], "", 0.01, 0, -300, 300, 1 boostOpenLoopBlends1_loadBins = array, U16, 17640, [8], "Load", 1, 0, 0, 1000, 0 boostOpenLoopBlends1_rpmBins = array, U16, 17656, [8], "RPM", 1, 0, 0, 18000, 0 boostOpenLoopBlends1_tableSwitch = bits, U16, 17672, [0:8], $switch_input_pin_e_list boostOpenLoopBlends1_tableSwitchPinMode = bits, U08, 17674, [0:2], $pin_input_mode_e_enum boostOpenLoopBlends1_blendParameter = bits, U08, 17675, [0:5], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 In Actual", "VVT 1 Ex Actual", "VVT 2 In Actual", "VVT 2 Ex Actual", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)", "Baro pressure", "EGT 1", "EGT 2", "Aux Linear 3", "Aux Linear 4", "Vehicle speed", "Oil pressure", "Oil temp", "Fuel Pressure", "Throttle Ratio", "Percent Baro", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" boostOpenLoopBlends1_yAxisOverride = bits, U08, 17676, [0:5], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 In Actual", "VVT 1 Ex Actual", "VVT 2 In Actual", "VVT 2 Ex Actual", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)", "Baro pressure", "EGT 1", "EGT 2", "Aux Linear 3", "Aux Linear 4", "Vehicle speed", "Oil pressure", "Oil temp", "Fuel Pressure", "Throttle Ratio", "Percent Baro", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" boostOpenLoopBlends1_blendBins = array, S16, 17678, [8], "", 0.1, 0, -3200, 3200, 1 boostOpenLoopBlends1_blendValues = array, U08, 17694, [8], "%", 0.5, 0, 0, 100, 1 boostClosedLoopBlends1_table = array, S16, 17704, [8x8], "", 0.01, 0, -300, 300, 1 boostClosedLoopBlends1_loadBins = array, U16, 17832, [8], "Load", 1, 0, 0, 1000, 0 boostClosedLoopBlends1_rpmBins = array, U16, 17848, [8], "RPM", 1, 0, 0, 18000, 0 boostClosedLoopBlends1_tableSwitch = bits, U16, 17864, [0:8], $switch_input_pin_e_list boostClosedLoopBlends1_tableSwitchPinMode = bits, U08, 17866, [0:2], $pin_input_mode_e_enum boostClosedLoopBlends1_blendParameter = bits, U08, 17867, [0:5], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 In Actual", "VVT 1 Ex Actual", "VVT 2 In Actual", "VVT 2 Ex Actual", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)", "Baro pressure", "EGT 1", "EGT 2", "Aux Linear 3", "Aux Linear 4", "Vehicle speed", "Oil pressure", "Oil temp", "Fuel Pressure", "Throttle Ratio", "Percent Baro", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" boostClosedLoopBlends1_yAxisOverride = bits, U08, 17868, [0:5], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 In Actual", "VVT 1 Ex Actual", "VVT 2 In Actual", "VVT 2 Ex Actual", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)", "Baro pressure", "EGT 1", "EGT 2", "Aux Linear 3", "Aux Linear 4", "Vehicle speed", "Oil pressure", "Oil temp", "Fuel Pressure", "Throttle Ratio", "Percent Baro", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" boostClosedLoopBlends1_blendBins = array, S16, 17870, [8], "", 0.1, 0, -3200, 3200, 1 boostClosedLoopBlends1_blendValues = array, U08, 17886, [8], "%", 0.5, 0, 0, 100, 1 lambdaMaxDeviationTable = array, U08, 17896, [4x4], "lambda", 0.01, 0, 0, 1, 2 lambdaMaxDeviationLoadBins = array, U08, 17912, [4], "", 2.0, 0, 0, 500, 0 lambdaMaxDeviationRpmBins = array, U08, 17916, [4], "RPM", 100.0, 0, 0, 18000, 0 injectorStagingTable = array, U08, 17920, [6x6], "%", 1, 0, 0, 90, 0 injectorStagingLoadBins = array, U16, 17956, [6], "", 1, 0, 0, 1000, 0 injectorStagingRpmBins = array, U16, 17968, [6], "RPM", 1, 0, 0, 18000, 0 wwCltBins = array, S08, 17980, [8], "deg C", 1, 0, -40, 120, 0 wwTauCltValues = array, U08, 17988, [8], "", 0.01, 0, 0, 2.5, 2 wwBetaCltValues = array, U08, 17996, [8], "", 0.005, 0, 0, 1, 3 wwMapBins = array, U16, 18004, [8], "kPa", 1, 0, 0, 250, 0 wwTauMapTable = array, U08, 18020, [8x8], "", 0.01, 0, 0, 2.5, 3 wwBetaMapTable = array, U08, 18084, [8x8], "", 0.01, 0, 0, 2.5, 3 hpfpLobeProfileQuantityBins = array, U08, 18148, [16], "%", 0.5, 0, 0, 100, 1 hpfpLobeProfileAngle = array, U08, 18164, [16], "deg", 0.5, 0, 0, 125, 1 hpfpDeadtimeVoltsBins = array, U08, 18180, [8], "volts", 1, 0, 0, 255, 0 hpfpDeadtimeMS = array, U16, 18188, [8], "ms", 0.001, 0, 0, 65, 3 hpfpTarget = array, U16, 18204, [10x10], "kPa", 1, 0, 0, 65000, 0 hpfpTargetLoadBins = array, U16, 18404, [10], "load", 0.1, 0, 0, 6500, 1 hpfpTargetRpmBins = array, U08, 18424, [10], "RPM", 50.0, 0, 0, 12500, 0 hpfpCompensation = array, S08, 18434, [10x10], "%", 1, 0, -100, 100, 0 hpfpCompensationLoadBins = array, U16, 18534, [10], "cc/lobe", 0.001, 0, 0, 65, 3 hpfpCompensationRpmBins = array, U08, 18554, [10], "RPM", 50.0, 0, 0, 12500, 0 hpfpFuelMassCompensation = array, U16, 18564, [8x8], "%", 0.01, 0, 1, 10, 2 hpfpFuelMassCompensationFuelMass = array, U16, 18692, [8], "fuel mass/mg", 0.01, 0, 0, 650, 2 hpfpFuelMassCompensationFuelPressure = array, U16, 18708, [8], "bar", 0.1, 0, 0, 300, 1 injectorFlowLinearization = array, U16, 18724, [2x2], "ms", 0.01, 0, 0, 600, 2 injectorFlowLinearizationFuelMassBins = array, U16, 18732, [2], "fuel mass/mg", 0.01, 0, 0, 650, 2 injectorFlowLinearizationPressureBins = array, U16, 18736, [2], "bar", 0.1, 0, 0, 300, 1 knockNoiseRpmBins = array, U16, 18740, [16], "RPM", 1, 0, 0, 30000, 0 knockBaseNoise = array, S08, 18772, [16], "dB", 0.5, 0, -64, 10, 1 tpsTspCorrValuesBins = array, U08, 18788, [4], "RPM", 50.0, 0, 0, 12500, 0 tpsTspCorrValues = array, U08, 18792, [4], "multiplier", 0.02, 0, 0, 5, 2 predictiveMapBlendDurationBins = array, U08, 18796, [4], "RPM", 50.0, 0, 0, 12500, 0 predictiveMapBlendDurationValues = array, U08, 18800, [4], "second", 0.02, 0, 0, 5, 2 cltRevLimitRpmBins = array, S08, 18804, [4], "C", 2.0, 0, -40, 200, 0 cltRevLimitRpm = array, U08, 18808, [4], "RPM", 100.0, 0, 0, 20000, 0 fuelLevelBins = array, U16, 18812, [8], "volt", 8.333333333333333E-5, 0, 0, 5, 3 fuelLevelValues = array, U08, 18828, [8], "%", 0.5, 0, 0, 100, 0 dwellVoltageCorrVoltBins = array, U08, 18836, [8], "volts", 0.1, 0, 0, 20, 1 dwellRpmVsBatvTable = array, U16, 18844, [8x8], "ms", 0.01, 0, 0, 30, 2 alternatorVoltageTargetTable = array, S16, 18972, [4x4], "volts", 0.1, 0, 0, 30, 1 alternatorVoltageTargetLoadBins = array, U16, 19004, [4], "Load", 1, 0, 0, 1000, 0 alternatorVoltageTargetRpmBins = array, U08, 19012, [4], "RPM", 100.0, 0, 0, 18000, 0 cltBoostCorrBins = array, S08, 19016, [5], "C", 2.0, 0, -100, 250, 2 cltBoostCorr = array, U08, 19021, [5], "ratio", 0.02, 0, 0, 5, 2 iatBoostCorrBins = array, S08, 19026, [5], "C", 2.0, 0, -100, 250, 2 iatBoostCorr = array, U08, 19031, [5], "ratio", 0.02, 0, 0, 5, 2 cltBoostAdderBins = array, S08, 19036, [5], "C", 2.0, 0, -100, 250, 2 cltBoostAdder = array, U08, 19041, [5], "", 0.02, 0, 0, 5, 2 iatBoostAdderBins = array, S08, 19046, [5], "C", 2.0, 0, -100, 250, 2 iatBoostAdder = array, U08, 19051, [5], "", 0.02, 0, 0, 5, 2 minimumOilPressureBins = array, U08, 19056, [8], "RPM", 100.0, 0, 0, 25000, 0 minimumOilPressureValues = array, U08, 19064, [8], "kPa", 10.0, 0, 0, 1000, 0 dfcoMapRpmValuesBins = array, U08, 19072, [4], "RPM", 100.0, 0, 0, 17500, 0 dfcoMapRpmValues = array, U08, 19076, [4], "MAP", 0.5, 0, 0, 100, 1 targetAfrBlends1_table = array, S16, 19080, [8x8], "", 0.01, 0, -300, 300, 1 targetAfrBlends1_loadBins = array, U16, 19208, [8], "Load", 1, 0, 0, 1000, 0 targetAfrBlends1_rpmBins = array, U16, 19224, [8], "RPM", 1, 0, 0, 18000, 0 targetAfrBlends1_tableSwitch = bits, U16, 19240, [0:8], $switch_input_pin_e_list targetAfrBlends1_tableSwitchPinMode = bits, U08, 19242, [0:2], $pin_input_mode_e_enum targetAfrBlends1_blendParameter = bits, U08, 19243, [0:5], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 In Actual", "VVT 1 Ex Actual", "VVT 2 In Actual", "VVT 2 Ex Actual", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)", "Baro pressure", "EGT 1", "EGT 2", "Aux Linear 3", "Aux Linear 4", "Vehicle speed", "Oil pressure", "Oil temp", "Fuel Pressure", "Throttle Ratio", "Percent Baro", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" targetAfrBlends1_yAxisOverride = bits, U08, 19244, [0:5], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 In Actual", "VVT 1 Ex Actual", "VVT 2 In Actual", "VVT 2 Ex Actual", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)", "Baro pressure", "EGT 1", "EGT 2", "Aux Linear 3", "Aux Linear 4", "Vehicle speed", "Oil pressure", "Oil temp", "Fuel Pressure", "Throttle Ratio", "Percent Baro", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" targetAfrBlends1_blendBins = array, S16, 19246, [8], "", 0.1, 0, -3200, 3200, 1 targetAfrBlends1_blendValues = array, U08, 19262, [8], "%", 0.5, 0, 0, 100, 1 dynoRpmStep = scalar, U08, 19272, "Rpm", 1, 0, 1, 250, 0 dynoSaeTemperatureC = scalar, S08, 19273, "C", 1, 0, -80, 80, 0 dynoSaeRelativeHumidity = scalar, U08, 19274, "%", 1, 0, 0, 100, 0 dynoSaeBaro = scalar, F32, 19276, "KPa", 1, 0, 30, 110, 3 dynoCarWheelDiaInch = scalar, S08, 19280, "Inch", 1, 0, 0, 24, 1 dynoCarWheelAspectRatio = scalar, S08, 19281, "Aspect Ratio (height)", 1, 0, 0, 100, 0 dynoCarWheelTireWidthMm = scalar, S16, 19282, "Width mm", 1, 0, 0, 400, 0 dynoCarGearPrimaryReduction = scalar, F32, 19284, "Units", 1, 0, 0, 10, 3 dynoCarGearRatio = scalar, F32, 19288, "Units", 1, 0, 0, 10, 3 dynoCarGearFinalDrive = scalar, F32, 19292, "Units", 1, 0, 0, 10, 3 dynoCarCarMassKg = scalar, S16, 19296, "Kg", 1, 0, 0, 5000, 0 dynoCarCargoMassKg = scalar, S16, 19298, "Kg", 1, 0, 0, 1000, 0 dynoCarCoeffOfDrag = scalar, F32, 19300, "Coeff", 1, 0, 0, 1, 3 dynoCarFrontalAreaM2 = scalar, F32, 19304, "m2", 1, 0, 0, 100, 2 trailingSparkTable = array, S08, 19308, [4x4], "deg", 0.1, 0, 0, 12, 1 trailingSparkRpmBins = array, U08, 19324, [4], "rpm", 50.0, 0, 0, 12000, 0 trailingSparkLoadBins = array, U08, 19328, [4], "Load", 5.0, 0, 0, 650, 0 maximumOilPressureBins = array, U08, 19332, [4], "RPM", 100.0, 0, 0, 25000, 0 maximumOilPressureValues = array, U08, 19336, [4], "kPa", 10.0, 0, 0, 2000, 0 torqueReductionCutXaxis = bits, U08, 19340, [0:5], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 In Actual", "VVT 1 Ex Actual", "VVT 2 In Actual", "VVT 2 Ex Actual", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)", "Baro pressure", "EGT 1", "EGT 2", "Aux Linear 3", "Aux Linear 4", "Vehicle speed", "Oil pressure", "Oil temp", "Fuel Pressure", "Throttle Ratio", "Percent Baro", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" torqueReductionIgnitionCutTable = array, S08, 19341, [6x2], "%", 1, 0, 0, 100, 0 torqueReductionCutXBins = array, S16, 19354, [6], "", 1, 0, -30000, 30000, 0 torqueReductionCutGearBins = array, S08, 19366, [2], "gear N°", 1, 0, 0, 20, 0 torqueReductionTimeXaxis = bits, U08, 19368, [0:5], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 In Actual", "VVT 1 Ex Actual", "VVT 2 In Actual", "VVT 2 Ex Actual", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)", "Baro pressure", "EGT 1", "EGT 2", "Aux Linear 3", "Aux Linear 4", "Vehicle speed", "Oil pressure", "Oil temp", "Fuel Pressure", "Throttle Ratio", "Percent Baro", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" torqueReductionTimeTable = array, U16, 19370, [6x2], "ms", 1, 0, 1, 2000, 0 torqueReductionTimeXBins = array, S16, 19394, [6], "", 1, 0, -30000, 30000, 0 torqueReductionTimeGearBins = array, S08, 19406, [2], "gear N°", 1, 0, 0, 20, 0 torqueReductionIgnitionRetardXaxis = bits, U08, 19408, [0:5], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 In Actual", "VVT 1 Ex Actual", "VVT 2 In Actual", "VVT 2 Ex Actual", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)", "Baro pressure", "EGT 1", "EGT 2", "Aux Linear 3", "Aux Linear 4", "Vehicle speed", "Oil pressure", "Oil temp", "Fuel Pressure", "Throttle Ratio", "Percent Baro", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" torqueReductionIgnitionRetardTable = array, S16, 19410, [6x2], "deg", 0.01, 0, -180, 180, 2 torqueReductionIgnitionRetardXBins = array, S16, 19434, [6], "", 1, 0, -30000, 30000, 0 torqueReductionIgnitionRetardGearBins = array, S08, 19446, [2], "gear N°", 1, 0, 0, 20, 0 veTableMaf = array, U16, 19448, [24x24], "%", 0.01, 0, 0, 650, 2 mafmapBlendLoadBins = array, U08, 20600, [12], "kpa", 2.0, 0, 0, 500, 0 mafmapBlendRpmBins = array, U08, 20612, [12], "rpm", 50.0, 0, 0, 12000, 0 mafmapBlendValues = array, U08, 20624, [12x12], %maf, 0.5, 0, 0, 100, 1 stftTimeConstLoadBins = array, U16, 20768, [8], "load", 1, 0, 0, 1000, 2 stftTimeConstRpmBins = array, U08, 20784, [8], "RPM", 100.0, 0, 0, 25000, 0 stftTimeConstTable = array, U16, 20792, [8x8], "time(s)", 0.01, 0, 0, 90, 2 stftAuthorityAddFuelTable = array, U08, 20920, [8x8], "%", 0.2, 0, 0, 50, 2 stftAuthorityRemoveFuelTable = array, U08, 20984, [8x8], "%", 0.2, 0, 0, 50, 2 ignBlends1_table = array, S16, 21048, [16x16], "", 0.01, 0, -300, 300, 2 ignBlends1_loadBins = array, U16, 21560, [16], "Load", 1, 0, 0, 1000, 0 ignBlends1_rpmBins = array, U16, 21592, [16], "RPM", 1, 0, 0, 18000, 0 ignBlends1_tableSwitch = bits, U16, 21624, [0:8], $switch_input_pin_e_list ignBlends1_tableSwitchPinMode = bits, U08, 21626, [0:2], $pin_input_mode_e_enum ignBlends1_blendParameter = bits, U08, 21627, [0:5], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 In Actual", "VVT 1 Ex Actual", "VVT 2 In Actual", "VVT 2 Ex Actual", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)", "Baro pressure", "EGT 1", "EGT 2", "Aux Linear 3", "Aux Linear 4", "Vehicle speed", "Oil pressure", "Oil temp", "Fuel Pressure", "Throttle Ratio", "Percent Baro", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" ignBlends1_yAxisOverride = bits, U08, 21628, [0:5], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 In Actual", "VVT 1 Ex Actual", "VVT 2 In Actual", "VVT 2 Ex Actual", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)", "Baro pressure", "EGT 1", "EGT 2", "Aux Linear 3", "Aux Linear 4", "Vehicle speed", "Oil pressure", "Oil temp", "Fuel Pressure", "Throttle Ratio", "Percent Baro", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" ignBlends1_blendBins = array, S16, 21630, [8], "", 0.1, 0, -3200, 3200, 1 ignBlends1_blendValues = array, U08, 21646, [8], "%", 0.5, 0, 0, 100, 1 ignBlends2_table = array, S16, 21656, [16x16], "", 0.01, 0, -300, 300, 2 ignBlends2_loadBins = array, U16, 22168, [16], "Load", 1, 0, 0, 1000, 0 ignBlends2_rpmBins = array, U16, 22200, [16], "RPM", 1, 0, 0, 18000, 0 ignBlends2_tableSwitch = bits, U16, 22232, [0:8], $switch_input_pin_e_list ignBlends2_tableSwitchPinMode = bits, U08, 22234, [0:2], $pin_input_mode_e_enum ignBlends2_blendParameter = bits, U08, 22235, [0:5], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 In Actual", "VVT 1 Ex Actual", "VVT 2 In Actual", "VVT 2 Ex Actual", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)", "Baro pressure", "EGT 1", "EGT 2", "Aux Linear 3", "Aux Linear 4", "Vehicle speed", "Oil pressure", "Oil temp", "Fuel Pressure", "Throttle Ratio", "Percent Baro", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" ignBlends2_yAxisOverride = bits, U08, 22236, [0:5], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 In Actual", "VVT 1 Ex Actual", "VVT 2 In Actual", "VVT 2 Ex Actual", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)", "Baro pressure", "EGT 1", "EGT 2", "Aux Linear 3", "Aux Linear 4", "Vehicle speed", "Oil pressure", "Oil temp", "Fuel Pressure", "Throttle Ratio", "Percent Baro", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" ignBlends2_blendBins = array, S16, 22238, [8], "", 0.1, 0, -3200, 3200, 1 ignBlends2_blendValues = array, U08, 22254, [8], "%", 0.5, 0, 0, 100, 1 veBlends1_table = array, S16, 22264, [16x16], "", 0.01, 0, -300, 300, 2 veBlends1_loadBins = array, U16, 22776, [16], "Load", 1, 0, 0, 1000, 0 veBlends1_rpmBins = array, U16, 22808, [16], "RPM", 1, 0, 0, 18000, 0 veBlends1_tableSwitch = bits, U16, 22840, [0:8], $switch_input_pin_e_list veBlends1_tableSwitchPinMode = bits, U08, 22842, [0:2], $pin_input_mode_e_enum veBlends1_blendParameter = bits, U08, 22843, [0:5], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 In Actual", "VVT 1 Ex Actual", "VVT 2 In Actual", "VVT 2 Ex Actual", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)", "Baro pressure", "EGT 1", "EGT 2", "Aux Linear 3", "Aux Linear 4", "Vehicle speed", "Oil pressure", "Oil temp", "Fuel Pressure", "Throttle Ratio", "Percent Baro", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" veBlends1_yAxisOverride = bits, U08, 22844, [0:5], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 In Actual", "VVT 1 Ex Actual", "VVT 2 In Actual", "VVT 2 Ex Actual", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)", "Baro pressure", "EGT 1", "EGT 2", "Aux Linear 3", "Aux Linear 4", "Vehicle speed", "Oil pressure", "Oil temp", "Fuel Pressure", "Throttle Ratio", "Percent Baro", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" veBlends1_blendBins = array, S16, 22846, [8], "", 0.1, 0, -3200, 3200, 1 veBlends1_blendValues = array, U08, 22862, [8], "%", 0.5, 0, 0, 100, 1 veBlends2_table = array, S16, 22872, [16x16], "", 0.01, 0, -300, 300, 2 veBlends2_loadBins = array, U16, 23384, [16], "Load", 1, 0, 0, 1000, 0 veBlends2_rpmBins = array, U16, 23416, [16], "RPM", 1, 0, 0, 18000, 0 veBlends2_tableSwitch = bits, U16, 23448, [0:8], $switch_input_pin_e_list veBlends2_tableSwitchPinMode = bits, U08, 23450, [0:2], $pin_input_mode_e_enum veBlends2_blendParameter = bits, U08, 23451, [0:5], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 In Actual", "VVT 1 Ex Actual", "VVT 2 In Actual", "VVT 2 Ex Actual", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)", "Baro pressure", "EGT 1", "EGT 2", "Aux Linear 3", "Aux Linear 4", "Vehicle speed", "Oil pressure", "Oil temp", "Fuel Pressure", "Throttle Ratio", "Percent Baro", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" veBlends2_yAxisOverride = bits, U08, 23452, [0:5], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 In Actual", "VVT 1 Ex Actual", "VVT 2 In Actual", "VVT 2 Ex Actual", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)", "Baro pressure", "EGT 1", "EGT 2", "Aux Linear 3", "Aux Linear 4", "Vehicle speed", "Oil pressure", "Oil temp", "Fuel Pressure", "Throttle Ratio", "Percent Baro", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" veBlends2_blendBins = array, S16, 23454, [8], "", 0.1, 0, -3200, 3200, 1 veBlends2_blendValues = array, U08, 23470, [8], "%", 0.5, 0, 0, 100, 1 wwRpmBins = array, U16, 23480, [8], "RPM", 1, 0, 0, 25000, 0 cltAFRTargetCorrBins = array, S08, 23496, [8], "C", 2.0, 0, -100, 250, 2 cltAFRTargetCorr = array, U08, 23504, [8], "ratio", 0.01, 0, 0.5, 1.5, 2 pedalToTpsTable2 = array, U08, 23512, [8x8], "%", 1, 0, 0, 100, 0 pedalToTpsTable3 = array, U08, 23576, [8x8], "%", 1, 0, 0, 100, 0 pedalToTpsTable4 = array, U08, 23640, [8x8], "%", 1, 0, 0, 100, 0 wotTpsRpmBins = array, U08, 23704, [10], "RPM", 100.0, 0, 0, 25000, 0 wotTpsValues = array, U08, 23714, [10], "%", 0.5, 0, 0, 100, 2 buttonBoxBins = array, U16, 23724, [64], ;"keycode", 1,0,0,65535,0 buttonBoxCmds = array, U16, 23852, [64], ;"id" , 1,0,0,65535,0 canBoxIdleUpRpm = scalar, U08, 23980, "RPM", 50.0, 0, 0, 1000, 0 canBoxIdleUpPercentage = scalar, U08, 23981, "%", 0.5, 0, 0, 100, 1 mapLowPassCutoffHz = scalar, U08, 23982, "", 1,0, 0, 250, 0 mafLowPassCutoffHz = scalar, U08, 23983, "", 1,0, 0, 250, 0 auxLowPassCutoffHz = scalar, U08, 23984, "", 1,0, 0, 250, 0 ppsLowPassCutoffHz = scalar, U08, 23985, "", 1,0, 0, 250, 0 tpsLowPassCutoffHz = scalar, U08, 23986, "", 1,0, 0, 250, 0 egoLowPassCutoffHz = scalar, U08, 23987, "", 1,0, 0, 250, 0 mcp3208spidevice = bits, U08, 23988, [0:2], $spi_device_e_enum tpsFuelPumpPrimeDuration = scalar, U08, 23989, "s", 1, 0, 0, 60, 0 tpsFuelPumpPrimeThreshold = scalar, U08, 23990, "TPS%", 0.5, 0, 0, 120, 0 fuelPumpPrimeDelay = scalar, U08, 23991, "s", 1, 0, 0, 60, 0 mcp3208divider = scalar, F32, 23992, "", 1, 0, 0, 10, 3 mcp3208vref = scalar, F32, 23996, "", 1, 0, 0, 5, 3 mcp3208spidevice_1cs = bits, U16, 24000, [0:8], $gpio_list mcp3208spidevice_2cs = bits, U16, 24002, [0:8], $gpio_list mcp3208spidevice_3cs = bits, U16, 24004, [0:8], $gpio_list tpsExtraShotMult = scalar, U08, 24006, "*", 0.01, 0, 0, 2.5, 2 tpsExtraShotTimer = scalar, U08, 24007, "#", 1, 0, 0, 15, 0 tpsAeCycleCycleBins = array, U08, 24008, [8], "cycle", 1, 0, 0, 250, 0 tpsAeCycleTpsToBins = array, U08, 24016, [8], "%", 0.5, 0, 0, 100, 1 tpsAeCycleValues = array, U08, 24024, [8x8], "%", 0.02, 0, 0, 5, 2 dtTuneCycles = scalar, U08, 24088, "cycles", 1, 0, 0, 250, 0 dtTuneMinRpm = scalar, U08, 24089, "RPM", 100.0, 0, 0, 25000, 0 tpsAeThresholdRpmBins = array, U08, 24090, [8], "RPM", 100.0, 0, 0, 25000, 0 tpsAeThresholdValue = array, U16, 24098, [8], "#", 0.001, 0, 0, 60, 3 tpsaeburnskipinitial = scalar, U08, 24114, "", 1, 0, 0, 100, 0 cltCalVoltsBins = array, U16, 24116, [32], "volt", 8.333333333333333E-5, 0, 0, 5, 4 cltCalValues = array, S16, 24180, [32], "C", 0.01, 0, -40, 300, 2 iatCalVoltsBins = array, U16, 24244, [32], "volt", 8.333333333333333E-5, 0, 0, 5, 4 iatCalValues = array, S16, 24308, [32], "C", 0.01, 0, -40, 300, 2 otCalVoltsBins = array, U16, 24372, [32], "volt", 8.333333333333333E-5, 0, 0, 5, 4 otCalValues = array, S16, 24436, [32], "C", 0.01, 0, -40, 300, 2 tracMinRpm = scalar, U08, 24500, "RPM", 100.0, 0, 0, 25000, 0 tracMinMap = scalar, U08, 24501, "kpa", 2.0, 0, 0, 400, 0 tracMinTps = scalar, U08, 24502, "%", 0.5, 0, 0, 120, 0 tracMinSpeed = scalar, U08, 24503, "kph", 1, 0, 0, 250, 0 tractionControlSlipBins = array, U08, 24504, [13], "ratio", 0.01, 0, 0, 2, 2 tractionControlSpeedBins = array, U08, 24517, [13], "kmh", 1, 0, 0, 250, 1 tractionControlEtbDropLeftRight = array, U08, 24530, [13x13], "%", 0.5, 0, 0, 100, 0 tractionControlEtbDropFrontRear = array, U08, 24699, [13x13], "%", 0.5, 0, 0, 100, 0 tractionControlTimingDropLeftRight = array, U08, 24868, [13x13], "Deg", 0.25, 0, 0, 50, 0 tractionControlTimingDropFrontRear = array, U08, 25037, [13x13], "Deg", 0.25, 0, 0, 50, 0 tractionControlIgnitionSkipLeftRight = array, U08, 25206, [13x13], "%", 0.5, 0, 0, 100, 0 tractionControlIgnitionSkipFrontRear = array, U08, 25375, [13x13], "%", 0.5, 0, 0, 100, 0 idleTimingTargetErrorBins = array, S16, 25544, [13], "RPM", 1, 0, -2000, 2000, 0 idleTimingTargetErrorValues = array, S16, 25570, [13], "deg", 0.01, 0, -90, 90, 2 tunedVeStrengthMultiplier = scalar, U08, 25596, "*", 0.01, 0, 0, 2.5, 2 portsEnabled = array, U08, 25597, [32], "", 1, 0, 0, 100, 0 portsPowerOnValue = array, U08, 25629, [32], "", 1, 0, 0, 100, 0 portsTriggerValue = array, U08, 25661, [32], "", 1, 0, 0, 100, 0 prtCon = array, U08, 25693, [32x2], "", 1, 0, 0, 100, 0 prtCnd = array, U08, 25757, [32x3], "", 1, 0, 0, 100, 0 portsSize = array, U08, 25853, [32x3], "", 1, 0, 0, 100, 0 portsReadOffset = array, U16, 25950, [32x3], "", 1, 0, 0, 32000, 0 portsThreshold = array, S16, 26142, [32x3], "", 1, 0, 0, 32000, 0 portsHysteresis = array, S16, 26334, [32x3], "", 1, 0, 0, 32000, 0 portsActiveDelay = array, U16, 26526, [32], "", 1, 0, 0, 32000, 0 portsInactiveDelay = array, U16, 26590, [32], "", 1, 0, 0, 32000, 0 portsOutputName = array, U16, 26654, [32x3], "", 1, 0, 0, 32000, 0 ltftTableLoadBins = array, U16, 26846, [16], {bitStringValue(fuelUnits, fuelAlgorithm) }, 1, 0, 0, 650, 0 ltftTableRpmBins = array, U16, 26878, [16], "RPM", 1, 0, 0, 32000, 0 ltft_trims1_ltftTable = array, S16, 26912, [16x16], "%", 0.001, 0.00000, -32.0, 32.0, 3, controllerPriority ltft_trims2_ltftTable = array, S16, 27424, [16x16], "%", 0.001, 0.00000, -32.0, 32.0, 3, controllerPriority TMFPressureSplitPercentUp = scalar, U08, 27936, "%", 0.5, 0, 0, 100, 1 TMFPressureSplitPercentDown = scalar, U08, 27937, "%", 0.5, 0, 0, 100, 1 tps1_diameter = scalar, U16, 27938, "mm", 0.01, 0, 0, 650, 2 mainRelayShutoffDelay = scalar, U08, 27940, "sec", 1, 0, 1, 250, 0 aeCltCorrBins = array, S08, 27941, [6], "C", 2.0, 0, -100, 250, 0 aeCltCorr = array, U08, 27947, [6], "mult", 0.05, 0, 0, 10, 2 frequencyMafChannel = bits, U16, 27954, [0:8], $brain_input_pin_e_list frequencyMafFilter = scalar, U08, 27956, "hz", 0.5, 0, 0, 100, 1 flashWriteDelay = scalar, U08, 27957, "sec", 1, 0, 0, 255, 0 spooledRpmBins = array, U08, 27958, [8], "RPM", 100.0, 0, 0, 25000, 0 spooledValues = array, U16, 27966, [8], "KPA", 0.1, 0, 0, 600, 2 tachCorrectionRpmBins = array, U08, 27982, [8], "RPM", 100.0, 0, 0, 25000, 0 tachCorrectionTable = array, U08, 27990, [8], "mult", 0.01, 0, 0.0, 2.5, 2 speedoCorrectionSpeedBins = array, U08, 27998, [8], "km/h", 2.0, 0, 0, 500, 0 speedoCorrectionTable = array, U08, 28006, [8], "mult", 0.01, 0, 0.0, 2.5, 2 deltaTpsAverageAlpha = scalar, F32, 28016, "", 1, 0, 0, 1, 3 deltaTpsAverageCurveRpmBins = array, U08, 28020, [8], "RPM", 100.0, 0, 0, 25000, 0 deltaTpsAverageCurveMultiplier = array, U08, 28028, [8], "mult", 0.1, 0, 0.0, 25, 1 tps_ae_scale_tps_bins = array, U08, 28036, [5], "TPS", 0.5, 0, 0, 100, 1 tps_ae_scale_clt_bins = array, U08, 28041, [5], "TPS", 1, 0, 0, 250, 0 tps_ae_scale_multiplier = array, U08, 28046, [5x5], "mult", 0.01, 0, 0.0, 2.5, 2 cc_maxThrottlePedalAllowedToEngage = scalar, U08, 28071, "%", 0.5, 0, 0, 100, 1 cc_maxThrottlePedalAllowedToStayEngaged = scalar, U08, 28072, "%", 0.5, 0, 0, 100, 1 cc_rpmBandHigh = scalar, U08, 28073, "RPM", 5.0, 0, 0, 1000, 0 cc_rpmBandLow = scalar, U08, 28074, "RPM", 5.0, 0, 0, 1000, 0 cc_speedBandHigh = scalar, U08, 28075, "km/h", 0.1, 0, 0, 25, 1 cc_speedBandLow = scalar, U08, 28076, "km/h", 0.1, 0, 0, 25, 1 cc_maxEtbAdjustmentOpen = scalar, U08, 28077, "%", 0.5, 0, 0, 100, 1 cc_maxEtbAdjustmentClose = scalar, U08, 28078, "%", 0.5, 0, 0, 100, 1 cc_proportionalGainRPM = scalar, F32, 28080, "%", 1, 0, 0 , 10, 4 cc_proportionalGainSPEED = scalar, F32, 28084, "%", 1, 0, 0 , 10, 4 cc_rpmDeadBandHigh = scalar, U08, 28088, "RPM", 5.0, 0, 0, 1000, 0 cc_rpmDeadBandLow = scalar, U08, 28089, "RPM", 5.0, 0, 0, 1000, 0 cc_speedDeadBandHigh = scalar, U08, 28090, "km/h", 5.0, 0, 0, 1000, 0 cc_speedDeadBandLow = scalar, U08, 28091, "km/h", 5.0, 0, 0, 1000, 0 cc_maxRpm = scalar, U08, 28092, "RPM", 100.0, 0, 0, 25000, 0 cc_minRpm = scalar, U08, 28093, "RPM", 100.0, 0, 0, 25000, 0 cc_maxSpeed = scalar, U08, 28094, "km/h", 1, 0, 0, 250, 0 cc_minSpeed = scalar, U08, 28095, "km/h", 1, 0, 0, 250, 0 cc_unsafeTps = scalar, U08, 28096, "%", 0.5, 0, 0, 100, 1 cc_kmhstep = scalar, U08, 28097, "km/h", 1, 0, 0, 5, 0 cc_rpmstep = scalar, U08, 28098, "RPM", 2.0, 0, 0, 500, 0 cc_pedal_release_seconds = scalar, U08, 28099, "sec", 1, 0, 0, 60, 0 cc_setpoint_adjust_rate = scalar, U08, 28100, "", 1.0E-6, 0, 0, 0.000250, 6 cc_accdec_request_timeout = scalar, U08, 28101, "sec", 1, 0, 0, 30, 0 cc_max_soft_etb = scalar, U08, 28102, "%", 0.5, 0 ,0 , 100, 1 cc_smooth_exp_average = scalar, U08, 28103, "expavg", 0.005, 0, 0, 1, 3 idleDeltaRpmAdjAvgFactor = scalar, F32, 28104, "", 1, 0 ,0 ,1, 4 assistedEtbWaveType = bits, U08, 28108, [0:1], "Square", "Triangle", "Sine", "Sawtooth" assistedEtbMinPct = scalar, U08, 28109, "%", 0.5, 0, 0, 100, 1 assistedEtbMaxPct = scalar, U08, 28110, "%", 0.5, 0, 0, 100, 1 assistedEtbPeriodSec = scalar, F32, 28112, "s", 0.1, 0, 0.1, 120, 1 assistedEtbRotatePeriodSec = scalar, F32, 28116, "s", 0.1, 0, 1, 600, 1 assistedEtbRotateIterations = scalar, U16, 28120, "count", 1, 0, 1, 10000, 0 assistedEtbMaxAllowedPpsPct = scalar, U08, 28122, "%", 0.5, 0, 0, 100, 1 assistedEtbMinBatteryVoltage = scalar, F32, 28124, "V", 0.1, 0, 8, 18, 1 assistedEtbSettleWindowSec = scalar, F32, 28128, "s", 0.05, 0, 0.05, 5, 2 assistedEtbRiseWindowSec = scalar, F32, 28132, "s", 0.05, 0, 0.05, 5, 2 etbTargetSmoothingFactor = scalar, F32, 28136, "", 1, 0, 0, 1, 4 ecuCanId = scalar, U08, 28140, "#", 1, 0, 0, 250, 0 guessSyncAngle = scalar, U16, 28142, "deg", 1,0,0,720,0 tcuInputSpeedSensorPin = bits, U16, 28144, [0:8], $brain_input_pin_e_list tcuInputSpeedSensorTeeth = scalar, U08, 28146, "", 1, 0, 0, 100, 0 hondaKcltGaugeAdder = scalar, U08, 28147, "", 1, 0, 0, 100, 0 hondaK_kvalues0 = scalar, U08, 28148, "#", 1, 0, 0, 255, 0 hondaK_kvalues1 = scalar, U08, 28149, "#", 1, 0, 0, 255, 0 hondaK_kvalues2 = scalar, U08, 28150, "#", 1, 0, 0, 255, 0 hondaK_kvalues3 = scalar, U08, 28151, "#", 1, 0, 0, 255, 0 hondaK_kvalues4 = scalar, U08, 28152, "#", 1, 0, 0, 255, 0 hondaK_kvalues5 = scalar, U08, 28153, "#", 1, 0, 0, 255, 0 hondaK_kvalues6 = scalar, U08, 28154, "#", 1, 0, 0, 255, 0 hondaK_kvalues7 = scalar, U08, 28155, "#", 1, 0, 0, 255, 0 hondaK_blipSends = scalar, U08, 28156, "#", 1, 0, 0, 255, 0 hondaK_batLightOn = scalar, U08, 28157, "#", 1, 0, 0, 255, 0 hondaK_batLightOff = scalar, U08, 28158, "#", 1, 0, 0, 255, 0 hondaK_battery_threshold = scalar, U08, 28159, "v", 0.1, 0, 0, 25.5, 1 hondaK_battery_thresholdEngineOn = scalar, U08, 28160, "v", 0.1, 0, 0, 25.5, 1 hondaK_battery_hysteresis = scalar, U08, 28161, "v", 0.1, 0, 0, 25.5, 1 batteryAverageExp = scalar, F32, 28164, "", 1, 0, 0, 1, 4 cel_time_after_start = scalar, U08, 28168, "s", 1, 0, 0, 60, 0 launch_tps_engage_above = scalar, U08, 28169, "%", 1, 0, 0, 100, 0 launch_tps_disengage_below = scalar, U08, 28170, "%", 1, 0, 0, 100, 0 ALSMinTPS = scalar, S08, 28171, "%", 1, 0, -10, 10, 0 boostCutPressure2 = scalar, U16, 28172, "kPa (absolute)", 1, 0, 0, 650, 0 boostCutPressure2Feather = scalar, U16, 28174, "kPa (absolute)", 1, 0, 0, 650, 0 boostCutPressure2Hyst = scalar, U08, 28176, "kPa (absolute)", 0.5, 0, 0, 125, 1 minOilPressureForFuel = scalar, U08, 28177, "kPa", 2.0, 0, 0, 500, 0 cruiseControlEnablePin = bits, U16, 28178, [0:8], $switch_input_pin_e_list cruiseControlEnablePinMode = bits, U08, 28180, [0:2], $pin_input_mode_e_enum cruiseControlSetPin = bits, U16, 28182, [0:8], $switch_input_pin_e_list cruiseControlSetPinMode = bits, U08, 28184, [0:2], $pin_input_mode_e_enum cruiseControlResumePin = bits, U16, 28186, [0:8], $switch_input_pin_e_list cruiseControlResumePinMode = bits, U08, 28188, [0:2], $pin_input_mode_e_enum cruiseControlIncPin = bits, U16, 28190, [0:8], $switch_input_pin_e_list cruiseControlIncPinMode = bits, U08, 28192, [0:2], $pin_input_mode_e_enum cruiseControlDecPin = bits, U16, 28194, [0:8], $switch_input_pin_e_list cruiseControlDecPinMode = bits, U08, 28196, [0:2], $pin_input_mode_e_enum cruiseControlOffPin = bits, U16, 28198, [0:8], $switch_input_pin_e_list cruiseControlOffPinMode = bits, U08, 28200, [0:2], $pin_input_mode_e_enum canMatchTable = array, U08, 28201, [9x10], "", 1, 0, 0, 100, 0 canMatchIds = array, U16, 28292, [10], "", 1, 0, 0, 65535, 0 canMatchByteBins = array, U08, 28312, [9], "", 1, 0, 0, 8, 0 canMatchKeycodeOffset = scalar, U16, 28322, "", 1, 0, 0, 60000, 0 canMatchNegFilterId1 = scalar, U16, 28324, "", 1, 0, 0, 32000, 0 canMatchNegFilterId2 = scalar, U16, 28326, "", 1, 0, 0, 32000, 0 canMatchNegFilterId3 = scalar, U16, 28328, "", 1, 0, 0, 32000, 0 canMatchNegFilterId4 = scalar, U16, 28330, "", 1, 0, 0, 32000, 0 canMatchPosFilterId1 = scalar, U16, 28332, "", 1, 0, 0, 32000, 0 preSyncFuelToothCount = scalar, U08, 28334, "teeth", 1, 0, 0, 100, 0 preSyncFuelToothCountRepeat = scalar, U08, 28335, "teeth", 1, 0, 0, 100, 0 preSyncFuelToothCountMax = scalar, U08, 28336, "events", 1, 0, 0, 12, 0 preSyncFuelMultiplier = scalar, F32, 28340, "x", 1, 0, 0, 3, 2 tpsAeInstantRpmBins = array, U08, 28344, [5], "RPM", 100.0, 0, 0, 25000, 0 tpsAeInstantRpmMultiplier = array, U08, 28349, [5], "mult", 0.01, 0, 0 , 2.5, 2 tpsAeInstantTpsBins = array, U08, 28354, [5], "%TPS", 0.5, 0, 0, 100, 1 tpsAeInstantTpsMultiplier = array, U08, 28359, [5], "mult", 0.01, 0, 0, 2.5, 2 tpsAeInstantMapBins = array, U08, 28364, [5], "kPa", 1,0 ,0 , 255, 0 tpsAeInstantMapMultiplier = array, U08, 28369, [5], "mult", 0.01, 0, 0, 2.5, 2 tpsAeInstantCltBins = array, U08, 28374, [5], "C", 1, 0, 0, 220, 1 tpsAeInstantCltMultiplier = array, U08, 28379, [5], "mult", 0.01, 0, 0, 2.5, 2 universal_cam1_teeth_count = scalar, U08, 28384, "", 1, 0, 0, 100, 0 universal_cam2_teeth_count = scalar, U08, 28385, "", 1, 0, 0, 100, 0 universal_cam1_gaps = scalar, U08, 28386, "", 1, 0, 0, 100, 0 universal_cam2_gaps = scalar, U08, 28387, "", 1, 0, 0, 100, 0 universal_cam1_rise_events = array, U16, 28388, [16], "", 1, 0, 0, 32000, 0 universal_cam1_fall_events = array, U16, 28420, [16], "", 1, 0, 0, 32000, 0 universal_cam2_rise_events = array, U16, 28452, [16], "", 1, 0, 0, 32000, 0 universal_cam2_fall_events = array, U16, 28484, [16], "", 1, 0, 0, 32000, 0 universal_cam1_gap_from = array, U08, 28516, [16], "#", 0.1, 0, 0, 25, 1 universal_cam1_gap_to = array, U08, 28532, [16], "#", 0.1, 0, 0, 25, 1 universal_cam2_gap_from = array, U08, 28548, [16], "#", 0.1, 0, 0, 25, 1 universal_cam2_gap_to = array, U08, 28564, [16], "#", 0.1, 0, 0, 25, 1 universalTrigger1TDC = scalar, U16, 28580, "deg", 1, 0, 0, 720, 0 universalTrigger2TDC = scalar, U16, 28582, "deg", 1, 0, 0, 720, 0 universalTrigger1SyncEdge = scalar, U08, 28584, "", 1, 0, 0, 100, 0 universalTrigger2SyncEdge = scalar, U08, 28585, "", 1, 0, 0, 100, 0 canWheelFLIsSigned = bits, U32, 28588, [0:0], "false", "true" canWheelFRIsSigned = bits, U32, 28588, [1:1], "false", "true" canWheelRLIsSigned = bits, U32, 28588, [2:2], "false", "true" canWheelRRIsSigned = bits, U32, 28588, [3:3], "false", "true" disable_mega_epic_slow_out = bits, U32, 28588, [4:4], "false", "true" rotIdleEnabled = bits, U32, 28588, [5:5], "false", "true" rot_idle_auto_engage = bits, U32, 28588, [6:6], "false", "true" rot_idle_add_air = bits, U32, 28588, [7:7], "false", "true" rot_idle_zero_stft = bits, U32, 28588, [8:8], "false", "true" u_3149_10 = bits, U32, 28588, [9:9], "false", "true" u_3149_11 = bits, U32, 28588, [10:10], "false", "true" u_3149_12 = bits, U32, 28588, [11:11], "false", "true" u_3149_13 = bits, U32, 28588, [12:12], "false", "true" u_3149_14 = bits, U32, 28588, [13:13], "false", "true" u_3149_15 = bits, U32, 28588, [14:14], "false", "true" u_3149_16 = bits, U32, 28588, [15:15], "false", "true" u_3149_17 = bits, U32, 28588, [16:16], "false", "true" u_3149_18 = bits, U32, 28588, [17:17], "false", "true" u_3149_19 = bits, U32, 28588, [18:18], "false", "true" u_3149_20 = bits, U32, 28588, [19:19], "false", "true" u_3149_21 = bits, U32, 28588, [20:20], "false", "true" u_3149_22 = bits, U32, 28588, [21:21], "false", "true" u_3149_23 = bits, U32, 28588, [22:22], "false", "true" u_3149_24 = bits, U32, 28588, [23:23], "false", "true" u_3149_25 = bits, U32, 28588, [24:24], "false", "true" u_3149_26 = bits, U32, 28588, [25:25], "false", "true" u_3149_27 = bits, U32, 28588, [26:26], "false", "true" u_3149_28 = bits, U32, 28588, [27:27], "false", "true" u_3149_29 = bits, U32, 28588, [28:28], "false", "true" u_3149_30 = bits, U32, 28588, [29:29], "false", "true" u_3149_31 = bits, U32, 28588, [30:30], "false", "true" u_3149_32 = bits, U32, 28588, [31:31], "false", "true" canWheelFLCanId = scalar, U16, 28592, "", 1, 0, 0, 32000, 0 canWheelFRCanId = scalar, U16, 28594, "", 1, 0, 0, 32000, 0 canWheelRLCanId = scalar, U16, 28596, "", 1, 0, 0, 32000, 0 canWheelRRCanId = scalar, U16, 28598, "", 1, 0, 0, 32000, 0 canWheelFLBitLength = scalar, U08, 28600, "", 1, 0, 0, 100, 0 canWheelFRBitLength = scalar, U08, 28601, "", 1, 0, 0, 100, 0 canWheelRLBitLength = scalar, U08, 28602, "", 1, 0, 0, 100, 0 canWheelRRBitLength = scalar, U08, 28603, "", 1, 0, 0, 100, 0 canWheelFLStartByte = scalar, U08, 28604, "", 1, 0, 0, 100, 0 canWheelFRStartByte = scalar, U08, 28605, "", 1, 0, 0, 100, 0 canWheelRLStartByte = scalar, U08, 28606, "", 1, 0, 0, 100, 0 canWheelRRStartByte = scalar, U08, 28607, "", 1, 0, 0, 100, 0 canWheelFLFactor = scalar, F32, 28608, "#", 1, 0, 0, 100, 3 canWheelFRFactor = scalar, F32, 28612, "#", 1, 0, 0, 100, 3 canWheelRLFactor = scalar, F32, 28616, "#", 1, 0, 0, 100, 3 canWheelRRFactor = scalar, F32, 28620, "#", 1, 0, 0, 100, 3 canWheelFLOffset = scalar, F32, 28624, "#", 1, 0, 0, 100, 3 canWheelFROffset = scalar, F32, 28628, "#", 1, 0, 0, 100, 3 canWheelRLOffset = scalar, F32, 28632, "#", 1, 0, 0, 100, 3 canWheelRROffset = scalar, F32, 28636, "#", 1, 0, 0, 100, 3 rotationalIdlePinMode = bits, U08, 28640, [0:2], $pin_input_mode_e_enum rot_idle_acc_adder1 = scalar, U08, 28641, "", 1, 0, 0, 100, 0 rot_idle_acc_max1 = scalar, U08, 28642, "#", 1, 0, 0, 255, 0 rot_idle_acc_adder2 = scalar, U08, 28643, "", 1, 0, 0, 100, 0 rot_idle_acc_max2 = scalar, U08, 28644, "#", 1, 0, 0, 255, 0 rot_idle_acc_adder3 = scalar, U08, 28645, "", 1, 0, 0, 100, 0 rot_idle_acc_max3 = scalar, U08, 28646, "#", 1, 0, 0, 255, 0 rot_idle_min_rpm = scalar, U16, 28648, "RPM", 1, 0, 0, 25000, 0 rot_idle_max_rpm = scalar, U16, 28650, "RPM", 1, 0, 0, 25000, 0 rot_idle_max_tps = scalar, U08, 28652, "%TPS", 1, 0, 0, 100, 0 rot_idle_max_tps_global = scalar, U08, 28653, "%TPS", 1, 0, 0, 100, 0 rot_idle_add_air_percent = scalar, S08, 28654, "%", 1, 0, -100, 100, 0 rot_idle_override_etb_authority = scalar, U08, 28655, "%", 1, 0, 0, 100, 0 rot_idle_min_clt = scalar, S08, 28656, "C", 1, 0, -20, 100, 0 fuelFlowRateSmoothedAlpha = scalar, F32, 28660, "#", 1, 0, 0, 1, 5 ; total TS size = 28664 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" launchRpm = "A secondary Rev limit engaged by the driver to help launch the vehicle faster" minRpmLockLaunch = "Min rpm at which rpm can be locked for launch" launchRpmLockAdder = "Adder to launch rpm when button is held" rpmHardLimit = "set rpm_hard_limit X" engineSnifferRpmThreshold = "Engine sniffer would be disabled above this rpm\nset engineSnifferRpmThreshold X" multisparkMaxRpm = "Disable multispark above this engine speed." maxAcRpm = "Above this RPM, disable AC. Set to 0 to disable check." maxAcTps = "Above this TPS, disable AC. Set to 0 to disable check." maxAcClt = "Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check." compressionRatio = "Just for reference really, not taken into account by any logic at this point" idlePositionMin = "Voltage when the idle valve is closed.\nYou probably don't have one of these!" idlePositionMax = "Voltage when the idle valve is open.\nYou probably don't have one of these!\n1 volt = 1000 units" ltitEnabled = "Enable LTIT (Long Term Idle Trim) learning" ltitEmaAlpha = "EMA filter constant for LTIT (0-255)" ltitStableRpmThreshold = "RPM range to consider stable idle" ltitStableTime = "Minimum time of stable idle before learning" ltitCorrectionRate = "LTIT learning rate" ltitIgnitionOnDelay = "Delay after ignition ON before LTIT learning/application" ltitIgnitionOffSaveDelay = "Delay after ignition OFF before LTIT save" ltitClampMin = "Minimum LTIT multiplicative correction value" ltitClampMax = "Maximum LTIT multiplicative correction value" ltitSmoothingIntensity = "LTIT table regional smoothing intensity (0=no smoothing)" ltitIntegratorThreshold = "Minimum threshold of PID integrator for LTIT correction" torqueReductionTriggerPin = "Pin that activates the reduction/cut for shifting. Sometimes shared with the Launch Control pin" etbJamTimeout = "Time after which the throttle is considered jammed." acIdleExtraOffset = "Additional idle % while A/C is active" multisparkMaxSparkingAngle = "This parameter sets the latest that the last multispark can occur after the main ignition event. For example, if the ignition timing is 30 degrees BTDC, and this parameter is set to 45, no multispark will ever be fired after 15 degrees ATDC." multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" smallPwInjBatCorr = "Injector Pulsewidth Battery correction" injector_flow = "This is your injector flow at the fuel pressure used in the vehicle\nSee units setting below" injector_battLagCorrPressBins = "Injector correction pressure" injector_battLagCorrTable = "ms delay between injector open and close dead times" injector_smallPwInjLookup = "Lookup values for Small Injector pulsewidths" injectorSecondary_flow = "This is your injector flow at the fuel pressure used in the vehicle\nSee units setting below" injectorSecondary_battLagCorrPressBins = "Injector correction pressure" injectorSecondary_battLagCorrTable = "ms delay between injector open and close dead times" injectorSecondary_smallPwInjLookup = "Lookup values for Small Injector pulsewidths" isForcedInduction = "Does the vehicle have a turbo or supercharger?" useFordRedundantTps = "On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." enableFan1WithAc = "Turn on this fan when AC is on." enableFan2WithAc = "Turn on this fan when AC is on." enableTrailingSparks = "Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines)." etb_use_two_wires = "TLE7209 and L6205 use two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode." isDoubleSolenoidIdle = "Subaru/BMW style where default valve position is somewhere in the middle. First solenoid opens it more while second can close it more than default position." useCicPidForIdle = "Switch between Industrial and Cic PID implementation" useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." displayLogicLevelsInEngineSniffer = "Shall we display real life signal or just the part consumed by trigger decoder.\nApplies to both trigger and cam/vvt input." verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" artificialTestMisfire = "Experimental setting that will cause a misfire\nDO NOT ENABLE." useFordRedundantPps = "On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor." useSpiImu = "If enabled - use onboard SPI Accelerometer, otherwise listen for CAN messages" tpsMin = "Closed throttle, 1 volt = 200 units.\nSee also tps1_1AdcChannel" tpsMax = "Full throttle.\nSee also tps1_1AdcChannel" tpsErrorDetectionTooLow = "TPS error detection: what throttle % is unrealistically low?\nAlso used for accelerator pedal error detection if so equipped." tpsErrorDetectionTooHigh = "TPS error detection: what throttle % is unrealistically high?\nAlso used for accelerator pedal error detection if so equipped." cranking_rpm = "This sets the RPM limit below which the ECU will use cranking fuel and ignition logic, typically this is around 350-450rpm. \nset cranking_rpm X" ignitionDwellForCrankingMs = "Dwell duration while cranking" etbRevLimitStart = "Once engine speed passes this value, start reducing ETB angle." etbRevLimitRange = "This far above 'Soft limiter start', fully close the throttle. At the bottom of the range, throttle control is normal. At the top of the range, the throttle is fully closed." map_samplingAngle = "MAP averaging sampling start crank degree angle" map_samplingWindow = "MAP averaging angle crank degree duration" map_sensor_lowValue = "kPa value at low volts" map_sensor_highValue = "kPa value at high volts" map_sensorpre_lowValue = "kPa value at low volts" map_sensorpre_highValue = "kPa value at high volts" clt_tempC_1 = "these values are in Celcius" clt_bias_resistor = "Pull-up resistor value on your board" iat_tempC_1 = "these values are in Celcius" iat_bias_resistor = "Pull-up resistor value on your board" idleMaximumAirmass = "Maximum commanded airmass for the idle controller." alternator_iTermMin = "iTerm min value" alternator_iTermMax = "iTerm max value" displacement = "Engine displacement in litres" cylindersCount = "Number of cylinder the engine has." maxCylindersCount = "Number of Cylinders the ECU supports" mapSyncThreshold = "Delta kPa for MAP sync" cylinderBore = "Cylinder diameter in mm" fuelAlgorithm = "Determines the method used for calculating fuel delivery. The following options are available:\nUses intake manifold pressure (MAP) and intake air temperature (IAT) to calculate air density and fuel requirements. This is a common strategy, especially for naturally aspirated or turbocharged engines.\nAlpha-N: Uses throttle position as the primary load input for fuel calculation. This strategy is generally used in engines with individual throttle bodies or those that lack a reliable MAP signal.\nMAF Air Charge: Relies on a Mass Air Flow (MAF) sensor to measure the amount of air entering the engine directly, making it effective for engines equipped with a MAF sensor.\nLua: Allows for custom fuel calculations using Lua scripting, enabling highly specific tuning applications where the other strategies don't apply." ALSMaxTPS = "Max TPS/PPS" crankingInjectionMode = "This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous"." injectionMode = "This is where the fuel injection type is defined: "Simultaneous" means all injectors will fire together at once. "Sequential" fires the injectors on a per cylinder basis, which requires individually wired injectors. "Batched" will fire the injectors in groups." boostControlMinRpm = "Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases." boostControlMinTps = "Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases." boostControlMinMap = "Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases." boostControlPin = "Wastegate control Solenoid, set to 'NONE' if you are using DC wastegate" lowerWastegatePin = "Lower wastegate solenoid output. Select a pin to enable lower wastegate control. This is used to independently control the lower wastegate port of the wastegate while" crankingTimingAngle = "Ignition advance angle used during engine cranking, 5-10 degrees will work as a base setting for most engines.\nThere is tapering towards running timing advance\nset cranking_timing_angle X" ignitionMode = "Single coil = distributor\nIndividual coils = one coil per cylinder (COP, coil-near-plug), requires sequential mode\nWasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder\nTwo distributors = A pair of distributors, found on some BMW, Toyota and other engines\nset ignition_mode X" gapTrackingLengthOverride = "How many consecutive gap rations have to match expected ranges for sync to happen" maxIdleVss = "Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed)." camDecoder2jzPrecision = "Allowed range around detection position" minOilPressureAfterStart = "Expected oil pressure after starting the engine. If oil pressure does not reach this level within 5 seconds of engine start, fuel will be cut. Set to 0 to disable and always allow starting." timingMode = "Dynamic uses the timing map to decide the ignition timing\nStatic timing fixes the timing to the value set below (only use for checking static timing with a timing light)." fixedModeTiming = "This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing\nThis mode is useful when adjusting distributor location." globalTriggerAngleOffset = "Angle between Top Dead Center (TDC) and the first trigger event.\nPositive value in case of synchronization point before TDC and negative in case of synchronization point after TDC\n.Knowing this angle allows us to control timing and other angles in reference to TDC.\nHOWTO:\n1: Switch to fixed timing mode on 'ignition setting' dialog\n2: use an actual timing light to calibrate\n3: add/subtract until timing light confirms desired fixed timing value!'" analogInputDividerCoefficient = "Ratio/coefficient of input voltage dividers on your PCB. For example, use '2' if your board divides 5v into 2.5v. Use '1.66' if your board divides 5v into 3v." vbattDividerCoeff = "This is the ratio of the resistors for the battery voltage, measure the voltage at the battery and then adjust this number until the gauge matches the reading." fanOnTemperature = "Cooling fan turn-on temperature threshold, in Celsius" fanOffTemperature = "Cooling fan turn-off temperature threshold, in Celsius" fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius" fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius" waterPumpOnTemperature = "Water pump turn-on temperature threshold, in Celsius" waterPumpOffTemperature = "Water pump turn-off temperature threshold, in Celsius" waterPump2OnTemperature = "Water pump2 turn-on temperature threshold, in Celsius" waterPump2OffTemperature = "Water pump2 turn-off temperature threshold, in Celsius" disableFan1AtSpeed = "Off above this vehicle speed" disableFan2AtSpeed = "Off above this vehicle speed" disableWaterPumpAtSpeed = "Off above this vehicle speed" disableWaterPump2AtSpeed = "Off above this vehicle speed" enableFan1 = "Enable Fan 1" enableFan2 = "Enable Fan 2" enableWaterPump = "Enable Water Pump" enableWaterPump2 = "Enable Water Pump2" disableFan1WhenStopped = "Inhibit operation of this fan while the engine is not running." disableFan2WhenStopped = "Inhibit operation of this fan while the engine is not running." disableWaterPumpWhenStopped = "Inhibit operation of the water pump while the engine is not running." disableWaterPump2WhenStopped = "Inhibit operation of the water pump2 while the engine is not running." fan1PwmEnabled = "Enable PWM control for Fan 1" fan2PwmEnabled = "Enable PWM control for Fan 2" waterPumpPwmEnabled = "Enable PWM control for Water Pump" waterPump2PwmEnabled = "Enable PWM control for Water Pump2" disableFan1WhenStoppedTimeout = "Fan 1 timeout after this many seconds of engine stop" disableFan2WhenStoppedTimeout = "Fan 2 timeout after this many seconds of engine stop" disableWaterPumpWhenStoppedTimeout = "Water pump timeout after this many seconds of engine stop" disableWaterPump2WhenStoppedTimeout = "Water pump2 timeout after this many seconds of engine stop" fan1PwmFrequency = "Fan 1 PWM frequency" fan1MinPwm = "Min PWM (Fan 1)" fan1MaxPwm = "Max PWM (Fan 1)" fan1AcAdder = "AC adder (Fan 1)" fan1SoftStartSec = "Soft-start time (Fan 1)" fan1ExtraIdle = "Additional idle % when fan #1 is active. In PWM mode this is scaled according to PWM %" fan2PwmFrequency = "Fan 2 PWM frequency" fan2MinPwm = "Min PWM (Fan 2)" fan2MaxPwm = "Max PWM (Fan 2)" fan2AcAdder = "AC adder (Fan 2)" fan2SoftStartSec = "Soft-start time (Fan 2)" fan2ExtraIdle = "Additional idle % when fan #2 is active. In PWM mode this is scaled according to PWM %" waterPumpPwmFrequency = "Water Pump PWM frequency" waterPumpMinPwm = "Min PWM (Water Pump)" waterPumpMaxPwm = "Max PWM (Water Pump)" waterPumpAcAdder = "AC adder (Water Pump)" waterPumpSoftStartSec = "Soft-start time (Water Pump)" waterPumpExtraIdle = "Additional idle % when water pump is active. In PWM mode this is scaled according to PWM %" waterPump2PwmFrequency = "Water Pump2 PWM frequency" waterPump2MinPwm = "Min PWM (Water Pump2)" waterPump2MaxPwm = "Max PWM (Water Pump2)" waterPump2AcAdder = "AC adder (Water Pump2)" waterPump2SoftStartSec = "Soft-start time (Water Pump2)" waterPump2ExtraIdle = "Additional idle % when water pump2 is active. In PWM mode this is scaled according to PWM %" vssCalSpeed = "Drive this speed when calibrating VSS pulses per km" vssPulsePerKm = "vss Pulses per KM" driveWheelRevPerKm = "Number of revolutions per kilometer for the wheels your vehicle speed sensor is connected to. Use an online calculator to determine this based on your tire size." canSleepPeriodMs = "CANbus thread period in ms" tps1_1AdcChannel = "First throttle body, first sensor. See also pedalPositionAdcChannel" vbattAdcChannel = "This is the processor input pin that the battery voltage circuit is connected to, if you are unsure of what pin to use, check the schematic that corresponds to your PCB." fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." mapCamDetectionAnglePosition = "Magic engine phase: we compare instant MAP at X to instant MAP at x+360 angle in one complete cycle" camInputs1 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts. 1" camInputs2 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts. 2" camInputs3 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts. 3" camInputs4 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts. 4" throttlePedalPositionAdcChannel = "Electronic throttle pedal position first channel\nSee throttlePedalPositionSecondAdcChannel for second channel\nSee also tps1_1AdcChannel\nSee throttlePedalUpVoltage and throttlePedalWOTVoltage" etbSplit = "TPS/PPS error threshold" baroSensor_lowValue = "kPa value at low volts" baroSensor_highValue = "kPa value at high volts" knockRetardAggression = "Ignition timing to remove when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," knockRetardReapplyRate = "After a knock event, reapply timing at this rate." engineSyncCam = "Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync." vssGearRatio = "Number of turns of your vehicle speed sensor per turn of the wheels. For example if your sensor is on the transmission output, enter your axle/differential ratio. If you are using a hub-mounted sensor, enter a value of 1.0." vssFilterReciprocal = "Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response." vssToothCount = "Number of pulses output per revolution of the shaft where your VSS is mounted. For example, GM applications of the T56 output 17 pulses per revolution of the transmission output shaft." idleVeOverrideMode = "Allows you to change the default load axis used for the VE table, which is typically MAP (manifold absolute pressure)." injectionPins1 = "injectionPins 1" injectionPins2 = "injectionPins 2" injectionPins3 = "injectionPins 3" injectionPins4 = "injectionPins 4" injectionPins5 = "injectionPins 5" injectionPins6 = "injectionPins 6" injectionPins7 = "injectionPins 7" injectionPins8 = "injectionPins 8" ignitionPins1 = "ignitionPins 1" ignitionPins2 = "ignitionPins 2" ignitionPins3 = "ignitionPins 3" ignitionPins4 = "ignitionPins 4" ignitionPins5 = "ignitionPins 5" ignitionPins6 = "ignitionPins 6" ignitionPins7 = "ignitionPins 7" ignitionPins8 = "ignitionPins 8" gapVvtTrackingLengthOverride = "How many consecutive VVT gap rations have to match expected ranges for sync to happen" malfunctionIndicatorPin = "Check engine light, also malfunction indicator light. Always blinks once on boot." clutchDownPin = "Some cars have a switch to indicate that clutch pedal is all the way down" digitalPotentiometerChipSelect1 = "digitalPotentiometerChipSelect 1" digitalPotentiometerChipSelect2 = "digitalPotentiometerChipSelect 2" digitalPotentiometerChipSelect3 = "digitalPotentiometerChipSelect 3" digitalPotentiometerChipSelect4 = "digitalPotentiometerChipSelect 4" digitalPotentiometerSpiDevice = "Digital Potentiometer is used by stock ECU stimulation code" auxFastSensor1_adcChannel = "Useful in Research&Development phase" tps1_2AdcChannel = "First throttle body, second sensor." tps2_2AdcChannel = "Second throttle body, second sensor." throttlePedalPositionSecondAdcChannel = "Electronic throttle pedal position input\nSecond channel\nSee also tps1_1AdcChannel\nSee throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage" afr_type = "AFR, WBO, EGO - whatever you like to call it" mc33810_cs1 = "mc33810_cs 1" idle_antiwindupFreq = "0.1 is a good default value" triggerInputPins1 = "triggerInputPins 1" triggerInputPins2 = "triggerInputPins 2" mc33_t_min_boost = "Minimum allowed time for the boost phase. If the boost target current is reached before this time elapses, it is assumed that the injector has failed short circuit." finalGearRatio = "Ratio between the wheels and your transmission output." triggerSimulatorPins1 = "Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board.\nSee also directSelfStimulation which is different. 1" triggerSimulatorPins2 = "Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board.\nSee also directSelfStimulation which is different. 2" triggerSimulatorPinModes1 = "triggerSimulatorPinModes 1" triggerSimulatorPinModes2 = "triggerSimulatorPinModes 2" o2heaterPin = "On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking." isSdCardEnabled = "enable sd/disable sd" rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format." useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed." enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol" ecumasterEgtToCan = "Read EcuMaster EGT to CAN. Expects little endian (Intel), and the CAN IDs specified below." measureMapOnlyInOneCylinder = "Useful for individual intakes" isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled." coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." useIacTableForCoasting = "Override the IAC position during overrun conditions to help reduce engine breaking, this can be helpful for large engines in light weight cars or engines that have trouble returning to idle." disableEtbWhenEngineStopped = "Allows disabling the ETB when the engine is stopped. You may not like the power draw or PWM noise from the motor, so this lets you turn it off until it's necessary." pauseEtbControl = "Disable the electronic throttle motor and DC idle motor for testing.\nThis mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle." enableAemXSeries = "AEM X-Series or rusEFI Wideband" tpsFuelPumpPrimeEnabled = "Press throttle past threshold to trigger fuel pump prime" mc33_hvolt = "Boost Voltage" minimumBoostClosedLoopMap = "Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost." idlePidRpmUpperLimit = "How far above idle speed do we consider idling, i.e. coasting detection threshold.\nFor example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle." clutchUpPin = "Some vehicles have a switch to indicate that clutch pedal is all the way up" max31855_cs1 = "max31855_cs 1" max31855_cs2 = "max31855_cs 2" max31855_cs3 = "max31855_cs 3" max31855_cs4 = "max31855_cs 4" max31855_cs5 = "max31855_cs 5" max31855_cs6 = "max31855_cs 6" max31855_cs7 = "max31855_cs 7" max31855_cs8 = "max31855_cs 8" flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type" torqueReductionArmingRpm = "Since torque reduction pin is usually shared with launch control, most people have an RPM where behavior under that is Launch Control, over that is Flat Shift/Torque Reduction" tachSweepTime = "Total time for the tach to sweep up then back down at startup. Set to 0 to disable sweep." tachSweepMax = "Maximum RPM for the startup tach sweep." speedoSweepTime = "Total time for the speedometer to sweep up then back down at startup. Set to 0 to disable sweep." speedoSweepMax = "Maximum speed for the startup speedometer sweep." stoichRatioSecondary = "Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0" etbMaximumPosition = "Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open." sdCardLogFrequency = "Rate the ECU will log to the SD card, in hz (log lines per second)." starterRelayDisablePinMode = "On some vehicles we can disable starter once engine is already running" secondSolenoidPin = "Some Subaru and some Mazda use double-solenoid idle air valve" startStopButtonPin = "See also starterControlPin" mapMinBufferLength = "This many MAP samples are used to estimate the current MAP. This many samples are considered, and the minimum taken. Recommended value is 1 for single-throttle engines, and your number of cylinders for individual throttle bodies." idlePidDeactivationTpsThreshold = "Below this throttle position, the engine is considered idling. If you have an electronic throttle, this checks accelerator pedal position instead of throttle position, and should be set to 1-2%." startCrankingDuration = "Maximum time to crank starter when start/stop button is pressed" triggerErrorPin = "This pin is used for debugging - snap a logic analyzer on it and see if it's ever high" lambdaProtectionTimeout = "Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed" cdmInputPin = "Saab Combustion Detection Module knock signal input pin\nalso known as Saab Ion Sensing Module" idleReturnTargetRamp = "Ramp the idle target down from the entry threshold over N seconds when returning to idle. Helps prevent overshooting (below) the idle target while returning to idle from coasting." useHbridgesToDriveIdleStepper = "If enabled we use two H-bridges to drive stepper idle air valve" consumeObdSensors = "This property is useful if using rusEFI as TCM or BCM only" enableCanVss = "Read VSS from OEM CAN bus according to selected CAN vehicle configuration." stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise." verboseVVTDecoding = "Verbose info in console below engineSnifferRpmThreshold" alphaNUseIat = "When set to true, it enables intake air temperature-based corrections for Alpha-N tuning strategies." useRawOutputToDriveIdleStepper = "If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coils" verboseCan2 = "Print incoming and outgoing second bus CAN messages in rusEFI console" etbIo1_controlPin = "Acts as EN pin in two-wire mode" etbIo2_controlPin = "Acts as EN pin in two-wire mode" boostPid_offset = "Linear addition to PID logic\nAlso known as feedforward." boostPid_periodMs = "PID dTime" boostPid_minValue = "Output Min Duty Cycle" boostPid_maxValue = "Output Max Duty Cycle" tpsAccelLookback = "How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs." tpsDecelEnleanmentThreshold = "For decel we simply multiply delta of TPS and tFor decel we do not use table?!" tpsDecelEnleanmentMultiplier = "Magic multiplier, we multiply delta of TPS and get fuel squirt duration" mapPredictionBlendDuration = "Time to blend from predicted MAP back to real MAP. Used only in Predictive MAP mode." noFuelTrimAfterDfcoTime = "Pause closed loop fueling after deceleration fuel cut occurs. Set this to a little longer than however long is required for normal fueling behavior to resume after fuel cut." noFuelTrimAfterAccelTime = "Pause closed loop fueling after acceleration fuel occurs. Set this to a little longer than however long is required for normal fueling behavior to resume after fuel accel." launchSpeedThreshold = "Launch disabled above this speed if setting is above zero" launchRpmWindow = "Starting Launch RPM window to activate (subtracts from Launch RPM)" ppsExpAverageAlpha = "A higher alpha (closer to 1) means the EMA reacts more quickly to changes in the data.\n'1' means no filtering, 0.98 would be some filtering." mapExpAverageAlpha = "A higher alpha (closer to 1) means the EMA reacts more quickly to changes in the data.\n'1' means no filtering, 0.98 would be some filtering." stft_deadband_rich = "When close to correct AFR from rich side, pause correction. This can improve stability by not changing the adjustment if the error is extremely small, but is not required." stft_deadband_lean = "When close to correct AFR from lean side , pause correction. This can improve stability by not changing the adjustment if the error is extremely small, but is not required." stft_minClt = "Below this temperature, correction is disabled." stft_minAfr = "Below this AFR, correction is paused\nThis is corrected for current flex fuel %" stft_maxAfr = "Above this AFR, correction is paused\nThis is corrected for current flex fuel %" stft_minLambda = "Below this Lambda, correction is paused\nThis is corrected for current flex fuel %" stft_maxLambda = "Above this Lambda, correction is paused\nThis is corrected for current flex fuel %" stft_startupDelay = "Delay after starting the engine before beginning closed loop correction." stft_cell_maxAdd = "Maximum % that the short term fuel trim can add" stft_cell_maxRemove = "Maximum % that the short term fuel trim can remove" stft_cell_timeConstant = "Commonly referred as Integral gain.\nTime constant for correction while in this cell: this sets responsiveness of the closed loop correction. A value of 5.0 means it will try to make most of the correction within 5 seconds, and a value of 1.0 will try to correct within 1 second.\nLower values makes the correction more sensitive, higher values slow the correction down." ltft_enabled = "Enables lambda sensor long term fuel corrections data gathering into LTFT trim tables" ltft_correctionEnabled = "Apply LTFT trims into fuel calculation on top of VE table.\nWe do not adjust VE table automatically, please click 'Apply to VE' if you want to adjust your VE tables and reset trims." ltft_deadband = "When close to correct AFR, pause correction. This can improve stability by not changing the adjustment if the error is extremely small, but is not required." ltft_maxAdd = "Maximum % that the long term fuel trim can add" ltft_maxRemove = "Maximum % that the long term fuel trim can remove" ltft_timeConstant = "Commonly referred as Integral gain.\nTime constant for correction while in this cell: this sets responsiveness of the closed loop correction. A value of 30.0 means it will try to make most of the correction within 30 seconds, and a value of 300.0 will try to correct within 5 minutes.\nLower values makes the correction more sensitive, higher values slow the correction down." stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode" stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode" engineMake = "For example, BMW, GM or Chevrolet" engineCode = "For example, LS1 or NB2" vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles." engineMods = "Engine Modifications that are stored in the ECU, most vital stats for use by AI" etbFunctions1 = "etbFunctions 1" etbFunctions2 = "etbFunctions 2" luaOutputPins1 = "luaOutputPins 1" luaOutputPins2 = "luaOutputPins 2" luaOutputPins3 = "luaOutputPins 3" luaOutputPins4 = "luaOutputPins 4" luaOutputPins5 = "luaOutputPins 5" luaOutputPins6 = "luaOutputPins 6" luaOutputPins7 = "luaOutputPins 7" luaOutputPins8 = "luaOutputPins 8" vvtOffsets1 = "Angle between cam sensor and VVT zero position 1" vvtOffsets2 = "Angle between cam sensor and VVT zero position 2" vvtOffsets3 = "Angle between cam sensor and VVT zero position 3" vvtOffsets4 = "Angle between cam sensor and VVT zero position 4" gpPwmNote1 = "gpPwmNote 1" gpPwmNote2 = "gpPwmNote 2" gpPwmNote3 = "gpPwmNote 3" gpPwmNote4 = "gpPwmNote 4" widebandOnSecondBus = "Select which bus the wideband controller is attached to." fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." alwaysWriteSdCard = "Write SD card log even when powered by USB" knockDetectionUseDoubleFrequency = "Second harmonic (aka double) is usually quieter background noise" silentTriggerError = "Sometimes we have a performance issue while printing error" canReadEnabled = "enable can_read/disable can_read" canWriteEnabled = "enable can_write/disable can_write. See also can1ListenMode" tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%" isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings." invertPrimaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the primary engine speed sensor." invertSecondaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the secondary engine speed sensor." cutFuelOnHardLimit = "When enabled, this option cuts the fuel supply when the RPM limit is reached. Cutting fuel provides a smoother limiting action; however, it may lead to slightly higher combustion chamber temperatures since unburned fuel is not present to cool the combustion process." cutSparkOnHardLimit = "When selected, this option cuts the spark to limit RPM. Cutting spark can produce flames from the exhaust due to unburned fuel igniting in the exhaust system. Additionally, this unburned fuel can help cool the combustion chamber, which may be beneficial in high-performance applications.\nBe careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer." launchSparkCutEnable = "This is the Cut Mode normally used" verboseIsoTp = "Are you a developer troubleshooting TS over CAN ISO/TP?" engineSnifferFocusOnInputs = "In this mode only trigger events go into engine sniffer and not coils/injectors etc" skippedWheelOnCam = "Where is your primary skipped wheel located?" acSwitch = "A/C button input" acPressureSwitch = "A/C pressure switch input" etbNeutralPosition = "Expected neutral position" idleMode = "See also idleRpmPid" isInjectionEnabled = "Fuel Injection is enabled" isIgnitionEnabled = "Ignition is enabled" isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders." complexWallModel = "Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values?" alwaysInstantRpm = "RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution" isMapAveragingEnabled = "Map averaging enabled" useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra advance at low idle speeds will prevent stalling and extra retard at high idle speeds can help reduce engine power and slow the idle speed." useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling." verboseTriggerSynchDetails = "Verbose info in console below engineSnifferRpmThreshold" twoWireBatchIgnition = "This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark)." useFixedBaroCorrFromMap = "Read MAP sensor on ECU start-up to use as baro value." useSeparateAdvanceForCranking = "In Constant mode, timing is automatically tapered to running as RPM increases.\nIn Table mode, the "Cranking ignition advance" table is used directly." useAdvanceCorrectionsForCranking = "This enables the various ignition corrections during cranking (IAT, CLT and PID idle).\nYou probably don't need this." flexCranking = "Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor." useIacPidMultTable = "This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller" isBoostControlEnabled = "Boost Control Enabled" launchSmoothRetard = "Interpolates the Ignition Retard from 0 to 100% within the RPM Range" isPhaseSyncRequiredForIgnition = "Some engines are OK running semi-random sequential while other engine require phase synchronization" useCltBasedRpmLimit = "If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value." forceO2Heating = "If enabled, don't wait for engine start to heat O2 sensors.\nWARNING: this will reduce the life of your sensor, as condensation in the exhaust from a cold start can crack the sensing element." invertVvtControlIntake = "If increased VVT duty cycle increases the indicated VVT angle, set this to 'advance'. If it decreases, set this to 'retard'. Most intake cams use 'advance', and most exhaust cams use 'retard'." invertVvtControlExhaust = "If increased VVT duty cycle increases the indicated VVT angle, set this to 'advance'. If it decreases, set this to 'retard'. Most intake cams use 'advance', and most exhaust cams use 'retard'." sdTriggerLog = "'Trigger' mode will write a high speed log of trigger events (warning: uses lots of space!). 'Normal' mode will write a standard MLG of sensors, engine function, etc. similar to the one captured in TunerStudio." acIdleRpmTarget = "Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling." warningPeriod = "set warningPeriod X" torqueReductionArmingApp = "Pedal position to realize that we need to reduce torque when the trigger pin is uuuh triggered" tachPulseDuractionMs = "Duration in ms or duty cycle depending on selected mode" rotationalIdlePin = "Pin that activates the rotational idle." wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration." alternatorControl_offset = "Linear addition to PID logic\nAlso known as feedforward." alternatorControl_periodMs = "PID dTime" alternatorControl_minValue = "Output Min Duty Cycle" alternatorControl_maxValue = "Output Max Duty Cycle" etb_offset = "Linear addition to PID logic\nAlso known as feedforward." etb_periodMs = "PID dTime" etb_minValue = "Output Min Duty Cycle" etb_maxValue = "Output Max Duty Cycle" airTaperRpmRange = "RPM range above upper limit for extra air taper" tps2Min = "Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel" tps2Max = "Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel" starterControlPin = "See also startStopButtonPin" mapErrorDetectionTooLow = "kPa value which is too low to be true" mapErrorDetectionTooHigh = "kPa value which is too high to be true" multisparkSparkDuration = "How long to wait for the spark to fire before recharging the coil for another spark." multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table." idleRpmPid_offset = "Linear addition to PID logic\nAlso known as feedforward." idleRpmPid_periodMs = "PID dTime" idleRpmPid_minValue = "Output Min Duty Cycle" idleRpmPid_maxValue = "Output Max Duty Cycle" wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment." binarySerialTxPin = "See also EFI_CONSOLE_RX_BRAIN_PIN" auxValves1 = "auxValves 1" auxValves2 = "auxValves 2" throttlePedalWOTVoltage = "Pedal in the floor" startUpFuelPumpDuration = "on IGN voltage detection turn fuel pump on to build fuel pressure" idlePidRpmDeadZone = "If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation" mc33810DisableRecoveryMode = "See Over/Undervoltage Shutdown/Retry bit in documentation" enableExtendedCanBroadcast = "Send out board statistics" luaCanRxWorkaround = "global_can_data performance hack" disablemax31855 = "Disable onboard EGT31855" enableSlipCalculations = "Enable Slip value calculations" ltftEnableAutoSave = "automatically save Long Term Fuel trim to backup" enableAemXSeriesEgt = "AEM X-Series EGT gauge kit or rusEFI EGT sensor from Wideband controller" enableKnockSpectrogram = "Available via TS Plugin see https://rusefi.com/s/knock" isMapPreAveragingEnabled = "MapPre averaging enabled" iacByTpsTaper = "This value is an added for base idle value. Idle Value added when coasting and transitioning into idle." iacByTpsTaperAC = "This value is an added for base idle value(AC ON). Idle Value added when coasting and transitioning into idle." coastingFuelCutVssLow = "Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears." coastingFuelCutVssHigh = "Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears." tpsAccelEnrichmentThreshold = "Maximum change delta of TPS percentage over the 'length'. Actual TPS change has to be above this value in order for TPS/TPS acceleration to kick in." auxSpeedSensorInputPin1 = "auxSpeedSensorInputPin 1" auxSpeedSensorInputPin2 = "auxSpeedSensorInputPin 2" auxSpeedSensorInputPin3 = "auxSpeedSensorInputPin 3" auxSpeedSensorInputPin4 = "auxSpeedSensorInputPin 4" injectionTimingMode = "Defines when fuel is injected relative to the intake valve opening. Options include End of Injection or other timing references." injAdvAssistStepDeg = "Degrees per step" injAdvAssistStepCycles = "Cycles per step" injAdvAssistMinRpm = "Enable above this RPM" injAdvAssistMaxRpm = "Disable above this RPM" injAdvAssistStartDeg = "Start injector advance offset" injAdvAssistEndDeg = "End injector advance offset" debugMode = "See http://rusefi.com/s/debugmode" fan1TempBins = "Fan 1 temperature bins" fan1PwmValues = "Fan 1 PWM values" uartConsoleSerialSpeed = "Band rate for primary TTL" throttlePedalSecondaryWOTVoltage = "Pedal in the floor" veOverrideMode = "Override the Y axis (load) value used for the VE table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this." afrOverrideMode = "Override the Y axis (load) value used for the AFR table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this." mc33_hpfp_i_hold_off = "How long to deactivate power when hold current is reached before applying power again" mc33_hpfp_max_hold = "Maximum amount of time the solenoid can be active before assuming a programming error" stepperDcInvertedPins = "Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards)" canOpenBLT = "Allow OpenBLT on Primary CAN" can2OpenBLT = "Allow OpenBLT on Secondary CAN" injectorFlowAsMassFlow = "Select whether to configure injector flow in volumetric flow (default, cc/min) or mass flow (g/s)." can1ListenMode = "ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled" epicCanEcuReadONLYONWrite = "set ECU to read only mode when first write happens, this way CANBUS settings via epic canbus interface are not saved to the tune. The read only itself should not be saved unless forced save via bench tune button (Write Config)" sdPrecentBaroMode = "Load in Speed Density is actually %baro" MAFMAPMAXAirmass = "when map prediction is active, take the higher airmass of maf/map calculations" overrideUaefiVbat = "Allow overriding uaefi voltage dividers" disableIncorporateAFR = "Disable incorporate afr function" overboostCutSparkInstead = "Cut spark instead of fuel for overboost - this is probably less gentle on the engine" overboostCutBoth = "Cut fuel AND spark for overboost" overboostSparkDropFeather = "Use feather overboost limit. Ignition is dropped randomly from cylinders starting from feather all the way to hard overboost cut" cel_sync_loss_tolerance = "Sync loss tolerance" cel_battery_minv = "Minimum Battery Voltage" cel_battery_maxv = "Maximum Battery Voltage" cel_map_min_v = "Minimum MAP V" cel_map_max_v = "Maximum MAP V" cel_iat_min_v = "Minimum IAT V" cel_iat_max_v = "Maximum IAT V" cel_iat_max_c = "Maximum IAT C" cel_clt_min_v = "Minimum CLT V" cel_clt_max_v = "Maximum CLT V" cel_clt_max_c = "Maximum CLT C" cel_tps_min_v = "Minimum TPS V" cel_tps_max_v = "Maximum TPS V" cel_afr_min_v = "Minimum AFR V" cel_afr_max_v = "Maximum AFR V" cel_oil_temp_min_v = "Minimum Oil Temp V" cel_oil_temp_max_v = "Maximum Oil Temp V" cel_oil_temp_max_c = "Maximum Oil Temp C" cel_oil_pressure_min_v = "Minimum Oil Pressure V" cel_oil_pressure_min_kpa = "Minimum Oil Pressure kpa" cel_oil_pressure_max_v = "Maximum Oil Pressure V" cel_fuel_pressure_min_v = "Minimum Fuel Pressure V" cel_fuel_pressure_max_v = "Maximum Fuel Pressure V" cel_maf_min_v = "Minimum MAF V" cel_maf_max_v = "Maximum MAF V" cel_any_cut_time = "CEL timeout after cut" als_switch_uses_timeout = "ALS on/off switch uses timeout" noFuelUntilOilPressure = "Prevent fuel injection until minimum oil pressure is reached" canMatchEnabled = "Enable CAN frame matching system" canCheckedDigitalEnable = "Enable CANCHECKED 0x702 digital states" enablePreSyncFuel = "Enable fuel injection before trigger synchronization" universalCam1SyncNeeded = "Enable trigger synchronization for universal cam 1" universalCam2SyncNeeded = "Enable trigger synchronization for universal cam 2" dfcoEgoPauseOrDisableSTFT = "true=pause, false=disable STFT after DFCO is active" canWheelFLBitEndianness = "Endianness for Front left wheel speed" canWheelFRBitEndianness = "Endianness for Front right wheel speed" canWheelRLBitEndianness = "Endianness for Rear left wheel speed" canWheelRRBitEndianness = "Endianness for Rear right wheel speed" cel_shiftlight_flash_freq = "Flash frequency for shift light" klineAcDebounceTime = "seconds to debounce kline ac" cel_shiftlight_threshold = "Turn on CEL as a shift light at this RPM" launch_control_driver_intent_tps = "true = ETB pedal, false = TPS, fallback to TPS if no etb" canCheckedAnalogEnable = "Enable CANCHECKED 0x700 - 0x702 analog states" cel_shiftlight_threshold_hysteresis = "Hysteresis for the CEL As Shift Light" cel_shiftlight_tps_threshold = "Only activate CEL as shiftlight above this TPS" camDecoder2jzPosition = "Angle of tooth detection within engine phase cycle" benchTestOnTime = "Duration of each test pulse" ignOverrideMode = "Override the Y axis (load) value used for the ignition table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this." injectorPressureType = "Select which fuel pressure sensor measures the pressure of the fuel at your injectors." boostCutPressure = "Specifies the boost pressure allowed before triggering a cut. Setting this to 0 will DISABLE overboost cut." boostCutPressureFeather = "Specifies the boost pressure at which we start dropping spark" fixedTiming = "Fixed timing, useful for TDC testing" baroLowValueVoltage = "BARO voltage for low point" baroHighValueVoltage = "BARO voltage for low point" mapLowValueVoltage = "MAP voltage for low point" mapHighValueVoltage = "MAP voltage for low point" mappreLowValueVoltage = "MAPPRE voltage for low point" mappreHighValueVoltage = "MAPPRE voltage for low point" egoValueShift = "EGO value correction" vvtPins1 = "VVT output solenoid pin for this cam 1" vvtPins2 = "VVT output solenoid pin for this cam 2" vvtPins3 = "VVT output solenoid pin for this cam 3" vvtPins4 = "VVT output solenoid pin for this cam 4" minimumIgnitionTiming = "Minimim timing advance allowed. No spark on any cylinder will ever fire after this angle BTDC. For example, setting -10 here means no spark ever fires later than 10 deg ATDC. Note that this only concerns the primary spark: any trailing sparks or multispark may violate this constraint." maximumIgnitionTiming = "Maximum timing advance allowed. No spark on any cylinder will ever fire before this angle BTDC. For example, setting 45 here means no spark ever fires earlier than 45 deg BTDC" vvtMode1 = "vvtMode 1" vvtMode2 = "vvtMode 2" fan2TempBins = "Fan 2 temperature bins" fan2PwmValues = "Fan 2 PWM values" waterPumpTempBins = "Water pump temperature bins" waterPumpPwmValues = "Water pump PWM values" waterPump2TempBins = "Water pump temperature bins" waterPump2PwmValues = "Water pump PWM values" primingDelay = "Delay to allow fuel pressure to build before firing the priming pulse." auxAnalogInputs1 = "auxAnalogInputs 1" auxAnalogInputs2 = "auxAnalogInputs 2" auxAnalogInputs3 = "auxAnalogInputs 3" auxAnalogInputs4 = "auxAnalogInputs 4" auxAnalogInputs5 = "auxAnalogInputs 5" auxAnalogInputs6 = "auxAnalogInputs 6" auxAnalogInputs7 = "auxAnalogInputs 7" auxAnalogInputs8 = "auxAnalogInputs 8" trailingCoilPins1 = "trailingCoilPins 1" trailingCoilPins2 = "trailingCoilPins 2" trailingCoilPins3 = "trailingCoilPins 3" trailingCoilPins4 = "trailingCoilPins 4" trailingCoilPins5 = "trailingCoilPins 5" trailingCoilPins6 = "trailingCoilPins 6" trailingCoilPins7 = "trailingCoilPins 7" trailingCoilPins8 = "trailingCoilPins 8" injectorCompensationMode = "Manifold Referenced Pressure Regulator = I have a MAP-referenced fuel pressure regulator\nReturnless fuel system = I have an atmosphere-referenced fuel pressure regulator (returnless, dead head, typically)\nSensed rail pressure = I have a fuel pressure sensor\n" fuelReferencePressure = "This is the pressure at which your injector flow is known.\nFor example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here.\nThis is gauge pressure/in reference to atmospheric." auxTempSensor1_tempC_1 = "these values are in Celcius" auxTempSensor1_bias_resistor = "Pull-up resistor value on your board" auxTempSensor2_tempC_1 = "these values are in Celcius" auxTempSensor2_bias_resistor = "Pull-up resistor value on your board" etbWastegatePid_offset = "Linear addition to PID logic\nAlso known as feedforward." etbWastegatePid_periodMs = "PID dTime" etbWastegatePid_minValue = "Output Min Duty Cycle" etbWastegatePid_maxValue = "Output Max Duty Cycle" stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough" stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)" stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)" timing_offset_cylinder1 = "per-cylinder ignition and fueling timing correction for uneven engines 1" timing_offset_cylinder2 = "per-cylinder ignition and fueling timing correction for uneven engines 2" timing_offset_cylinder3 = "per-cylinder ignition and fueling timing correction for uneven engines 3" timing_offset_cylinder4 = "per-cylinder ignition and fueling timing correction for uneven engines 4" timing_offset_cylinder5 = "per-cylinder ignition and fueling timing correction for uneven engines 5" timing_offset_cylinder6 = "per-cylinder ignition and fueling timing correction for uneven engines 6" timing_offset_cylinder7 = "per-cylinder ignition and fueling timing correction for uneven engines 7" timing_offset_cylinder8 = "per-cylinder ignition and fueling timing correction for uneven engines 8" vvtControlMinClt = "Minimum coolant temperature to activate VVT" spi1MosiMode = "Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc." ecumasterEgtToCanBaseId = "Default 1552 for EMU Classic, 1632 for EMU Black." mc33816_rstb = "ResetB" brakePedalPin = "Brake pedal switch" auxPid1_offset = "Linear addition to PID logic\nAlso known as feedforward." auxPid1_periodMs = "PID dTime" auxPid1_minValue = "Output Min Duty Cycle" auxPid1_maxValue = "Output Max Duty Cycle" auxPid2_offset = "Linear addition to PID logic\nAlso known as feedforward." auxPid2_periodMs = "PID dTime" auxPid2_minValue = "Output Min Duty Cycle" auxPid2_maxValue = "Output Max Duty Cycle" sentInputPins1 = "sentInputPins 1" coastingFuelCutRpmHigh = "This sets the RPM above which fuel cut is active." coastingFuelCutRpmLow = "This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle" coastingFuelCutTps = "Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position." coastingFuelCutClt = "Fuel cutoff is disabled when the engine is cold." pidExtraForLowRpm = "Increases PID reaction for RPM , 50, , true filter = VBatt, "VBatt", VBatt < , 12, , true filter = minTps, "Minimum TPS", TPSValue, < , 1, , true filter = std_Custom filter = minPps, "Minimum PPS", throttlePedalPosition, < , 3, , true ; ; in order to add new TunerStudio data point you need to change one of *.txt files mentioned in LiveData.yaml ; [BurstMode] getCommand = "A" [OutputChannels] ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code ochBlockSize = 2936 ; 11.2.3 Full Optimized – High Speed ; scatteredOchGetCommand = 9 ; scatteredOffsetArray = highSpeedOffsets ;#if CONN_SLOW ; scatteredGetEnabled = { 1 } ;#else ; scatteredGetEnabled = { 0 } ;#endif ; ; see TunerStudioOutputChannels struct ; sd_present = bits, U32, 0, [0:0] sd_logging_internal = bits, U32, 0, [1:1] triggerScopeReady = bits, U32, 0, [2:2] antilagTriggered = bits, U32, 0, [3:3] isO2HeaterOn = bits, U32, 0, [4:4] checkEngine = bits, U32, 0, [5:5] needBurn = bits, U32, 0, [6:6] sd_msd = bits, U32, 0, [7:7] toothLogReady = bits, U32, 0, [8:8] isTpsError = bits, U32, 0, [9:9] isCltError = bits, U32, 0, [10:10] isMapError = bits, U32, 0, [11:11] isIatError = bits, U32, 0, [12:12] isTriggerError = bits, U32, 0, [13:13] hasCriticalError = bits, U32, 0, [14:14] isWarnNow = bits, U32, 0, [15:15] isPedalError = bits, U32, 0, [16:16] launchTriggered = bits, U32, 0, [17:17] isTps2Error = bits, U32, 0, [18:18] injectorFault = bits, U32, 0, [19:19] ignitionFault = bits, U32, 0, [20:20] isUsbConnected = bits, U32, 0, [21:21] dfcoActive = bits, U32, 0, [22:22] sd_active_wr = bits, U32, 0, [23:23] sd_active_rd = bits, U32, 0, [24:24] isMapValid = bits, U32, 0, [25:25] triggerPageRefreshFlag = bits, U32, 0, [26:26] hasFaultReportFile = bits, U32, 0, [27:27] isAnalogFailure = bits, U32, 0, [28:28] unused_bit_44 = bits, U32, 0, [29:29] sd_formating = bits, U32, 0, [30:30] isMapAveraging = bits, U32, 0, [31:31] RPMValue = scalar, U16, 4, "RPM", 1, 0 rpmAcceleration = scalar, S16, 6, "RPM acceleration/Rate of Change/ROC", 1, 0 speedToRpmRatio = scalar, U16, 8, "value", 0.005, 0 internalMcuTemperature = scalar, S08, 10, "deg C", 1, 0 internalVref = scalar, U16, 12, "V", 8.333333333333333E-5, 0 coolant = scalar, S16, 14, "deg C", 0.01, 0 intake = scalar, S16, 16, "deg C", 0.01, 0 auxTemp1 = scalar, S16, 18, "deg C", 0.01, 0 auxTemp2 = scalar, S16, 20, "deg C", 0.01, 0 TPSValue = scalar, S16, 22, "%", 0.005, 0 throttlePedalPosition = scalar, S16, 24, "%", 0.005, 0 DriverThrottleIntent = scalar, S16, 26, "%", 0.005, 0 tpsADC = scalar, U16, 28, "ADC", 1, 0 tps2ADC = scalar, U16, 30, "ADC2", 1, 0 rawMaf = scalar, U16, 32, "V", 8.333333333333333E-5, 0 rawFrequencyMaf = scalar, U16, 34, "HZ", 1, 0 mafMeasured = scalar, U16, 36, "kg/h", 0.04, 0 frequencyMafMeasured = scalar, U16, 38, "kg/h", 0.04, 0 MAFValueSmoothed = scalar, U16, 40, "kg/h", 0.04, 0 MAPValue = scalar, U16, 42, "kPa", 0.01, 0 baroPressure = scalar, U16, 44, "kPa", 0.002, 0 lambdaValue = scalar, U16, 46, "", 1.0E-4, 0 VBatt = scalar, U16, 48, "V", 3.333333333333333E-4, 0 VBattAvg = scalar, U16, 50, "V", 3.333333333333333E-4, 0 oilPressure = scalar, U16, 52, "kPa", 0.03333333333333333, 0 vvtPositionB1I = scalar, S16, 54, "deg", 0.02, 0 actualLastInjection = scalar, U16, 56, "ms", 0.0033333333333333335, 0 actualLastInjectionRatio = scalar, F32, 60, "", 1, 0 stopEngineCode = scalar, U08, 64, "", 1, 0 injectorDutyCycle = scalar, U08, 65, "%", 0.5, 0 injectionOffset = scalar, S16, 66, "deg", 1, 0 engineMakeCodeNameCrc16 = scalar, U16, 68, "crc16", 1, 0 wallFuelAmount = scalar, U16, 70, "mg", 0.01, 0 wallFuelCorrectionValue = scalar, S16, 72, "mg", 0.01, 0 revolutionCounterSinceStart = scalar, U16, 74, "", 1, 0 canReadCounter = scalar, U16, 76, "", 1, 0 tpsAccelFuel = scalar, S16, 78, "ms", 0.0033333333333333335, 0 currentIgnitionMode = scalar, U08, 80, "", 1, 0 currentInjectionMode = scalar, U08, 81, "", 1, 0 coilDutyCycle = scalar, U16, 82, "%", 0.005, 0 etb1DutyCycle = scalar, S16, 84, "%", 0.005, 0 fuelTankLevel = scalar, S16, 86, "%", 0.005, 0 totalFuelConsumption = scalar, U16, 88, "grams", 1, 0 fuelFlowRate = scalar, U16, 90, "gram/s", 0.0025, 0 fuelFlowRateSmoothed = scalar, U16, 92, "gram/s", 0.0025, 0 TPS2Value = scalar, S16, 94, "%", 0.005, 0 tuneCrc16 = scalar, U16, 96, "crc16", 1, 0 veValue = scalar, U16, 98, "ratio", 0.01, 0 seconds = scalar, U32, 100, "sec", 1, 0 engineMode = scalar, U32, 104, "em", 1, 0 firmwareVersion = scalar, U32, 108, "version_f", 1, 0 rawIdlePositionSensor = scalar, U16, 112, "V", 8.333333333333333E-5, 0 rawWastegatePosition = scalar, U16, 114, "V", 8.333333333333333E-5, 0 accelerationLat = scalar, F32, 116, "G", 1, 0 accelerationLon = scalar, F32, 120, "G", 1, 0 detectedGear = scalar, U08, 124, "", 1, 0 maxTriggerReentrant = scalar, U08, 125, "", 1, 0 rawLowFuelPressure = scalar, U16, 126, "V", 8.333333333333333E-5, 0 rawHighFuelPressure = scalar, U16, 128, "V", 8.333333333333333E-5, 0 lowFuelPressure = scalar, S16, 130, "kpa", 0.03333333333333333, 0 flexPercent = scalar, U08, 132, "%", 0.5, 0 wastegatePositionSensor = scalar, S16, 134, "%", 0.005, 0 highFuelPressure = scalar, S16, 136, "bar", 0.1, 0 calibrationValue = scalar, F32, 140, "", 1, 0 calibrationMode = scalar, U08, 144, "", 1, 0 idleStepperTargetPosition = scalar, U08, 145, "", 1, 0 totalTriggerErrorCounter = scalar, U32, 148, "counter", 1, 0 orderingErrorCounter = scalar, U32, 152, "", 1, 0 warningCounter = scalar, U16, 156, "count", 1, 0 lastErrorCode = scalar, U16, 158, "error", 1, 0 recentErrorCode1 = scalar, U16, 160, "error", 1, 0 recentErrorCode2 = scalar, U16, 162, "error", 1, 0 recentErrorCode3 = scalar, U16, 164, "error", 1, 0 recentErrorCode4 = scalar, U16, 166, "error", 1, 0 recentErrorCode5 = scalar, U16, 168, "error", 1, 0 recentErrorCode6 = scalar, U16, 170, "error", 1, 0 recentErrorCode7 = scalar, U16, 172, "error", 1, 0 recentErrorCode8 = scalar, U16, 174, "error", 1, 0 egt1 = scalar, S16, 176, "deg C", 0.25, 0 egt2 = scalar, S16, 178, "deg C", 0.25, 0 egt3 = scalar, S16, 180, "deg C", 0.25, 0 egt4 = scalar, S16, 182, "deg C", 0.25, 0 egt5 = scalar, S16, 184, "deg C", 0.25, 0 egt6 = scalar, S16, 186, "deg C", 0.25, 0 egt7 = scalar, S16, 188, "deg C", 0.25, 0 egt8 = scalar, S16, 190, "deg C", 0.25, 0 rawTps1Primary = scalar, U16, 192, "V", 8.333333333333333E-5, 0 rawClt = scalar, U16, 194, "V", 8.333333333333333E-5, 0 rawIat = scalar, U16, 196, "V", 8.333333333333333E-5, 0 rawOilPressure = scalar, U16, 198, "V", 8.333333333333333E-5, 0 rawAcPressure = scalar, U16, 200, "V", 8.333333333333333E-5, 0 rawFuelLevel = scalar, U16, 202, "V", 8.333333333333333E-5, 0 rawPpsPrimary = scalar, F32, 204, "V", 1, 0 rawPpsSecondary = scalar, F32, 208, "V", 1, 0 rawRawPpsPrimary = scalar, F32, 212, "V", 1, 0 rawRawPpsSecondary = scalar, F32, 216, "V", 1, 0 idlePositionSensor = scalar, S16, 220, "%", 0.005, 0 AFRValue = scalar, U16, 222, "AFR", 0.001, 0 AFRValue2 = scalar, U16, 224, "AFR", 0.001, 0 RealAFRValue = scalar, U16, 226, "AFR", 0.001, 0 RealAFRValue2 = scalar, U16, 228, "AFR", 0.001, 0 VssAcceleration = scalar, U16, 230, "m/s2", 0.0033333333333333335, 0 lambdaValue2 = scalar, U16, 232, "", 1.0E-4, 0 vvtPositionB1E = scalar, S16, 234, "deg", 0.02, 0 vvtPositionB2I = scalar, S16, 236, "deg", 0.02, 0 vvtPositionB2E = scalar, S16, 238, "deg", 0.02, 0 rawTps1Secondary = scalar, U16, 240, "V", 8.333333333333333E-5, 0 rawTps2Primary = scalar, U16, 242, "V", 8.333333333333333E-5, 0 rawTps2Secondary = scalar, U16, 244, "V", 8.333333333333333E-5, 0 accelerationVert = scalar, F32, 248, "G", 1, 0 gyroYaw = scalar, S16, 252, "deg/sec", 0.001, 0 vvtTargets1 = scalar, S08, 254, "deg", 1, 0 vvtTargets2 = scalar, S08, 255, "deg", 1, 0 vvtTargets3 = scalar, S08, 256, "deg", 1, 0 vvtTargets4 = scalar, S08, 257, "deg", 1, 0 turboSpeed = scalar, U16, 258, "hz", 1, 0 ignitionAdvanceCyl1 = scalar, S16, 260, "deg", 0.02, 0 ignitionAdvanceCyl2 = scalar, S16, 262, "deg", 0.02, 0 ignitionAdvanceCyl3 = scalar, S16, 264, "deg", 0.02, 0 ignitionAdvanceCyl4 = scalar, S16, 266, "deg", 0.02, 0 ignitionAdvanceCyl5 = scalar, S16, 268, "deg", 0.02, 0 ignitionAdvanceCyl6 = scalar, S16, 270, "deg", 0.02, 0 ignitionAdvanceCyl7 = scalar, S16, 272, "deg", 0.02, 0 ignitionAdvanceCyl8 = scalar, S16, 274, "deg", 0.02, 0 tps1Split = scalar, S16, 276, "%", 0.005, 0 tps2Split = scalar, S16, 278, "%", 0.005, 0 tps12Split = scalar, S16, 280, "%", 0.005, 0 accPedalSplit = scalar, S16, 282, "%", 0.005, 0 accPedalUnfiltered = scalar, S16, 284, "%", 0.005, 0 sparkCutReason = scalar, S08, 286, "code", 1, 0 fuelCutReason = scalar, S08, 287, "code", 1, 0 mafEstimate = scalar, U16, 288, "kg/h", 0.04, 0 instantRpm = scalar, U16, 290, "rpm", 1, 0 rawMap = scalar, U16, 292, "V", 8.333333333333333E-5, 0 rawMapFast = scalar, U16, 294, "V", 8.333333333333333E-5, 0 rawMapPreFast = scalar, U16, 296, "V", 8.333333333333333E-5, 0 rawMafFast = scalar, U16, 298, "V", 8.333333333333333E-5, 0 rawAfr = scalar, U16, 300, "V", 8.333333333333333E-5, 0 rawFuelTankLevel = scalar, U16, 302, "V", 8.333333333333333E-5, 0 calibrationValue2 = scalar, F32, 304, "", 1, 0 luaInvocationCounter = scalar, U32, 308, "count", 1, 0 luaLastCycleDuration = scalar, U32, 312, "nt", 1, 0 vssEdgeCounter = scalar, U32, 316, "", 1, 0 issEdgeCounter = scalar, U32, 320, "", 1, 0 auxLinear1 = scalar, F32, 324, "", 1, 0 auxLinear2 = scalar, F32, 328, "", 1, 0 auxLinear3 = scalar, F32, 332, "", 1, 0 auxLinear4 = scalar, F32, 336, "", 1, 0 fallbackMap = scalar, U16, 340, "kPa", 0.1, 0 effectiveMap = scalar, U16, 342, "kPa", 0.1, 0 instantMAPValue = scalar, U16, 344, "kPa", 0.01, 0 maxLockedDuration = scalar, U16, 346, "us", 1, 0 canWriteOk = scalar, U16, 348, "", 1, 0 canWriteNotOk = scalar, U16, 350, "", 1, 0 triggerPrimaryFall = scalar, U32, 352, "", 1, 0 triggerPrimaryRise = scalar, U32, 356, "", 1, 0 triggerSecondaryFall = scalar, U32, 360, "", 1, 0 triggerSecondaryRise = scalar, U32, 364, "", 1, 0 starterState = scalar, U08, 368, "", 1, 0 starterRelayDisable = scalar, U08, 369, "", 1, 0 multiSparkCounter = scalar, U08, 370, "", 1, 0 extiOverflowCount = scalar, U08, 371, "", 1, 0 alternatorStatus_pTerm = scalar, F32, 372, "", 1, 0 alternatorStatus_iTerm = scalar, S16, 376, "", 0.01, 0 alternatorStatus_dTerm = scalar, S16, 378, "", 0.01, 0 alternatorStatus_output = scalar, S16, 380, "", 0.01, 0 alternatorStatus_error = scalar, S16, 382, "", 0.01, 0 alternatorStatus_resetCounter = scalar, U32, 384, "", 1, 0 idleStatus_pTerm = scalar, F32, 388, "", 1, 0 idleStatus_iTerm = scalar, S16, 392, "", 0.01, 0 idleStatus_dTerm = scalar, S16, 394, "", 0.01, 0 idleStatus_output = scalar, S16, 396, "", 0.01, 0 idleStatus_error = scalar, S16, 398, "", 0.01, 0 idleStatus_resetCounter = scalar, U32, 400, "", 1, 0 etbStatus_pTerm = scalar, F32, 404, "", 1, 0 etbStatus_iTerm = scalar, S16, 408, "", 0.01, 0 etbStatus_dTerm = scalar, S16, 410, "", 0.01, 0 etbStatus_output = scalar, S16, 412, "", 0.01, 0 etbStatus_error = scalar, S16, 414, "", 0.01, 0 etbStatus_resetCounter = scalar, U32, 416, "", 1, 0 boostStatus_pTerm = scalar, F32, 420, "", 1, 0 boostStatus_iTerm = scalar, S16, 424, "", 0.01, 0 boostStatus_dTerm = scalar, S16, 426, "", 0.01, 0 boostStatus_output = scalar, S16, 428, "", 0.01, 0 boostStatus_error = scalar, S16, 430, "", 0.01, 0 boostStatus_resetCounter = scalar, U32, 432, "", 1, 0 wastegateDcStatus_pTerm = scalar, F32, 436, "", 1, 0 wastegateDcStatus_iTerm = scalar, S16, 440, "", 0.01, 0 wastegateDcStatus_dTerm = scalar, S16, 442, "", 0.01, 0 wastegateDcStatus_output = scalar, S16, 444, "", 0.01, 0 wastegateDcStatus_error = scalar, S16, 446, "", 0.01, 0 wastegateDcStatus_resetCounter = scalar, U32, 448, "", 1, 0 vvtStatus1_pTerm = scalar, F32, 452, "", 1, 0 vvtStatus1_iTerm = scalar, S16, 456, "", 0.01, 0 vvtStatus1_dTerm = scalar, S16, 458, "", 0.01, 0 vvtStatus1_output = scalar, S16, 460, "", 0.01, 0 vvtStatus1_error = scalar, S16, 462, "", 0.01, 0 vvtStatus1_resetCounter = scalar, U32, 464, "", 1, 0 vvtStatus2_pTerm = scalar, F32, 468, "", 1, 0 vvtStatus2_iTerm = scalar, S16, 472, "", 0.01, 0 vvtStatus2_dTerm = scalar, S16, 474, "", 0.01, 0 vvtStatus2_output = scalar, S16, 476, "", 0.01, 0 vvtStatus2_error = scalar, S16, 478, "", 0.01, 0 vvtStatus2_resetCounter = scalar, U32, 480, "", 1, 0 vvtStatus3_pTerm = scalar, F32, 484, "", 1, 0 vvtStatus3_iTerm = scalar, S16, 488, "", 0.01, 0 vvtStatus3_dTerm = scalar, S16, 490, "", 0.01, 0 vvtStatus3_output = scalar, S16, 492, "", 0.01, 0 vvtStatus3_error = scalar, S16, 494, "", 0.01, 0 vvtStatus3_resetCounter = scalar, U32, 496, "", 1, 0 vvtStatus4_pTerm = scalar, F32, 500, "", 1, 0 vvtStatus4_iTerm = scalar, S16, 504, "", 0.01, 0 vvtStatus4_dTerm = scalar, S16, 506, "", 0.01, 0 vvtStatus4_output = scalar, S16, 508, "", 0.01, 0 vvtStatus4_error = scalar, S16, 510, "", 0.01, 0 vvtStatus4_resetCounter = scalar, U32, 512, "", 1, 0 auxSpeed1 = scalar, U16, 516, "s", 1, 0 auxSpeed2 = scalar, U16, 518, "s", 1, 0 ISSValue = scalar, U16, 520, "RPM", 1, 0 rawAnalogInput1 = scalar, U16, 522, "V", 8.333333333333333E-5, 0 rawAnalogInput2 = scalar, U16, 524, "V", 8.333333333333333E-5, 0 rawAnalogInput3 = scalar, U16, 526, "V", 8.333333333333333E-5, 0 rawAnalogInput4 = scalar, U16, 528, "V", 8.333333333333333E-5, 0 rawAnalogInput5 = scalar, U16, 530, "V", 8.333333333333333E-5, 0 rawAnalogInput6 = scalar, U16, 532, "V", 8.333333333333333E-5, 0 rawAnalogInput7 = scalar, U16, 534, "V", 8.333333333333333E-5, 0 rawAnalogInput8 = scalar, U16, 536, "V", 8.333333333333333E-5, 0 gppwmOutput1 = scalar, U08, 538, "%", 0.5, 0 gppwmOutput2 = scalar, U08, 539, "%", 0.5, 0 gppwmOutput3 = scalar, U08, 540, "%", 0.5, 0 gppwmOutput4 = scalar, U08, 541, "%", 0.5, 0 gppwmXAxis1 = scalar, S16, 542, "", 1, 0 gppwmXAxis2 = scalar, S16, 544, "", 1, 0 gppwmXAxis3 = scalar, S16, 546, "", 1, 0 gppwmXAxis4 = scalar, S16, 548, "", 1, 0 gppwmYAxis1 = scalar, S16, 550, "", 0.1, 0 gppwmYAxis2 = scalar, S16, 552, "", 0.1, 0 gppwmYAxis3 = scalar, S16, 554, "", 0.1, 0 gppwmYAxis4 = scalar, S16, 556, "", 0.1, 0 rawBattery = scalar, U16, 558, "V", 3.333333333333333E-4, 0 ignBlendParameter1 = scalar, S16, 560, "", 0.1, 0 ignBlendParameter2 = scalar, S16, 562, "", 0.1, 0 ignBlendBias1 = scalar, U08, 564, "%", 0.5, 0 ignBlendBias2 = scalar, U08, 565, "%", 0.5, 0 ignBlendOutput1 = scalar, S16, 566, "deg", 0.01, 0 ignBlendOutput2 = scalar, S16, 568, "deg", 0.01, 0 ignBlendYAxis1 = scalar, S16, 570, "", 0.1, 0 ignBlendYAxis2 = scalar, S16, 572, "", 0.1, 0 veBlendParameter1 = scalar, S16, 574, "", 0.1, 0 veBlendParameter2 = scalar, S16, 576, "", 0.1, 0 veBlendBias1 = scalar, U08, 578, "%", 0.5, 0 veBlendBias2 = scalar, U08, 579, "%", 0.5, 0 veBlendOutput1 = scalar, S16, 580, "%", 0.01, 0 veBlendOutput2 = scalar, S16, 582, "%", 0.01, 0 veBlendYAxis1 = scalar, S16, 584, "", 0.1, 0 veBlendYAxis2 = scalar, S16, 586, "", 0.1, 0 boostOpenLoopBlendParameter1 = scalar, S16, 588, "", 0.1, 0 boostOpenLoopBlendBias1 = scalar, U08, 590, "%", 0.5, 0 boostOpenLoopBlendOutput1 = scalar, S08, 591, "%", 1, 0 boostOpenLoopBlendYAxis1 = scalar, S16, 592, "", 0.1, 0 boostClosedLoopBlendParameter1 = scalar, S16, 594, "", 0.1, 0 boostClosedLoopBlendBias1 = scalar, U08, 596, "%", 0.5, 0 boostClosedLoopBlendOutput1 = scalar, S16, 598, "%", 0.1, 0 boostClosedLoopBlendYAxis1 = scalar, S16, 600, "", 0.1, 0 targetAfrBlendParameter1 = scalar, S16, 602, "", 0.1, 0 targetAfrBlendBias1 = scalar, U08, 604, "%", 0.5, 0 targetAfrBlendOutput1 = scalar, S16, 606, "%", 0.1, 0 targetAfrBlendYAxis1 = scalar, S16, 608, "", 0.1, 0 coilState1 = bits, U32, 612, [0:0] coilState2 = bits, U32, 612, [1:1] coilState3 = bits, U32, 612, [2:2] coilState4 = bits, U32, 612, [3:3] coilState5 = bits, U32, 612, [4:4] coilState6 = bits, U32, 612, [5:5] coilState7 = bits, U32, 612, [6:6] coilState8 = bits, U32, 612, [7:7] coilState9 = bits, U32, 612, [8:8] coilState10 = bits, U32, 612, [9:9] coilState11 = bits, U32, 612, [10:10] coilState12 = bits, U32, 612, [11:11] injectorState1 = bits, U32, 612, [12:12] injectorState2 = bits, U32, 612, [13:13] injectorState3 = bits, U32, 612, [14:14] injectorState4 = bits, U32, 612, [15:15] injectorState5 = bits, U32, 612, [16:16] injectorState6 = bits, U32, 612, [17:17] injectorState7 = bits, U32, 612, [18:18] injectorState8 = bits, U32, 612, [19:19] injectorState9 = bits, U32, 612, [20:20] injectorState10 = bits, U32, 612, [21:21] injectorState11 = bits, U32, 612, [22:22] injectorState12 = bits, U32, 612, [23:23] triggerChannel1 = bits, U32, 612, [24:24] triggerChannel2 = bits, U32, 612, [25:25] vvtChannel1 = bits, U32, 612, [26:26] vvtChannel2 = bits, U32, 612, [27:27] vvtChannel3 = bits, U32, 612, [28:28] vvtChannel4 = bits, U32, 612, [29:29] isMapPreValid = bits, U32, 612, [30:30] outputRequestPeriod = scalar, U32, 616, "", 1, 0 mapFast = scalar, F32, 620, "", 1, 0 luaGauges1 = scalar, F32, 624, "value", 1, 0 luaGauges2 = scalar, F32, 628, "value", 1, 0 luaGauges3 = scalar, F32, 632, "value", 1, 0 luaGauges4 = scalar, F32, 636, "value", 1, 0 luaGauges5 = scalar, F32, 640, "value", 1, 0 luaGauges6 = scalar, F32, 644, "value", 1, 0 luaGauges7 = scalar, F32, 648, "value", 1, 0 luaGauges8 = scalar, F32, 652, "value", 1, 0 rawMaf2 = scalar, U16, 656, "V", 8.333333333333333E-5, 0 mafMeasured2 = scalar, U16, 658, "kg/h", 0.04, 0 schedulingUsedCount = scalar, U16, 660, "", 1,0 vehicleSpeedKph = scalar, U16, 662, "kph", 0.01, 0 Gego = scalar, U16, 664, "%", 0.01,0 testBenchIter = scalar, U32, 668, "count", 1, 0 oilTemp = scalar, S16, 672, "deg C", 0.01, 0 fuelTemp = scalar, S16, 674, "deg C", 0.01, 0 ambientTemp = scalar, S16, 676, "deg C", 0.01, 0 compressorDischargeTemp = scalar, S16, 678, "deg C", 0.01, 0 compressorDischargePressure = scalar, U16, 680, "kPa", 0.03333333333333333, 0 throttleInletPressure = scalar, U16, 682, "kPa", 0.03333333333333333, 0 ignitionOnTime = scalar, U16, 684, "sec", 1,0 engineRunTime = scalar, U16, 686, "sec", 1,0 distanceTraveled = scalar, U16, 688, "km", 0.1,0 afrGasolineScale = scalar, U16, 690, "AFR", 0.001, 0 afr2GasolineScale = scalar, U16, 692, "AFR", 0.001, 0 wheelSlipRatio = scalar, F32, 696, "", 1, 0 actualLastInjectionStage2 = scalar, U16, 700, "ms", 0.0033333333333333335, 0 actualLastInjectionRatioStage2 = scalar, F32, 704, "", 1, 0 injectorDutyCycleStage2 = scalar, U08, 708, "%", 0.5, 0 rawFlexFreq = scalar, U08, 709, "", 1, 0 canReWidebandCmdStatus = scalar, U08, 710, "", 1, 0 deviceUid = scalar, U08, 711, "", 1, 0 mc33810spiErrorCounter = scalar, U16, 712, "", 1, 0 injectionPrimingCounter = scalar, U08, 714, "", 1, 0 acPressure = scalar, F32, 716, "kPa", 1, 0 rawAuxAnalog1 = scalar, U16, 720, "V", 8.333333333333333E-5, 0 rawAuxAnalog2 = scalar, U16, 722, "V", 8.333333333333333E-5, 0 rawAuxAnalog3 = scalar, U16, 724, "V", 8.333333333333333E-5, 0 rawAuxAnalog4 = scalar, U16, 726, "V", 8.333333333333333E-5, 0 fastAdcErrorCount = scalar, U08, 728, "", 1, 0 slowAdcErrorCount = scalar, U08, 729, "", 1, 0 rawAuxTemp1 = scalar, U16, 730, "V", 8.333333333333333E-5, 0 rawAuxTemp2 = scalar, U16, 732, "V", 8.333333333333333E-5, 0 rawAmbientTemp = scalar, U16, 734, "V", 8.333333333333333E-5, 0 rtcUnixEpochTime = scalar, U32, 736, "", 1, 0 sparkCutReasonBlinker = scalar, S08, 740, "", 1, 0 fuelCutReasonBlinker = scalar, S08, 741, "", 1, 0 throttlePressureRatio = scalar, F32, 744, "", 1, 0 throttleEffectiveAreaOpening = scalar, F32, 748, "", 1, 0 mcuSerial = scalar, U32, 752, "", 1, 0 sd_error = scalar, U08, 756, "", 1, 0 fastAdcOverrunCount = scalar, U08, 757, "", 1, 0 slowAdcOverrunCount = scalar, U08, 758, "", 1, 0 fastAdcLastError = scalar, U08, 759, "", 1, 0 fastAdcPeriod = scalar, U16, 760, "ticks", 1, 0 fastAdcConversionCount = scalar, U16, 762, "N", 1, 0 canReWidebandVersion = scalar, U08, 764, "", 1, 0 canReWidebandFwDay = scalar, U08, 765, "", 1, 0 canReWidebandFwMon = scalar, U08, 766, "", 1, 0 canReWidebandFwYear = scalar, U08, 767, "", 1, 0 transitionEventCode = scalar, U16, 768, "", 1, 0 transitionEventsCounter = scalar, U16, 770, "", 1, 0 mapPerCylinder1 = scalar, U16, 772, "kPa", 0.003076923076923077, 0 mapPerCylinder2 = scalar, U16, 774, "kPa", 0.003076923076923077, 0 mapPerCylinder3 = scalar, U16, 776, "kPa", 0.003076923076923077, 0 mapPerCylinder4 = scalar, U16, 778, "kPa", 0.003076923076923077, 0 mapPerCylinder5 = scalar, U16, 780, "kPa", 0.003076923076923077, 0 mapPerCylinder6 = scalar, U16, 782, "kPa", 0.003076923076923077, 0 mapPerCylinder7 = scalar, U16, 784, "kPa", 0.003076923076923077, 0 mapPerCylinder8 = scalar, U16, 786, "kPa", 0.003076923076923077, 0 ignBlendTableValue1 = scalar, S16, 788, "deg", 0.01, 0 ignBlendTableValue2 = scalar, S16, 790, "deg", 0.01, 0 veBlendTableValue1 = scalar, S16, 792, "%", 0.01, 0 veBlendTableValue2 = scalar, S16, 794, "%", 0.01, 0 boostOpenLoopBlendTableValue1 = scalar, S16, 796, "", 0.01, 0 boostClosedLoopBlendTableValue1 = scalar, S16, 798, "", 0.01, 0 targetAfrBlendTableValue1 = scalar, S16, 800, "", 0.01, 0 canButtonToggle15 = bits, U32, 804, [0:0] canButtonToggle16 = bits, U32, 804, [1:1] vehicleSpeedKph1 = scalar, U16, 808, "kph", 0.01, 0 vehicleSpeedKph2 = scalar, U16, 810, "kph", 0.01, 0 vehicleSpeedKph3 = scalar, U16, 812, "kph", 0.01, 0 vehicleSpeedKph4 = scalar, U16, 814, "kph", 0.01, 0 vehicleSpeedKphFrontAvg = scalar, U16, 816, "kph", 0.01, 0 vehicleSpeedKphRearAvg = scalar, U16, 818, "kph", 0.01, 0 tracSpeedLeftRightREF = scalar, U16, 820, "kph", 0.01, 0 tracSpeedFrontRearREF = scalar, U16, 822, "kph", 0.01, 0 instantMAFValue = scalar, U16, 824, "kg/h", 0.04, 0 rawOilTemperature = scalar, U16, 826, "V", 8.333333333333333E-5, 0 rawAuxAnalog5 = scalar, U16, 828, "V", 8.333333333333333E-5, 0 rawAuxAnalog6 = scalar, U16, 830, "V", 8.333333333333333E-5, 0 rawAuxAnalog7 = scalar, U16, 832, "V", 8.333333333333333E-5, 0 rawAuxAnalog8 = scalar, U16, 834, "V", 8.333333333333333E-5, 0 pedalToTpsIndex = scalar, S08, 836, "", 1, 0 globalAFRTrim = scalar, F32, 840, "%", 1,0 lastCanButtonSeen = scalar, U16, 844, "", 1, 0 lastCanButtonFoundIdx = scalar, U16, 846, "", 1, 0 engine = scalar, U08, 848, "", 1, 0 tunedVeValue = scalar, U16, 850, "ratio", 0.01, 0 tpsSecondaryADC = scalar, U16, 852, "ADC", 1, 0 actualLastInjPreSmallPw = scalar, U16, 854, "ms", 0.0033333333333333335, 0 sparkDwellClamp = scalar, F32, 856, "ms", 1,0 tunedMafCorrection = scalar, U16, 860, "ratio", 0.01, 0 firmwareSignatureHash = scalar, U32, 864, "hash", 1, 0 rawAuxLinear1 = scalar, U16, 868, "V", 8.333333333333333E-5, 0 rawAuxLinear2 = scalar, U16, 870, "V", 8.333333333333333E-5, 0 rawAuxLinear3 = scalar, U16, 872, "V", 8.333333333333333E-5, 0 rawAuxLinear4 = scalar, U16, 874, "V", 8.333333333333333E-5, 0 auxSpeed3 = scalar, U16, 876, "s", 1, 0 auxSpeed4 = scalar, U16, 878, "s", 1, 0 canButtonToggle14 = bits, U32, 880, [0:0] veTableSwitch1Active = bits, U32, 880, [1:1] veTableSwitch2Active = bits, U32, 880, [2:2] ignTableSwitch1Active = bits, U32, 880, [3:3] ignTableSwitch2Active = bits, U32, 880, [4:4] afrTableSwitch1Active = bits, U32, 880, [5:5] olBoostTableSwitch1Active = bits, U32, 880, [6:6] clBoostTableSwitch1Active = bits, U32, 880, [7:7] stftDeadBand = bits, U32, 880, [8:8] isRunningBench = bits, U32, 880, [9:9] ready = bits, U32, 880, [10:10] crank = bits, U32, 880, [11:11] startw = bits, U32, 880, [12:12] warmup = bits, U32, 880, [13:13] tpsaccaen = bits, U32, 880, [14:14] tpsaccden = bits, U32, 880, [15:15] mapaccaen = bits, U32, 880, [16:16] mapaccden = bits, U32, 880, [17:17] isMapPreAveraging = bits, U32, 880, [18:18] watchDogBuddy = bits, U32, 880, [19:19] shuttingDownMainRelay = bits, U32, 880, [20:20] isMapPredictionActive = bits, U32, 880, [21:21] floodClearActive = bits, U32, 880, [22:22] phaseGuess = bits, U32, 880, [23:23] guessPhaseLocked = bits, U32, 880, [24:24] MAFMAPMAXAirmassACTIVE_MAP = bits, U32, 880, [25:25] guessPhaseRun = bits, U32, 880, [26:26] MAFMAPMAXAirmassACTIVE_MAF = bits, U32, 880, [27:27] hondak_batLightIsOn = bits, U32, 880, [28:28] cel_batv = bits, U32, 880, [29:29] cel_map = bits, U32, 880, [30:30] cel_iat = bits, U32, 880, [31:31] wheelSlipRatioLeftRightFRONT = scalar, F32, 884, "", 1, 0 wheelSlipRatioLeftRightREAR = scalar, F32, 888, "", 1, 0 wheelSlipRatioLeftRightREF = scalar, F32, 892, "", 1, 0 wheelSlipRatioFrontRear = scalar, F32, 896, "", 1, 0 canBoxTracTrim = scalar, S08, 900, "%", 1, 0 actualLastInjSTG2PreSmallPw = scalar, U16, 902, "ms", 0.0033333333333333335, 0 canButtons18 = scalar, U08, 904, "", 1, 0 canButtons916 = scalar, U08, 905, "", 1, 0 afrError = scalar, U16, 906, "%", 0.005, 0 canButtonToggle1 = bits, U32, 908, [0:0] canButtonToggle2 = bits, U32, 908, [1:1] canButtonToggle3 = bits, U32, 908, [2:2] canButtonToggle4 = bits, U32, 908, [3:3] canButtonToggle5 = bits, U32, 908, [4:4] canButtonToggle6 = bits, U32, 908, [5:5] canButtonToggle7 = bits, U32, 908, [6:6] canButtonToggle8 = bits, U32, 908, [7:7] inj1ok = bits, U32, 908, [8:8] inj2ok = bits, U32, 908, [9:9] inj3ok = bits, U32, 908, [10:10] inj4ok = bits, U32, 908, [11:11] inj5ok = bits, U32, 908, [12:12] inj6ok = bits, U32, 908, [13:13] inj7ok = bits, U32, 908, [14:14] inj8ok = bits, U32, 908, [15:15] inj9ok = bits, U32, 908, [16:16] inj10ok = bits, U32, 908, [17:17] inj11ok = bits, U32, 908, [18:18] inj12ok = bits, U32, 908, [19:19] epic_hall_inp9 = bits, U32, 908, [20:20] epic_hall_inp10 = bits, U32, 908, [21:21] isMafValid = bits, U32, 908, [22:22] canButtonToggle9 = bits, U32, 908, [23:23] epic_dinp1 = bits, U32, 908, [24:24] epic_dinp2 = bits, U32, 908, [25:25] epic_dinp3 = bits, U32, 908, [26:26] epic_dinp4 = bits, U32, 908, [27:27] epic_dinp5 = bits, U32, 908, [28:28] epic_dinp6 = bits, U32, 908, [29:29] epic_dinp7 = bits, U32, 908, [30:30] epic_dinp8 = bits, U32, 908, [31:31] epic_hall_inps18 = scalar, U08, 912, "", 1, 0 epic_hall_inps916 = scalar, U08, 913, "", 1, 0 epic_dinps18 = scalar, U08, 914, "", 1, 0 SparkLatencyCorrection = scalar, U08, 915, "", 0.1, 0 epic_hall_inp1 = bits, U32, 916, [0:0] epic_hall_inp2 = bits, U32, 916, [1:1] epic_hall_inp3 = bits, U32, 916, [2:2] epic_hall_inp4 = bits, U32, 916, [3:3] epic_hall_inp5 = bits, U32, 916, [4:4] epic_hall_inp6 = bits, U32, 916, [5:5] epic_hall_inp7 = bits, U32, 916, [6:6] epic_hall_inp8 = bits, U32, 916, [7:7] wheelspeedFLerror = bits, U32, 916, [8:8] wheelspeedFRerror = bits, U32, 916, [9:9] wheelspeedRLerror = bits, U32, 916, [10:10] wheelspeedRRerror = bits, U32, 916, [11:11] wheelspeedFrontAvgError = bits, U32, 916, [12:12] wheelspeedRearAvgError = bits, U32, 916, [13:13] wheelspeedAvgError = bits, U32, 916, [14:14] tracDisabled = bits, U32, 916, [15:15] stage1InjSmallPwActive = bits, U32, 916, [16:16] stage2InjSmallPwActive = bits, U32, 916, [17:17] isMafAveraging = bits, U32, 916, [18:18] cel_afr = bits, U32, 916, [19:19] cel_clt = bits, U32, 916, [20:20] can_blend_ve_1_toggle = bits, U32, 916, [21:21] can_blend_ve_2_toggle = bits, U32, 916, [22:22] can_blend_ign_1_toggle = bits, U32, 916, [23:23] can_blend_ign_2_toggle = bits, U32, 916, [24:24] can_blend_afr_1_toggle = bits, U32, 916, [25:25] can_blend_clboost_1_toggle = bits, U32, 916, [26:26] can_blend_olboost_1_toggle = bits, U32, 916, [27:27] canButtonToggle10 = bits, U32, 916, [28:28] canButtonToggle11 = bits, U32, 916, [29:29] canButtonToggle12 = bits, U32, 916, [30:30] canButtonToggle13 = bits, U32, 916, [31:31] baroHasPressure = scalar, U08, 920, "", 1, 0 baroHasNoPressure = scalar, U08, 921, "", 1, 0 baroHasError = scalar, U08, 922, "", 1, 0 dtTuneCurCycle = scalar, U08, 923, "", 1, 0 dtTuneInjModeOverride = scalar, U08, 924, "", 1, 0 baroCounts = scalar, U32, 928, "", 1, 0 mafmapBlendPercentage = scalar, U16, 932, "%", 0.005, 0 mafmapAirmassSplit = scalar, U16, 934, "%", 0.005, 0 runningAirmass = scalar, F32, 936, "", 1, 0 tunedMassAirflow = scalar, F32, 940, "", 1, 0 dwellAccuracyRatio = scalar, U16, 944, "ratio", 0.001, 0 mafPerCylinder1 = scalar, U16, 946, "kg/h", 0.005, 0 mafPerCylinder2 = scalar, U16, 948, "kg/h", 0.005, 0 mafPerCylinder3 = scalar, U16, 950, "kg/h", 0.005, 0 mafPerCylinder4 = scalar, U16, 952, "kg/h", 0.005, 0 mafPerCylinder5 = scalar, U16, 954, "kg/h", 0.005, 0 mafPerCylinder6 = scalar, U16, 956, "kg/h", 0.005, 0 mafPerCylinder7 = scalar, U16, 958, "kg/h", 0.005, 0 mafPerCylinder8 = scalar, U16, 960, "kg/h", 0.005, 0 rawMCP3208_v_temp16 = scalar, F32, 964, "", 1, 0 rawMCP3208_v_temp17 = scalar, F32, 968, "", 1, 0 rawMCP3208_v_an18 = scalar, F32, 972, "", 1, 0 rawMCP3208_v_an19 = scalar, F32, 976, "", 1, 0 rawMCP3208_v_an20 = scalar, F32, 980, "", 1, 0 rawMCP3208_v_an21 = scalar, F32, 984, "", 1, 0 rawMCP3208_v_an22 = scalar, F32, 988, "", 1, 0 rawMCP3208_v_an23 = scalar, F32, 992, "", 1, 0 rawMCP3208_v_an24 = scalar, F32, 996, "", 1, 0 rawMCP3208_v_an25 = scalar, F32, 1000, "", 1, 0 rawMCP3208_v_an26 = scalar, F32, 1004, "", 1, 0 rawMCP3208_v_an27 = scalar, F32, 1008, "", 1, 0 rawMCP3208_v_an28 = scalar, F32, 1012, "", 1, 0 rawMCP3208_v_an29 = scalar, F32, 1016, "", 1, 0 rawMCP3208_v_an30 = scalar, F32, 1020, "", 1, 0 rawMCP3208_v_an31 = scalar, F32, 1024, "", 1, 0 rawMCP3208_v_an32 = scalar, F32, 1028, "", 1, 0 rawMCP3208_v_an33 = scalar, F32, 1032, "", 1, 0 rawMCP3208_v_an34 = scalar, F32, 1036, "", 1, 0 rawMCP3208_v_an35 = scalar, F32, 1040, "", 1, 0 rawMCP3208_v_an36 = scalar, F32, 1044, "", 1, 0 rawMCP3208_v_an37 = scalar, F32, 1048, "", 1, 0 rawMCP3208_v_an38 = scalar, F32, 1052, "", 1, 0 rawMCP3208_v_an39 = scalar, F32, 1056, "", 1, 0 pOut1 = scalar, U08, 1060, "", 1, 0 pOut2 = scalar, U08, 1061, "", 1, 0 pOut3 = scalar, U08, 1062, "", 1, 0 pOut4 = scalar, U08, 1063, "", 1, 0 pOut5 = scalar, U08, 1064, "", 1, 0 pOut6 = scalar, U08, 1065, "", 1, 0 pOut7 = scalar, U08, 1066, "", 1, 0 pOut8 = scalar, U08, 1067, "", 1, 0 pOut9 = scalar, U08, 1068, "", 1, 0 pOut10 = scalar, U08, 1069, "", 1, 0 pOut11 = scalar, U08, 1070, "", 1, 0 pOut12 = scalar, U08, 1071, "", 1, 0 pOut13 = scalar, U08, 1072, "", 1, 0 pOut14 = scalar, U08, 1073, "", 1, 0 pOut15 = scalar, U08, 1074, "", 1, 0 pOut16 = scalar, U08, 1075, "", 1, 0 pOut17 = scalar, U08, 1076, "", 1, 0 pOut18 = scalar, U08, 1077, "", 1, 0 pOut19 = scalar, U08, 1078, "", 1, 0 pOut20 = scalar, U08, 1079, "", 1, 0 pOut21 = scalar, U08, 1080, "", 1, 0 pOut22 = scalar, U08, 1081, "", 1, 0 pOut23 = scalar, U08, 1082, "", 1, 0 pOut24 = scalar, U08, 1083, "", 1, 0 pOut25 = scalar, U08, 1084, "", 1, 0 pOut26 = scalar, U08, 1085, "", 1, 0 pOut27 = scalar, U08, 1086, "", 1, 0 pOut28 = scalar, U08, 1087, "", 1, 0 pOut29 = scalar, U08, 1088, "", 1, 0 pOut30 = scalar, U08, 1089, "", 1, 0 pOut31 = scalar, U08, 1090, "", 1, 0 pOut32 = scalar, U08, 1091, "", 1, 0 MAPPREValue = scalar, U16, 1092, "kPa", 0.01, 0 rawMapPre = scalar, U16, 1094, "V", 8.333333333333333E-5, 0 instantMAPPREValue = scalar, U16, 1096, "kPa", 0.01, 0 mapPreFast = scalar, F32, 1100, "", 1, 0 mapPrePerCylinder1 = scalar, U16, 1104, "kPa", 0.003076923076923077, 0 mapPrePerCylinder2 = scalar, U16, 1106, "kPa", 0.003076923076923077, 0 mapPrePerCylinder3 = scalar, U16, 1108, "kPa", 0.003076923076923077, 0 mapPrePerCylinder4 = scalar, U16, 1110, "kPa", 0.003076923076923077, 0 mapPrePerCylinder5 = scalar, U16, 1112, "kPa", 0.003076923076923077, 0 mapPrePerCylinder6 = scalar, U16, 1114, "kPa", 0.003076923076923077, 0 mapPrePerCylinder7 = scalar, U16, 1116, "kPa", 0.003076923076923077, 0 mapPrePerCylinder8 = scalar, U16, 1118, "kPa", 0.003076923076923077, 0 tmf_cd = scalar, F32, 1120, "", 1, 0 tmf_deltap = scalar, F32, 1124, "", 1, 0 tmf_pratio = scalar, F32, 1128, "", 1, 0 tmf_airflow = scalar, F32, 1132, "", 1, 0 tmf_sd_tmf_airmass_split = scalar, F32, 1136, "", 1, 0 tmf_sd_engineload_split = scalar, F32, 1140, "", 1, 0 tmf_engineload = scalar, F32, 1144, "", 1, 0 tmf_maxairflow = scalar, F32, 1148, "", 1, 0 tmf_tbarea = scalar, F32, 1152, "", 1, 0 tmf_rho = scalar, F32, 1156, "", 1, 0 tmf_tmfarea = scalar, F32, 1160, "", 1, 0 tmf_maf_tmf_airmass_split = scalar, F32, 1164, "", 1, 0 tmf_maf_engineload_split = scalar, F32, 1168, "", 1, 0 storedInitialBaroPressure = scalar, F32, 1172, "", 1, 0 maf_airflow = scalar, F32, 1176, "", 1, 0 maf_airmass = scalar, F32, 1180, "", 1, 0 sd_airflow = scalar, F32, 1184, "", 1, 0 fuelAlgorithm = scalar, U08, 1188, "", 1, 0 RealLambdaValue1 = scalar, U16, 1190, "", 1.0E-4, 0 RealLambdaValue2 = scalar, U16, 1192, "", 1.0E-4, 0 rawAfr2 = scalar, U16, 1194, "V", 8.333333333333333E-5, 0 secToMainRelayOff = scalar, U08, 1196, "", 1, 0 unusedAtTheEnd1 = scalar, U08, 1197, "", 1, 0 unusedAtTheEnd2 = scalar, U08, 1198, "", 1, 0 unusedAtTheEnd3 = scalar, U08, 1199, "", 1, 0 unusedAtTheEnd4 = scalar, U08, 1200, "", 1, 0 unusedAtTheEnd5 = scalar, U08, 1201, "", 1, 0 unusedAtTheEnd6 = scalar, U08, 1202, "", 1, 0 ignitions1 = scalar, S16, 1204, "", 1, 0 ignitions2 = scalar, S16, 1206, "", 1, 0 ignitions3 = scalar, S16, 1208, "", 1, 0 ignitions4 = scalar, S16, 1210, "", 1, 0 ignitions5 = scalar, S16, 1212, "", 1, 0 ignitions6 = scalar, S16, 1214, "", 1, 0 ignitions7 = scalar, S16, 1216, "", 1, 0 ignitions8 = scalar, S16, 1218, "", 1, 0 injections1 = scalar, S16, 1220, "", 1, 0 injections2 = scalar, S16, 1222, "", 1, 0 injections3 = scalar, S16, 1224, "", 1, 0 injections4 = scalar, S16, 1226, "", 1, 0 injections5 = scalar, S16, 1228, "", 1, 0 injections6 = scalar, S16, 1230, "", 1, 0 injections7 = scalar, S16, 1232, "", 1, 0 injections8 = scalar, S16, 1234, "", 1, 0 usbBytesOut = scalar, U32, 1236, "", 1, 0 usbBytesIn = scalar, U32, 1240, "", 1, 0 usbBytesOutPerSec = scalar, U32, 1244, "", 1, 0 usbBytesInPerSec = scalar, U32, 1248, "", 1, 0 rawVss = scalar, U16, 1252, "", 1, 0 boostOpenLoopYAxisValue = scalar, F32, 1256, "", 1, 0 boostClosedLoopYAxisValue = scalar, F32, 1260, "", 1, 0 spooledLevel = scalar, U16, 1264, "", 0.1, 0 predTimerResetCnt = scalar, U08, 1266, "", 1, 0 aeEngageCnt = scalar, U08, 1267, "", 1, 0 mapPredEventOver = scalar, U08, 1268, "", 1, 0 etbResetCnt = scalar, U08, 1269, "", 1, 0 est_temp_charge_k = scalar, F32, 1272, "", 1, 0 est_temp_charge_c = scalar, F32, 1276, "", 1, 0 getAirmassImpl_temp_c = scalar, F32, 1280, "", 1, 0 can_var_get_counter = scalar, U08, 1284, "", 1, 0 can_call_counter = scalar, U08, 1285, "", 1, 0 can_call_counter_dlc_ok = scalar, U08, 1286, "", 1, 0 can_call_last_arg = scalar, F32, 1288, "", 1, 0 can_call_last_func_id = scalar, U16, 1292, "", 1, 0 can_call_last_src_id = scalar, U08, 1294, "", 1, 0 can_call_last_ret = scalar, F32, 1296, "", 1, 0 can_call_last_ok = scalar, U08, 1300, "", 1, 0 can_call_found_func = scalar, U16, 1302, "", 1, 0 ltft_live_burn_count = scalar, U16, 1304, "", 1, 0 phaseGuessAttemptCount = scalar, U08, 1306, "", 1, 0 totalPhaseGuessAttempts = scalar, U08, 1307, "", 1, 0 hondaK_len = scalar, U08, 1308, "", 1, 0 hondaK_buf1 = scalar, U08, 1309, "", 1, 0 hondaK_buf2 = scalar, U08, 1310, "", 1, 0 hondaK_buf3 = scalar, U08, 1311, "", 1, 0 hondaK_buf4 = scalar, U08, 1312, "", 1, 0 hondaK_buf5 = scalar, U08, 1313, "", 1, 0 hondaK_buf6 = scalar, U08, 1314, "", 1, 0 hondaK_buf7 = scalar, U08, 1315, "", 1, 0 hondaK_buf8 = scalar, U08, 1316, "", 1, 0 hondaK_buf9 = scalar, U08, 1317, "", 1, 0 hondaK_buf10 = scalar, U08, 1318, "", 1, 0 hondaK_buf11 = scalar, U08, 1319, "", 1, 0 hondaK_buf12 = scalar, U08, 1320, "", 1, 0 hondaK_buf13 = scalar, U08, 1321, "", 1, 0 hondaK_buf14 = scalar, U08, 1322, "", 1, 0 hondaK_buf15 = scalar, U08, 1323, "", 1, 0 hondaK_buf16 = scalar, U08, 1324, "", 1, 0 hondaK_low = scalar, U08, 1325, "", 1, 0 hondaK_sendcrc = scalar, U08, 1326, "", 1, 0 cel_error_codes_count = scalar, U08, 1327, "", 1, 0 cel_tps = bits, U32, 1328, [0:0] cel_engine_not_running = bits, U32, 1328, [1:1] cel_engine_started = bits, U32, 1328, [2:2] cel_trigger_error = bits, U32, 1328, [3:3] cel_error_codes = bits, U32, 1328, [4:4] cel_oil_temp = bits, U32, 1328, [5:5] cel_oil_pressure = bits, U32, 1328, [6:6] cel_fuel_pressure = bits, U32, 1328, [7:7] cel_maf = bits, U32, 1328, [8:8] cel_any_cut = bits, U32, 1328, [9:9] cel_fuel_pump_prime = bits, U32, 1328, [10:10] cel_iat2 = bits, U32, 1328, [11:11] m_shiftLightFlashState = bits, U32, 1328, [12:12] u_bit791_14 = bits, U32, 1328, [13:13] u_bit791_15 = bits, U32, 1328, [14:14] u_bit791_16 = bits, U32, 1328, [15:15] u_bit791_17 = bits, U32, 1328, [16:16] u_bit791_18 = bits, U32, 1328, [17:17] u_bit791_19 = bits, U32, 1328, [18:18] u_bit791_20 = bits, U32, 1328, [19:19] u_bit791_21 = bits, U32, 1328, [20:20] u_bit791_22 = bits, U32, 1328, [21:21] u_bit791_23 = bits, U32, 1328, [22:22] u_bit791_24 = bits, U32, 1328, [23:23] u_bit791_25 = bits, U32, 1328, [24:24] u_bit791_26 = bits, U32, 1328, [25:25] u_bit791_27 = bits, U32, 1328, [26:26] u_bit791_28 = bits, U32, 1328, [27:27] u_bit791_29 = bits, U32, 1328, [28:28] tps_launch_engaged = bits, U32, 1328, [29:29] cel_shiftlight = bits, U32, 1328, [30:30] u_bit791_32 = bits, U32, 1328, [31:31] MEGA_EPIC_1_A0 = scalar, U16, 1332, "", 1, 0 MEGA_EPIC_1_A1 = scalar, U16, 1334, "", 1, 0 MEGA_EPIC_1_A2 = scalar, U16, 1336, "", 1, 0 MEGA_EPIC_1_A3 = scalar, U16, 1338, "", 1, 0 MEGA_EPIC_1_A4 = scalar, U16, 1340, "", 1, 0 MEGA_EPIC_1_A5 = scalar, U16, 1342, "", 1, 0 MEGA_EPIC_1_A6 = scalar, U16, 1344, "", 1, 0 MEGA_EPIC_1_A7 = scalar, U16, 1346, "", 1, 0 MEGA_EPIC_1_A8 = scalar, U16, 1348, "", 1, 0 MEGA_EPIC_1_A9 = scalar, U16, 1350, "", 1, 0 MEGA_EPIC_1_A10 = scalar, U16, 1352, "", 1, 0 MEGA_EPIC_1_A11 = scalar, U16, 1354, "", 1, 0 MEGA_EPIC_1_A12 = scalar, U16, 1356, "", 1, 0 MEGA_EPIC_1_A13 = scalar, U16, 1358, "", 1, 0 MEGA_EPIC_1_A14 = scalar, U16, 1360, "", 1, 0 MEGA_EPIC_1_A15 = scalar, U16, 1362, "", 1, 0 MEGA_EPIC_1_D22_D37 = scalar, U16, 1364, "", 1, 0 MEGA_EPIC_1_D22 = bits, U32, 1368, [0:0] MEGA_EPIC_1_D23 = bits, U32, 1368, [1:1] MEGA_EPIC_1_D24 = bits, U32, 1368, [2:2] MEGA_EPIC_1_D25 = bits, U32, 1368, [3:3] MEGA_EPIC_1_D26 = bits, U32, 1368, [4:4] MEGA_EPIC_1_D27 = bits, U32, 1368, [5:5] MEGA_EPIC_1_D28 = bits, U32, 1368, [6:6] MEGA_EPIC_1_D29 = bits, U32, 1368, [7:7] MEGA_EPIC_1_D30 = bits, U32, 1368, [8:8] MEGA_EPIC_1_D31 = bits, U32, 1368, [9:9] MEGA_EPIC_1_D32 = bits, U32, 1368, [10:10] MEGA_EPIC_1_D33 = bits, U32, 1368, [11:11] MEGA_EPIC_1_D34 = bits, U32, 1368, [12:12] MEGA_EPIC_1_D35 = bits, U32, 1368, [13:13] MEGA_EPIC_1_D36 = bits, U32, 1368, [14:14] MEGA_EPIC_1_D37 = bits, U32, 1368, [15:15] CAN_CHECKED_D0 = bits, U32, 1368, [16:16] CAN_CHECKED_D1 = bits, U32, 1368, [17:17] CAN_CHECKED_D2 = bits, U32, 1368, [18:18] CAN_CHECKED_D3 = bits, U32, 1368, [19:19] CAN_CHECKED_D4 = bits, U32, 1368, [20:20] CAN_CHECKED_D5 = bits, U32, 1368, [21:21] CAN_CHECKED_D6 = bits, U32, 1368, [22:22] CAN_CHECKED_D7 = bits, U32, 1368, [23:23] u_bit_864_1 = bits, U32, 1368, [24:24] u_bit_864_2 = bits, U32, 1368, [25:25] u_bit_864_3 = bits, U32, 1368, [26:26] u_bit_864_4 = bits, U32, 1368, [27:27] u_bit_864_5 = bits, U32, 1368, [28:28] u_bit_864_6 = bits, U32, 1368, [29:29] u_bit_864_7 = bits, U32, 1368, [30:30] u_negative879 = bits, U32, 1368, [31:31] CAN_CHECKED_D0_D7 = scalar, U08, 1372, "", 1, 0 CAN_CHECKED_A0 = scalar, U16, 1374, "", 1, 0 CAN_CHECKED_A1 = scalar, U16, 1376, "", 1, 0 CAN_CHECKED_A2 = scalar, U16, 1378, "", 1, 0 CAN_CHECKED_A3 = scalar, U16, 1380, "", 1, 0 CAN_CHECKED_A4 = scalar, U16, 1382, "", 1, 0 CAN_CHECKED_A5 = scalar, U16, 1384, "", 1, 0 CAN_CHECKED_A6 = scalar, U16, 1386, "", 1, 0 CAN_CHECKED_A7 = scalar, U16, 1388, "", 1, 0 CAN_CHECKED_A8 = scalar, U16, 1390, "", 1, 0 lastCanFrameId = scalar, U16, 1392, "", 1, 0 lastCanFrameData0 = scalar, U08, 1394, "", 1, 0 lastCanFrameData1 = scalar, U08, 1395, "", 1, 0 lastCanFrameData2 = scalar, U08, 1396, "", 1, 0 lastCanFrameData3 = scalar, U08, 1397, "", 1, 0 lastCanFrameData4 = scalar, U08, 1398, "", 1, 0 lastCanFrameData5 = scalar, U08, 1399, "", 1, 0 lastCanFrameData6 = scalar, U08, 1400, "", 1, 0 lastCanFrameData7 = scalar, U08, 1401, "", 1, 0 lastCanFrameDlc = scalar, U08, 1402, "", 1, 0 lastCanMatchedRow = scalar, U08, 1403, "", 1, 0 lastCanMatchedKeycode = scalar, U16, 1404, "", 1, 0 lastCanMatchedFunctionId = scalar, U16, 1406, "", 1, 0 canMatches = scalar, U08, 1408, "", 1, 0 zeroValue = scalar, U08, 1409, "", 1, 0 presyncfuelcnt1 = scalar, U08, 1410, "", 1, 0 presyncfuelcnt2 = scalar, U08, 1411, "", 1, 0 presyncfuelcnt3 = scalar, U08, 1412, "", 1, 0 aeInstantPulsePw = scalar, U16, 1414, "ms", 0.0033333333333333335, 0 aeInstantPulseCnt = scalar, U08, 1416, "", 1, 0 CANBUS_KB_1_D0 = bits, U32, 1420, [0:0] CANBUS_KB_1_D1 = bits, U32, 1420, [1:1] CANBUS_KB_1_D2 = bits, U32, 1420, [2:2] CANBUS_KB_1_D3 = bits, U32, 1420, [3:3] CANBUS_KB_1_D4 = bits, U32, 1420, [4:4] CANBUS_KB_1_D5 = bits, U32, 1420, [5:5] CANBUS_KB_1_D6 = bits, U32, 1420, [6:6] CANBUS_KB_1_D7 = bits, U32, 1420, [7:7] CANBUS_KB_1_D8 = bits, U32, 1420, [8:8] CANBUS_KB_1_D9 = bits, U32, 1420, [9:9] CANBUS_KB_1_D10 = bits, U32, 1420, [10:10] CANBUS_KB_1_D11 = bits, U32, 1420, [11:11] CANBUS_KB_1_D12 = bits, U32, 1420, [12:12] CANBUS_KB_1_D13 = bits, U32, 1420, [13:13] CANBUS_KB_1_D14 = bits, U32, 1420, [14:14] CANBUS_KB_1_D15 = bits, U32, 1420, [15:15] u_o_c_0 = bits, U32, 1420, [16:16] u_o_c_1 = bits, U32, 1420, [17:17] u_o_c_2 = bits, U32, 1420, [18:18] u_o_c_3 = bits, U32, 1420, [19:19] u_o_c_4 = bits, U32, 1420, [20:20] u_o_c_5 = bits, U32, 1420, [21:21] u_o_c_6 = bits, U32, 1420, [22:22] u_o_c_7 = bits, U32, 1420, [23:23] u_o_c_8 = bits, U32, 1420, [24:24] u_o_c_9 = bits, U32, 1420, [25:25] u_o_c_10 = bits, U32, 1420, [26:26] u_o_c_11 = bits, U32, 1420, [27:27] u_o_c_12 = bits, U32, 1420, [28:28] u_o_c_13 = bits, U32, 1420, [29:29] u_o_c_14 = bits, U32, 1420, [30:30] u_o_c_15 = bits, U32, 1420, [31:31] CANBUS_KB_1_D0_D15 = scalar, U16, 1424, "", 1, 0 canVSSFrontLeft = scalar, F32, 1428, "", 1, 0 canVSSFrontRight = scalar, F32, 1432, "", 1, 0 canVSSRearLeft = scalar, F32, 1436, "", 1, 0 canVSSRearRight = scalar, F32, 1440, "", 1, 0 onTriggerError = scalar, U08, 1444, "", 1, 0 triggerDecoderBaseResetState = scalar, U08, 1445, "", 1, 0 MEGA_EPIC_1_OUT_SLOW = scalar, U32, 1448, "", 1, 0 MEGA_EPIC_1_SLOW_D39 = bits, U32, 1452, [0:0] MEGA_EPIC_1_SLOW_D40 = bits, U32, 1452, [1:1] MEGA_EPIC_1_SLOW_D41 = bits, U32, 1452, [2:2] MEGA_EPIC_1_SLOW_D42 = bits, U32, 1452, [3:3] MEGA_EPIC_1_SLOW_D43 = bits, U32, 1452, [4:4] MEGA_EPIC_1_SLOW_D47 = bits, U32, 1452, [5:5] MEGA_EPIC_1_SLOW_D48 = bits, U32, 1452, [6:6] MEGA_EPIC_1_SLOW_D49 = bits, U32, 1452, [7:7] MEGA_EPIC_1_PWM_T3_D3 = bits, U32, 1452, [8:8] MEGA_EPIC_1_PWM_T3_D5 = bits, U32, 1452, [9:9] MEGA_EPIC_1_PWM_T4_D6 = bits, U32, 1452, [10:10] MEGA_EPIC_1_PWM_T4_D7 = bits, U32, 1452, [11:11] MEGA_EPIC_1_PWM_T4_D8 = bits, U32, 1452, [12:12] MEGA_EPIC_1_PWM_T1_D11 = bits, U32, 1452, [13:13] MEGA_EPIC_1_PWM_T1_D12 = bits, U32, 1452, [14:14] MEGA_EPIC_1_PWM_T5_D44 = bits, U32, 1452, [15:15] MEGA_EPIC_1_PWM_T5_D45 = bits, U32, 1452, [16:16] MEGA_EPIC_1_PWM_T5_D46 = bits, U32, 1452, [17:17] rot_idle_engaged = bits, U32, 1452, [18:18] u_me_1_o_c_19 = bits, U32, 1452, [19:19] u_me_1_o_c_20 = bits, U32, 1452, [20:20] u_me_1_o_c_21 = bits, U32, 1452, [21:21] u_me_1_o_c_22 = bits, U32, 1452, [22:22] u_me_1_o_c_23 = bits, U32, 1452, [23:23] u_me_1_o_c_24 = bits, U32, 1452, [24:24] u_me_1_o_c_25 = bits, U32, 1452, [25:25] u_me_1_o_c_26 = bits, U32, 1452, [26:26] u_me_1_o_c_27 = bits, U32, 1452, [27:27] u_me_1_o_c_28 = bits, U32, 1452, [28:28] u_me_1_o_c_29 = bits, U32, 1452, [29:29] mega_epic_slow_changed = bits, U32, 1452, [30:30] u_me_1_o_c_31 = bits, U32, 1452, [31:31] gps_hmsd_packed = scalar, U32, 1456, "", 1, 0 gps_myqsat_packed = scalar, U32, 1460, "", 1, 0 gps_hours = scalar, U08, 1464, "", 1, 0 gps_minutes = scalar, U08, 1465, "", 1, 0 gps_seconds = scalar, U08, 1466, "", 1, 0 gps_days = scalar, U08, 1467, "", 1, 0 gps_months = scalar, U08, 1468, "", 1, 0 gps_years = scalar, U08, 1469, "", 1, 0 gps_quality = scalar, U08, 1470, "", 1, 0 gps_satellites = scalar, U08, 1471, "", 1, 0 gps_accuracy = scalar, F32, 1472, "", 1, 0 gps_altitude = scalar, F32, 1476, "", 1, 0 gps_latitude = scalar, F32, 1480, "", 1, 0 gps_longitude = scalar, F32, 1484, "", 1, 0 gps_speed = scalar, F32, 1488, "", 1, 0 gps_course = scalar, F32, 1492, "", 1, 0 canRxPacketsPerSec = scalar, U16, 1496, "", 1, 0 canTxPacketsPerSec = scalar, U16, 1498, "", 1, 0 rot_idle_acc1 = scalar, U08, 1500, "", 1, 0 rot_idle_acc2 = scalar, U08, 1501, "", 1, 0 rot_idle_acc3 = scalar, U08, 1502, "", 1, 0 ; total TS size = 1504 totalFuelCorrection = scalar, F32, 1504, "mult", 1,0 running_postCrankingFuelCorrection = scalar, F32, 1508, "", 1, 0 running_intakeTemperatureCoefficient = scalar, F32, 1512, "", 1, 0 running_coolantTemperatureCoefficient = scalar, F32, 1516, "", 1, 0 running_timeSinceCrankingInSecs = scalar, F32, 1520, "secs", 1,0 running_baseFuel = scalar, U16, 1524, "mg", 0.01, 0 running_fuel = scalar, U16, 1526, "mg", 0.01, 0 afrTableYAxis = scalar, U16, 1528, "%", 0.01,0 targetLambda = scalar, U16, 1530, "", 1.0E-4,0 targetAFR = scalar, U16, 1532, "ratio", 0.001,0 stoichiometricRatio = scalar, U16, 1534, "ratio", 0.001, 0 sdTcharge_coff = scalar, F32, 1536, "", 1, 0 sdAirMassInOneCylinder = scalar, F32, 1540, "g", 1, 0 normalizedCylinderFilling = scalar, F32, 1544, "%", 1, 0 brokenInjector = scalar, U08, 1548, "", 1, 0 unused88 = scalar, U08, 1549, "", 1, 0 idealEngineTorque = scalar, U16, 1550, "", 1, 0 injectorHwIssue = bits, U32, 1552, [0:0] ; total TS size = 1556 baseDwell = scalar, F32, 1556, "ms", 1,0 sparkDwell = scalar, F32, 1560, "ms", 1,0 dwellDurationAngle = scalar, F32, 1564, "deg", 1,0 cltTimingCorrection = scalar, S16, 1568, "deg", 0.005,0 timingIatCorrection = scalar, S16, 1570, "deg", 0.005,0 timingPidCorrection = scalar, S16, 1572, "deg", 0.005,0 dfcoTimingRetard = scalar, S16, 1574, "deg", 0.005, 0 baseIgnitionAdvance = scalar, S16, 1576, "deg", 0.02, 0 correctedIgnitionAdvance = scalar, S16, 1578, "deg", 0.02, 0 tractionAdvanceDrop = scalar, S16, 1580, "deg", 0.02, 0 dwellVoltageCorrection = scalar, F32, 1584, "", 1, 0 luaTimingAdd = scalar, F32, 1588, "deg", 1, 0 luaTimingMult = scalar, F32, 1592, "deg", 1, 0 luaIgnitionSkip = bits, U32, 1596, [0:0] trailingSparkAngle = scalar, S16, 1600, "deg", 0.005,0 rpmForIgnitionTableDot = scalar, S16, 1602, "", 1, 0 rpmForIgnitionIdleTableDot = scalar, S16, 1604, "", 1, 0 loadForIgnitionTableDot = scalar, F32, 1608, "", 1, 0 ; total TS size = 1612 m_knockLevel = scalar, F32, 1612, "Volts", 1, 0 m_knockCyl1 = scalar, S08, 1616, "dBv", 1, 0 m_knockCyl2 = scalar, S08, 1617, "dBv", 1, 0 m_knockCyl3 = scalar, S08, 1618, "dBv", 1, 0 m_knockCyl4 = scalar, S08, 1619, "dBv", 1, 0 m_knockCyl5 = scalar, S08, 1620, "dBv", 1, 0 m_knockCyl6 = scalar, S08, 1621, "dBv", 1, 0 m_knockCyl7 = scalar, S08, 1622, "dBv", 1, 0 m_knockCyl8 = scalar, S08, 1623, "dBv", 1, 0 m_knockRetard = scalar, F32, 1624, "deg", 1,0 m_knockThreshold = scalar, F32, 1628, "", 1, 0 m_knockCount = scalar, U32, 1632, "", 1, 0 m_maximumRetard = scalar, F32, 1636, "", 1, 0 m_knockSpectrum1 = scalar, U32, 1640, "compressed data", 1, 0 m_knockSpectrum2 = scalar, U32, 1644, "compressed data", 1, 0 m_knockSpectrum3 = scalar, U32, 1648, "compressed data", 1, 0 m_knockSpectrum4 = scalar, U32, 1652, "compressed data", 1, 0 m_knockSpectrum5 = scalar, U32, 1656, "compressed data", 1, 0 m_knockSpectrum6 = scalar, U32, 1660, "compressed data", 1, 0 m_knockSpectrum7 = scalar, U32, 1664, "compressed data", 1, 0 m_knockSpectrum8 = scalar, U32, 1668, "compressed data", 1, 0 m_knockSpectrum9 = scalar, U32, 1672, "compressed data", 1, 0 m_knockSpectrum10 = scalar, U32, 1676, "compressed data", 1, 0 m_knockSpectrum11 = scalar, U32, 1680, "compressed data", 1, 0 m_knockSpectrum12 = scalar, U32, 1684, "compressed data", 1, 0 m_knockSpectrum13 = scalar, U32, 1688, "compressed data", 1, 0 m_knockSpectrum14 = scalar, U32, 1692, "compressed data", 1, 0 m_knockSpectrum15 = scalar, U32, 1696, "compressed data", 1, 0 m_knockSpectrum16 = scalar, U32, 1700, "compressed data", 1, 0 m_knockSpectrumChannelCyl = scalar, U16, 1704, "compressed N + N", 1, 0 m_knockFrequencyStart = scalar, U16, 1706, "Hz", 1, 0 m_knockFrequencyStep = scalar, F32, 1708, "Hz", 1, 0 m_knockFuelTrimMultiplier = scalar, F32, 1712, "multiplier", 1, 0 ; total TS size = 1716 m_isPriming = bits, U32, 1716, [0:0] ; total TS size = 1720 tcu_DesiredGear = scalar, S08, 1720, "gear", 1, 0 tcu_CurrentGear = scalar, S08, 1721, "gear", 1, 0 tcu_tcRatio = scalar, U16, 1722, "value", 0.005, 0 tcu_lastShiftTime = scalar, F32, 1724, "", 1, 0 tcu_currentRange = scalar, U08, 1728, "", 1, 0 tcu_pressureControlDuty = scalar, S08, 1729, "%", 1,0 tcu_torqueConverterDuty = scalar, S08, 1730, "%", 1,0 tcu_shiftingFrom = scalar, S08, 1731, "", 1, 0 tcu_shiftingTo = scalar, S08, 1732, "", 1, 0 m_shiftTimeGear = scalar, S08, 1733, "", 1, 0 tcu_init = bits, U32, 1736, [0:0] tcu_isShifting = bits, U32, 1736, [1:1] m_shiftTime = bits, U32, 1736, [2:2] tcu_shift_skip_gear = bits, U32, 1736, [3:3] ; total TS size = 1740 throttleUseWotModel = bits, U32, 1740, [0:0] throttleModelCrossoverAngle = scalar, S16, 1744, "%", 0.01, 0 throttleEstimatedFlow = scalar, F32, 1748, "g/s", 1, 0 ; total TS size = 1752 m_requested_pump = scalar, F32, 1752, "", 1, 0 fuel_requested_percent = scalar, F32, 1756, "%", 1, 0 fuel_requested_percent_pi = scalar, F32, 1760, "", 1, 0 noValve = bits, U32, 1764, [0:0] angleAboveMin = bits, U32, 1764, [1:1] isHpfpActive = bits, U32, 1764, [2:2] HpfpValveState = bits, U32, 1764, [3:3] m_pressureTarget_kPa = scalar, F32, 1768, "", 1, 0 hpfp_p_control_percent = scalar, F32, 1772, "", 1, 0 hpfp_i_control_percent = scalar, F32, 1776, "", 1, 0 nextLobe = scalar, F32, 1780, "", 1, 0 di_nextStart = scalar, F32, 1784, "v", 1, 0 HpfdActivationPhase = scalar, F32, 1788, "", 1, 0 HpfdDeactivationPhase = scalar, F32, 1792, "", 1, 0 ; total TS size = 1796 m_deadtime = scalar, F32, 1796, "ms", 1, 0 pressureDelta = scalar, F32, 1800, "kPa", 1, 0 pressureRatio = scalar, F32, 1804, "", 1, 0 pressureCorrectionReference = scalar, F32, 1808, "kPa", 1, 0 ; total TS size = 1812 retardThresholdRpm = scalar, S32, 1812, "", 1, 0 launchActivatePinState = bits, U32, 1816, [0:0] launchActivatePinRpmLockState = bits, U32, 1816, [1:1] isPreLaunchCondition = bits, U32, 1816, [2:2] isLaunchCondition = bits, U32, 1816, [3:3] isSwitchActivated = bits, U32, 1816, [4:4] isClutchActivated = bits, U32, 1816, [5:5] isBrakePedalActivated = bits, U32, 1816, [6:6] isValidInputPin = bits, U32, 1816, [7:7] isTpsActivated = bits, U32, 1816, [8:8] activateSwitchCondition = bits, U32, 1816, [9:9] rpmLaunchCondition = bits, U32, 1816, [10:10] rpmPreLaunchCondition = bits, U32, 1816, [11:11] speedCondition = bits, U32, 1816, [12:12] tpsCondition = bits, U32, 1816, [13:13] luaLaunchState = bits, U32, 1816, [14:14] isRpmLaunchLocked = bits, U32, 1816, [15:15] rpmLaunchLockedRpm = scalar, U16, 1820, "", 1, 0 m_launchCorrectionsEndRpm = scalar, U16, 1822, "", 1, 0 launchSparkSkipRatio = scalar, F32, 1824, "", 1, 0 ; total TS size = 1828 isTorqueReductionTriggerPinValid = bits, U32, 1828, [0:0] torqueReductionTriggerPinState = bits, U32, 1828, [1:1] isTimeConditionSatisfied = bits, U32, 1828, [2:2] isRpmConditionSatisfied = bits, U32, 1828, [3:3] isAppConditionSatisfied = bits, U32, 1828, [4:4] isFlatShiftConditionSatisfied = bits, U32, 1828, [5:5] isBelowTemperatureThreshold = bits, U32, 1828, [6:6] trqRedCutXaxisValue = scalar, S16, 1832, "", 1, 0 trqRedTimeXaxisValue = scalar, S16, 1834, "", 1, 0 trqRedIgnRetXaxisValue = scalar, S16, 1836, "", 1, 0 ; total TS size = 1840 isAntilagCondition = bits, U32, 1840, [0:0] ALSMinRPMCondition = bits, U32, 1840, [1:1] ALSMaxRPMCondition = bits, U32, 1840, [2:2] ALSMinCLTCondition = bits, U32, 1840, [3:3] ALSMaxCLTCondition = bits, U32, 1840, [4:4] ALSMaxThrottleIntentCondition = bits, U32, 1840, [5:5] ALSMinThrottleIntentCondition = bits, U32, 1840, [6:6] isALSSwitchActivated = bits, U32, 1840, [7:7] ALSActivatePinState = bits, U32, 1840, [8:8] ALSSwitchCondition = bits, U32, 1840, [9:9] ALSTimerCondition = bits, U32, 1840, [10:10] ALSMinMapCondition = bits, U32, 1840, [11:11] ALSMaxMapCondition = bits, U32, 1840, [12:12] luaAntilagState = bits, U32, 1840, [13:13] ALSTimedOut = bits, U32, 1840, [14:14] ALSLatchActive = bits, U32, 1840, [15:15] ALSTimeoutStartCondition = bits, U32, 1840, [16:16] ALSInstantEndCondition = bits, U32, 1840, [17:17] ALSStartCondition = bits, U32, 1840, [18:18] fuelALSCorrection = scalar, F32, 1844, "", 1, 0 ALSTimeRemaining = scalar, F32, 1848, "", 1, 0 timingALSCorrection = scalar, S16, 1852, "deg", 0.005, 0 timingALSSkip = scalar, S16, 1854, "deg", 0.005, 0 ; total TS size = 1856 isTpsInvalid = bits, U32, 1856, [0:0] m_shouldResetPid = bits, U32, 1856, [1:1] isBelowClosedLoopThreshold = bits, U32, 1856, [2:2] isNotClosedLoop = bits, U32, 1856, [3:3] isZeroRpm = bits, U32, 1856, [4:4] hasInitBoost = bits, U32, 1856, [5:5] rpmTooLow = bits, U32, 1856, [6:6] tpsTooLow = bits, U32, 1856, [7:7] mapTooLow = bits, U32, 1856, [8:8] isPlantValid = bits, U32, 1856, [9:9] isBoostControlled = bits, U32, 1856, [10:10] luaTargetAdd = scalar, S16, 1860, "percent", 0.5,0 luaTargetMult = scalar, F32, 1864, "", 1,0 boostControlTarget = scalar, S16, 1868, "kPa", 0.03333333333333333,0 openLoopPart = scalar, F32, 1872, "percent", 1,0 luaOpenLoopAdd = scalar, F32, 1876, "percent", 1,0 boostControllerClosedLoopPart = scalar, S08, 1880, "%", 0.5,0 boostOutput = scalar, S16, 1882, "percent", 0.01,0 lwgDutyPct = scalar, S16, 1884, "percent", 0.01,0 boostCutFeatherRatio = scalar, F32, 1888, "", 1, 0 ; total TS size = 1892 acButtonState = scalar, S08, 1892, "", 1, 0 m_acEnabled = bits, U32, 1896, [0:0] engineTooSlow = bits, U32, 1896, [1:1] engineTooFast = bits, U32, 1896, [2:2] noClt = bits, U32, 1896, [3:3] engineTooHot = bits, U32, 1896, [4:4] tpsTooHigh = bits, U32, 1896, [5:5] isDisabledByLua = bits, U32, 1896, [6:6] acCompressorState = bits, U32, 1896, [7:7] acPressureTooLow = bits, U32, 1896, [8:8] acPressureTooHigh = bits, U32, 1896, [9:9] ; total TS size = 1900 isNitrousArmed = bits, U32, 1900, [0:0] isNitrousSpeedCondition = bits, U32, 1900, [1:1] isNitrousTpsCondition = bits, U32, 1900, [2:2] isNitrousCltCondition = bits, U32, 1900, [3:3] isNitrousMapCondition = bits, U32, 1900, [4:4] isNitrousAfrCondition = bits, U32, 1900, [5:5] isNitrousRpmCondition = bits, U32, 1900, [6:6] isNitrousCondition = bits, U32, 1900, [7:7] ; total TS size = 1904 fan1cranking = bits, U32, 1904, [0:0] fan1notRunning = bits, U32, 1904, [1:1] fan1disabledWhileEngineStopped = bits, U32, 1904, [2:2] fan1brokenClt = bits, U32, 1904, [3:3] fan1enabledForAc = bits, U32, 1904, [4:4] fan1hot = bits, U32, 1904, [5:5] fan1cold = bits, U32, 1904, [6:6] fan1disabledBySpeed = bits, U32, 1904, [7:7] fan1m_state = bits, U32, 1904, [8:8] fan1fan_pwm_started = bits, U32, 1904, [9:9] fan1radiatorFanStatus = scalar, U08, 1908, "", 1, 0 fan1Pwm = scalar, F32, 1912, "", 1, 0 ; total TS size = 1916 fan2cranking = bits, U32, 1916, [0:0] fan2notRunning = bits, U32, 1916, [1:1] fan2disabledWhileEngineStopped = bits, U32, 1916, [2:2] fan2brokenClt = bits, U32, 1916, [3:3] fan2enabledForAc = bits, U32, 1916, [4:4] fan2hot = bits, U32, 1916, [5:5] fan2cold = bits, U32, 1916, [6:6] fan2disabledBySpeed = bits, U32, 1916, [7:7] fan2m_state = bits, U32, 1916, [8:8] fan2fan_pwm_started = bits, U32, 1916, [9:9] fan2radiatorFanStatus = scalar, U08, 1920, "", 1, 0 fan2Pwm = scalar, F32, 1924, "", 1, 0 ; total TS size = 1928 waterPumpcranking = bits, U32, 1928, [0:0] waterPumpnotRunning = bits, U32, 1928, [1:1] waterPumpdisabledWhileEngineStopped = bits, U32, 1928, [2:2] waterPumpbrokenClt = bits, U32, 1928, [3:3] waterPumpenabledForAc = bits, U32, 1928, [4:4] waterPumphot = bits, U32, 1928, [5:5] waterPumpcold = bits, U32, 1928, [6:6] waterPumpdisabledBySpeed = bits, U32, 1928, [7:7] waterPumpm_state = bits, U32, 1928, [8:8] waterPumpfan_pwm_started = bits, U32, 1928, [9:9] waterPumpradiatorFanStatus = scalar, U08, 1932, "", 1, 0 waterPumpPwm = scalar, F32, 1936, "", 1, 0 ; total TS size = 1940 waterPump2cranking = bits, U32, 1940, [0:0] waterPump2notRunning = bits, U32, 1940, [1:1] waterPump2disabledWhileEngineStopped = bits, U32, 1940, [2:2] waterPump2brokenClt = bits, U32, 1940, [3:3] waterPump2enabledForAc = bits, U32, 1940, [4:4] waterPump2hot = bits, U32, 1940, [5:5] waterPump2cold = bits, U32, 1940, [6:6] waterPump2disabledBySpeed = bits, U32, 1940, [7:7] waterPump2m_state = bits, U32, 1940, [8:8] waterPump2fan_pwm_started = bits, U32, 1940, [9:9] waterPump2radiatorFanStatus = scalar, U08, 1944, "", 1, 0 waterPump2Pwm = scalar, F32, 1948, "", 1, 0 ; total TS size = 1952 isPrime = bits, U32, 1952, [0:0] engineTurnedRecently = bits, U32, 1952, [1:1] isFuelPumpOn = bits, U32, 1952, [2:2] ignitionOn = bits, U32, 1952, [3:3] tpsFuelPumpPrime = bits, U32, 1952, [4:4] fuelPumpForceState = bits, U32, 1952, [5:5] ; total TS size = 1956 isBenchTest = bits, U32, 1956, [0:0] hasIgnitionVoltage = bits, U32, 1956, [1:1] mainRelayState = bits, U32, 1956, [2:2] delayedShutoffRequested = bits, U32, 1956, [3:3] ; total TS size = 1960 injectionMass1 = scalar, F32, 1960, "", 1, 0 injectionMass2 = scalar, F32, 1964, "", 1, 0 injectionMass3 = scalar, F32, 1968, "", 1, 0 injectionMass4 = scalar, F32, 1972, "", 1, 0 injectionMass5 = scalar, F32, 1976, "", 1, 0 injectionMass6 = scalar, F32, 1980, "", 1, 0 injectionMass7 = scalar, F32, 1984, "", 1, 0 injectionMass8 = scalar, F32, 1988, "", 1, 0 lua_fuelAdd = scalar, F32, 1992, "g", 1, 0 lua_fuelMult = scalar, F32, 1996, "", 1, 0 lua_clutchUpState = bits, U32, 2000, [0:0] lua_brakePedalState = bits, U32, 2000, [1:1] lua_acRequestState = bits, U32, 2000, [2:2] lua_luaDisableEtb = bits, U32, 2000, [3:3] lua_luaIgnCut = bits, U32, 2000, [4:4] lua_luaFuelCut = bits, U32, 2000, [5:5] lua_clutchDownState = bits, U32, 2000, [6:6] lua_disableDecelerationFuelCutOff = bits, U32, 2000, [7:7] lua_torqueReductionState = bits, U32, 2000, [8:8] sd_tCharge = scalar, S16, 2004, "deg C", 0.01, 0 sd_tChargeK = scalar, F32, 2008, "", 1, 0 crankingFuel_coolantTemperatureCoefficient = scalar, F32, 2012, "", 1, 0 crankingFuel_tpsCoefficient = scalar, F32, 2016, "", 1, 0 crankingFuel_baseFuel = scalar, U16, 2020, "mg", 0.01, 0 crankingFuel_fuel = scalar, U16, 2022, "mg", 0.01, 0 baroCorrection = scalar, F32, 2024, "", 1, 0 hellenBoardId = scalar, S16, 2028, "id", 1, 0 clutchUpState = scalar, S08, 2030, "", 1, 0 brakePedalState = scalar, S08, 2031, "", 1, 0 startStopState = scalar, S08, 2032, "", 1, 0 smartChipState = scalar, S08, 2033, "", 1, 0 smartChipRestartCounter = scalar, S08, 2034, "", 1, 0 smartChipAliveCounter = scalar, S08, 2035, "", 1, 0 startStopPhysicalState = bits, U32, 2036, [0:0] acrActive = bits, U32, 2036, [1:1] acrEngineMovedRecently = bits, U32, 2036, [2:2] heaterControlEnabled = bits, U32, 2036, [3:3] luaDigitalState0 = bits, U32, 2036, [4:4] luaDigitalState1 = bits, U32, 2036, [5:5] luaDigitalState2 = bits, U32, 2036, [6:6] luaDigitalState3 = bits, U32, 2036, [7:7] clutchDownState = bits, U32, 2036, [8:8] startStopStateToggleCounter = scalar, U32, 2040, "", 1, 0 currentVe = scalar, F32, 2044, "", 1, 0 currentMafCorrection = scalar, F32, 2048, "", 1, 0 mafAirChargeLoad = scalar, F32, 2052, "", 1, 0 sdAirmass = scalar, F32, 2056, "", 1, 0 mafAirmass = scalar, F32, 2060, "", 1, 0 tmfAirmass = scalar, F32, 2064, "", 1, 0 sdLoad = scalar, F32, 2068, "", 1, 0 mafLoad = scalar, F32, 2072, "", 1, 0 tmfLoad = scalar, F32, 2076, "", 1, 0 luaSoftSparkSkip = scalar, F32, 2080, "", 1, 0 luaHardSparkSkip = scalar, F32, 2084, "", 1, 0 tractionControlSparkSkip = scalar, F32, 2088, "", 1, 0 fuelInjectionCounter = scalar, U32, 2092, "", 1, 0 globalSparkCounter = scalar, U32, 2096, "", 1, 0 fuelingLoad = scalar, F32, 2100, "", 1, 0 ignitionLoad = scalar, F32, 2104, "", 1, 0 veTableYAxis = scalar, U16, 2108, "%", 0.01, 0 veTableIdleYAxis = scalar, S16, 2110, "", 0.1, 0 overDwellCanceledCounter = scalar, U08, 2112, "", 1, 0 overDwellNotScheduledCounter = scalar, U08, 2113, "", 1, 0 sparkOutOfOrderCounter = scalar, U08, 2114, "", 1, 0 dwellUnderChargeCounter = scalar, U08, 2115, "", 1, 0 dwellOverChargeCounter = scalar, U08, 2116, "", 1, 0 dwellActualRatio = scalar, F32, 2120, "%", 100.0, -1.0 stftCorrection1 = scalar, F32, 2124, "%", 100.0, -1.0 stftCorrection2 = scalar, F32, 2128, "%", 100.0, -1.0 ; total TS size = 2132 tpsFrom = scalar, F32, 2132 tpsTo = scalar, F32, 2136 deltaTps = scalar, F32, 2140 extraFuel = scalar, F32, 2144, "", 1, 0 valueFromTable = scalar, F32, 2148, "", 1, 0 tpsAeCycleMult = scalar, F32, 2152, "", 1, 0 isAboveAccelThreshold = bits, U32, 2156, [0:0] isBelowDecelThreshold = bits, U32, 2156, [1:1] isFractionalEnrichment = bits, U32, 2156, [2:2] belowEpsilon = bits, U32, 2156, [3:3] tooShort = bits, U32, 2156, [4:4] extraShot = bits, U32, 2156, [5:5] m_accelEventJustOccurred = bits, U32, 2156, [6:6] tpsAeCycleCntWait = bits, U32, 2156, [7:7] m_tpsExtraShotTimer = scalar, U08, 2160, "", 1, 0 fractionalInjFuel = scalar, F32, 2164, "", 1, 0 accumulatedValue = scalar, F32, 2168, "", 1, 0 maxExtraPerCycle = scalar, F32, 2172, "", 1, 0 maxExtraPerPeriod = scalar, F32, 2176, "", 1, 0 maxInjectedPerPeriod = scalar, F32, 2180, "", 1, 0 cycleCnt = scalar, S32, 2184, "", 1, 0 wotTps = scalar, F32, 2188 tpsAeCycleCnt = scalar, U08, 2192, "", 1, 0 AccelThreshold = scalar, F32, 2196, "", 1, 0 deltaTpsAverageThreshold = scalar, F32, 2200, "", 1, 0 smoothedDeltaTps = scalar, F32, 2204, "", 1, 0 tpsaeburnskip = scalar, U08, 2208, "", 1, 0 curaeCltCorr = scalar, F32, 2212, "", 1, 0 accelEventTriggeredCnt = scalar, U08, 2216, "", 1, 0 ; total TS size = 2220 hwEventCounters1 = scalar, U16, 2220, "", 1, 0 hwEventCounters2 = scalar, U16, 2222, "", 1, 0 hwEventCounters3 = scalar, U16, 2224, "", 1, 0 hwEventCounters4 = scalar, U16, 2226, "", 1, 0 vvtEventRiseCounter1 = scalar, U16, 2228, "", 1, 0 vvtEventRiseCounter2 = scalar, U16, 2230, "", 1, 0 vvtEventRiseCounter3 = scalar, U16, 2232, "", 1, 0 vvtEventRiseCounter4 = scalar, U16, 2234, "", 1, 0 vvtEventFallCounter1 = scalar, U16, 2236, "", 1, 0 vvtEventFallCounter2 = scalar, U16, 2238, "", 1, 0 vvtEventFallCounter3 = scalar, U16, 2240, "", 1, 0 vvtEventFallCounter4 = scalar, U16, 2242, "", 1, 0 vvtCamCounter = scalar, U16, 2244, "", 1, 0 mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 2248, "kPa", 1, 0 mapVvt_MAP_AT_DIFF = scalar, F32, 2252, "kPa", 1, 0 mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 2256, "distance", 1, 0 mapVvt_sync_counter = scalar, U08, 2257, "counter", 1, 0 mapVvt_min_point_counter = scalar, U08, 2258, "", 1, 0 temp_mapVvt_index = scalar, U32, 2260, "", 1, 0 mapVvt_CycleDelta = scalar, F32, 2264, "", 1, 0 currentEngineDecodedPhase = scalar, F32, 2268, "deg", 1, 0 triggerToothAngleError = scalar, F32, 2272, "deg", 1, 0 triggerIgnoredToothCount = scalar, U08, 2276, "", 1, 0 mapCamPrevToothAngle = scalar, F32, 2280, "deg", 1, 0 isDecodingMapCam = bits, U32, 2284, [0:0] triggerElapsedUs = scalar, U32, 2288, "", 1, 0 ; total TS size = 2292 trgsynchronizationCounter = scalar, U32, 2292, "", 1, 0 trgvvtToothDurations0 = scalar, U32, 2296, "us", 1, 0 trgvvtCurrentPosition = scalar, F32, 2300, "", 1, 0 trgvvtToothPosition1 = scalar, F32, 2304, "", 1, 0 trgvvtToothPosition2 = scalar, F32, 2308, "", 1, 0 trgvvtToothPosition3 = scalar, F32, 2312, "", 1, 0 trgvvtToothPosition4 = scalar, F32, 2316, "", 1, 0 trgtriggerSyncGapRatio = scalar, F32, 2320, "", 1, 0 trgm_preSyncFuelFired = bits, U32, 2324, [0:0] trgm_preSyncFuelNextToothEvent = scalar, U08, 2328, "", 1, 0 trgm_preSyncEventsFired = scalar, U08, 2329, "", 1, 0 trgtriggerStateIndex = scalar, U08, 2330, "", 1, 0 trgtriggerCountersError = scalar, S08, 2331, "", 1, 0 ; total TS size = 2332 vvt1isynchronizationCounter = scalar, U32, 2332, "", 1, 0 vvt1ivvtToothDurations0 = scalar, U32, 2336, "us", 1, 0 vvt1ivvtCurrentPosition = scalar, F32, 2340, "", 1, 0 vvt1ivvtToothPosition1 = scalar, F32, 2344, "", 1, 0 vvt1ivvtToothPosition2 = scalar, F32, 2348, "", 1, 0 vvt1ivvtToothPosition3 = scalar, F32, 2352, "", 1, 0 vvt1ivvtToothPosition4 = scalar, F32, 2356, "", 1, 0 vvt1itriggerSyncGapRatio = scalar, F32, 2360, "", 1, 0 vvt1im_preSyncFuelFired = bits, U32, 2364, [0:0] vvt1im_preSyncFuelNextToothEvent = scalar, U08, 2368, "", 1, 0 vvt1im_preSyncEventsFired = scalar, U08, 2369, "", 1, 0 vvt1itriggerStateIndex = scalar, U08, 2370, "", 1, 0 vvt1itriggerCountersError = scalar, S08, 2371, "", 1, 0 ; total TS size = 2372 vvt1esynchronizationCounter = scalar, U32, 2372, "", 1, 0 vvt1evvtToothDurations0 = scalar, U32, 2376, "us", 1, 0 vvt1evvtCurrentPosition = scalar, F32, 2380, "", 1, 0 vvt1evvtToothPosition1 = scalar, F32, 2384, "", 1, 0 vvt1evvtToothPosition2 = scalar, F32, 2388, "", 1, 0 vvt1evvtToothPosition3 = scalar, F32, 2392, "", 1, 0 vvt1evvtToothPosition4 = scalar, F32, 2396, "", 1, 0 vvt1etriggerSyncGapRatio = scalar, F32, 2400, "", 1, 0 vvt1em_preSyncFuelFired = bits, U32, 2404, [0:0] vvt1em_preSyncFuelNextToothEvent = scalar, U08, 2408, "", 1, 0 vvt1em_preSyncEventsFired = scalar, U08, 2409, "", 1, 0 vvt1etriggerStateIndex = scalar, U08, 2410, "", 1, 0 vvt1etriggerCountersError = scalar, S08, 2411, "", 1, 0 ; total TS size = 2412 vvt2isynchronizationCounter = scalar, U32, 2412, "", 1, 0 vvt2ivvtToothDurations0 = scalar, U32, 2416, "us", 1, 0 vvt2ivvtCurrentPosition = scalar, F32, 2420, "", 1, 0 vvt2ivvtToothPosition1 = scalar, F32, 2424, "", 1, 0 vvt2ivvtToothPosition2 = scalar, F32, 2428, "", 1, 0 vvt2ivvtToothPosition3 = scalar, F32, 2432, "", 1, 0 vvt2ivvtToothPosition4 = scalar, F32, 2436, "", 1, 0 vvt2itriggerSyncGapRatio = scalar, F32, 2440, "", 1, 0 vvt2im_preSyncFuelFired = bits, U32, 2444, [0:0] vvt2im_preSyncFuelNextToothEvent = scalar, U08, 2448, "", 1, 0 vvt2im_preSyncEventsFired = scalar, U08, 2449, "", 1, 0 vvt2itriggerStateIndex = scalar, U08, 2450, "", 1, 0 vvt2itriggerCountersError = scalar, S08, 2451, "", 1, 0 ; total TS size = 2452 vvt2esynchronizationCounter = scalar, U32, 2452, "", 1, 0 vvt2evvtToothDurations0 = scalar, U32, 2456, "us", 1, 0 vvt2evvtCurrentPosition = scalar, F32, 2460, "", 1, 0 vvt2evvtToothPosition1 = scalar, F32, 2464, "", 1, 0 vvt2evvtToothPosition2 = scalar, F32, 2468, "", 1, 0 vvt2evvtToothPosition3 = scalar, F32, 2472, "", 1, 0 vvt2evvtToothPosition4 = scalar, F32, 2476, "", 1, 0 vvt2etriggerSyncGapRatio = scalar, F32, 2480, "", 1, 0 vvt2em_preSyncFuelFired = bits, U32, 2484, [0:0] vvt2em_preSyncFuelNextToothEvent = scalar, U08, 2488, "", 1, 0 vvt2em_preSyncEventsFired = scalar, U08, 2489, "", 1, 0 vvt2etriggerStateIndex = scalar, U08, 2490, "", 1, 0 vvt2etriggerCountersError = scalar, S08, 2491, "", 1, 0 ; total TS size = 2492 camResyncCounter = scalar, U08, 2492, "", 1, 0 m_hasSynchronizedPhase = bits, U32, 2496, [0:0] ; total TS size = 2500 wallFuelCorrection = scalar, F32, 2500, "", 1, 0 wallFuel = scalar, F32, 2504, "", 1, 0 ; total TS size = 2508 isStableIdle = bits, U32, 2508, [0:0] emaError = scalar, F32, 2512, "", 1, 0 ; total TS size = 2516 liveDataExampleField = scalar, F32, 2516, "", 1, 0 ; total TS size = 2520 cc_cruiseState = scalar, U08, 2520, "", 1, 0 cc_disabled = bits, U32, 2524, [0:0] cc_off = bits, U32, 2524, [1:1] cc_armed = bits, U32, 2524, [2:2] cc_engaged = bits, U32, 2524, [3:3] cc_dfcoinhibit = bits, U32, 2524, [4:4] cc_cruiseControlUseVehicleSpeed = bits, U32, 2524, [5:5] cc_cruiseControlEnabled = bits, U32, 2524, [6:6] cc_unsafe = bits, U32, 2524, [7:7] cc_overspeed = bits, U32, 2524, [8:8] cc_underspeed = bits, U32, 2524, [9:9] cc_overrpm = bits, U32, 2524, [10:10] cc_underrpm = bits, U32, 2524, [11:11] cc_overtps = bits, U32, 2524, [12:12] cc_badtps = bits, U32, 2524, [13:13] cc_badpedal = bits, U32, 2524, [14:14] cc_overpedal = bits, U32, 2524, [15:15] cc_noetb = bits, U32, 2524, [16:16] cc_overspeedband = bits, U32, 2524, [17:17] cc_underspeedband = bits, U32, 2524, [18:18] cc_overrpmband = bits, U32, 2524, [19:19] cc_underrpmband = bits, U32, 2524, [20:20] cc_maxpedal = bits, U32, 2524, [21:21] cc_accdec_period = bits, U32, 2524, [22:22] cc_disarm_pending = bits, U32, 2524, [23:23] cc_pedal_release_pending = bits, U32, 2524, [24:24] cc_warning = bits, U32, 2524, [25:25] cc_close_to_limit = bits, U32, 2524, [26:26] cc_pedal_latched = bits, U32, 2524, [27:27] cc_in_deadband = bits, U32, 2524, [28:28] cc_recent_cut = bits, U32, 2524, [29:29] cc_brake = bits, U32, 2524, [30:30] cc_clutch_down = bits, U32, 2524, [31:31] cc_setpoint_speed = scalar, F32, 2528, "", 1, 0 cc_clutch_up = bits, U32, 2532, [0:0] cc_setpoint_rpm = scalar, F32, 2536, "", 1, 0 cc_error_speed = scalar, F32, 2540, "", 1, 0 cc_error_rpm = scalar, F32, 2544, "", 1, 0 cc_adjustment = scalar, F32, 2548, "", 1, 0 cc_pedalAtEngagePct = scalar, F32, 2552, "", 1, 0 cc_tpsSetpoint = scalar, F32, 2556, "", 1, 0 cc_etb_target = scalar, F32, 2560, "", 1, 0 cc_etb_from_engine = scalar, F32, 2564, "", 1, 0 ; total TS size = 2568 assistedEtbActive = bits, U32, 2568, [0:0] assistedEtbPhaseLatch = bits, U32, 2568, [1:1] assistedEtbWaveTypeCurrent = scalar, U08, 2572, "", 1, 0 assistedEtbTargetPct = scalar, F32, 2576, "", 1, 0 assistedEtbRiseTimeSec = scalar, F32, 2580, "", 1, 0 assistedEtbOvershootPct = scalar, F32, 2584, "", 1, 0 assistedEtbSettlingTimeSec = scalar, F32, 2588, "", 1, 0 assistedEtbSuggestedP = scalar, F32, 2592, "", 1, 0 assistedEtbSuggestedI = scalar, F32, 2596, "", 1, 0 assistedEtbSuggestedD = scalar, F32, 2600, "", 1, 0 assistedEtbNowSec = scalar, F32, 2604, "", 1, 0 assistedEtbPhase = scalar, F32, 2608, "", 1, 0 assistedEtbPeriod = scalar, F32, 2612, "", 1, 0 assistedEtbIteration = scalar, U16, 2616, "", 1, 0 ; total TS size = 2620 idleState = bits, S32, 2620, [0:2], "not important" baseIdlePosition = scalar, F32, 2624 iacByTpsTaper = scalar, F32, 2628 mightResetPid = bits, U32, 2632, [0:0] shouldResetPid = bits, U32, 2632, [1:1] wasResetPid = bits, U32, 2632, [2:2] isCranking = bits, U32, 2632, [3:3] isIacTableForCoasting = bits, U32, 2632, [4:4] needReset = bits, U32, 2632, [5:5] isInDeadZone = bits, U32, 2632, [6:6] isBlipping = bits, U32, 2632, [7:7] badTps = bits, U32, 2632, [8:8] looksLikeRunning = bits, U32, 2632, [9:9] looksLikeCoasting = bits, U32, 2632, [10:10] looksLikeCrankToIdle = bits, U32, 2632, [11:11] isIdleCoasting = bits, U32, 2632, [12:12] isIdleClosedLoop = bits, U32, 2632, [13:13] isIdling = bits, U32, 2632, [14:14] m_isCoastingAdvance = bits, U32, 2632, [15:15] idleTarget = scalar, S32, 2636, "", 1, 0 targetRpmByClt = scalar, S32, 2640, "", 1, 0 targetRpmAc = scalar, S32, 2644, "", 1, 0 idle_m_last_phase = scalar, S32, 2648, "", 1, 0 iacByRpmTaper = scalar, F32, 2652 luaAdd = scalar, F32, 2656 m_lastTargetRpm = scalar, S32, 2660, "", 1, 0 idleClosedLoop = scalar, F32, 2664 currentIdlePosition = scalar, F32, 2668 idleTargetAirmass = scalar, U16, 2672, "mg", 1, 0 idleTargetFlow = scalar, U16, 2674, "kg/h", 0.01, 0 idleTargetError = scalar, S16, 2676, "", 1, 0 idle_timeInIdle = scalar, F32, 2680, "", 1, 0 idle_deltaRpmAdj = scalar, F32, 2684, "", 1, 0 ; total TS size = 2688 etb1etbCurrentTarget = scalar, F32, 2688, "%", 1, 0 etb1targetWithIdlePosition = scalar, F32, 2692, "%", 1,0 etb1trim = scalar, F32, 2696, "", 1, 0 etb1boardEtbAdjustment = scalar, F32, 2700, "", 1, 0 etb1adjustedEtbTarget = scalar, F32, 2704, "%", 1, 0 etb1luaAdjustment = scalar, F32, 2708, "%", 1,0 etb1m_adjustedTarget = scalar, S16, 2712, "%", 0.01, 0 etb1m_wastegatePosition = scalar, F32, 2716, "%", 1,0 etb1m_lastPidDtMs = scalar, F32, 2720, "mS", 1, 0 etb1etbFeedForward = scalar, F32, 2724 etb1integralError = scalar, F32, 2728, "", 1, 0 etb1etbRevLimitActive = bits, U32, 2732, [0:0] etb1jamDetected = bits, U32, 2732, [1:1] etb1validPlantPosition = bits, U32, 2732, [2:2] etb1etbTpsErrorCounter = scalar, U16, 2736, "count", 1,0 etb1etbPpsErrorCounter = scalar, U16, 2738, "count", 1,0 etb1etbErrorCode = scalar, S08, 2740, "", 1, 0 etb1etbErrorCodeBlinker = scalar, S08, 2741, "", 1, 0 etb1tcEtbDrop = scalar, S08, 2742, "%", 1, 0 etb1jamTimer = scalar, U16, 2744, "sec", 0.01, 0 etb1state = scalar, U08, 2746, "", 1, 0 ; total TS size = 2748 etb2etbCurrentTarget = scalar, F32, 2748, "%", 1, 0 etb2targetWithIdlePosition = scalar, F32, 2752, "%", 1,0 etb2trim = scalar, F32, 2756, "", 1, 0 etb2boardEtbAdjustment = scalar, F32, 2760, "", 1, 0 etb2adjustedEtbTarget = scalar, F32, 2764, "%", 1, 0 etb2luaAdjustment = scalar, F32, 2768, "%", 1,0 etb2m_adjustedTarget = scalar, S16, 2772, "%", 0.01, 0 etb2m_wastegatePosition = scalar, F32, 2776, "%", 1,0 etb2m_lastPidDtMs = scalar, F32, 2780, "mS", 1, 0 etb2etbFeedForward = scalar, F32, 2784 etb2integralError = scalar, F32, 2788, "", 1, 0 etb2etbRevLimitActive = bits, U32, 2792, [0:0] etb2jamDetected = bits, U32, 2792, [1:1] etb2validPlantPosition = bits, U32, 2792, [2:2] etb2etbTpsErrorCounter = scalar, U16, 2796, "count", 1,0 etb2etbPpsErrorCounter = scalar, U16, 2798, "count", 1,0 etb2etbErrorCode = scalar, S08, 2800, "", 1, 0 etb2etbErrorCodeBlinker = scalar, S08, 2801, "", 1, 0 etb2tcEtbDrop = scalar, S08, 2802, "%", 1, 0 etb2jamTimer = scalar, U16, 2804, "sec", 0.01, 0 etb2state = scalar, U08, 2806, "", 1, 0 ; total TS size = 2808 wb1faultCode = scalar, U08, 2808, "", 1, 0 wb1heaterDuty = scalar, U08, 2809, "%", 1, 0 wb1pumpDuty = scalar, U08, 2810, "%", 1, 0 wb1isValid = bits, U32, 2812, [0:0] wb1fwUnsupported = bits, U32, 2812, [1:1] wb1fwOutdated = bits, U32, 2812, [2:2] wb1tempC = scalar, U16, 2816, "C", 1, 0 wb1nernstVoltage = scalar, U16, 2818, "V", 0.001, 0 wb1esr = scalar, U16, 2820, "ohm", 1, 0 ; total TS size = 2824 wb2faultCode = scalar, U08, 2824, "", 1, 0 wb2heaterDuty = scalar, U08, 2825, "%", 1, 0 wb2pumpDuty = scalar, U08, 2826, "%", 1, 0 wb2isValid = bits, U32, 2828, [0:0] wb2fwUnsupported = bits, U32, 2828, [1:1] wb2fwOutdated = bits, U32, 2828, [2:2] wb2tempC = scalar, U16, 2832, "C", 1, 0 wb2nernstVoltage = scalar, U16, 2834, "V", 0.001, 0 wb2esr = scalar, U16, 2836, "ohm", 1, 0 ; total TS size = 2840 dcOutput0 = scalar, F32, 2840, "%", 1,0 isEnabled0_int = scalar, U08, 2844, "%", 1,0 isEnabled0 = bits, U32, 2848, [0:0] ; total TS size = 2852 value0 = scalar, U16, 2852, "RAW", 1,0 value1 = scalar, U16, 2854, "RAW", 1,0 errorRate = scalar, F32, 2856, "% (don't belive me)", 1,0 ; total TS size = 2860 vvtTarget = scalar, S16, 2860, "deg", 0.1, 0 vvtOutput = scalar, U08, 2862, "%", 0.5, 0 ; total TS size = 2864 lambdaCurrentlyGood = bits, U32, 2864, [0:0] lambdaMonitorCut = bits, U32, 2864, [1:1] lambdaTimeSinceGood = scalar, U16, 2868, "sec", 0.01, 0 ; total TS size = 2872 sparkDuration1 = scalar, F32, 2872, "ms", 1, 0 sparkDuration2 = scalar, F32, 2876, "ms", 1, 0 sparkDuration3 = scalar, F32, 2880, "ms", 1, 0 sparkDuration4 = scalar, F32, 2884, "ms", 1, 0 ; total TS size = 2888 ltftCntHit = scalar, U16, 2888, "cnt", 1, 0 ltftCntMiss = scalar, U16, 2890, "cnt", 1, 0 ltftCntDeadband = scalar, U16, 2892, "cnt", 1, 0 ltftLearning = bits, U32, 2896, [0:0] ltftCorrecting = bits, U32, 2896, [1:1] ltftSavePending = bits, U32, 2896, [2:2] ltftLoadPending = bits, U32, 2896, [3:3] ltftNeedBackup = bits, U32, 2896, [4:4] ltftLoadError = bits, U32, 2896, [5:5] ltftDeadBand = bits, U32, 2896, [6:6] ltftHit = bits, U32, 2896, [7:7] ltftMiss = bits, U32, 2896, [8:8] ltftSDSavePending = bits, U32, 2896, [9:9] ltftPageRefreshFlag = bits, U32, 2896, [10:10] last_ltft_save_uptime = scalar, U32, 2900, "", 1, 0 ltftCorrection1 = scalar, F32, 2904, "%", 100.0, -1.0 ltftCorrection2 = scalar, F32, 2908, "%", 100.0, -1.0 ltftAccummulatedCorrection1 = scalar, F32, 2912, "%", 100.0, 0 ltftAccummulatedCorrection2 = scalar, F32, 2916, "%", 100.0, 0 ; total TS size = 2920 stftCorrectionState = bits, U08, 2920, [0:2], "STFT state" stftLearningState1 = bits, U08, 2921, [0:2], "STFT state" stftLearningState2 = bits, U08, 2922, [0:2], "STFT state" stftInputError1 = scalar, F32, 2924, "%", 100.0, 0 stftInputError2 = scalar, F32, 2928, "%", 100.0, 0 ; total TS size = 2932 isVvlTpsCondition = bits, U32, 2932, [0:0] isVvlCltCondition = bits, U32, 2932, [1:1] isVvlMapCondition = bits, U32, 2932, [2:2] isVvlAfrCondition = bits, U32, 2932, [3:3] isVvlRpmCondition = bits, U32, 2932, [4:4] isVvlCondition = bits, U32, 2932, [5:5] ; total TS size = 2936 ; total TS size = 2936 time = { timeNow } ; TODO: add stftCorrection2? egoCorrectionForVeAnalyze = { 100 + stftCorrection1 } wbo0_hasFault = { enableAemXSeries && ((wb1faultCode >= 1) || !wb1isValid) } wheelDiameterMM = { 2 * ( tireSizeWidth * ( tireSizeAspect / 100)) + (tireSizeRimDiameterInch * 25.4) } wheelCircumferenceMM = { 3.1416 * wheelDiameterMM } wheelCircumferenceM = { ( 3.1416 * wheelDiameterMM) / 1000 } wheelRevolutionsPer1km = { 1000000.0 / wheelCircumferenceMM } ; we get this many pulses from the vss sensor in an hour vssPulsesPerHr = { rawVss * 3600 } ; lets say we are going 14 km/hour, so 14 km will be vssPulsesPerHour , so 1 km, will be vssPulsesPerHour / 14 vssPulsesPerKm vssPulsesPerKm = { vssPulsesPerHr / vssCalSpeed } ; in 1 km, wheel has to rotate wheelRevolutionsPer1km times, so 1 wheel rotation is vssPulsesPerKm / wheelRevolutionsPer1km - vssPulsesPerWheelRev vssPulsesPerWheelRev = { vssPulsesPerKm / wheelRevolutionsPer1km } ; for each wheel rev, output shaft makes vssGearRatio turns, so number of teeth on the trigger wheel will be vssPulsesPerWheelRev / vssGearRatio - for each wheel rev vssPulsesPerVssWheelRev = { vssPulsesPerWheelRev / vssGearRatio } isEtb1Enabled = { etbFunctions1 == 1 || etbFunctions2 == 1 } isEtb2Enabled = { etbFunctions1 == 2 || etbFunctions2 == 2 } isEtbEnabled = { isEtb1Enabled || isEtb2Enabled } isTps1Primary = { tps1_1AdcChannel != 0 } isTps1Secondary = { tps1_2AdcChannel != 0 } isTps2Primary = { tps2_1AdcChannel != 0 } isTps2Secondary = { tps2_2AdcChannel != 0 } isPpsPrimary = { throttlePedalPositionAdcChannel != 0 } isPpsSecondary = { throttlePedalPositionSecondAdcChannel != 0 } [PcVariables] fuelUnits = bits, U08, [0:2], "kPa", "MAF", "%TPS", "Lua" pwmAxisLabels = bits, U08, [0:5], "Zero", "TPS %", "MAP kPa", "CLT C", "IAT C", "Fuel Load", "Ignition Load", "Aux Temp 1 C", "Aux Temp 2 C", "Accel Pedal %", "Battery Voltage Volts", "VVT 1 I Deg", "VVT 1 E Deg", "VVT 2 I Deg", "VVT 2 E Deg", "Ethanol (Flex) %", "Aux Linear 1 *", "Aux Linear 2 *", "GPPWM Output 1 %", "GPPWM Output 2 %", "GPPWM Output 3 %", "GPPWM Output 4 %", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)", "Baro pressure kPa", "EGT 1 C", "EGT 2 C", "Aux Linear 3", "Aux Linear 4", "Vehicle speed km/h", "Oil pressure kPa", "Oil temp C", "Fuel Pressure", "Throttle Pressure Ratio" veAxisLabels = bits, U08, [0:1], "load", "MAP", "TPS", "% BARO" targetAfrAxisLabels = bits, U08, [0:2], "load", "MAP", "TPS", "Acc Pedal", "Cyl Filling %", "MAFAirChargeLoad", "% BARO" tuneCrcPcVariable = continuousChannelValue, tuneCrc16 wueAfrTargetOffset = array, S16, [ 16], ":1", 0.1, 0.0, -3.0, 3.0, 1 wueAnalRecommend = array, U08, [ 16], "%", 1.00, 0.0, 100, 255.00, 0 gearCountArray = array, S08, [10], "Gear", 1, 0, -1, { 10 - 2 }, 0, noMsqSave solenoidCountArray = array, U08, [12], "Solenoid", 1, 0, 1, 12, 0, noMsqSave rangeInputArray = array, U08, [6], "Input", 1, 0, 0, 6, 0, noMsqSave rangeStateArray = array, U08, [9], "State", 1, 0, 0, 9, 0, noMsqSave wheelDiameter = scalar, F32, "mm", 1, 200.0, 1 tireSizeWidth = scalar, F32, "mm", 1, 600.0, 1 tireSizeAspect = scalar, F32, "% width", 1, 2000.0, 1 tireSizeRimDiameterInch = scalar, F32, "in", 1, 100.0, 1 aiApiKey = string, ASCII, 256, 0, noMsqSave moreEngineDescription = string, ASCII, 256, 0 universalCamEventNumber = array, U08, [16], "Event Number", 1, 0, 0, 16, 0, noMsqSave ; wheelDiameterMMv = continuousChannelValue, wheelDiameterMM ; wheelCircumferenceMMv = continuousChannelValue, wheelCircumferenceMM ; wheelRevolutionsPer1kmv = continuousChannelValue, wheelRevolutionsPer1km ; wall of debug mode :) ; https://rusefi.com/wiki/index.php?title=Manual:Debug_fields ; Alternator TPS Acceleration Idle Engine Load Acc Trigger Counters VVT1 PID Cranking Ignition Timing Fu Corr VSS SD Card Knock Wall Wetting ETB PID Executor InstantRpm CJ125 CAN MAP TLE8888 Analog inputs 2 Start ETB Autotune DYNO_VIEW LOGIC_ANALYZER Wideband TCU Lua VVT2 PID VVT3 PID VVT4 PID ; 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 ; DBG_ALTERNATOR_PID DBG_TPS_ACCEL DBG_IDLE_CONTROL debugFieldF1List = bits, U08, [0:7], "Alt: Controller Output", "From TPS", "", "Idle: Controller Output", "Idle output", " ", "", "VVT1: Controller Output"," ", "", "Ign IAT Corr", "", "", "Total SD", "last volts", "", "WW: Alpha", "ETB Controller Output", "", "", "df1", "df1", "InstantRpm", "", "24:df1", "CJ125: output", "", "MAP Average", "", "", "", "", "TPS1 Pri/Sec Diff", "", "", "", "","S unused" "", "Osc Amplitude", "", "", "", "" , "VSS", "", "WB: Pump DAC duty", "", "Lua Debug 1", "VVT2: Controller Output","VVT3: Controller Output","VVT4: Controller Output" debugFieldF2List = bits, U08, [0:7], "Alt: I Term", "To TPS", "", "Idle: I Term", "Idle df2", " ", "", "VVT1: I Term", " ", "", "Ign CLT Corr", "", "", "Write Cnt","last filtered","", "WW: Beta", "ETB I Term", "", "", "df2", "df2", "InstantRPM Ratio","", "24:df2", "CJ125: i term", "", "MAP Duration", "", "", "", "", "TPS2 Pri/Sec Diff", "", "", "", "","S unused" "", "Duty Amplitude", "", "", "", "" , "Speed", "", "WB: ESR", "", "Lua Debug 2", "VVT2: I Term", "VVT3: I Term", "VVT4: I Term" debugFieldF3List = bits, U08, [0:7], "Alt: Previous Error", "Current TPS<>TPS", "", "Idle: prev error", "Idle df3", "ICU sum", "", "VVT1: prev error", "", "", "", "", "", "Sync Cnt", "", "", "WW: film mass", "ETB err", "", "", "df3", "df3", "22df3", "", "24:df3", "CJ125: err", "", "MAP Fast", "", "", "", "", "TPS1/2 Diff", "", "", "", "","S unused" "", "Tu", "", "", "", "" , "DeltaSpeed", "", "WB: Nernst Voltage", "", "Lua Debug 3", "VVT2: prev error", "VVT3: prev error", "VVT4: prev error" debugFieldF4List = bits, U08, [0:7], "Alt: I Gain", "Extra Fuel", "", "Idle: I Gain", "Idle df4", " ", "", "VVT1: I Gain", "", "", "Ign PID Adj", "", "", "File Cnt", "", "", "WW: m_cmd", "ETB I setting", "", "", "df4", "df4", "22df4", "", "24:df4", "CJ125: UA", "", "MAP Estimate", "", "", "", "", "Acc Pedal Pri/Sec Diff","", "", "", "","S unused" "", "Ku", "", "", "", "", "accel", "", "WB: Lambda", "", "Lua Debug 4", "VVT2: I Gain", "VVT3: I Gain", "VVT4: I Gain" debugFieldF5List = bits, U08, [0:7], "Alt: D Gain", "df5", "", "Idle: D Gain", "Idle df5", " ", "df5", "VVT1: D Gain", "", "", "", "", "", "", "", "", "WW: film mass next","ETB D setting", "df5", "df5", "df5", "df5", "22df5", "", "24:df5", "CJ125: UR", "", "MAP Instant", "", "", "", "", "TPS1 Pri/Sec Ratio", "", "", "", "","S unused" "", "Kp", "", "", "", "", "", "", "", "", "Lua Debug 5", "VVT2: D Gain", "VVT3: D Gain", "VVT4: D Gain" debugFieldF6List = bits, U08, [0:7], "Alt: D Term", "", "", "Idle: D Term", "Idle df6", " ", "", "VVT1: D Term", "", "", "", "", "", "", "", "", "", "ETB df6", "", "", "df6", "df6", "22df6", "", "24:df6", "cj: f7", "", "", "", "", "", "", "", "", "", "", "","S unused" "", "Ki", "", "", "", "", "", "", "", "", "Lua Debug 6", "VVT2: D Term", "VVT3: D Term", "VVT4: D Term" debugFieldF7List = bits, U08, [0:7], "Alt: Max-Value", "", "", "Idle: Max-Value", "Idle df7", "", "", "VVT1: Max-Value", "", "", "", "", "", "", "", "", "", "ETB df7", "", "", "df7", "df7", "22df7", "", "24:df7", "cj: f7", "", "", "", "", "", "", "", "", "", "", "","S unused" "", "Kd", "", "", "", "", "", "", "", "", "Lua Debug 7", "", "", "" debugFieldI1List = bits, U08, [0:7], "Alt: P Gain", "", "", "Idle: P Gain", "Idle di1", " ", "", "VVT1: P Gain", " ", "Cycle Counter", "Multispark Count", "", "", "", "hip corr", "", "", "ETB P-Gain", "t counter", "", "di1", "di1", "Spark Event Gap","", "24:di1", "CJ125: state", "read count","MAP counter", "", "", "", "SPI Counter", "", "", "", "", "","Start Count", "", "", "", "", "", "", "deltatime", "", "", "Solenoid 1 State", "Lua memory used","VVT2: P Gain", "VVT3: P Gain", "VVT4: P Gain" debugFieldI2List = bits, U08, [0:7], "Alt: Offset", "", "", "Idle: Offset", "Idle di2", " ", "", "VVT1: Offset", "", "", "", "", "", "", "hip incor", "", "", "ETB di2", "invocationcounter", "", "di2", "di2", "Inj Event Gap", "", "24:di2", "", "write count","MAP raw ADC", "", "", "", "Latest Transmit","", "", "", "", "","Starter Enable", "", "", "", "", "", "", "", "", "", "Solenoid 2 State", "", "VVT2: Offset", "VVT3: Offset", "VVT4: Offset" debugFieldI3List = bits, U08, [0:7], "Alt: Reset Cnt", "", "", "Idle: Reset Cnt", "Idle di3", " ", "", "VVT1: 10xTarget", "", "", "", "", "", "", "", "", "", "ETB di3", "s counter", "", "di3", "di3", "22di3", "", "24:di3", "", "write err", "", "", "", "", "Latest Received","", "", "", "", "","Starter Disable","", "", "", "", "", "", "", "", "", "Solenoid 3 State", "", "VVT2: 10xTarger", "VVT3: 10xTarger", "VVT4: 10xTarger" debugFieldI4List = bits, U08, [0:7], "Alt: Period", "", "", "Idle: State", "Idle di4", "Cycle Cnt 1", "", "", "", "", "", "", "", "", "", "", "", "ETB di4", "executor", "", "di4", "di4", "22di4", "", "24:di4", "", "", "", "", "", "", "Init Count", "", "", "", "", "","" "", "", "", "", "", "", "", "", "", "Solenoid 4 State", "", "", "", "" debugFieldI5List = bits, U08, [0:7], "", "", "", "", "Idle di5", "Cycle Cnt 2", "", "", "", "", "", "", "", "", "", "di5", "di5", "ETB di5", "max executor", "di5", "di5", "di5", "22di5", "di5", "di5", "di5", "di5", "di5", "", "di5", "di5", "di5", "", "di5", "di5", "di5", "","" "", "", "", "", "", "", "", "", "", "Solenoid 5 State", "", "", "", "" wboFaultCodeList = bits, U08, [0:3], "out of range", "CAN silent", "cranking", "failed to heat", "overheat", "underheat", "no supply", "sensor fault" injModeList = bits, U08, [0:3], "Simultaneous", "Sequential", "Batch", "Single Point" ignModeList = bits, U08, [0:3], "Single Coil", "Sequential", "Wasted", "Two Coils" ; ClearReason fuelIgnCutCodeList = bits, U08, [0:7], "None", "fatal error", "setting disabled", "RPM limit", "ETB RPM limit", "boost cut", "oil pressure", "stop requested", "ETB problem", "launch control", "max injector duty", "flood clear", "engine sync", "kickstart", "ign off", "Lua", "ACR", "Lambda Prot", "GDI Comms", "Brake", "Fatal", "GDI limits", "Pump limit" ; TpsState etbCutCodeList = bits, U08, [0:7], "None", "engine stopped", "TPS error", "PPS error", "TPS noise", "Autotune", "Lua", "TPS Calib", "N/A", "Redundancy", "PPS noise", "Jam" outputDiagErrorList = bits, U08, [0:3], "Not used", "No error", "Open Load", "Short to Gnd", "Short to Battery", "Overload", "Driver Overtemp", "Driver disabled", "Unknown" canReWidebandCmdStatusList = bits, U08, [0:7], "Idle", "Done", "Busy", "Failed" canReWidebandHwIndex = bits, U08, [0:3], "Idx 0", "Idx 1", "Idx 2", "Idx 3", "Idx 4", "Idx 5", "Idx 6", "Idx 7", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" ; TODO: reuse $can_wbo_re_id_list canReWidebandCanId = bits, U08, [0:3], "ID1 0x190/191", "ID2 0x192/193", "ID3 0x194/195", "ID4 0x196/197", "ID5 0x198/199", "ID6 0x19A/19B", "ID7 0x19C/19D", "ID8 0x19E/19F", "ID9 0x200/201", "ID10 0x202/203", "ID11 0x204/205", "ID12 0x206/207", "ID13 0x208/209", "ID14 0x20A/20B", "ID15 0x20C/20D", "ID16 0x20E/20F" ; TODO: keep in sync with SensorType from wideband_can.h canReWidebandSensorType = bits, U08, [0:1], "Bosch LSU4.9", "Bosch LSU4.2", "Bosch LSU ADV", "FAE LSU4.9" stftStateList = bits, U08, [0:3], "Enabled", "Settings", "Tuning", "RPM", "Cranking Delay", "Clt", "AFR out of range", "DFCO", "TPS Accel", "Fuel Cut", "Rotational Idle" [ConstantsExtensions] ; defaultValue is used to provide TunerStudio with a value to use in the case of ; the constant not yet being initialized. This is primarily important if the ; constant is used as a variable in the ini. ; defaultValue = constantName, value; defaultValue = wueAfrTargetOffset, -1.5 -1.4 -1.15 -0.95 -0.775 -0.65 -0.5625 -0.5 -0.4375 -0.375 -0.3125 -0.25 -0.1875 -0.125 -0.0625 0 ; this magic is best described in output_channels.txt search for 'maintainConstantValue' ; TPS 1 Primary maintainConstantValue = tpsMax, { (calibrationMode == 1 ) ? calibrationValue : tpsMax } maintainConstantValue = tpsMin, { (calibrationMode == 2 ) ? calibrationValue : tpsMin } ; TPS 1 Secondary maintainConstantValue = tps1SecondaryMax, { (calibrationMode == 6 ) ? calibrationValue : tps1SecondaryMax } maintainConstantValue = tps1SecondaryMin, { (calibrationMode == 7 ) ? calibrationValue : tps1SecondaryMin } ; TPS 2 Primary maintainConstantValue = tps2Max, { (calibrationMode == 8 ) ? calibrationValue : tps2Max } maintainConstantValue = tps2Min, { (calibrationMode == 9 ) ? calibrationValue : tps2Min } ; TPS 2 Secondary maintainConstantValue = tps2SecondaryMax, { (calibrationMode == 10 ) ? calibrationValue : tps2SecondaryMax } maintainConstantValue = tps2SecondaryMin, { (calibrationMode == 11 ) ? calibrationValue : tps2SecondaryMin } ; ETB Auto Gain Calibration maintainConstantValue = etb_pFactor, { (calibrationMode == 3 ) ? calibrationValue : etb_pFactor } maintainConstantValue = etb_iFactor, { (calibrationMode == 4 ) ? calibrationValue : etb_iFactor } maintainConstantValue = etb_dFactor, { (calibrationMode == 5 ) ? calibrationValue : etb_dFactor } maintainConstantValue = throttlePedalUpVoltage, { (calibrationMode == 12 ) ? calibrationValue : throttlePedalUpVoltage } maintainConstantValue = throttlePedalSecondaryUpVoltage, { (calibrationMode == 12 ) ? calibrationValue2 : throttlePedalSecondaryUpVoltage } maintainConstantValue = throttlePedalWOTVoltage, { (calibrationMode == 13 ) ? calibrationValue : throttlePedalWOTVoltage } maintainConstantValue = throttlePedalSecondaryWOTVoltage, { (calibrationMode == 13 ) ? calibrationValue2 : throttlePedalSecondaryWOTVoltage } maintainConstantValue = wastegatePositionOpenedVoltage, { (calibrationMode == 14 ) ? calibrationValue : wastegatePositionOpenedVoltage } maintainConstantValue = wastegatePositionClosedVoltage, { (calibrationMode == 15 ) ? calibrationValue : wastegatePositionClosedVoltage } requiresPowerCycle = afr_hwChannel requiresPowerCycle = afr_hwChannel2 requiresPowerCycle = gppwm1_pin requiresPowerCycle = gppwm2_pin requiresPowerCycle = gppwm3_pin requiresPowerCycle = gppwm4_pin requiresPowerCycle = mc33816_cs requiresPowerCycle = mc33816_rstb requiresPowerCycle = mc33816spiDevice requiresPowerCycle = isSdCardEnabled requiresPowerCycle = sdCardSpiDevice requiresPowerCycle = sdCardCsPin requiresPowerCycle = boardUseCanTerminator requiresPowerCycle = injectorCompensationMode requiresPowerCycle = lps25BaroSensorScl requiresPowerCycle = lps25BaroSensorSda requiresPowerCycle = binarySerialTxPin requiresPowerCycle = binarySerialRxPin requiresPowerCycle = tunerStudioSerialSpeed requiresPowerCycle = is_enabled_spi_1 requiresPowerCycle = is_enabled_spi_2 requiresPowerCycle = is_enabled_spi_3 requiresPowerCycle = is_enabled_spi_4 requiresPowerCycle = is_enabled_spi_5 requiresPowerCycle = is_enabled_spi_6 requiresPowerCycle = canWriteEnabled requiresPowerCycle = canReadEnabled requiresPowerCycle = can1ListenMode requiresPowerCycle = can2ListenMode requiresPowerCycle = startStopButtonPin requiresPowerCycle = startStopButtonMode requiresPowerCycle = enableAemXSeries requiresPowerCycle = enableAemXSeriesEgt requiresPowerCycle = etb_use_two_wires requiresPowerCycle = etbSplit requiresPowerCycle = etbFreq requiresPowerCycle = etbFunctions1 requiresPowerCycle = etbFunctions2 requiresPowerCycle = idle_solenoidFrequency requiresPowerCycle = boostPwmFrequency requiresPowerCycle = alternatorPwmFrequency requiresPowerCycle = vvtOutputFrequency requiresPowerCycle = vvtPins1 requiresPowerCycle = vvtPins2 requiresPowerCycle = vvtPins3 requiresPowerCycle = vvtPins4 requiresPowerCycle = auxAnalogInputs1 requiresPowerCycle = auxAnalogInputs2 requiresPowerCycle = auxAnalogInputs3 requiresPowerCycle = auxAnalogInputs4 requiresPowerCycle = auxAnalogInputs5 requiresPowerCycle = auxAnalogInputs6 requiresPowerCycle = auxAnalogInputs7 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore requiresPowerCycle = knockFrequency readOnly = device_uid1 readOnly = device_uid2 readOnly = device_uid3 defaultValue = gearCountArray, -1 0 1 2 3 4 5 6 7 8 readOnly = gearCountArray defaultValue = solenoidCountArray, 1 2 3 4 5 6 7 8 9 10 11 12 readOnly = solenoidCountArray defaultValue = rangeStateArray, 0 1 2 3 4 5 6 7 8 readOnly = rangeStateArray defaultValue = rangeInputArray, 0 1 2 3 4 5 6 7 8 9 readOnly = solenoidCountArray defaultValue = universalCamEventNumber, 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 readOnly = universalCamEventNumber [CurveEditor] ; xAxis = leftValue, rightValue, step ; yAxis = bottomValue, topValue, step curve = knockThresholdCurve, "Engine Knock Threshold RPM Based" columnLabel = "RPM", "Threshold" xAxis = 0, 8000, 9 yAxis = 0, 8, 10 xBins = knockNoiseRpmBins, RPMValue yBins = knockBaseNoise gauge = RPMGauge showTextValues = true showTextValues = true ; curve = dwellCorrection, "Dwell time base" ; columnLabel = "RPM", "Dwell" ; xAxis = 0, 8000, 9 ; yAxis = 0, 8, 9 ; xBins = sparkDwellRpmBins, RPMValue ; yBins = sparkDwellValues ; gauge = RPMGauge ; ; curve = dwellVoltageCorrection, "Dwell voltage correction" ; columnLabel = "Battery Volts", "Multiplier" ; xAxis = 6, 16, 11 ; yAxis = 0, 3, 7 ; xBins = dwellVoltageCorrVoltBins, VBatt ; yBins = dwellVoltageCorrValues ; gauge = VBattGauge curve = dfcoMapRpmCorrection, "DFCO RPM MAP Correction" columnLabel = "Engine Speed", "DFCO Threshold" xAxis = 0, 8000, 9 yAxis = 0, 60, 6 xBins = dfcoMapRpmValuesBins, RPMValue yBins = dfcoMapRpmValues gauge = RPMGauge curve = tpsTspRpmCorrection, "Transient RPM correction" columnLabel = "RPM", "Multiplier" xAxis = 0, 8000, 9 yAxis = 0, 3, 7 xBins = tpsTspCorrValuesBins, RPMValue yBins = tpsTspCorrValues gauge = RPMGauge curve = predictiveMapBlendDuration, "Predictive Map Blend Duration" columnLabel = "RPM", "Duration" xAxis = 0, 8000, 9 yAxis = 0, 3, 7 xBins = predictiveMapBlendDurationBins, RPMValue yBins = predictiveMapBlendDurationValues gauge = RPMGauge curve = primingPulse, "Priming pulse fuel mass" columnLabel = "Coolant", "Prime Pulse" xAxis = -40, 120, 9 yAxis = 0, 150, 9 xBins = primeBins, coolant yBins = primeValues gauge = CLTGauge curve = map_samplingAngleCurve, "MAP/MAF Sampling Start Angle" columnLabel = "RPM", "Angle" xAxis = 0, 8000, 9 yAxis = 0, 180, 10 xBins = map_samplingAngleBins, RPMValue yBins = map_samplingAngle gauge = MAPGauge curve = map_samplingWindowCurve, "MAP/MAF Sampling Duration" columnLabel = "RPM", "Window" xAxis = 0, 8000, 9 yAxis = 0, 180, 10 xBins = map_samplingWindowBins, RPMValue yBins = map_samplingWindow gauge = MAPGauge curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 yAxis = 0, 2.5, 6 xBins = vrThreshold1_rpmBins, RPMValue yBins = vrThreshold1_values curve = vrThresholdCurve2, "VR 2 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 yAxis = 0, 2.5, 6 xBins = vrThreshold2_rpmBins, RPMValue yBins = vrThreshold2_values curve = mafDecodingCurve, "MAF sensor Analog" columnLabel = "Voltage", "kg/hour" xAxis = -1, 6, 10 yAxis = -30, 1300, 10 xBins = mafDecodingBins, rawMaf yBins = mafDecoding gauge = rawMafGauge curve = mafDecodingCurveHz, "MAF sensor Frequency" columnLabel = "Hertz", "kg/hour" xAxis = -1, 15000, 10 yAxis = -30, 1300, 10 xBins = mafDecodingBinsHz, rawFrequencyMaf yBins = mafDecoding gauge = rawFrequencyMafGauge curve = iatFuelCorrCurve, "Intake air temp correction (IAT)" topicHelp = "iatFuelCorrCurveHelp" columnLabel = "Air Temp", "Multiplier" xAxis = -40, 120, 9 yAxis = 0, 2, 11 xBins = iatFuelCorrBins, intake yBins = iatFuelCorr gauge = IATGauge curve = cltFuelCorrCurve, "Warmup fuel manual Multiplier" columnLabel = "Coolant", "Multiplier" xAxis = -40, 120, 9 yAxis = 0, 3, 10 xBins = cltFuelCorrBins, coolant yBins = cltFuelCorr gauge = CLTGauge curve = cltBoostCorrCurve, "Coolant Temperature Boost Duty Multiplier" columnLabel = "Coolant", "Multiplier" xAxis = -40, 120, 9 yAxis = 0, 3, 10 xBins = cltBoostCorrBins, coolant yBins = cltBoostCorr gauge = CLTGauge curve = iatBoostCorrCurve, "Intake Air Temperature Boost Duty Multiplier" columnLabel = "Air Temp", "Multiplier" xAxis = -40, 120, 9 yAxis = 0, 2, 11 xBins = iatBoostCorrBins, intake yBins = iatBoostCorr gauge = IATGauge curve = cltBoostAdderCurve, "Coolant Temperature Boost Target Adder" columnLabel = "Coolant", "Adder" xAxis = -40, 120, 9 yAxis = 0, 3, 10 xBins = cltBoostAdderBins, coolant yBins = cltBoostAdder gauge = CLTGauge curve = iatBoostAdderCurve, "Intake Air Temperature Boost Target Adder" columnLabel = "Air Temp", "Adder" xAxis = -40, 120, 9 yAxis = 0, 2, 11 xBins = iatBoostAdderBins, intake yBins = iatBoostAdder gauge = IATGauge curve = crankingCltCurve, "Cranking Coolant Temperature Multiplier" columnLabel = "Coolant", "Multiplier" xAxis = -40, 120, 9 yAxis = 0, 3, 10 xBins = crankingFuelBins, coolant yBins = crankingFuelCoef gauge = CLTGauge curve = crankingCltCurveE100, "Cranking Coolant Temperature Multiplier (Flex Fuel E85)" columnLabel = "Coolant", "Multiplier" xAxis = -40, 120, 9 yAxis = 0, 3, 10 xBins = crankingFuelBins, coolant yBins = crankingFuelCoefE100 gauge = CLTGauge curve = cltRevLimitCurve, "" columnLabel = "Coolant", "RPM Limit" xAxis = -40, 120, 9 yAxis = 0, 8000, 9 xBins = cltRevLimitRpmBins, coolant yBins = cltRevLimitRpm gauge = CLTGauge curve = etbTpsBiasCurve, "Electronic Throttle Body Bias Curve" columnLabel = "TPS", "duty bias" xAxis = 0, 100, 11 yAxis = -40, 40, 9 xBins = etbBiasBins, etb1etbCurrentTarget yBins = etbBiasValues, etb1DutyCycle gauge = TPSGauge curve = ewgBiasCurve, "Electronic Wastegate Actuator Bias Curve" columnLabel = "DC Position", "duty bias" xAxis = 0, 100, 11 yAxis = -40, 40, 9 xBins = dcWastegateBiasBins yBins = dcWastegateBiasValues curve = crankingTpsCurve, "Cranking TPS Multiplier" columnLabel = "TPS", "Multiplier" xAxis = 0, 100, 11 yAxis = 0, 3, 10 xBins = crankingTpsBins, TPSValue yBins = crankingTpsCoef gauge = TPSGauge curve = iacCoastingCurve, "Coasting IAC Position" columnLabel = "RPM", "Position" xAxis = -40, 120, 9 yAxis = 0, 100, 10 xBins = iacCoastingRpmBins, RPMValue yBins = iacCoasting gauge = idleAirValvePositionGauge curve = cltCrankingCurve, "Cranking Idle Valve Curve" columnLabel = "Coolant", "Percent" xAxis = -40, 120, 9 yAxis = 0, 100, 10 xBins = cltCrankingCorrBins, coolant yBins = cltCrankingCorr gauge = CLTGauge curve = afterCrankingIACtaperCurve, "Idle valve Crank-to-Run Taper" columnLabel = "Coolant", "cycles" xAxis = -40, 120, 7 yAxis = 0, 500, 11 xBins = afterCrankingIACtaperDurationBins, coolant yBins = afterCrankingIACtaperDuration gauge = CLTGauge curve = cltIdleRPMCurve, "Idle Target RPM" columnLabel = "Coolant", "RPM" xAxis = -40, 120, 9 yAxis = 0, 2400, 13 xBins = cltIdleRpmBins, coolant yBins = cltIdleRpm, RPMValue gauge = CLTGauge curve = idleAdvanceCurve, "Idle Advance Angle" columnLabel = "RPM", "deg" xAxis = 0, 2400, 13 yAxis = -20, 90, 12 xBins = idleAdvanceBins, rpmForIgnitionIdleTableDot yBins = idleAdvance gauge = RPMGauge curve = crankingAdvanceCurve, "Cranking Advance Angle" columnLabel = "RPM", "deg" xAxis = 0, 1200, 13 yAxis = -30, 30, 11 xBins = crankingAdvanceBins, RPMValue yBins = crankingAdvance gauge = RPMGauge curve = fuelLevelCurve, "Fuel Level" columnLabel = "Voltage", "%" xAxis = 0, 5, 6 yAxis = 0, 100, 11 xBins = fuelLevelBins yBins = fuelLevelValues curve = wueAfrTargetOffsetCurve, "AFR Target Temperature Adjustment" columnLabel = "Coolant", "AFR Offset" xAxis = -40, 200, 9 yAxis = -3, 1, 5 xBins = cltFuelCorrBins, coolant yBins = wueAfrTargetOffset gauge = cltGauge curve = wueAnalyzer_warmup_curve, "Warmup Enrichment" columnLabel = "Coolant", "Current WUE", "Coolant", "Corrected" xAxis = -40, 200, 9 yAxis = 90, 500, 6 xBins = cltFuelCorrBins, coolant yBins = cltFuelCorr yBins = wueAnalRecommend ;gauge = cltGauge lineLabel = "Warmup Correction" lineLabel = "Recommended WUE" curve = hpfpLobeProfileCurve, "HPFP Lobe Profile" columnLabel = "% pump volume", "angle" xAxis = 0, 100, 11 yAxis = 0, 240, 13 xBins = hpfpLobeProfileQuantityBins yBins = hpfpLobeProfileAngle curve = hpfpDeadtimeCurve, "HPFP Valve Deadtime" columnLabel = "volts", "ms" xAxis = 5, 15, 11 yAxis = 0, 5, 6 xBins = hpfpDeadtimeVoltsBins yBins = hpfpDeadtimeMS curve = wwTauCltCurve, "Evap time vs. CLT" columnLabel = "coolant", "seconds" xAxis = -40, 120, 9 yAxis = 0, 2, 9 xBins = wwCltBins, coolant yBins = wwTauCltValues gauge = CLTGauge ; curve = wwTauMapCurve, "Evap time vs. MAP" ; columnLabel = "MAP", "mult" ; xAxis = 0, 100, 5 ; yAxis = 0, 2, 9 ; xBins = wwMapBins, MAPValue ; yBins = wwTauMapValues ; gauge = MAPGauge curve = wwBetaCltCurve, "Impact fraction vs. CLT" columnLabel = "coolant", "fraction" xAxis = -40, 120, 9 yAxis = 0, 2, 9 xBins = wwCltBins, coolant yBins = wwBetaCltValues gauge = CLTGauge ; curve = wwBetaMapCurve, "Impact fraction vs. MAP" ; columnLabel = "MAP", "mult" ; xAxis = 0, 100, 5 ; yAxis = 0, 2, 9 ; xBins = wwMapBins, MAPValue ; yBins = wwBetaMapValues ; gauge = MAPGauge curve = tchargeCurve, "Charge temperature estimation coefficient" columnLabel = "flow", "coefficient" xAxis = 0, 500, 6 yAxis = 0, 100, 5 xBins = tchargeBins, mafEstimate yBins = tchargeValues gauge = tChargeGauge curve = ignAdder1Bias, "Ignition table switch 1 bias" columnLabel = "param", "bias" xAxis = 0, 100, 11 yAxis = 0, 100, 5 xBins = ignBlends1_blendBins, ignBlendParameter1 yBins = ignBlends1_blendValues curve = ignAdder2Bias, "Ignition table switch 2 bias" columnLabel = "param", "bias" xAxis = 0, 100, 11 yAxis = 0, 100, 5 xBins = ignBlends2_blendBins, ignBlendParameter2 yBins = ignBlends2_blendValues ; curve = ignAdder3Bias, "Ignition adder 3 bias" ; columnLabel = "param", "bias" ; xAxis = 0, 100, 11 ; yAxis = 0, 100, 5 ; xBins = ignBlends3_blendBins, ignBlendParameter3 ; yBins = ignBlends3_blendValues ; curve = ignAdder4Bias, "Ignition adder 4 bias" ; columnLabel = "param", "bias" ; xAxis = 0, 100, 11 ; yAxis = 0, 100, 5 ; xBins = ignBlends4_blendBins, ignBlendParameter4 ; yBins = ignBlends4_blendValues curve = veBlend1Bias, "VE Table Switch 1 Bias" columnLabel = {bitStringValue(pwmAxisLabels, veBlends1_blendParameter)}, "bias" xAxis = 0, 100, 11 yAxis = 0, 100, 5 xBins = veBlends1_blendBins, veBlendParameter1 yBins = veBlends1_blendValues curve = veBlend2Bias, "VE Table Switch 2 Bias" columnLabel = {bitStringValue(pwmAxisLabels, veBlends2_blendParameter)}, "bias" xAxis = 0, 100, 11 yAxis = 0, 100, 5 xBins = veBlends2_blendBins, veBlendParameter2 yBins = veBlends2_blendValues curve = boostOpenLoopBlend1Bias, "Boost Open Loop Table Switch 1 Bias" columnLabel = "param", "bias" xAxis = 0, 100, 11 yAxis = 0, 100, 5 xBins = boostOpenLoopBlends1_blendBins, boostOpenLoopBlendParameter1 yBins = boostOpenLoopBlends1_blendValues ; curve = boostOpenLoopBlend2Bias, "Boost open loop blend 2 bias" ; columnLabel = "param", "bias" ; xAxis = 0, 100, 11 ; yAxis = 0, 100, 5 ; xBins = boostOpenLoopBlends2_blendBins, boostOpenLoopBlendParameter2 ; yBins = boostOpenLoopBlends2_blendValues curve = boostClosedLoopBlend1Bias, "Boost Closed Loop Table Switch 1 Bias" columnLabel = "param", "bias" xAxis = 0, 100, 11 yAxis = 0, 100, 5 xBins = boostClosedLoopBlends1_blendBins, boostClosedLoopBlendParameter1 yBins = boostClosedLoopBlends1_blendValues ; curve = boostClosedLoopBlend2Bias, "Boost Closed loop blend 2 bias" ; columnLabel = "param", "bias" ; xAxis = 0, 100, 11 ; yAxis = 0, 100, 5 ; xBins = boostClosedLoopBlends2_blendBins, boostClosedLoopBlendParameter2 ; yBins = boostClosedLoopBlends2_blendValues curve = throttleEffectiveArea, "Throttle effective % of area" columnLabel = "TPS", "% area" xAxis = 0, 100, 11 yAxis = 0, 100, 11 xBins = throttleEstimateEffectiveAreaBins, TPSValue yBins = throttleEstimateEffectiveAreaValues gauge = TPSGauge curve = boostOpenLoopGearAdderCurve, "Boost Open Loop gear-based Adder" columnLabel = "Gear", "duty cycle adder" xAxis = -1, 100, 10 yAxis = -100, 100, 5 xBins = gearCountArray, detectedGear yBins = gearBasedOpenLoopBoostAdder curve = boostClosedLoopGearAdderCurve, "Boost Closed Loop gear-based Adder" columnLabel = "Gear", "kPa adder" xAxis = -1, 100, 10 yAxis = -200, 200, 5 xBins = gearCountArray, detectedGear yBins = gearBasedClosedLoopBoostAdder curve = boostOpenLoopGearMultiplierCurve, "Boost Open Loop gear-based Multiplier" columnLabel = "Gear", "duty cycle multiplier" xAxis = -1, 100, 10 yAxis = 0, 3, 5 xBins = gearCountArray, detectedGear yBins = gearBasedOpenLoopBoostMultiplier curve = boostClosedLoopGearMultiplierCurve, "Boost Closed Loop gear-based Multiplier" columnLabel = "Gear", "kPa multiplier" xAxis = -1, 100, 10 yAxis = 0, 3, 5 xBins = gearCountArray, detectedGear yBins = gearBasedClosedLoopBoostMultiplier curve = boostOpenLoopGearLimiterCurve, "Boost Open Loop gear-based Limiter" columnLabel = "Gear", "duty cycle limit" xAxis = -1, 100, 10 yAxis = 0, 100, 5 xBins = gearCountArray, detectedGear yBins = gearBasedOpenLoopBoostLimiter curve = boostClosedLoopGearLimiterCurve, "Boost Closed Loop gear-based Limiter" columnLabel = "Gear", "kPa limit" xAxis = -1, 100, 10 yAxis = 0, 600, 5 xBins = gearCountArray, detectedGear yBins = gearBasedClosedLoopBoostLimiter curve = minimumOilPressure, "Minimum oil pressure" columnLabel = "RPM", "min pressure" xAxis = 0, 8000, 9 yAxis = 0, 500, 6 xBins = minimumOilPressureBins, RPMValue yBins = minimumOilPressureValues gauge = OilPressGauge curve = maximumOilPressure, "Maximum oil pressure" columnLabel = "RPM", "max pressure" xAxis = 0, 8000, 5 yAxis = 0, 2000, 5 xBins = maximumOilPressureBins, RPMValue yBins = maximumOilPressureValues gauge = OilPressGauge curve = targetAfrBlend1Bias, "Target AFR Table Switch 1 Bias" columnLabel = {bitStringValue(pwmAxisLabels, targetAfrBlends1_blendParameter)}, "bias" xAxis = 0, 100, 11 yAxis = 0, 100, 5 xBins = targetAfrBlends1_blendBins, targetAfrBlendParameter1 yBins = targetAfrBlends1_blendValues ; curve = targetAfrBlend2Bias, "Target AFR adder 2 bias" ; columnLabel = {bitStringValue(pwmAxisLabels, targetAfrBlends2_blendParameter)}, "bias" ; xAxis = 0, 100, 11 ; yAxis = 0, 100, 5 ; xBins = targetAfrBlends2_blendBins, targetAfrBlendParameter2 ; yBins = targetAfrBlends2_blendValues curve = idleFlowEstimate, "Idle flow estimate" columnLabel = "Flow", "Idle %" xAxis = 0, 20, 9 yAxis = 0, 100, 7 xBins = idleFlowEstimateFlow yBins = idleFlowEstimatePosition curve = idleAirmassTimingEquivalence, "Idle airmass/timing equivalence" columnLabel = "Airmass delta", "Timing adjustment" xAxis = -30, 30, 7 yAxis = -20, 20, 5 xBins = airmassToTimingBins yBins = airmassToTimingValues curve = cltAFRTargetCorrCurve, "Warmup AFR TARGET manual Multiplier" columnLabel = "Coolant", "Multiplier" xAxis = -40, 120, 9 yAxis = 0.5, 1.5, 9 xBins = cltAFRTargetCorrBins, coolant yBins = cltAFRTargetCorr gauge = CLTGauge curve = wotTpsCurve, "minimum throttle position needed at this rpm to reach effective wide open throttle. no TPS AE above this" columnLabel = "RPM", "TPS%" xAxis = 0, 8000, 9 yAxis = 0, 100, 9 xBins = wotTpsRpmBins, RPMValue yBins = wotTpsValues gauge = wotTpsGauge curve = buttonBoxCmdCurve, "buttonBoxCmdCurve" columnLabel = "id", "key code" xAxis = 0, 100, 10 yAxis = 0, 100, 10 xBins = buttonBoxBins yBins = buttonBoxCmds gauge = lastCanButtonSeenGauge size = 300, 300 curve = sparkHardwareLatencyCorrectionCurveCurve, "Ignition Hardware Angle Correction Curve" columnLabel = "RPM", "deg" xBins = sparkDwellRpmBins, RPMValue yBins = sparkHardwareLatencyCorrectionDegreesCurve gauge = RPMGauge curve = smallPwCorrection1, "Primary Injector Small Pulsewidth Correction 1" columnLabel = "OLD-PW", "NEW-PW" xAxis = 0, 25, 10 yAxis = 0, 25, 10 xBins = smallPwInjLookupBins, actualLastInjPreSmallPw yBins = injector_smallPwInjLookup gauge = calculatedLastInjectionGauge curve = smallPwCorrection2, "Staged Injector Small Pulsewidth Correction 2" columnLabel = "OLD-PW", "NEW-PW" xAxis = 0, 25, 10 yAxis = 0, 25, 10 xBins = smallPwInjLookupBins, actualLastInjSTG2PreSmallPw yBins = injectorSecondary_smallPwInjLookup gauge = calculatedLastInjectionStg2Gauge curve = tpsAeRocRpmCRV, "TPS AE Rate of change vs RPM" columnLabel = "RPM", "Rate of change" xAxis = 0, 2, 10 yAxis = 0, 2, 10 xBins = tpsAeThresholdRpmBins, RPMValue yBins = tpsAeThresholdValue gauge = deltaTpsGauge curve = cltCalCRV, "CLT Sensor Calibration" columnLabel = "Volts", "C" xBins = cltCalVoltsBins, rawClt yBins = cltCalValues gauge = CLTGauge curve = iatCalCRV, "IAT Sensor Calibration" columnLabel = "Volts", "C" xBins = iatCalVoltsBins, rawIat yBins = iatCalValues gauge = IATGauge curve = otCalCRV, "Oil Temperature Sensor Calibration" columnLabel = "Volts", "C" xBins = otCalVoltsBins, rawOilTemperature yBins = otCalValues gauge = oilTemp curve = idleTimingTargetErrorCRV, "Idle Target Error" columnLabel = "Delta", "Deg" xAxis = -500, 500, 11 yAxis = -30, 30, 11 xBins = idleTimingTargetErrorBins, idleTargetError yBins = idleTimingTargetErrorValues gauge = RPMGauge curve = aeCltCurve, "AE vs CLT" columnLabel = "Coolant", "Multiplier" xAxis = -40, 120, 9 yAxis = 0, 2, 10 xBins = aeCltCorrBins, coolant yBins = aeCltCorr gauge = CLTGauge curve = spooledCurve, "SPOOLED vs RPM" columnLabel = "RPM", "kPa" xAxis = -0, 7000, 10 yAxis = 0, 400, 10 xBins = spooledRpmBins, RPMValue yBins = spooledValues, MAPValue curve = tachCorrectionCurve, "Tachometer Correction Curve" columnLabel = "RPM", "Correction" xAxis = 0, 8000, 10 yAxis = 0, 2.5, 10 xBins = tachCorrectionRpmBins, RPMValue yBins = tachCorrectionTable gauge = RPMGauge curve = speedoCorrectionCurve, "Speedometer Correction Curve" columnLabel = "Speed", "Correction" xAxis = 0, 500, 10 yAxis = 0, 2.5, 10 xBins = speedoCorrectionSpeedBins, vehicleSpeedKph yBins = speedoCorrectionTable gauge = vehicleSpeedKph curve = deltaTpsAverageCurve, "Delta TPS Average Multiplier" columnLabel = "RPM", "Multiplier" xAxis = 0, 8000, 10 yAxis = 0, 25, 10 xBins = deltaTpsAverageCurveRpmBins, RPMValue yBins = deltaTpsAverageCurveMultiplier gauge = RPMGauge curve = fan1Curve, "Fan 1 PWM vs Temperature" columnLabel = "Coolant Temp (C)", "PWM %" xAxis = -40, 120, 10 yAxis = 0, 100, 10 xBins = fan1TempBins, coolant yBins = fan1PwmValues curve = fan2Curve, "Fan 2 PWM vs Temperature" columnLabel = "Coolant Temp (C)", "PWM %" xAxis = -40, 120, 10 yAxis = 0, 100, 10 xBins = fan2TempBins, coolant yBins = fan2PwmValues curve = waterPumpCurve, "Water Pump PWM vs Temperature" columnLabel = "Coolant Temp (C)", "PWM %" xAxis = -40, 120, 10 yAxis = 0, 100, 10 xBins = waterPumpTempBins, coolant yBins = waterPumpPwmValues curve = waterPump2Curve, "Water Pump 2 PWM vs Temperature" columnLabel = "Coolant Temp (C)", "PWM %" xAxis = -40, 120, 10 yAxis = 0, 100, 10 xBins = waterPump2TempBins, coolant yBins = waterPump2PwmValues curve = tpsAeInstantRpmCurve, "TPS AE instant pulse multiplier vs RPM" columnLabel = "RPM", "Multiplier" xAxis = 0, 8000, 10 yAxis = 0, 2.5, 10 xBins = tpsAeInstantRpmBins, RPMValue yBins = tpsAeInstantRpmMultiplier gauge = RPMGauge curve = tpsAeInstantTpsCurve, "TPS AE instant pulse multiplier vs TPS" columnLabel = "TPS", "Multiplier" xAxis = 0, 100, 10 yAxis = 0, 2.5, 10 xBins = tpsAeInstantTpsBins, TPSValue yBins = tpsAeInstantTpsMultiplier gauge = TPSGauge curve = tpsAeInstantMapCurve, "TPS AE instant pulse multiplier vs MAP" columnLabel = "MAP", "Multiplier" xAxis = 0, 255, 10 yAxis = 0, 2.5, 10 xBins = tpsAeInstantMapBins, MAPValue yBins = tpsAeInstantMapMultiplier gauge = MAPGauge curve = tpsAeInstantCltCurve, "TPS AE instant pulse multiplier vs CLT" columnLabel = "CLT", "Multiplier" xAxis = 0, 255, 10 yAxis = 0, 2.5, 10 xBins = tpsAeInstantCltBins, coolant yBins = tpsAeInstantCltMultiplier gauge = coolant curve = universalCam1RiseEventsCurve, "Universal Cam1 Rise Events" columnLabel = "Cam1 Tooth#", "Rise Event Angle" xAxis = 0, 15, 16 xBins = universalCamEventNumber yBins = universal_cam1_rise_events suppressGraph = true curve = universalCam1FallEventsCurve, "Universal Cam1 Fall Events" columnLabel = "Cam1 Tooth#", "Fall Event Angle" xAxis = 0, 15, 16 xBins = universalCamEventNumber yBins = universal_cam1_fall_events suppressGraph = true curve = universalCam2RiseEventsCurve, "Universal Cam2 Rise Events" columnLabel = "Cam2 Tooth#", "Rise Event Angle" xAxis = 0, 15, 16 xBins = universalCamEventNumber yBins = universal_cam2_rise_events suppressGraph = true curve = universalCam2FallEventsCurve, "Universal Cam2 Fall Events" columnLabel = "Cam2 Tooth#", "Fall Event Angle" xAxis = 0, 15, 16 xBins = universalCamEventNumber yBins = universal_cam2_fall_events suppressGraph = true curve = universalCam1GapFromCurve, "Universal Cam1 Gap From" columnLabel = "Cam1 Event Number#", "Ratio Gap >" xAxis = 0, 15, 16 xBins = universalCamEventNumber yBins = universal_cam1_gap_from suppressGraph = true curve = universalCam1GapToCurve, "Universal Cam1 Gap To" columnLabel = "Cam1 Event Number#", "Ratio Gap <" xAxis = 0, 15, 16 xBins = universalCamEventNumber yBins = universal_cam1_gap_to suppressGraph = true curve = universalCam2GapFromCurve, "Universal Cam2 Gap From" columnLabel = "Cam2 Event Number#", "Ratio Gap >" xAxis = 0, 15, 16 xBins = universalCamEventNumber yBins = universal_cam2_gap_from suppressGraph = true curve = universalCam2GapToCurve, "Universal Cam2 Gap To" columnLabel = "Cam2 Event Number#", "Ratio Gap <" xAxis = 0, 15, 16 xBins = universalCamEventNumber yBins = universal_cam2_gap_to suppressGraph = true [TableEditor] ; table_id, map3d_id, "title", page ; move table into a panel? or find a way to add a link to https://rusefi.com/s/tpstps https://github.com/rusefi/rusefi/issues/5130 ; table = tpsTpsAccelTbl, tpsTpsAccelMap, "TPS/TPS Acceleration Extra Fuel(ms)", 1 ; topicHelp = "tpstpsHelp" ; xBins = tpsTpsAccelFromRpmBins, tpsFrom ; yBins = tpsTpsAccelToRpmBins, tpsToScaled ; zBins = tpsTpsAccelTable ; table = tractionEtbTableTbl, tractionEtb, "Traction Control ETB drop", 1 ; xBins = tractionControlSpeedBins, vehicleSpeedKph ; yBins = tractionControlSlipBins, wheelSlipRatio ; zBins = tractionControlEtbDrop ; table = tractionTimingTableTbl, tractionEtb, "Traction Control Timing drop", 1 ; xBins = tractionControlSpeedBins, vehicleSpeedKph ; yBins = tractionControlSlipBins, wheelSlipRatio ; zBins = tractionControlTimingDrop ; table = tractionIgnitionSkipTableTbl, tractionEtb, "Traction Control Skip Ignition", 1 ; xBins = tractionControlSpeedBins, vehicleSpeedKph ; yBins = tractionControlSlipBins, wheelSlipRatio ; zBins = tractionControlIgnitionSkip table = boostTableTbl, boostMapOpen, "Boost control duty cycle (open loop)", 1 xyLabels = "RPMValue", {bitStringValue(pwmAxisLabels, boostOpenLoopYAxis)} xBins = boostRpmBins, RPMValue yBins = boostOpenLoopLoadBins, boostOpenLoopYAxisValue zBins = boostTableOpenLoop table = boostClosedTbl, boostMapClosed, "Boost control target / Closed Loop (kPa)", 1 xyLabels = "RPMValue", {bitStringValue(pwmAxisLabels, boostClosedLoopYAxis)} xBins = boostRpmBins, RPMValue yBins = boostClosedLoopLoadBins, boostClosedLoopYAxisValue zBins = boostTableClosedLoop table = vvtTable1Tbl, vvtTable1Map, "Intake VVT closed loop Target", 1 xBins = vvtTable1RpmBins, RPMValue yBins = vvtTable1LoadBins, fuelingLoad zBins = vvtTable1 table = vvtTable2Tbl, vvtTable2Map, "Exhaust VVT closed loop Target", 1 xBins = vvtTable2RpmBins, RPMValue yBins = vvtTable2LoadBins, fuelingLoad zBins = vvtTable2 table = IgnRetardTableALS, IgnRetardALS, "Ignition adjustment", 1 xBins = alsIgnRetardrpmBins, RPMValue yBins = alsIgnRetardLoadBins, TPSValue zBins = ALSTimingRetardTable gridHeight = 4.0 gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" table = FuelAdderTableALS, FuelAdderALS, "Fuel adjustment", 1 xBins = alsFuelAdjustmentrpmBins, RPMValue yBins = alsFuelAdjustmentLoadBins, TPSValue zBins = ALSFuelAdjustment gridHeight = 4.0 gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" table = IgnSkipTableALS, IgnSkipALS, "Ignition Skip", 1 ; constant, variable xBins = alsIgnSkiprpmBins, RPMValue yBins = alsIgnSkipLoadBins, TPSValue zBins = ALSIgnSkipTable gridHeight = 4.0 gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" table = baroCorrTbl, baroCorrMap, "Baro Correction", 1 topicHelp = "baroCorrectionHelp" xyLabels = "RPM", "Pressure" xBins = baroCorrRpmBins, RPMValue yBins = baroCorrPressureBins, baroPressure zBins = baroCorrTable gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" table = ignitionTableTbl, ignitionTableMap, "Ignition Table", 1 xyLabels = "RPM", "Ignition Load" xBins = ignitionRpmBins, rpmForIgnitionTableDot yBins = ignitionLoadBins, loadForIgnitionTableDot zBins = ignitionTable gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" table = ignAdder1Table, ignAdder1Map, "Ignition Table Switch 1", 1 xyLabels = "RPM", "Ignition Load" xBins = ignBlends1_rpmBins, RPMValue yBins = ignBlends1_loadBins, ignBlendYAxis1 zBins = ignBlends1_table gridOrient = 250, 0, 340 table = ignAdder2Table, ignAdder2Map, "Ignition Table Switch 2", 1 xyLabels = "RPM", "Ignition Load" xBins = ignBlends2_rpmBins, RPMValue yBins = ignBlends2_loadBins, ignBlendYAxis2 zBins = ignBlends2_table gridOrient = 250, 0, 340 ; table = ignAdder3Table, ignAdder3Map, "Ignition Table Switch 3", 1 ; xyLabels = "RPM", "Ignition Load" ; xBins = ignBlends3_rpmBins, RPMValue ; yBins = ignBlends3_loadBins, ignBlendYAxix3 ; zBins = ignBlends3_table ; gridOrient = 250, 0, 340 ; table = ignAdder4Table, ignAdder4Map, "Ignition Table Switch 4", 1 ; xyLabels = "RPM", "Ignition Load" ; xBins = ignBlends4_rpmBins, RPMValue ; yBins = ignBlends4_loadBins, ignBlendYAxis4 ; zBins = ignBlends4_table ; gridOrient = 250, 0, 340 table = veBlend1Table, veBlend1Map, "VE Table Switch 1", 1 xyLabels = "RPM", {bitStringValue(pwmAxisLabels, veBlends1_yAxisOverride)} xBins = veBlends1_rpmBins, RPMValue yBins = veBlends1_loadBins, veBlendYAxis1 zBins = veBlends1_table gridOrient = 250, 0, 340 table = veBlend2Table, veBlend2Map, "VE Table Switch 2", 1 xyLabels = "RPM", {bitStringValue(pwmAxisLabels, veBlends2_yAxisOverride)} xBins = veBlends2_rpmBins, RPMValue yBins = veBlends2_loadBins, veBlendYAxis2 zBins = veBlends2_table gridOrient = 250, 0, 340 table = boostOpenBlend1Table, boostOpenBlend1Map, "Boost Open Loop Table Switch 1", 1 xyLabels = "RPM", "TPS" xBins = boostOpenLoopBlends1_rpmBins, RPMValue yBins = boostOpenLoopBlends1_loadBins, boostOpenLoopBlendYAxis1 zBins = boostOpenLoopBlends1_table gridOrient = 250, 0, 340 ; table = boostOpenBlend2Table, boostOpenBlend2Map, "Boost open loop blend 2", 1 ; xyLabels = "RPM", "TPS" ; xBins = boostOpenLoopBlends2_rpmBins, RPMValue ; yBins = boostOpenLoopBlends2_loadBins, boostOpenLoopBlendYAxis2 ; zBins = boostOpenLoopBlends2_table ; gridOrient = 250, 0, 340 table = boostClosedBlend1Table, boostClosedBlend1Map, "Boost Closed Loop Table Switch 1", 1 xyLabels = "RPM", "TPS" xBins = boostClosedLoopBlends1_rpmBins, RPMValue yBins = boostClosedLoopBlends1_loadBins, boostClosedLoopBlendYAxis1 zBins = boostClosedLoopBlends1_table gridOrient = 250, 0, 340 ; table = boostClosedBlend2Table, boostClosedBlend2Map, "Boost closed loop blend 2", 1 ; xyLabels = "RPM", "TPS" ; xBins = boostClosedLoopBlends2_rpmBins, RPMValue ; yBins = boostClosedLoopBlends2_loadBins, boostClosedLoopBlendYAxis2 ; zBins = boostClosedLoopBlends2_table ; gridOrient = 250, 0, 340 table = targetAfrBlend1Table, targetAfrBlend1Map, "Target AFR Table Switch 1", 1 xyLabels = "RPM", {bitStringValue(pwmAxisLabels, targetAfrBlends1_yAxisOverride)} xBins = targetAfrBlends1_rpmBins, RPMValue yBins = targetAfrBlends1_loadBins, targetAfrBlendYAxis1 zBins = targetAfrBlends1_table gridOrient = 250, 0, 340 ; table = targetAfrBlend2Table, targetAfrBlend2Map, "Target AFR adder 2", 1 ; xyLabels = "RPM", {bitStringValue(pwmAxisLabels, targetAfrBlends2_yAxisOverride)} ; xBins = targetAfrBlends2_rpmBins, RPMValue ; yBins = targetAfrBlends2_loadBins, targetAfrBlendYAxis2 ; zBins = targetAfrBlends2_table ; gridOrient = 250, 0, 340 table = ignitionIatCorrTableTbl, ignitionIatCorrTableMap, "Ignition Intake Air Temp correction", 1 xyLabels = "Air Temp", "Ignition Load" xBins = ignitionIatCorrTempBins, intake yBins = ignitionIatCorrLoadBins, ignitionLoad zBins = ignitionIatCorrTable ; gridHeight = 2.0 gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" table = ignitionCltCorrTable, ignitionCltCorrMap, "Warmup timing correction", 1 xyLabels = "CLT Temp", "Ignition Load" xBins = ignitionCltCorrTempBins, coolant yBins = ignitionCltCorrLoadBins, ignitionLoad zBins = ignitionCltCorrTable ; gridHeight = 2.0 gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 xyLabels = "RPM", "Ignition Load" xBins = trailingSparkRpmBins, RPMValue yBins = trailingSparkLoadBins, ignitionLoad zBins = trailingSparkTable table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis zBins = torqueTable table = torque2TableTbl, torque2TableMap, "Throttle Model Flow Discharge Coefficient", 1 xyLabels = "Pressure Ratio", "TMFAREA" xBins = tmfRatioBins, tmf_pratio yBins = tmfOpeningBins, tmf_tmfarea zBins = tmfTable table = veTableTbl, veTableMap, "VE Table", 1 xyLabels = "RPM", {bitStringValue(veAxisLabels, veOverrideMode)} xBins = veRpmBins, RPMValue yBins = veLoadBins, veTableYAxis zBins = veTable ; gridHeight = 2.0 gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" table = idleVeTableTbl, idleVeTable, "Idle VE" xyLabels = "RPM", "load" xBins = idleVeRpmBins, RPMValue yBins = idleVeLoadBins, veTableIdleYAxis zBins = idleVeTable gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" table = fuelTrimTbl1, fuelTrimMap1, "Fuel trim cyl 1 (percent add)", 1 xyLabels = "RPM", "Fuel Load" xBins = fuelTrimRpmBins, RPMValue yBins = fuelTrimLoadBins, fuelingLoad zBins = fuelTrims1_table upDownLabel = "(RICHER)", "(LEANER)" table = fuelTrimTbl2, fuelTrimMap2, "Fuel trim cyl 2 (percent add)", 1 xyLabels = "RPM", "Fuel Load" xBins = fuelTrimRpmBins, RPMValue yBins = fuelTrimLoadBins, fuelingLoad zBins = fuelTrims2_table upDownLabel = "(RICHER)", "(LEANER)" table = fuelTrimTbl3, fuelTrimMap3, "Fuel trim cyl 3 (percent add)", 1 xyLabels = "RPM", "Fuel Load" xBins = fuelTrimRpmBins, RPMValue yBins = fuelTrimLoadBins, fuelingLoad zBins = fuelTrims3_table upDownLabel = "(RICHER)", "(LEANER)" table = fuelTrimTbl4, fuelTrimMap4, "Fuel trim cyl 4 (percent add)", 1 xyLabels = "RPM", "Fuel Load" xBins = fuelTrimRpmBins, RPMValue yBins = fuelTrimLoadBins, fuelingLoad zBins = fuelTrims4_table upDownLabel = "(RICHER)", "(LEANER)" table = fuelTrimTbl5, fuelTrimMap5, "Fuel trim cyl 5 (percent add)", 1 xyLabels = "RPM", "Fuel Load" xBins = fuelTrimRpmBins, RPMValue yBins = fuelTrimLoadBins, fuelingLoad zBins = fuelTrims5_table upDownLabel = "(RICHER)", "(LEANER)" table = fuelTrimTbl6, fuelTrimMap6, "Fuel trim cyl 6 (percent add)", 1 xyLabels = "RPM", "Fuel Load" xBins = fuelTrimRpmBins, RPMValue yBins = fuelTrimLoadBins, fuelingLoad zBins = fuelTrims6_table upDownLabel = "(RICHER)", "(LEANER)" table = fuelTrimTbl7, fuelTrimMap7, "Fuel trim cyl 7 (percent add)", 1 xyLabels = "RPM", "Fuel Load" xBins = fuelTrimRpmBins, RPMValue yBins = fuelTrimLoadBins, fuelingLoad zBins = fuelTrims7_table upDownLabel = "(RICHER)", "(LEANER)" table = fuelTrimTbl8, fuelTrimMap8, "Fuel trim cyl 8 (percent add)", 1 xyLabels = "RPM", "Fuel Load" xBins = fuelTrimRpmBins, RPMValue yBins = fuelTrimLoadBins, fuelingLoad zBins = fuelTrims8_table upDownLabel = "(RICHER)", "(LEANER)" table = ignTrimTbl1, ignTrimMap1, "Ignition trim cyl 1 (deg)", 1 xyLabels = "RPM", "Ignition Load" xBins =ignTrimRpmBins, RPMValue yBins =ignTrimLoadBins, ignitionLoad zBins =ignTrims1_table table = ignTrimTbl2, ignTrimMap2, "Ignition trim cyl 2 (deg)", 1 xyLabels = "RPM", "Ignition Load" xBins =ignTrimRpmBins, RPMValue yBins =ignTrimLoadBins, ignitionLoad zBins =ignTrims2_table table = ignTrimTbl3, ignTrimMap3, "Ign trim cyl 3 (deg)", 1 xyLabels = "RPM", "Ignition Load" xBins =ignTrimRpmBins, RPMValue yBins =ignTrimLoadBins, ignitionLoad zBins =ignTrims3_table table = ignTrimTbl4, ignTrimMap4, "Ign trim cyl 4 (deg)", 1 xyLabels = "RPM", "Ignition Load" xBins =ignTrimRpmBins, RPMValue yBins =ignTrimLoadBins, ignitionLoad zBins =ignTrims4_table table = ignTrimTbl5, ignTrimMap5, "Ign trim cyl 5 (deg)", 1 xyLabels = "RPM", "Ignition Load" xBins =ignTrimRpmBins, RPMValue yBins =ignTrimLoadBins, ignitionLoad zBins =ignTrims5_table table = ignTrimTbl6, ignTrimMap6, "Ign trim cyl 6 (deg)", 1 xyLabels = "RPM", "Ignition Load" xBins =ignTrimRpmBins, RPMValue yBins =ignTrimLoadBins, ignitionLoad zBins =ignTrims6_table table = ignTrimTbl7, ignTrimMap7, "Ign trim cyl 7 (deg)", 1 xyLabels = "RPM", "Ignition Load" xBins =ignTrimRpmBins, RPMValue yBins =ignTrimLoadBins, ignitionLoad zBins =ignTrims7_table table = ignTrimTbl8, ignTrimMap8, "Ign trim cyl 8 (deg)", 1 xyLabels = "RPM", "Ignition Load" xBins =ignTrimRpmBins, RPMValue yBins =ignTrimLoadBins, ignitionLoad zBins =ignTrims8_table table = mapEstimateTableTbl, mapEstimateTableMap, "MAP Estimate", 1 xyLabels = "RPM", "TPS" xBins = mapEstimateRpmBins, RPMValue yBins = mapEstimateTpsBins, TPSValue zBins = mapEstimateTable table = injPhaseTableTbl, injPhaseTableMap, "Injection Phase", 1 topicHelp = "fuelHelp" xyLabels = "RPM", "Fuel Load" xBins = injPhaseRpmBins, RPMValue yBins = injPhaseLoadBins, fuelingLoad zBins = injectionPhase ; gridHeight = 2.0 gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(Later)", "(Sooner)" table = pedalToTpsTbl, pedalToTpsMap, "ETB Pedal to TPS #1", 1 xyLabels = "RPM", "Pedal Position" xBins = pedalToTpsRpmBins, RPMValue yBins = pedalToTpsPedalBins, throttlePedalPosition zBins = pedalToTpsTable ; gridHeight = 2.0 gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(Later)", "(Sooner)" table = throttle2TrimTbl, throttle2TrimMap, "ETB #2 Trim", 1 xBins = throttle2TrimRpmBins, RPMValue yBins = throttle2TrimTpsBins, TPSValue zBins = throttle2TrimTable gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. table = maxKnockRetardTbl, maxKnockRetardMap, "Max knock retard", 1 xBins = maxKnockRetardRpmBins, RPMValue yBins = maxKnockRetardLoadBins, TPSValue zBins = maxKnockRetardTable gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. #if LAMBDA table = lambdaTableTbl, lambdaTableMap, "Target Lambda Table", 1 #else table = afrTableTbl, afrTableMap, "Target AFR Table", 1 #endif xyLabels = "RPM", {bitStringValue(targetAfrAxisLabels, afrOverrideMode)} xBins = lambdaRpmBins, RPMValue yBins = lambdaLoadBins, afrTableYAxis zBins = lambdaTable ; gridHeight = 2.0 gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" table = lambdaMaxDeviationTableTbl, lambdaMaxDeviationTableMap, "Maximum Lambda Deviation", 1 xyLabels = "RPM", "" xBins = lambdaMaxDeviationRpmBins, RPMValue yBins = lambdaMaxDeviationLoadBins, afrTableYAxis zBins = lambdaMaxDeviationTable table = iacPidMultTbl, iacPidMultMap, "IAC PID Multiplier Table", 1 xBins = iacPidMultRpmBins, RPMValue yBins = iacPidMultLoadBins, fuelingLoad zBins = iacPidMultTable ; gridHeight = 2.0 gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(Later)", "(Sooner)" table = gppwm1Tbl, gppwm1Map, "GP#1", 1 xyLabels = {bitStringValue(pwmAxisLabels, gppwm1_rpmAxis)}, {bitStringValue(pwmAxisLabels, gppwm1_loadAxis)} xBins = gppwm1_rpmBins, gppwmXAxis1 yBins = gppwm1_loadBins, gppwmYAxis1 zBins = gppwm1_table table = gppwm2Tbl, gppwm2Map, "GP#2", 1 xyLabels = {bitStringValue(pwmAxisLabels, gppwm2_rpmAxis)}, {bitStringValue(pwmAxisLabels, gppwm2_loadAxis)} xBins = gppwm2_rpmBins, gppwmXAxis2 yBins = gppwm2_loadBins, gppwmYAxis2 zBins = gppwm2_table table = gppwm3Tbl, gppwm3Map, "GP#3", 1 xyLabels = {bitStringValue(pwmAxisLabels, gppwm3_rpmAxis)}, {bitStringValue(pwmAxisLabels, gppwm3_loadAxis)} xBins = gppwm3_rpmBins, gppwmXAxis3 yBins = gppwm3_loadBins, gppwmYAxis3 zBins = gppwm3_table table = gppwm4Tbl, gppwm4Map, "GP#4", 1 xyLabels = {bitStringValue(pwmAxisLabels, gppwm4_rpmAxis)}, {bitStringValue(pwmAxisLabels, gppwm4_loadAxis)} xBins = gppwm4_rpmBins, gppwmXAxis4 yBins = gppwm4_loadBins, gppwmYAxis4 zBins = gppwm4_table table = stagedInjectionTbl, stagedInjectionMap, "Staged Injection %", 1 xyLabels = "RPM", "" xBins = injectorStagingRpmBins, RPMValue yBins = injectorStagingLoadBins, afrTableYAxis zBins = injectorStagingTable table = hpfpTargetTable, hpfpTargetTableId, "HPFP Target Fuel Pressure", 1 xBins = hpfpTargetRpmBins, RPMValue yBins = hpfpTargetLoadBins, veTableYAxis zBins = hpfpTarget table = hpfpCompensationTable, hpfpCompensationTableId, "HPFP Pump Feed Forward", 1 xBins = hpfpCompensationRpmBins, RPMValue yBins = hpfpCompensationLoadBins, running_fuel zBins = hpfpCompensation table = hpfpFuelMassCompensationTable, hpfpFuelMassCompensationTableId, "HPFP Fuel mass compensation Factor", 1 xyLabels = "mg", "BAR" xBins = hpfpFuelMassCompensationFuelMass, running_baseFuel yBins = hpfpFuelMassCompensationFuelPressure, highFuelPressure zBins = hpfpFuelMassCompensation table = injectorFlowLinearizationTable, injectorFlowLinearizationTableId, "Plain Injector Model", 1 xyLabels = "mg", "BAR" xBins = injectorFlowLinearizationFuelMassBins, running_baseFuel yBins = injectorFlowLinearizationPressureBins, highFuelPressure zBins = injectorFlowLinearization table = postCrankingEnrichmentTbl, postCrankingEnrichmentMap, "After start enrichment", 1 xyLabels = "Engine Cycles", "Coolant Temp" xBins = postCrankingDurationBins, revolutionCounterSinceStart yBins = postCrankingCLTBins, coolant zBins = postCrankingFactor table = crankingCycleFuelMultTbl, crankingCycleFuelMultMap, "Cranking Cycle Base Fuel", 1 xyLabels = "Engine Cycles", "Coolant Temp" xBins = crankingCycleBins, revolutionCounterSinceStart yBins = crankingCycleFuelCltBins, coolant zBins = crankingCycleBaseFuel table = alternatorVoltageTargetTableTbl, alternatorVoltageTargetTableMap, "Alternator Voltage Target Table", 1 xBins = alternatorVoltageTargetRpmBins, RPMValue yBins = alternatorVoltageTargetLoadBins, ignitionLoad zBins = alternatorVoltageTargetTable table = injectorsDeadTime, injectorsDeadTimeMap, "Injector dead time Battery(x) vs Fuel Pressure(y)" xyLabels = "Battery", "Pressure" xBins = injector_battLagCorrBattBins, VBatt yBins = injector_battLagCorrPressBins, pressureCorrectionReference zBins = injector_battLagCorrTable table = injectorsSecondaryDeadTime, injectorsSecondaryDeadTimeMap, "Secondary injector dead time" xyLabels = "Battery", "Pressure" xBins = injectorSecondary_battLagCorrBattBins, VBatt yBins = injectorSecondary_battLagCorrPressBins, pressureCorrectionReference zBins = injectorSecondary_battLagCorrTable table = cltIdleTable, cltIdleTableMap, "Open Loop Idle position CLT vs Target Rpm" xyLabels = "Coolant", "RPM" xBins = cltIdleCorrBins, coolant yBins = rpmIdleCorrBins, m_lastTargetRpm zBins = cltIdleCorrTable table = torqueReductionIgnitionCutTlb, torqueReductionIgnitionCutMap, "Torque reduction cut table" xyLabels = {bitStringValue(pwmAxisLabels, torqueReductionCutXaxis)}, "Current Gear" xBins = torqueReductionCutXBins, trqRedCutXaxisValue yBins = torqueReductionCutGearBins, tcu_CurrentGear zBins = torqueReductionIgnitionCutTable table = torqueReductionIgnitionRetardTlb, torqueReductionIgnitionRetardMap, "Torque reduction ignition retard table" xyLabels = {bitStringValue(pwmAxisLabels, torqueReductionIgnitionRetardXaxis)}, "Current Gear" xBins = torqueReductionIgnitionRetardXBins, trqRedIgnRetXaxisValue yBins = torqueReductionIgnitionRetardGearBins, tcu_CurrentGear zBins = torqueReductionIgnitionRetardTable table = torqueReductionTimeTlb, torqueReductionTimeMap, "Torque reduction time table" xyLabels = {bitStringValue(pwmAxisLabels, torqueReductionTimeXaxis)}, "Current Gear" xBins = torqueReductionTimeXBins, trqRedTimeXaxisValue yBins = torqueReductionTimeGearBins, tcu_CurrentGear zBins = torqueReductionTimeTable table = ltftBank1TblBK, ltftBank1MapBK, "Long Term Fuel Trim Bank 1 - BACKUP" xyLabels = "RPM", {bitStringValue(veAxisLabels, veOverrideMode)} xBins = ltftTableRpmBins, RPMValue yBins = ltftTableLoadBins, veTableYAxis zBins = ltft_trims1_ltftTable upDownLabel = "RICHER", "LEANER" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. table = ltftBank2TblBK, ltftBank2MapBK, "Long Term Fuel Trim Bank 2 - BACKUP" xyLabels = "RPM", {bitStringValue(veAxisLabels, veOverrideMode)} xBins = ltftTableRpmBins, RPMValue yBins = ltftTableLoadBins, veTableYAxis zBins = ltft_trims2_ltftTable upDownLabel = "RICHER", "LEANER" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. table = etbVoltageCompensationTbl, etbVoltageCompensationMap, "ETB Voltage Compensation", 1 xyLabels = "TPS Position", "Battery Voltage" xBins = etbVoltageTpsBins, TPSValue yBins = etbVoltageVoltageBins, VBatt zBins = etbVoltageCompensationTable gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. table = lowerWgTableTbl, lowerWgMapOpen, "Lower wastegate duty (open loop)", 1 xBins = boostRpmBins, RPMValue yBins = boostOpenLoopLoadBins, boostOpenLoopYAxisValue zBins = lowerWgTableOpenLoop table = stftTimeConstTbl, stftTimeConst, "STFT TimeConstant", 1 xyLabels = "RPM", "AFR Load" xBins = stftTimeConstRpmBins, RPMValue yBins = stftTimeConstLoadBins, afrTableYAxis zBins = stftTimeConstTable table = stftAuthorityAddFuelTbl, stftAuthorityAddFuel, "STFT Add Authority", 1 xyLabels = "RPM", "AFR Load" xBins = stftTimeConstRpmBins, RPMValue yBins = stftTimeConstLoadBins, afrTableYAxis zBins = stftAuthorityAddFuelTable table = stftAuthorityRemoveFuelTbl, stftAuthorityRemoveFuel, "STFT Remove Authority", 1 xyLabels = "RPM", "AFR Load" xBins = stftTimeConstRpmBins, RPMValue yBins = stftTimeConstLoadBins, afrTableYAxis zBins = stftAuthorityRemoveFuelTable ; maf correction table referenced off maf load. table = veTableMafTbl, veTableMafMap, "MAF Fuel Correction table", 1 xyLabels = "RPM", "mafAirChargeLoad" xBins = veRpmBins, RPMValue yBins = veLoadBins, mafAirChargeLoad zBins = veTableMaf gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" table = pedalToTpsTbl2, pedalToTpsMap2, "ETB Pedal to TPS #2", 1 xyLabels = "RPM", "Pedal Position" xBins = pedalToTpsRpmBins, RPMValue yBins = pedalToTpsPedalBins, throttlePedalPosition zBins = pedalToTpsTable2 ; gridHeight = 2.0 gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(Later)", "(Sooner)" table = pedalToTpsTbl3, pedalToTpsMap3, "ETB Pedal to TPS #3", 1 xyLabels = "RPM", "Pedal Position" xBins = pedalToTpsRpmBins, RPMValue yBins = pedalToTpsPedalBins, throttlePedalPosition zBins = pedalToTpsTable3 ; gridHeight = 2.0 gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(Later)", "(Sooner)" table = pedalToTpsTbl4, pedalToTpsMap4, "ETB Pedal to TPS #4", 1 xyLabels = "RPM", "Pedal Position" xBins = pedalToTpsRpmBins, RPMValue yBins = pedalToTpsPedalBins, throttlePedalPosition zBins = pedalToTpsTable4 ; gridHeight = 2.0 gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(Later)", "(Sooner)" table = tractionEtbLeftRightTableTbl, tractionEtbLeftRight, "Traction Control Left/Right ETB drop", 1 xBins = tractionControlSpeedBins, tracSpeedLeftRightREF yBins = tractionControlSlipBins, wheelSlipRatioLeftRightREF zBins = tractionControlEtbDropLeftRight table = tractionTimingLeftRightTableTbl, tractionTimingDropLeftRight, "Traction Control Left/Right Timing drop", 1 xBins = tractionControlSpeedBins, tracSpeedLeftRightREF yBins = tractionControlSlipBins, wheelSlipRatioLeftRightREF zBins = tractionControlTimingDropLeftRight table = tractionIgnitionSkipLeftRightTableTbl, tractionIgnitionSkipLeftRight, "Traction Control Left/Right Skip Ignition", 1 xBins = tractionControlSpeedBins, tracSpeedLeftRightREF yBins = tractionControlSlipBins, wheelSlipRatioLeftRightREF zBins = tractionControlIgnitionSkipLeftRight table = tractionEtbFrontRearTableTbl, tractionEtbFrontRear, "Traction Control Front/Rear ETB drop", 1 xBins = tractionControlSpeedBins, tracSpeedFrontRearREF yBins = tractionControlSlipBins, wheelSlipRatioFrontRear zBins = tractionControlEtbDropFrontRear table = tractionTimingFrontRearTableTbl, tractionTimingDropFrontRear, "Traction Control Front/Rear Timing drop", 1 xBins = tractionControlSpeedBins, tracSpeedFrontRearREF yBins = tractionControlSlipBins, wheelSlipRatioFrontRear zBins = tractionControlTimingDropFrontRear table = tractionIgnitionSkipFrontRearTableTbl, tractionIgnitionSkipFrontRear, "Traction Control Front/Rear Skip Ignition", 1 xBins = tractionControlSpeedBins, tracSpeedFrontRearREF yBins = tractionControlSlipBins, wheelSlipRatioFrontRear zBins = tractionControlIgnitionSkipFrontRear table = wwTauMapTableTbl, wwTauMapTableMap , "Evap time vs. RPM vs MAP - TAU" xyLabels = "RPM", "MAP" xBins = wwRpmBins, RPMValue yBins = wwMapBins, MAPValue zBins = wwTauMapTable table = wwBetaMapTableTbl, wwBetaMapTableMap, "Impact fraction vs. RPM vs MAP - BETA" xyLabels = "RPM", "MAP" xBins = wwRpmBins, RPMValue yBins = wwMapBins, MAPValue zBins = wwBetaMapTable table = dwellRpmVsBatvTBL, dwellRpmVsBatvTableMap, "Dwell - RPM vs VOLTS" xyLabels = "RPM", "VOLTS" xBins = sparkDwellRpmBins, RPMValue yBins = dwellVoltageCorrVoltBins, VBatt zBins = dwellRpmVsBatvTable table = mafmapBlendValuesTBL, mafmapBlendValuesMAP, "MAP vs MAF blend Table - MAF weight in airmass calculation" xyLabels = "RPM", "MAP" xBins = mafmapBlendRpmBins, RPMValue yBins = mafmapBlendLoadBins, MAPValue zBins = mafmapBlendValues table = tpsAeCycleTBL, tpsAeCycleMAP, "Engine Cycle vs Throttle opening AE multiplier" xyLabels = "Engine Cycle", "TPS TO SCALED" xBins = tpsAeCycleCycleBins, tpsAeCycleCnt yBins = tpsAeCycleTpsToBins, tpsTo zBins = tpsAeCycleValues table = smallPwInjBatCorrTBL, smallPwInjBatCorrMAP, "Pulsewidth vs Battery multiplier" xyLabels = "Final Pulsewidth", "Battery Voltage" xBins = smallPwInjLookupBins, actualLastInjPreSmallPw yBins = smallPwInjVoltBins, VBatt zBins = smallPwInjBatCorr ; table = ltftBank1Tbl, ltftBank1Map, "Long Term Fuel Trim Bank 1 - ACTIVE" ; xyLabels = "RPM", {bitStringValue(veAxisLabels, veOverrideMode)} ; xBins = ltftTableRpmBins, RPMValue ; yBins = ltftTableLoadBins, veTableYAxis ; zBins = ltft_trims_page_21_ltftTable ; upDownLabel = "RICHER", "LEANER" ; gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. ; ; table = ltftBank2Tbl, ltftBank2Map, "Long Term Fuel Trim Bank 2 - ACTIVE" ; xyLabels = "RPM", {bitStringValue(veAxisLabels, veOverrideMode)} ; xBins = ltftTableRpmBins, RPMValue ; yBins = ltftTableLoadBins, veTableYAxis ; zBins = ltft_trims_page_22_ltftTable ; upDownLabel = "RICHER", "LEANER" ; gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. table = tps_ae_scale_table, tps_ae_scale_map, "TPS vs CLT AE SCALE" xyLabels = "CLT", "" xBins = tps_ae_scale_clt_bins, coolant yBins = tps_ae_scale_tps_bins, TPSValue zBins = tps_ae_scale_multiplier table = canMatchTbl, canMatchMap, "CAN Frame Matching Table" xBins = canMatchByteBins, zeroValue yBins = canMatchIds, lastCanMatchedKeycode zBins = canMatchTable [GaugeConfigurations] gaugeCategory = "Fuel: math" totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 gaugeCategory = "Timing" baseDwellGauge = baseDwell,"Ignition: base dwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 sparkDwellGauge = sparkDwell,"Ignition: coil charge time", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 dwellDurationAngleGauge = dwellDurationAngle,"Ignition: dwell duration", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 sparkDuration1Gauge = sparkDuration1,"Spark duration 1", "ms", 0.0,5.0, 0.0,5.0, 0.0,5.0, 3,3 sparkDuration2Gauge = sparkDuration2,"Spark duration 2", "ms", 0.0,5.0, 0.0,5.0, 0.0,5.0, 3,3 sparkDuration3Gauge = sparkDuration3,"Spark duration 3", "ms", 0.0,5.0, 0.0,5.0, 0.0,5.0, 3,3 sparkDuration4Gauge = sparkDuration4,"Spark duration 4", "ms", 0.0,5.0, 0.0,5.0, 0.0,5.0, 3,3 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 openLoopPartGauge = openLoopPart,"Boost: Open loop", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 lwgDutyPctGauge = lwgDutyPct,"Lower WG port output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 gaugeCategory = "Sync" currentEngineDecodedPhaseGauge = currentEngineDecodedPhase,"Sync: Engine Phase", "deg", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 gaugeCategory = "ETB" etb1targetWithIdlePositionGauge = etb1targetWithIdlePosition,"etb1 ETB: target with idle", "%", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 etb1luaAdjustmentGauge = etb1luaAdjustment,"etb1 ETB: luaAdjustment", "%", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 etb1m_wastegatePositionGauge = etb1m_wastegatePosition,"etb1 DC: wastegatePosition", "%", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 etb1m_lastPidDtMsGauge = etb1m_lastPidDtMs,"etb1 EBT: last PID dT", "mS", 0.0,4.0, 0.0,4.0, 0.0,4.0, 3,3 etb1integralErrorGauge = etb1integralError,"etb1 Integral error", "", 0.0,100.0, 0.0,100.0, 0.0,100.0, 3,3 etb1etbTpsErrorCounterGauge = etb1etbTpsErrorCounter,"etb1 ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 etb1etbPpsErrorCounterGauge = etb1etbPpsErrorCounter,"etb1 ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 etb2targetWithIdlePositionGauge = etb2targetWithIdlePosition,"etb2 ETB: target with idle", "%", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 etb2luaAdjustmentGauge = etb2luaAdjustment,"etb2 ETB: luaAdjustment", "%", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 etb2m_wastegatePositionGauge = etb2m_wastegatePosition,"etb2 DC: wastegatePosition", "%", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 etb2m_lastPidDtMsGauge = etb2m_lastPidDtMs,"etb2 EBT: last PID dT", "mS", 0.0,4.0, 0.0,4.0, 0.0,4.0, 3,3 etb2integralErrorGauge = etb2integralError,"etb2 Integral error", "", 0.0,100.0, 0.0,100.0, 0.0,100.0, 3,3 etb2etbTpsErrorCounterGauge = etb2etbTpsErrorCounter,"etb2 ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 etb2etbPpsErrorCounterGauge = etb2etbPpsErrorCounter,"etb2 ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 dcOutput0Gauge = dcOutput0,"DC: output0", "%", -1.0,1.0, -1.0,1.0, -1.0,1.0, 2,2 isEnabled0_intGauge = isEnabled0_int,"DC: en0", "%", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 gaugeCategory = "Sensors - SENT" value0Gauge = value0,"SENT ch0 value0", "RAW", 0.0,4095.0, 0.0,4095.0, 0.0,4095.0, 0,0 value1Gauge = value1,"SENT ch0 value1", "RAW", 0.0,4095.0, 0.0,4095.0, 0.0,4095.0, 0,0 errorRateGauge = errorRate,"SENT ch0 error rate", "% (don't belive me)", 0.0,100.0, 0.0,100.0, 0.0,100.0, 2,2 ;Name Var Title Units Lo,Hi LowDanger,LowWarning,HiWarning,HiDanger vd,ld gaugeCategory = Sync triggerErrorsCounterGauge = totalTriggerErrorCounter, "Trigger error count", "count", 0, 15000, 0, 0, 10, 300, 0, 0 triggerSyncGapRatioGauge = trgtriggerSyncGapRatio,"triggerSyncGapRatio", "", -10000,10000, -10000,-10000, 10000,10000, 3,3 triggerStateIndexGauge = trgtriggerStateIndex,"triggerStateIndex", "", -10000,10000, -10000,-10000, 10000,10000, 3,3 triggerPrimaryFallCounterGauge = triggerPrimaryFall,"triggerPrimaryFall", "", 0,10000.0, 0,10000.0, 0,10000.0, 3,3 triggerPrimaryRiseCounterGauge = triggerPrimaryRise,"triggerPrimaryRise", "", 0,10000.0, 0,10000.0, 0,10000.0, 3,3 triggerSecondaryFallCounterGauge = triggerSecondaryFall,"triggerSecondaryFall", "", 0,10000.0, 0,10000.0, 0,10000.0, 3,3 triggerSecondaryRiseCounterGauge = triggerSecondaryRise,"triggerSecondaryRise", "", 0,10000.0, 0,10000.0, 0,10000.0, 3,3 triggerVvt1FallCounterGauge = vvtEventFallCounter1,"triggerVvtFall", "", 0,10000.0, 0,10000.0, 0,10000.0, 3,3 triggerVvt1RiseCounterGauge = vvtEventRiseCounter1,"triggerVvtRise", "", 0,10000.0, 0,10000.0, 0,10000.0, 3,3 triggerVvt2FallCounterGauge = vvtEventFallCounter2,"triggerVvt2Fall", "", 0,10000.0, 0,10000.0, 0,10000.0, 3,3 triggerVvt2RiseCounterGauge = vvtEventRiseCounter2,"triggerVvt2Rise", "", 0,10000.0, 0,10000.0, 0,10000.0, 3,3 currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 revolutionCounterSinceStartGauge = revolutionCounterSinceStart, "Engine Cycle Count", "count", 0, 15000, 0, 0, 10, 300, 0, 0 gaugeCategory = ECU Status/CAN testBenchIterGauge = testBenchIter, "Test Bench Iterations", "count", -10, {benchTestCount + 10}, -5, 0, {benchTestCount}, {benchTestCount + 5}, 1, 1 lastCanButtonSeenGauge = lastCanButtonSeen, "Last hardware Can button pressed", "keycode", 0, 65535, 0, 0, 65535, 65535, 0, 0 lastCanButtonIdxGauge = lastCanButtonFoundIdx, "Last hardware Can button lookup result function id", "keycode", 0, 65535, 0, 0, 65535, 65535, 0, 0 canReadCounterGauge = canReadCounter,"CAN: Rx", "", 0,64000, 0,64000, 0,64000, 0,0 canWriteOkGauge = canWriteOk,"CAN: Tx OK", "", 0,64000, 0,64000, 0,64000, 0,0 canWriteNotOkGauge = canWriteNotOk,"CAN: Tx err", "", 0,64000, 0,64000, 0,64000, 0,0 ;gaugeCategory = LUA ; luaInvocationCounterGauge = luaInvocationCounter,"luaInvocationCounter", "count", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 ; luaLastCycleDurationGauge = luaLastCycleDuration,"luaLastCycleDuration", "nt", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 ; luaGauges1gauge = luaGauges1, "Lua Gauge 1", "lua", -30000,30000, 0, 0, 30000, 30000, 3, 3 ; luaGauges2gauge = luaGauges2, "Lua Gauge 2", "lua", -30000,30000, 0, 0, 30000, 30000, 3, 3 ; luaGauges3gauge = luaGauges3, "Lua Gauge 3", "lua", -30000,30000, 0, 0, 30000, 30000, 3, 3 ; luaGauges4gauge = luaGauges4, "Lua Gauge 4", "lua", -30000,30000, 0, 0, 30000, 30000, 3, 3 ; luaGauges5gauge = luaGauges5, "Lua Gauge 5", "lua", -30000,30000, 0, 0, 30000, 30000, 3, 3 ; luaGauges6gauge = luaGauges6, "Lua Gauge 6", "lua", -30000,30000, 0, 0, 30000, 30000, 3, 3 ; luaGauges7gauge = luaGauges7, "Lua Gauge 7", "lua", -30000,30000, 0, 0, 30000, 30000, 3, 3 ; luaGauges8gauge = luaGauges8, "Lua Gauge 8", "lua", -30000,30000, 0, 0, 30000, 30000, 3, 3 gaugeCategory = Alternator PID alternatorStatus_iTermGauge = alternatorStatus_iTerm,"Alternator PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_dTermGauge = alternatorStatus_dTerm,"Alternator PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_outputGauge = alternatorStatus_output,"Alternator PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_errorGauge = alternatorStatus_error,"Alternator PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_resetCounterGauge = alternatorStatus_resetCounter,"Alternator PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 gaugeCategory = "Boost Control" boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 gaugeCategory = Idle idlePosSensGauge = idlePositionSensor, "Idle: Position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 idleAirValvePositionGauge = currentIdlePosition, "Idle position", "%", 0, 100, 0, 0, 100, 100, 1, 1 idleStepperTargetPositionGauge = idleStepperTargetPosition, "Idle steps", "#", 0, idleStepperTotalSteps, 0, 0, idleStepperTotalSteps, idleStepperTotalSteps, 1, 1 idleStatus_iTermGauge = idleStatus_iTerm,"Idle PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 idleStatus_dTermGauge = idleStatus_dTerm,"Idle PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 idleStatus_outputGauge = idleStatus_output,"Idle PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 idleStatus_errorGauge = idleStatus_error,"Idle PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 idleStatus_resetCounterGauge = idleStatus_resetCounter,"Idle PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 idleTargetRpmGauge = idleTarget,"Idle RPM target", "RPM", 0, {rpmHardLimit + 2000}, 200, {cranking_rpm}, {rpmHardLimit - 500}, {rpmHardLimit}, 0, 0 gaugeCategory = "Traction control" canBoxTracTrimGauge = canBoxTracTrim, "CAN box traction trim", "", -50, 50, 10, 10, 100, 100, 1, 1 VSSGaugeFL = vehicleSpeedKph1, "Wheel speed 1 FL", "km/h", 0, 200, 0, 5, 110, 130, 1, 1 VSSGaugeFR = vehicleSpeedKph2, "Wheel speed 2 FR", "km/h", 0, 200, 0, 5, 110, 130, 1, 1 VSSGaugeRL = vehicleSpeedKph3, "Wheel speed 3 RL", "km/h", 0, 200, 0, 5, 110, 130, 1, 1 VSSGaugeRR = vehicleSpeedKph4, "Wheel speed 4 RR", "km/h", 0, 200, 0, 5, 110, 130, 1, 1 VSSGaugeFrontAverage = vehicleSpeedKphFrontAvg, "Wheel speed front avg", "km/h", 0, 200, 0, 5, 110, 130, 1, 1 VSSGaugeReadAverage = vehicleSpeedKphRearAvg, "Wheel speed rear avg", "km/h", 0, 200, 0, 5, 110, 130, 1, 1 wheelSlipRatioGauge = wheelSlipRatio, "Wheel Slip Ratio", "", 0, 200, 0, 1, 3, 4, 3, 3 wheelSlipRatioGaugeLeftRightFRONT = wheelSlipRatioLeftRightFRONT, "Wheel Slip Ratio Left/Right FRONT", "", 0, 200, 0, 1, 3, 4, 3, 3 wheelSlipRatioGaugeLeftRightREAR = wheelSlipRatioLeftRightREAR, "Wheel Slip Ratio Left/Right REAR", "", 0, 200, 0, 1, 3, 4, 3, 3 wheelSlipRatioGaugeFrontRear = wheelSlipRatioFrontRear, "Wheel Slip Ratio Front/Rear", "", 0, 200, 0, 1, 3, 4, 3, 3 gaugeCategory = "ETB" etbStatus_iTermGauge = etbStatus_iTerm,"ETB 1 PID iTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_dTermGauge = etbStatus_dTerm,"ETB 1 PID dTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_outputGauge = etbStatus_output,"ETB 1 PID output", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_errorGauge = etbStatus_error,"ETB 1 PID error", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_resetCounterGauge = etbStatus_resetCounter,"ETB 1 PID resetCounter", "", 0,100.0, 0,100.0, 0,100.0, 0,0 wgStatus_iTermGauge = wastegateDcStatus_iTerm,"WG PID iTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 wgStatus_dTermGauge = wastegateDcStatus_dTerm,"WG PID dTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 wgStatus_outputGauge = wastegateDcStatus_output,"WG PID output", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 wgStatus_errorGauge = wastegateDcStatus_error,"WG PID error", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 wgStatus_resetCounterGauge = wastegateDcStatus_resetCounter,"WG PID resetCounter", "", 0,100.0, 0,100.0, 0,100.0, 0,0 gaugeCategory = GDI di_nextStartGauge = di_nextStart,"DI: next start", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 m_requested_pumpGauge = m_requested_pump,"DI: Pump Angle", "deg", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 fuel_requested_percentGauge = fuel_requested_percent,"DI: HPFP requested duty", "%", 0.0, 100.0, 0.0, 0.0, 80.0, 90.0, 0,0 fuel_requested_percent_piGauge = fuel_requested_percent_pi,"DI: fuel_requested_percent_pi", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 ;todo see comment in HpfpQuantity class definition ;m_I_sum_percentGauge = m_I_sum_percent,"DI: m_I_sum_percent", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 ;m_pressureTarget_kPaGauge = m_pressureTarget_kPa,"DI: m_pressureTarget_kPa", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 highFuelPressureGauge = highFuelPressure, "Fuel pressure (high)", "bar", 0, 200, 0, 0, 200, 200, 1, 0 gaugeCategory = ECU Status warningCounterGauge = warningCounter, "Warning: counter", "", 0, 100, 0, 0, 100, 100, 0, 0 lastErrorCodeGauge = lastErrorCode, "Warning: last", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 internalMcuTemperatureGauge = internalMcuTemperature, "ECU temperature", "C", 0, 100, 0, 0, 75, 100, 1,1 internalVrefGauge = internalVref, "ECU Vref voltage", "V", 2, 6, { adcVcc - 0.3 } , { adcVcc - 0.15 }, { adcVcc + 0.15 } , { adcVcc + 0.3 }, 2, 1 recentErrorCode1Gauge = recentErrorCode1, "Error#1", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 recentErrorCode2Gauge = recentErrorCode2, "Error#2", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 recentErrorCode3Gauge = recentErrorCode3, "Error#3", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 recentErrorCode4Gauge = recentErrorCode4, "Error#4", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 recentErrorCode5Gauge = recentErrorCode5, "Error#5", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 recentErrorCode6Gauge = recentErrorCode6, "Error#6", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 recentErrorCode7Gauge = recentErrorCode7, "Error#7", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 recentErrorCode8Gauge = recentErrorCode8, "Error#8", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 firmwareVersionGauge = firmwareVersion , "ECU: Software Version", "%", 0, 100, 0, 0, 100, 100, 0, 0 timeSecondsGauge = seconds, "Uptime", "sec", 0, 100, 0, 0, 100, 100, 0, 0 tuneCrc16Gauge = tuneCrc16, "Tune CRC16", "", 0, 64000, 0, 0, 64000, 64000, 0, 0 rtcUnixEpochTimeGauge = rtcUnixEpochTime, "Epoch Time", "sec", 0, 100, 0, 0, 100, 100, 0, 0 ; gaugeCategory = Debug ; debugF1Gauge = debugFloatField1, {bitStringValue( debugFieldF1List, debugMode )}, "", 0, 100, 0, 0, 100, 100, 4, 4 ; debugF2Gauge = debugFloatField2, {bitStringValue( debugFieldF2List, debugMode )}, "", -100, 100, 0, 0, 100, 100, 4, 4 ; debugF3Gauge = debugFloatField3, {bitStringValue( debugFieldF3List, debugMode )}, "", -100, 100, 0, 0, 100, 100, 4, 4 ; debugF4Gauge = debugFloatField4, {bitStringValue( debugFieldF4List, debugMode )}, "", 0, 100, 0, 0, 100, 100, 4, 4 ; debugF5Gauge = debugFloatField5, {bitStringValue( debugFieldF5List, debugMode )}, "", 0, 100, 0, 0, 100, 100, 4, 4 ; debugF6Gauge = debugFloatField6, {bitStringValue( debugFieldF6List, debugMode )}, "", -100, 100, 0, 0, 100, 100, 4, 4 ; debugF7Gauge = debugFloatField7, {bitStringValue( debugFieldF7List, debugMode )}, "", 0, 100, 0, 0, 100, 100, 4, 4 ; debugI1Gauge = debugIntField1, {bitStringValue( debugFieldI1List, debugMode )}, "", 0, 100, 0, 0, 100, 100, 0, 0 ; debugI2Gauge = debugIntField2, {bitStringValue( debugFieldI2List, debugMode )}, "", 0, 100, 0, 0, 100, 100, 0, 0 ; debugI3Gauge = debugIntField3, {bitStringValue( debugFieldI3List, debugMode )}, "", 0, 100, 0, 0, 100, 100, 0, 0 ; debugI4Gauge = debugIntField4, {bitStringValue( debugFieldI4List, debugMode )}, "", 0, 100, 0, 0, 100, 100, 0, 0 ; debugI5Gauge = debugIntField5, {bitStringValue( debugFieldI5List, debugMode )}, "", 0, 100, 0, 0, 100, 100, 0, 0 gaugeCategory = Sensors - Basic RPMGauge = RPMValue, "RPM - engine speed", "RPM", 0, {rpmHardLimit + 2000}, 200, {cranking_rpm}, {rpmHardLimit - 500}, {rpmHardLimit}, 0, 0 afr1Gauge = AFRValue, "Air/Fuel Ratio", "", 10, 19.4, 12, 13, 15, 16, 2, 2 afr2Gauge = AFRValue2, "Air/Fuel Ratio 2", "", 10, 19.4, 12, 13, 15, 16, 2, 2 ; smoothedAfr1Gauge = SmoothedAFRValue, "Smoothed Air/Fuel Ratio", "", 10, 19.4, 12, 13, 15, 16, 2, 2 ; smoothedAfr2Gauge = SmoothedAFRValue2, "Smoothed Air/Fuel Ratio 2", "", 10, 19.4, 12, 13, 15, 16, 2, 2 afrGasScale1Gauge = afrGasolineScale, "Air/Fuel Ratio (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 afrGasScale2Gauge = afr2GasolineScale, "Air/Fuel Ratio 2 (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 lambda1Gauge = lambdaValue, "Lambda", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 lambda2Gauge = lambdaValue2, "Lambda 2", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 VBattGauge = VBatt, "Battery", "V", 8, 21, 9, 10, 17, 19, 1, 1 MAPGauge = MAPValue, "MAP", "kPa", 0, 300, 10, 10, 200, 200, 0, 0 massAirFlowValueGa = mafMeasured, "MAF", "kg/h", 0, 50, -999, -999, 999, 999, 1, 1 massAirFlowEstimateGa = mafEstimate, "Air: Flow estimate", "kg/h", 0, 50, -999, -999, 999, 999, 1, 1 mafValueSmoothedGauge = MAFValueSmoothed, "MAFValueFinal", "kg/h", 0, 50, 0, 0, 999, 999, 1, 1 gaugeCategory = Sensors - Extra VSSGauge = vehicleSpeedKph, "Vehicle Speed", "km/h", 0, 200, 0, 5, 110, 130, 1, 1 turboSpeedGauge = turboSpeed, "Turbocharger Speed", "hz", 0, 200, 0, 1, 3, 4, 1, 1 baroPressureGauge = baroPressure, "Barometric pressure", "kPa", 0, 130, 40, 50, 110, 120, 2, 0 OilPressGauge = oilPressure, "Oil Pressure", "kPa", 0, 750, 35, 75, 550, 700, 0, 0 lowFuelPressureGauge = lowFuelPressure, "Fuel pressure (low)", "kPa", 0, 700, 0, 0, 700, 700, 1, 0 flexPercentGauge = flexPercent, "Flex Ethanol %", "%", 0, 100, 0, 0, 100, 100, 0, 0 fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 acPressureGauge = acPressure, "A/C pressure", "kPa", 0, 900, 0, 0, 900, 900, 0, 0 accelerationLatGauge = accelerationLat, "Accel: Lateral", "acc", -32, 32, -32, -32, 32, 32, 5, 1 accelerationLonGauge = accelerationLon, "Accel: Longitudinal", "acc", -32, 32, -32, -32, 32, 32, 5, 1 accelerationVertGauge = accelerationVert, "Accel: Vertical", "acc", -32, 32, -32, -32, 32, 32, 5, 1 gyroYawGauge = gyroYaw, "Gyro: Yaw rate", "acc", -100, 100, -100, -100, 100, 100, 3, 1 rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 throttleInletPressureGauge = throttleInletPressure, "Throttle inlet pressure", "kPa", 0, 300, 10, 10, 200, 200, 0, 0 stoichometricRatioGauge = stoichiometricRatio, "Stoichiometric ratio for current fuel", "r", 0, 20, 0 ,0, 20 ,20, 0, 0 fan1PwmGauge = fan1Pwm, "Fan 1 PWM", "%", 0, 100, 0, 0, 100, 100, 0, 0 fan2PwmGauge = fan2Pwm, "Fan 2 PWM", "%", 0, 100, 0, 0, 100, 100, 0, 0 waterPumpPwmGauge = waterPumpPwm, "Water Pump PWM", "%", 0, 100, 0, 0, 100, 100, 0, 0 waterPump2PwmGauge = waterPump2Pwm, "Water Pump PWM", "%", 0, 100, 0, 0, 100, 100, 0, 0 gaugeCategory = "Flex" gaugeCategory = "Temperatures" internalMcuTemperatureGauge = internalMcuTemperature, "ECU temperature", "C", 0, 100, 0, 0, 75, 100, 0, 0 fuelTempGauge = fuelTemp, "Fuel Temperature", "C", 0, 100, 0, 0, 75, 100, 0, 0 ambientTempGauge = ambientTemp, "Ambient Temperature", "C", -40, 140, -15, 1, 95, 110, 1, 1 oilTemp = oilTemp, "oilTemp", "C", -40, 140, -15, 1, 95, 110, 1, 1 CLTGauge = coolant, "Coolant temp", "C", -40, 140, -15, 1, 95, 110, 1, 1 IATGauge = intake, "Intake air temp", "C", -40, 140, -15, 1, 95, 110, 1, 1 compressorDischargeTemp = compressorDischargeTemp, "compressorDischargeTemp", "C", -40, 140, -15, 1, 95, 110, 1, 1 AuxT1Gauge = auxTemp1, "Aux temp 1", "C", -40, 140, -15, 1, 95, 110, 1, 1 AuxT2Gauge = auxTemp2, "Aux temp 2", "C", -40, 140, -15, 1, 95, 110, 1, 1 gaugeCategory = Sensors - EGT egt1Gauge = egt1, "EGT#1", "C", -100, 1400, 100, 200, 900, 1000, 2, 1 egt2Gauge = egt2, "EGT#2", "C", -100, 1400, 100, 200, 900, 1000, 2, 1 egt3Gauge = egt3, "EGT#3", "C", -100, 1400, 100, 200, 900, 1000, 2, 1 egt4Gauge = egt4, "EGT#4", "C", -100, 1400, 100, 200, 900, 1000, 2, 1 egt5Gauge = egt5, "EGT#5", "C", -100, 1400, 100, 200, 900, 1000, 2, 1 egt6Gauge = egt6, "EGT#6", "C", -100, 1400, 100, 200, 900, 1000, 2, 1 egt7Gauge = egt7, "EGT#7", "C", -100, 1400, 100, 200, 900, 1000, 2, 1 egt8Gauge = egt8, "EGT#8", "C", -100, 1400, 100, 200, 900, 1000, 2, 1 gaugeCategory = Sensors - O2 afr1Gauge = AFRValue, "Air/Fuel Ratio", "", 10, 19.4, 12, 13, 15, 16, 2, 2 afr2Gauge = AFRValue2, "Air/Fuel Ratio 2", "", 10, 19.4, 12, 13, 15, 16, 2, 2 wb1heaterDuty = wb1heaterDuty, "WBO1: Heater Duty", "%", 0.0, 100.0, 1.0, 3.0, 90, 95, 1, 1, { canWbo1_type == 0 } wb1tempC = wb1tempC, "WBO1: Sensor t", "C", 500, 1050, 500, 650, 800, 950, 0, 0, { canWbo1_type == 0 } wb1nernstVoltage = wb1nernstVoltage, "WBO1: nernst V", "V", -0.2, 1.1, 0.35, 0.40, 0.50, 0.55, 3, 3, { canWbo1_type == 0 } wb1esr = wb1esr, "WBO1: ESR", "ohms", 0, 600, 200, 200, 350, 400, 0, 0, { canWbo1_type == 0 } wb2heaterDuty = wb2heaterDuty, "WBO2: Heater Duty", "%", 0.0, 100.0, 1.0, 3.0, 90, 95, 1, 1, { canWbo2_type == 0 } wb2tempC = wb2tempC, "WBO2: Sensor t", "C", 500, 1050, 500, 650, 800, 950, 0, 0, { canWbo2_type == 0 } wb2nernstVoltage = wb2nernstVoltage, "WBO2: nernst V", "V", -0.2, 1.1, 0.35, 0.40, 0.50, 0.55, 3, 3, { canWbo2_type == 0 } wb2esr = wb2esr, "WBO2: ESR", "ohms", 0, 600, 200, 200, 350, 400, 0, 0, { canWbo2_type == 0 } gaugeCategory = VVT vvtPositionB1IGauge = vvtPositionB1I, "VVT: bank 1 intake", "deg", -60, 60, -60, -60, 60, 60, 1, 1 vvtPositionB1EGauge = vvtPositionB1E, "VVT: bank 1 exhaust", "deg", -60, 60, -60, -60, 60, 60, 1, 1 vvtPositionB2IGauge = vvtPositionB2I, "VVT: bank 2 intake", "deg", -60, 60, -60, -60, 60, 60, 1, 1 vvtPositionB2EGauge = vvtPositionB2E, "VVT: bank 2 exhaust", "deg", -60, 60, -60, -60, 60, 60, 1, 1 vvtTargets1Gauge = vvtTargets1, "VVT: bank 1 intake target", "deg", -60, 60, -60, -60, 60, 60, 0, 0 vvtTargets2Gauge = vvtTargets2, "VVT: bank 1 exhaust target", "deg", -60, 60, -60, -60, 60, 60, 0, 0 vvtTargets3Gauge = vvtTargets3, "VVT: bank 2 intake target", "deg", -60, 60, -60, -60, 60, 60, 0, 0 vvtTargets4Gauge = vvtTargets4, "VVT: bank 2 exhaust target", "deg", -60, 60, -60, -60, 60, 60, 0, 0 vvtOutput1Gauge = vvtStatus1_output, "vvt: output 1", "", 00, 100, -60, -60, 60, 60, 0, 0 vvtOutput2Gauge = vvtStatus2_output, "vvt: output 2", "", 00, 100, -60, -60, 60, 60, 0, 0 vvtOutput3Gauge = vvtStatus3_output, "vvt: output 3", "", 00, 100, -60, -60, 60, 60, 0, 0 vvtOutput4Gauge = vvtStatus4_output, "vvt: output 4", "", 00, 100, -60, -60, 60, 60, 0, 0 gaugeCategory = Ignition sparkCutReasonGauge = sparkCutReason,"Spark Cut Code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 baseIgnAdvGauge = baseIgnitionAdvance, "Timing: base ignition", "deg", -100, 100, -999, -999, 999, 999, 1, 1 correctedIgnAdvGauge = correctedIgnitionAdvance, "Timing: ignition", "deg", -100, 100, -999, -999, 999, 999, 1, 1 dwellGauge = sparkDwell, "Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 dwellGaugeClamp = sparkDwellClamp, "Dwell Clamp", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 coilDutyCycleGauge = coilDutyCycle, "Ignition: coil duty cycle", "%", 0, 110, 0, 0, 90, 100, 1, 1 ignitionLoadGauge = ignitionLoad, "Ignition: load", "%", 0, 300, 0, 0, 300, 300, 1, 1 gaugeCategory = Acceleration Enrichment deltaTpsGauge = deltaTps, "AE: TPS change", "", 0, 120, 10, 10, 100, 100, 1, 1 deltaTpsAverageGauge = smoothedDeltaTps, "AE: TPS change avg", "%", 0, 120, 10, 10, 100, 100, 1, 1 deltaTpsAverageThresholdGauge = deltaTpsAverageThreshold, "AE: TPS dynamic threshold", "%", 0, 120, 10, 10, 100, 100, 1, 1 ; wotTpsGauge = wotTps, "AE: WOT TPS", "%", 0, 100, 0, 0, 100, 100, 1, 1 tpsAccelFuelGauge = tpsAccelFuel,"AE: TPS enrich", "ms", 0, 120, 10, 10, 100, 100, 1, 1 wallFuelAmountGauge = wallFuelAmount, "AE: wall amount", "mg", 0, 100, 0, 0, 100, 100, 0, 0 wallFuelCorrectionGauge = wallFuelCorrection, "AE: wall correction extra", "mg", -20, 20, -100, -100, 100, 100, 1, 1 gaugeCategory = Fueling ;Name Var Title Units Lo Hi LoD LoW HiW HiD vd ld fuelCutReasonGauge = fuelCutReason,"Fuel Cut Code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 tChargeGauge = sd_tCharge, "Fuel: Estimated charge temperature", "C", -40, 140, -15, 1, 95, 110, 1, 1 baroCorrectionGauge = baroCorrection,"Fuel: Barometric pressure mult", "ratio", 0.5, 1.5, 0.6, 0.7, 1.3, 1.4, 1, 1 crankingFuelGauge = crankingFuel_fuel, "Fuel: cranking", "mg", 0, 100, 0, 0, 100, 100, 3, 1 iatCorrectionGauge = running_intakeTemperatureCoefficient, "Fuel: IAT correction", "mult", 0, 3, 0, 0, 3, 3, 2, 2 cltCorrectionGauge = running_coolantTemperatureCoefficient, "Fuel: CLT correction", "mult", 0, 3, 0, 0, 3, 3, 2, 2 injectorDutyCycleGauge=injectorDutyCycle, "Fuel: injector duty cycle","%", 0, 120, 10, 10, 100, 100, 1, 1 injectorDutyCycleStg2Gauge=injectorDutyCycleStage2, "Fuel: injector duty cycle stage 2","%", 0, 120, 10, 10, 100, 100, 1, 1 actualLastInjectionGauge = actualLastInjection, "Fuel: Last inj pulse width", "mSec", 0, 25.5, 1.0, 1.2, 20, 25, 3, 1 actualLastInjectionStg2Gauge = actualLastInjectionStage2, "Fuel: Last inj pulse width stg 2", "mSec", 0, 25.5, 1.0, 1.2, 20, 25, 3, 1 calculatedLastInjectionGauge = actualLastInjPreSmallPw, "Calculated Primary PW before Small PW correction", "mSec", 0, 3.0, 1.0, 1.2, 20, 25, 3, 4 calculatedLastInjectionStg2Gauge = actualLastInjSTG2PreSmallPw, "Calculated Secondary PW before Small PW correction", "mSec", 0, 3.0, 1.0, 1.2, 20, 25, 3, 4 mafMapBlendPercentageGauge = mafmapBlendPercentage, "MAF/MAP Blend Percentage", "%", 0, 110, 0, 0, 90, 100, 1, 1 mafmapAirmassSplitGauge = mafmapAirmassSplit, "MAF/MAP Split % ", "%", 0, 200, 0, 0, 90, 140, 1, 1 actualLastInjectionRatioGauge = actualLastInjectionRatio, "Fuel: Last inj pulse growth", "", 0, 10, 0.2, 0.5, 2, 5, 3, 1 actualLastInjectionRatioStg2Gauge = actualLastInjectionRatioStage2, "Fuel: Last inj pulse growth stg 2", "", 0, 10, 0.2, 0.5, 2, 5, 3, 1 veValueGauge = veValue, "Fuel: VE", "", 0, 120, 10, 10, 100, 100, 1, 1 currentMafCorrectionGauge = currentMafCorrection, "MAF correction value", "", 0, 120, 10, 10, 100, 100, 1, 1 gegoGauge = Gego, "EGO", "", 50, 160, 10, 10, 100, 100, 1, 1 globalAFRTrimGauge = globalAFRTrim, "Global AFR Trim", "", -1, 1, 10, 10, 100, 100, 1, 1 injectorLagMsGauge = m_deadtime, "injector deadtime", "mSec", 0, 10, 0, 0, 10, 10, 3, 1 fuelRunningGauge = running_fuel, "Fuel: running", "mg", 0, 100, 0, 0, 100, 100, 3, 1 baseFuelGauge = running_baseFuel, "Fuel: base cycle mass", "mg", 0, 100, 0, 0, 100, 100, 2, 0 fuelStftInputError1Gauge = stftInputError1, "STFT input lambda error: Bank 1", "%", -30, 30, -15, -5, 5, 15, 1, 0 fuelStftInputError2Gauge = stftInputError2, "STFT input lambda error: Bank 2", "%", -30, 30, -15, -5, 5, 15, 1, 0 fuelStftCorrection1Gauge = stftCorrection1, "Short Term Fuel Trim: Bank 1", "%", -30, 30, -15, -5, 5, 15, 1, 0 fuelStftCorrection2Gauge = stftCorrection2, "Short Term Fuel Trim: Bank 2", "%", -30, 30, -15, -5, 5, 15, 1, 0 fuelLtftCorrection1Gauge = ltftCorrection1, "Long Term Fuel Trim: Bank 1", "%", -30, 30, -15, -5, 5, 15, 1, 0 fuelLtftCorrection2Gauge = ltftCorrection2, "Long Term Fuel Trim: Bank 2", "%", -30, 30, -15, -5, 5, 15, 1, 0 fuelLtftCntHitGauge = ltftCntHit, "LTFT learning: hits", "cnt", 0, 1000, 0, 1000, 0, 1000, 1, 0 fuelLtftCntMissGauge = ltftCntMiss, "LTFT learning: miss", "cnt", 0, 1000, 0, 1000, 0, 1000, 1, 0 fuelLtftCntDeadbandGauge = ltftCntDeadband, "LTFT learning: deadband", "cnt", 0, 1000, 0, 1000, 0, 1000, 1, 0 fuelLtftAccumulatedCorrection1Gauge = ltftAccummulatedCorrection1, "LTFT learned accumulator: Bank 1", "%", -100, 100, -90, -75, 75, 90, 1, 0 fuelLtftAccumulatedCorrection2Gauge = ltftAccummulatedCorrection2, "LTFT learned accumulator: Bank 2", "%", -100, 100, -90, -75, 75, 90, 1, 0 fuelingLoadGauge = fuelingLoad, "Fuel: Load", "%", 0, 300, 0, 0, 300, 300, 1, 1 mafAirChargeLoadGauge = mafAirChargeLoad, "Maf Air Charge Load", "%", 0, 300, 0, 0, 300, 300, 1, 1 normalizedCylinderFillingGauge = normalizedCylinderFilling, "normalized cylinder filling", "%", 0, 300, 0, 0, 300, 300, 1, 1 totalFuelConsumptionGauge = totalFuelConsumption, "Fuel: Total consumed", "g", 0, 10000, 0, 0, 10000, 10000, 0, 0 fuelFlowRateGauge = fuelFlowRate, "Fuel: Flow rate", "g/s", 0, 50, 0, 0, 50, 50, 2, 0 fuelFlowRateSmoothedGauge = fuelFlowRateSmoothed, "Fuel Flow Rate Smoothed", "g/s", 0, 50, 0, 0, 50, 50, 2, 0 sdAirMass = sdAirmass, "speed density air mass", "g/s", 0, 50, 0, 0, 50, 50, 2, 0 mafAirMass = mafAirmass, "maf air mass", "g/s", 0, 50, 0, 0, 50, 50, 2, 0 targetLambdaGauge = targetLambda,"fuel: target lambda", "", 10, 19.4, 12, 13, 15, 16, 2, 2 currentTargetAfrGauge = targetAFR,"fuel: target AFR", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 fuelPressureCorrectionReferenceGauge = pressureCorrectionReference, "Fuel: corr reference pressure", "kPa", 0, 1000, 0, 0, 1000, 1000, 0, 0 gaugeCategory = Torque throttlePressureRatioGauge = throttlePressureRatio, "throttlePressureRatio", "", 0, 300, 10, 10, 200, 200, 0, 0 throttleEffectiveAreaOpeningGauge = throttleEffectiveAreaOpening, "throttleEffectiveAreaOpening", "", 0, 300, 10, 10, 200, 200, 0, 0 gaugeCategory = Throttle Body pedalPositionGauge = throttlePedalPosition, "Throttle pedal position", "%", -20, 120, -10, -5, 105, 110, 1, 1 tpsADCGauge = tpsADC, "tps1 ADC", "ADC", 0, 1024, 0, 0, 0, 0, 0, 0 tps2ADCGauge = tps2ADC, "tps2 ADC", "ADC", 0, 1024, 0, 0, 0, 0, 0, 0 tpsSecondaryADCGauge = tpsSecondaryADC, "tps1secondary ADC", "ADC", 0, 1024, 0, 0, 0, 0, 0, 0 TPSGauge = TPSValue, "Throttle position", "%", 0, 100, 0, 0, 100, 100, 1, 1 TPS2Gauge = TPS2Value, "Throttle position #2", "%", 0, 100, 0, 0, 100, 100, 1, 1 etbTargetGauge = etb1m_adjustedTarget, "ETB: position target", "%", 0, 100, 0, 0, 100, 100, 1, 1 pedalToTpsIndexGauge = pedalToTpsIndex, "ETB target table ", "#", 0, 6, 0, 0, 100, 100, 1, 1 etbErrorGauge = etbStatus_error, "ETB: position error", "%", -20, 20, -10, -5, 5, 10, 2, 0 tps1SplitGauge = tps1Split, "TPS1 Sensor Split", "%", -20, 20, -10, -5, 5, 10, 2, 0 tps2SplitGauge = tps2Split, "TPS2 Sensor Split", "%", -20, 20, -10, -5, 5, 10, 2, 0 accPedalSplitGauge = accPedalSplit, "Pedal Sensor Split", "%", -20, 20, -10, -5, 5, 10, 2, 0 etbDutyCycleGauge = etb1DutyCycle, "ETB: Duty", "%", -100, 100, -75, -50, 50, 75, 0, 0 gaugeCategory = Sensors - Raw rawTps1PrimaryGauge = rawTps1Primary, "Raw TPS 1 Primary", "V", 0, 5, 0, 0, 5, 5, 3, 0 rawTps1SecondaryGauge = rawTps1Secondary, "Raw TPS 1 Secondary", "V", 0, 5, 0, 0, 5, 5, 3, 0 rawTps2PrimaryGauge = rawTps2Primary, "Raw TPS 2 Primary", "V", 0, 5, 0, 0, 5, 5, 3, 0 rawTps2SecondaryGauge = rawTps2Secondary, "Raw TPS 2 Secondary", "V", 0, 5, 0, 0, 5, 5, 3, 0 rawPpsPrimaryGauge = rawPpsPrimary , "Raw Pedal Primary", "V", 0, 5, 0, 0, 5, 5, 3, 0 rawPpsSecondaryGauge = rawPpsSecondary,"Raw Pedal Secondary","V",0, 5, 0, 0, 5, 5, 3, 0 rawCltGauge = rawClt , "Raw CLT", "V", 0, 5, 0, 0, 5, 5, 3, 0 rawBatteryGauge = rawBattery , "Raw Battery", "V", 0, 5, 0, 0, 5, 5, 3, 0 rawIatGauge = rawIat , "Raw IAT", "V", 0, 5, 0, 0, 5, 5, 3, 0 rawAmbientTempGauge = rawAmbientTemp , "Raw Ambient Temp", "V", 0, 5, 0, 0, 5, 5, 3, 0 rawOilPressureGauge = rawOilPressure, "Raw Oil Pressure", "V", 0, 5, 0, 0, 5, 5, 3, 0 rawOilTemperature = rawOilTemperature, "Raw Oil Temperature", "V", 0, 5, 0, 0, 5, 5, 3, 0 rawFuelLevelGauge = rawFuelLevel, "Raw Fuel Level", "V", 0, 5, 0, 0, 5, 5, 3, 0 rawAcPressureGauge = rawAcPressure, "Raw A/C Pressure", "V", 0, 5, 0, 0, 5, 5, 3, 0 rawIdlePositionSensorGauge = rawIdlePositionSensor, "Raw Idle Position", "V", 0, 5, 0, 0, 5, 5, 3, 0 rawWastegatePositionGauge = rawWastegatePosition,"Raw Wastegate Position","V", 0, 5, 0, 0, 5, 5, 3, 0 rawLowFuelPressureGauge = rawLowFuelPressure,"Raw fuel pressure (low) voltage","V", 0, 5, 0, 0, 5, 5, 3, 0 rawHighFuelPressureGauge = rawHighFuelPressure,"Raw fuel pressure (high) voltage","V", 0, 5, 0, 0, 5, 5, 3, 0 rawMafGauge = rawMaf , "Raw MAF", "V", 0, 5, 0, 0, 5, 5, 3, 0 rawFrequencyMafGauge = rawFrequencyMaf , "Raw Frequency MAF", "hz", 0, 15000, 0, 0, 15000, 15000, 3, 0 rawMapGauge = rawMap , "Raw MAP", "V", 0, 5, 0, 0, 5, 5, 3, 0 rawMapFastGauge = rawMapFast , "Raw MAP Fast", "V", 0, 5, 0, 0, 5, 5, 3, 0 rawMapPreFastGauge = rawMapPreFast , "Raw MAPPRE Fast", "V", 0, 5, 0, 0, 5, 5, 3, 0 rawMafFastGauge = rawMafFast , "Raw MAF Fast", "V", 0, 5, 0, 0, 5, 5, 3, 0 rawAfrGauge = rawAfr , "Raw EGO", "V", 0, 5, 0, 0, 5, 5, 3, 0 vssEdgeCounterGauge = vssEdgeCounter, "Raw VSS", "counter", 0, 5, 0, 0, 5, 5, 0, 0 issEdgeCounterGauge = issEdgeCounter, "Raw ISS", "counter", 0, 5, 0, 0, 5, 5, 0, 0 rawFlexFreqGauge = rawFlexFreq, "Raw Flex", "Hz", 0, 5, 0, 0, 5, 5, 3, 0 gaugeCategory = "Aux sensors" rawAuxLinear1Gauge = rawAuxLinear1, "Raw Aux Linear 1", "V", 0, 5, 0, 0, 5, 5, 3, 0 rawAuxLinear2Gauge = rawAuxLinear2, "Raw Aux Linear 2", "V", 0, 5, 0, 0, 5, 5, 3, 0 rawAuxLinear3Gauge = rawAuxLinear3, "Raw Aux Linear 3", "V", 0, 5, 0, 0, 5, 5, 3, 0 rawAuxLinear4Gauge = rawAuxLinear4, "Raw Aux Linear 4", "V", 0, 5, 0, 0, 5, 5, 3, 0 rawAuxTemp1Gauge = rawAuxTemp1, "Raw Aux Temp1", "V", 0, 5, 0, 0, 5, 5, 3, 0 rawAuxTemp2Gauge = rawAuxTemp2, "Raw Aux Temp2", "V", 0, 5, 0, 0, 5, 5, 3, 0 rawAnalogInput1Gauge = rawAnalogInput1, "Raw Aux 1 LUA", "V", 0, 5, 0, 0, 5, 5, 3, 0 rawAnalogInput2Gauge = rawAnalogInput2, "Raw Aux 2 LUA", "V", 0, 5, 0, 0, 5, 5, 3, 0 rawAnalogInput3Gauge = rawAnalogInput3, "Raw Aux 3 LUA", "V", 0, 5, 0, 0, 5, 5, 3, 0 rawAnalogInput4Gauge = rawAnalogInput4, "Raw Aux 4 LUA", "V", 0, 5, 0, 0, 5, 5, 3, 0 rawAnalogInput5Gauge = rawAnalogInput5, "Raw Aux 5 LUA", "V", 0, 5, 0, 0, 5, 5, 3, 0 rawAnalogInput6Gauge = rawAnalogInput6, "Raw Aux 6 LUA", "V", 0, 5, 0, 0, 5, 5, 3, 0 rawAnalogInput7Gauge = rawAnalogInput7, "Raw Aux 7 LUA", "V", 0, 5, 0, 0, 5, 5, 3, 0 rawAnalogInput8Gauge = rawAnalogInput8, "Raw Aux 8 LUA", "V", 0, 5, 0, 0, 5, 5, 3, 0 AuxL1Gauge = auxLinear1, "Aux linear #1", "", -1000, 1000, -1000, -1000, 1000, 1000, 2, 2 AuxL2Gauge = auxLinear2, "Aux linear #2", "", -1000, 1000, -1000, -1000, 1000, 1000, 2, 2 AuxL3Gauge = auxLinear3, "Aux linear #3", "", -100, 100, -100, -100, 100, 100, 2, 2 AuxL4Gauge = auxLinear4, "Aux linear #4", "", -100, 100, -100, -100, 100, 100, 2, 2 auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 auxSpeed2Gauge = auxSpeed2, "Aux Freq Input2", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 auxSpeed3Gauge = auxSpeed3, "Aux Freq Input3", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 auxSpeed4Gauge = auxSpeed4, "Aux Freq Input4", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 gaugeCategory = Transmission desiredGearGauge = tcu_DesiredGear, "TCU: Desired Gear", "gear", -1, 10, -1, -1, 10, 10, 0, 0 currentGearGauge = tcu_CurrentGear, "TCU: Current Gear", "gear", -1, 10, -1, -1, 10, 10, 0, 0 detectedGearGauge = detectedGear, "Detected Gear", "gear", 0, 10, 0, 0, 10, 10, 0, 0 speedToRpmRatioGauge = speedToRpmRatio, "Gearbox Ratio", "", 0, 100, 0, 0, 100, 100, 4, 4 ISSGauge = ISSValue, "TCU: Input Shaft Speed", "RPM", 0, {rpmHardLimit + 2000}, 200, {cranking_rpm}, {rpmHardLimit - 500}, {rpmHardLimit}, 0, 0 tcRatioGauge = tcu_tcRatio, "TCU: Torque Converter Ratio", "", 0, 100, 0, 0, 100, 100, 4, 4 shiftTimeGauge = tcu_lastShiftTime, "Last Shift Time", "S", 0, 2, 0, 0, 2, 2, 4, 4 idealEngineTorqueGauge = idealEngineTorque, "idealEngineTorque", "", 0, 100, 0, 0, 100, 100, 4, 4 pressureControlGauge = tcu_pressureControlDuty, "EPC Duty Cycle", "%", 0, 100, 0, 0, 100, 100, 0, 0 torqueConverterGauge = tcu_torqueConverterDuty, "TC Duty Cycle", "%", 0, 100, 0, 0, 100, 100, 0, 0 gaugeCategory = Knock knock1Gauge = m_knockCyl1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knock2Gauge = m_knockCyl2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knock3Gauge = m_knockCyl3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knock4Gauge = m_knockCyl4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knock5Gauge = m_knockCyl5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knock6Gauge = m_knockCyl6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knock7Gauge = m_knockCyl7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knock8Gauge = m_knockCyl8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 ;gaugeCategory = DynoView ; accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 gaugeCategory = GPPWM Outputs gppwmGauge1 = gppwmOutput1, { stringValue(gpPwmNote1) }, "%", 0, 100, 0, 0, 100, 100, 1, 1 gppwmGauge2 = gppwmOutput2, { stringValue(gpPwmNote2) }, "%", 0, 100, 0, 0, 100, 100, 1, 1 gppwmGauge3 = gppwmOutput3, { stringValue(gpPwmNote3) }, "%", 0, 100, 0, 0, 100, 100, 1, 1 gppwmGauge4 = gppwmOutput4, { stringValue(gpPwmNote4) }, "%", 0, 100, 0, 0, 100, 100, 1, 1 [WueAnalyze] ; wueCurveName, afrTempCompensationCurve, lambdaTargetTableName, lambdaChannel, coolantTempChannel, egoCorrectionChannel, wueChannel, activeCondition #if LAMBDA wueAnalyzeMap = wueAnalyzer_warmup_curve, wueAfrTargetOffsetCurve, lambdaTableTbl, lambdaValue, coolant, running_coolantTemperatureCoefficient, egoCorrectionForVeAnalyze lambdaTargetTables = lambdaTableTbl, afrTSCustom #else wueAnalyzeMap = wueAnalyzer_warmup_curve, wueAfrTargetOffsetCurve, afrTableTbl, AFRValue, coolant, running_coolantTemperatureCoefficient, egoCorrectionForVeAnalyze lambdaTargetTables = afrTableTbl, afrTSCustom #endif wuePercentOffset = 0 ; for working with 0 based enrichment set to 100 option = disableLiveUpdates option = burnOnSend ; filter = std_DeadLambda ; Auto build filter = decelFilterMap,"After Start Enrich", engine, & , 4 , , false filter = accelFilterTp, "TP Accel Enrich" , engine, & , 16, , false filter = decelFilterTp, "TP Decel Enrich" , engine, & , 32, , false filter = accelFilterMap,"MAP Accel Enrich" , engine, & , 64, , false filter = decelFilterMap,"MAP Decel Enrich" , engine, & , 128, , false ; this works, just another way to skin a cat ;filter = decelFilter, "Decel Flag" , tpsaccden, > , 0, , false filter = overrunFilter, "Overrun" , pulseWidth1, = , 0, , false filter = highThrottle, "High Throttle" , throttle, > , 15, , true filter = lowRpm, "Low RPM" , rpm, < , 300, , false filter = std_Custom ; Standard Custom Expression Filter. [FrontPage] ; Gauges are numbered left to right, top to bottom. ; ; 1 2 3 4 ; 5 6 7 8 gauge1 = RPMGauge gauge2 = CLTGauge gauge3 = TPSGauge gauge4 = MAPGauge #if LAMBDA gauge5 = lambda1Gauge #else gauge5 = afr1Gauge #endif gauge6 = VBattGauge gauge7 = dwellGauge gauge8 = correctedIgnAdvGauge ; = expression, off-label, on-label, off-bg, off-fg, on-bg, on-fg ; Line 1 ; important status ; this is required so that the "config error" feature works in TS ; DO NOT CHANGE THIS LINE - TS is looking for an indicator with particular text/styling ; you don't even have to show it by default ; DO NOT CHANGE THE LINE BELOW indicator = { hasCriticalError }, "Config Error", "Config Error", white, black, red, black ; DO NOT CHANGE THE LINE ABOVE indicator = { needBurn }, "Settings saved", "Unsaved changes", white, black, yellow, black indicator = { isWarnNow }, "No warnings", "Warning", white, black, yellow, black indicator = { checkEngine }, "No Check Engine", "Check Engine", white, black, red, black indicator = { isTriggerError}, "Trigger OK", "Trigger ERR", white, black, red, black indicator = { fuelCutReasonBlinker != 0 }, "Injection OK", { Fuel cut: bitStringValue(fuelIgnCutCodeList, fuelCutReason)}, white, black, yellow, black indicator = { sparkCutReasonBlinker != 0 }, "Ignition OK", { Ign cut: bitStringValue(fuelIgnCutCodeList, sparkCutReason)}, white, black, yellow, black indicator = { etb1etbErrorCodeBlinker != 0 }, "ETB OK", { ETB: bitStringValue(etbCutCodeList, etb1etbErrorCodeBlinker)}, white, black, yellow, black ; minor info indicator = { fan1m_state }, "Fan off", "Fan on", white, black, green, black indicator = { fan2m_state }, "Fan 2 off", "Fan 2 on", white, black, green, black indicator = { mainRelayState }, "Main relay off", "Main relay on", white, black, green, black ; Line 2 ; = expression, off-label, on-label, off-bg, off-fg, on-bg, on-fg indicator = { isFuelPumpOn }, "Fuel pump off", "Fuel pump on", white, black, green, black indicator = { clutchUpState }, "No clutch Up", "Clutch Up", white, black, red, black indicator = { clutchDownState }, "No clutch down", "Clutch down", white, black, yellow, black indicator = { brakePedalState }, "No braking", "Brake down", white, black, red, black indicator = { acButtonState }, "AC Switch off", "AC Switch on", white, black, blue, white indicator = { m_acEnabled }, "AC Relay off", "AC Relay on", white, black, blue, white indicator = { isIdling }, "Not idling", "Idling", white, black, green, black indicator = { isIdleCoasting }, "Not coasting", "Coasting", white, black, green, black indicator = { dfcoActive }, "Not decel fuel cut", "Decel fuel cut", white, black, yellow, black indicator = { isAboveAccelThreshold }, "No TPS accel", "TPS accel active", white, black, yellow, black ; error codes indicator = { isTpsError }, "TPS OK", "TPS error", white, black, red, black ; Line 3 ; = expression, off-label, on-label, off-bg, off-fg, on-bg, on-fg indicator = { isTps2Error }, "TPS 2 OK", "TPS 2 error", white, black, red, black indicator = { isPedalError }, "Pedal OK", "Pedal error", white, black, red, black indicator = { isCltError }, "CLT OK", "CLT error", white, black, red, black indicator = { isIatError }, "IAT OK", "IAT error", white, black, red, black ; not implemented ; indicator = { ind_map_error}, "map", "map error", white, black, red, black indicator = { sd_present }, "No SD card", "SD card present", white, black, green, black indicator = { sd_logging_internal }, "No SD logging", "SD logging", white, black, green, black indicator = { sd_msd }, "No SD USB", "SD USB", white, black, green, black ; indicator = { sd_active_wr }, "SD WR", "SD WR", white, black, green, black ; indicator = { sd_active_rd }, "SD RD", "SD RD", white, black, green, black indicator = { etb1etbRevLimitActive }, "No ETB RPM Limit", "ETB RPM Limit", white, black, yellow, black indicator = { wbo0_hasFault }, "WBO0: Ok", { WBO0: bitStringValue(wboFaultCodeList, wb1faultCode) }, white, black, red, black ; indicator = { isInjectionEnabled && fuelCutReason == 0 }, { Inj: bitStringValue(injModeList, currentInjectionMode) }, { Inj: bitStringValue(injModeList, currentInjectionMode) }, white, black, white, black ; indicator = { isIgnitionEnabled && sparkCutReason == 0 }, { Ign: bitStringValue(ignModeList, currentIgnitionMode) }, { Ign: bitStringValue(ignModeList, currentIgnitionMode) }, white, black, white, black indicator = { canButtonToggle1 }, "CBTN1: NO LAUNCH", "CBTN1: LAUNCH OVERRIDE", white, black, red, black indicator = { canButtonToggle2 }, "CBTN2: DFCO DEFAULT", "CBTN2: DFCO TOGGLE ", white, black, red, black indicator = { canButtonToggle3 }, "CBTN3: NO IDLE UP", "CBTN3: IDLE UP ACTIVE", white, black, red, black indicator = { canButtonToggle4 }, "CBTN4: AIRCON OFF", "CBTN4: AIRCON ON", white, black, red, black indicator = { canButtonToggle5 }, "CBTN5: ANTILAG OFF", "CBTN5: ANTILAG ON", white, black, red, black indicator = { canButtonToggle6 }, "CBTN6: TRAC ON", "CBTN6: TRAC OFF", white, black, red, black indicator = { canButtonToggle7 }, "CBTN7: OFF", "CBTN7: ON", white, black, red, black indicator = { canButtonToggle8 }, "CBTN8: OFF", "CBTN8: ON", white, black, red, black indicator = { stftCorrectionState == 0 }, "STFT Correcting", "STFT Not Correct", white, black, red, black indicator = { stftLearningState1 == 0 },"STFT1 Learning Fuel1", "STFT Not Learning1", white, black, red, black indicator = { stftLearningState2 == 0 },"STFT2 Learning Fuel2", "STFT Not Learning2", white, black, red, black indicator = { canButtonToggle9 }, "CBTN9: OFF", "CBTN9: ON", white, black, red, black indicator = { canButtonToggle10 }, "CBTN10: OFF", "CBTN10: ON ", white, black, red, black indicator = { canButtonToggle11 }, "CBTN11: OFF", "CBTN11: ON", white, black, red, black indicator = { canButtonToggle12 }, "CBTN12: OFF", "CBTN12: ON", white, black, red, black indicator = { canButtonToggle13 }, "CBTN13: OFF", "CBTN13: ON", white, black, red, black indicator = { canButtonToggle14 }, "CBTN14: OFF", "CBTN14: ON", white, black, red, black indicator = { canButtonToggle15 }, "CBTN15: OFF", "CBTN15: ON", white, black, red, black indicator = { canButtonToggle16 }, "CBTN16: OFF", "CBTN16: ON", white, black, red, black indicator = { canButtonToggle16 }, "CBTN16: OFF", "CBTN16: ON", white, black, red, black indicator = { can_blend_ve_1_toggle }, "CANTBLSW: ve1 ", "CANTBLSW: ve1 ON ", white, black, red, black indicator = { can_blend_ve_2_toggle }, "CANTBLSW: ve2 ", "CANTBLSW: ve2 ON ", white, black, red, black indicator = { can_blend_ign_1_toggle }, "CANTBLSW: ign1 ", "CANTBLSW: ign1 ON ", white, black, red, black indicator = { can_blend_ign_2_toggle }, "CANTBLSW: ign2 ", "CANTBLSW: ign2 ON ", white, black, red, black indicator = { can_blend_afr_1_toggle }, "CANTBLSW: afr1 ", "CANTBLSW: afr1 ON ", white, black, red, black indicator = { can_blend_clboost_1_toggle }, "CANTBLSW: clbst1 ", "CANTBLSW: clbst1 ON ", white, black, red, black indicator = { can_blend_olboost_1_toggle }, "CANTBLSW: olbst1 ", "CANTBLSW: olbst1 ON ", white, black, red, black indicator = { veTableSwitch1Active }, "TBLSW: ve1 ", "TBLSW: ve1 ON ", white, black, red, black indicator = { veTableSwitch2Active }, "TBLSW: ve2 ", "TBLSW: ve2 ON ", white, black, red, black indicator = { ignTableSwitch1Active }, "TBLSW: ign1 ", "TBLSW: ign1 ON ", white, black, red, black indicator = { ignTableSwitch2Active }, "TBLSW: ign2 ", "TBLSW: ign2 ON ", white, black, red, black indicator = { afrTableSwitch1Active }, "TBLSW: afr1 ", "TBLSW: afr1 ON ", white, black, red, black indicator = { clBoostTableSwitch1Active }, "TBLSW: clbst1 ", "TBLSW: clbst1 ON ", white, black, red, black indicator = { olBoostTableSwitch1Active }, "TBLSW: olbst1 ", "TBLSW: olbst1 ON ", white, black, red, black indicator = { isAntilagCondition }, "ANTILAG OFF", "ANTILAG ON", white, black, red, black indicator = { ALSLatchActive }, "ANTILAG LATCHED", "ANTILAG NOT LATCHED", white, black, red, black ; looks like TS would append four system indicators below: Data Logging, ???, Not Connected, Protocol Error [KeyActions] showPanel = spi, spiBuses showPanel = con, connection ; ; this section defines how we log output channels ; see [OutputChannels] ; [Datalog] ; Channel Label Type Format entry = time, "Time", float, "%.3f" entry = sd_present, "SD: Present", int, "%d" entry = sd_logging_internal, "SD: Logging", int, "%d" entry = triggerScopeReady, "triggerScopeReady", int, "%d" entry = antilagTriggered, "antilagTriggered", int, "%d" entry = isO2HeaterOn, "isO2HeaterOn", int, "%d" entry = checkEngine, "checkEngine", int, "%d" entry = needBurn, "needBurn", int, "%d" entry = sd_msd, "SD: MSD", int, "%d" entry = toothLogReady, "Tooth Logger Ready", int, "%d" entry = isTpsError, "Error: TPS", int, "%d" entry = isCltError, "Error: CLT", int, "%d" entry = isMapError, "Error: MAP", int, "%d" entry = isIatError, "Error: IAT", int, "%d" entry = isTriggerError, "Error: Trigger", int, "%d" entry = hasCriticalError, "Error: Active", int, "%d" entry = isWarnNow, "Warning: Active", int, "%d" entry = isPedalError, "Error: Pedal", int, "%d" entry = launchTriggered, "Launch Control Triggered", int, "%d" entry = isTps2Error, "Error: TPS2", int, "%d" entry = injectorFault, "Injector Fault", int, "%d" entry = ignitionFault, "Ignition Fault", int, "%d" entry = isUsbConnected, "isUsbConnected", int, "%d" entry = dfcoActive, "dfcoActive", int, "%d" entry = sd_active_wr, "SD card writing", int, "%d" entry = sd_active_rd, "SD card reading", int, "%d" entry = isMapValid, "MAP from sensor seems valid", int, "%d" entry = triggerPageRefreshFlag, "triggerPageRefreshFlag", int, "%d" entry = hasFaultReportFile, "hasFaultReportFile", int, "%d" entry = isAnalogFailure, "Analog sensors supply failure", int, "%d" entry = sd_formating, "SD: formating is in progress", int, "%d" entry = isMapAveraging, "isMapAveraging", int, "%d" entry = RPMValue, "RPM", int, "%d" entry = rpmAcceleration, "dRPM", int, "%d" entry = speedToRpmRatio, "Gearbox Ratio", float, "%.3f" entry = internalMcuTemperature, "ECU: CPU Temperature", int, "%d" entry = internalVref, "internalVref", float, "%.3f" entry = coolant, "CLT", float, "%.3f" entry = intake, "IAT", float, "%.3f" entry = auxTemp1, "auxTemp1", float, "%.3f" entry = auxTemp2, "auxTemp2", float, "%.3f" entry = TPSValue, "TPS", float, "%.3f" entry = throttlePedalPosition, "Throttle pedal position", float, "%.3f" entry = DriverThrottleIntent, "DriverThrottleIntent", float, "%.3f" entry = tpsADC, "tpsADC", int, "%d" entry = tps2ADC, "tps2ADC", int, "%d" entry = rawMaf, "rawMaf", float, "%.3f" entry = rawFrequencyMaf, "rawFrequencyMaf", int, "%d" entry = mafMeasured, "MAF", float, "%.3f" entry = frequencyMafMeasured, "frequencyMafMeasured", float, "%.3f" entry = MAFValueSmoothed, "maf model value", float, "%.3f" entry = MAPValue, "MAP", float, "%.3f" entry = baroPressure, "baroPressure", float, "%.3f" entry = lambdaValue, "Lambda", float, "%.3f" entry = VBatt, "VBatt", float, "%.3f" entry = VBattAvg, "vbatavg", float, "%.3f" entry = oilPressure, "Oil Pressure", float, "%.3f" entry = vvtPositionB1I, "VVT: bank 1 intake", float, "%.3f" entry = actualLastInjection, "Fuel: Last inj pulse width", float, "%.3f" entry = actualLastInjectionRatio, "Fuel: Last inj pulse growth", float, "%.3f" entry = stopEngineCode, "stopEngineCode", int, "%d" entry = injectorDutyCycle, "Fuel: injector duty cycle", float, "%.3f" entry = injectionOffset, "Fuel: Injection timing SOI", int, "%d" entry = engineMakeCodeNameCrc16, "Engine CRC16", int, "%d" entry = wallFuelAmount, "Fuel: wall amount", float, "%.3f" entry = wallFuelCorrectionValue, "Fuel: wall correction", float, "%.3f" entry = revolutionCounterSinceStart, "revolutionCounterSinceStart", int, "%d" entry = canReadCounter, "CAN: Rx", int, "%d" entry = tpsAccelFuel, "Fuel: TPS AE add fuel ms", float, "%.3f" entry = currentIgnitionMode, "Ignition: Mode", int, "%d" entry = currentInjectionMode, "Fuel: Injection mode", int, "%d" entry = coilDutyCycle, "Ignition: coil duty cycle", float, "%.3f" entry = etb1DutyCycle, "ETB: Duty", float, "%.3f" entry = fuelTankLevel, "Fuel level", float, "%.3f" entry = totalFuelConsumption, "Fuel: Total consumed", int, "%d" entry = fuelFlowRate, "Fuel: Flow rate", float, "%.3f" entry = fuelFlowRateSmoothed, "Fuel Flow Rate Smoothed", float, "%.3f" entry = TPS2Value, "TPS2", float, "%.3f" entry = tuneCrc16, "Tune CRC16", int, "%d" entry = veValue, "Fuel: VE", float, "%.3f" entry = seconds, "Uptime", int, "%d" entry = engineMode, "Engine Mode", int, "%d" entry = firmwareVersion, "firmware", int, "%d" entry = rawIdlePositionSensor, "rawIdlePositionSensor", float, "%.3f" entry = rawWastegatePosition, "rawWastegatePosition", float, "%.3f" entry = accelerationLat, "Accel: Lateral", float, "%.3f" entry = accelerationLon, "Accel: Longitudinal", float, "%.3f" entry = detectedGear, "Detected Gear", int, "%d" entry = maxTriggerReentrant, "maxTriggerReentrant", int, "%d" entry = rawLowFuelPressure, "rawLowFuelPressure", float, "%.3f" entry = rawHighFuelPressure, "rawHighFuelPressure", float, "%.3f" entry = lowFuelPressure, "Fuel pressure (low)", float, "%.3f" entry = flexPercent, "Flex Ethanol %", float, "%.3f" entry = wastegatePositionSensor, "Wastegate position sensor", float, "%.3f" entry = highFuelPressure, "Fuel pressure (high)", float, "%.3f" entry = calibrationValue, "calibrationValue", float, "%.3f" entry = calibrationMode, "calibrationMode", int, "%d" entry = idleStepperTargetPosition, "Idle: Stepper target position", int, "%d" entry = totalTriggerErrorCounter, "Trigger Error Counter", int, "%d" entry = orderingErrorCounter, "orderingErrorCounter", int, "%d" entry = warningCounter, "Warning: counter", int, "%d" entry = lastErrorCode, "Warning: last", int, "%d" entry = recentErrorCode1, "Warning code 1", int, "%d" entry = recentErrorCode2, "Warning code 2", int, "%d" entry = recentErrorCode3, "Warning code 3", int, "%d" entry = recentErrorCode4, "Warning code 4", int, "%d" entry = recentErrorCode5, "Warning code 5", int, "%d" entry = recentErrorCode6, "Warning code 6", int, "%d" entry = recentErrorCode7, "Warning code 7", int, "%d" entry = recentErrorCode8, "Warning code 8", int, "%d" entry = egt1, "EGT 1", float, "%.3f" entry = egt2, "EGT 2", float, "%.3f" entry = egt3, "EGT 3", float, "%.3f" entry = egt4, "EGT 4", float, "%.3f" entry = egt5, "EGT 5", float, "%.3f" entry = egt6, "EGT 6", float, "%.3f" entry = egt7, "EGT 7", float, "%.3f" entry = egt8, "EGT 8", float, "%.3f" entry = rawTps1Primary, "rawTps1Primary", float, "%.3f" entry = rawClt, "rawClt", float, "%.3f" entry = rawIat, "rawIat", float, "%.3f" entry = rawOilPressure, "rawOilPressure", float, "%.3f" entry = rawAcPressure, "rawAcPressure", float, "%.3f" entry = rawFuelLevel, "rawFuelLevel", float, "%.3f" entry = rawPpsPrimary, "rawPpsPrimary", float, "%.3f" entry = rawPpsSecondary, "rawPpsSecondary", float, "%.3f" entry = rawRawPpsPrimary, "rawRawPpsPrimary", float, "%.3f" entry = rawRawPpsSecondary, "rawRawPpsSecondary", float, "%.3f" entry = idlePositionSensor, "Idle: Position sensor", float, "%.3f" entry = AFRValue, "Air/Fuel Ratio", float, "%.3f" entry = AFRValue2, "Air/Fuel Ratio 2", float, "%.3f" entry = RealAFRValue, "Smoothed Air/Fuel Ratio", float, "%.3f" entry = RealAFRValue2, "Smoothed Air/Fuel Ratio 2", float, "%.3f" entry = VssAcceleration, "Vss Accel", float, "%.3f" entry = lambdaValue2, "Lambda 2", float, "%.3f" entry = vvtPositionB1E, "VVT: bank 1 exhaust", float, "%.3f" entry = vvtPositionB2I, "VVT: bank 2 intake", float, "%.3f" entry = vvtPositionB2E, "VVT: bank 2 exhaust", float, "%.3f" entry = rawTps1Secondary, "rawTps1Secondary", float, "%.3f" entry = rawTps2Primary, "rawTps2Primary", float, "%.3f" entry = rawTps2Secondary, "rawTps2Secondary", float, "%.3f" entry = accelerationVert, "Accel: Vertical", float, "%.3f" entry = gyroYaw, "Gyro: Yaw rate", float, "%.3f" entry = vvtTargets1, "vvtTargets 1", int, "%d" entry = vvtTargets2, "vvtTargets 2", int, "%d" entry = vvtTargets3, "vvtTargets 3", int, "%d" entry = vvtTargets4, "vvtTargets 4", int, "%d" entry = turboSpeed, "Turbocharger Speed", int, "%d" entry = ignitionAdvanceCyl1, "Ign: Timing Cyl 1", float, "%.3f" entry = ignitionAdvanceCyl2, "Ign: Timing Cyl 2", float, "%.3f" entry = ignitionAdvanceCyl3, "Ign: Timing Cyl 3", float, "%.3f" entry = ignitionAdvanceCyl4, "Ign: Timing Cyl 4", float, "%.3f" entry = ignitionAdvanceCyl5, "Ign: Timing Cyl 5", float, "%.3f" entry = ignitionAdvanceCyl6, "Ign: Timing Cyl 6", float, "%.3f" entry = ignitionAdvanceCyl7, "Ign: Timing Cyl 7", float, "%.3f" entry = ignitionAdvanceCyl8, "Ign: Timing Cyl 8", float, "%.3f" entry = tps1Split, "tps1Split", float, "%.3f" entry = tps2Split, "tps2Split", float, "%.3f" entry = tps12Split, "tps12Split", float, "%.3f" entry = accPedalSplit, "accPedalSplit", float, "%.3f" entry = accPedalUnfiltered, "accPedalUnfiltered", float, "%.3f" entry = sparkCutReason, "Ign: Cut Code", int, "%d" entry = fuelCutReason, "Fuel: Cut Code", int, "%d" entry = mafEstimate, "Air: Flow estimate", float, "%.3f" entry = instantRpm, "sync: instant RPM", int, "%d" entry = rawMap, "rawMap", float, "%.3f" entry = rawMapFast, "rawMapFast", float, "%.3f" entry = rawMapPreFast, "rawMapPreFast", float, "%.3f" entry = rawMafFast, "rawMafFast", float, "%.3f" entry = rawAfr, "rawAfr", float, "%.3f" entry = rawFuelTankLevel, "Raw: Fuel level", float, "%.3f" entry = calibrationValue2, "calibrationValue2", float, "%.3f" entry = luaInvocationCounter, "Lua: Tick counter", int, "%d" entry = luaLastCycleDuration, "Lua: Last tick duration", int, "%d" entry = vssEdgeCounter, "vssEdgeCounter", int, "%d" entry = issEdgeCounter, "issEdgeCounter", int, "%d" entry = auxLinear1, "Aux linear #1", float, "%.3f" entry = auxLinear2, "Aux linear #2", float, "%.3f" entry = auxLinear3, "Aux linear #3", float, "%.3f" entry = auxLinear4, "Aux linear #4", float, "%.3f" entry = fallbackMap, "fallbackMap", float, "%.3f" entry = effectiveMap, "Effective MAP", float, "%.3f" entry = instantMAPValue, "Instant MAP", float, "%.3f" entry = maxLockedDuration, "maxLockedDuration", int, "%d" entry = canWriteOk, "CAN: Tx OK", int, "%d" entry = canWriteNotOk, "CAN: Tx err", int, "%d" entry = triggerPrimaryFall, "triggerPrimaryFall", int, "%d" entry = triggerPrimaryRise, "triggerPrimaryRise", int, "%d" entry = triggerSecondaryFall, "triggerSecondaryFall", int, "%d" entry = triggerSecondaryRise, "triggerSecondaryRise", int, "%d" entry = starterState, "starterState", int, "%d" entry = starterRelayDisable, "starterRelayDisable", int, "%d" entry = multiSparkCounter, "Ign: Multispark count", int, "%d" entry = extiOverflowCount, "extiOverflowCount", int, "%d" entry = alternatorStatus_pTerm, "alternatorStatus_pTerm", float, "%.3f" entry = alternatorStatus_iTerm, "alternatorStatus_iTerm", float, "%.3f" entry = alternatorStatus_dTerm, "alternatorStatus_dTerm", float, "%.3f" entry = alternatorStatus_output, "alternatorStatus_output", float, "%.3f" entry = alternatorStatus_error, "alternatorStatus_error", float, "%.3f" entry = alternatorStatus_resetCounter, "alternatorStatus_resetCounter", int, "%d" entry = idleStatus_pTerm, "idleStatus_pTerm", float, "%.3f" entry = idleStatus_iTerm, "idleStatus_iTerm", float, "%.3f" entry = idleStatus_dTerm, "idleStatus_dTerm", float, "%.3f" entry = idleStatus_output, "idleStatus_output", float, "%.3f" entry = idleStatus_error, "idleStatus_error", float, "%.3f" entry = idleStatus_resetCounter, "idleStatus_resetCounter", int, "%d" entry = etbStatus_pTerm, "etbStatus_pTerm", float, "%.3f" entry = etbStatus_iTerm, "etbStatus_iTerm", float, "%.3f" entry = etbStatus_dTerm, "etbStatus_dTerm", float, "%.3f" entry = etbStatus_output, "etbStatus_output", float, "%.3f" entry = etbStatus_error, "etbStatus_error", float, "%.3f" entry = etbStatus_resetCounter, "etbStatus_resetCounter", int, "%d" entry = boostStatus_pTerm, "boostStatus_pTerm", float, "%.3f" entry = boostStatus_iTerm, "boostStatus_iTerm", float, "%.3f" entry = boostStatus_dTerm, "boostStatus_dTerm", float, "%.3f" entry = boostStatus_output, "boostStatus_output", float, "%.3f" entry = boostStatus_error, "boostStatus_error", float, "%.3f" entry = boostStatus_resetCounter, "boostStatus_resetCounter", int, "%d" entry = wastegateDcStatus_pTerm, "wastegateDcStatus_pTerm", float, "%.3f" entry = wastegateDcStatus_iTerm, "wastegateDcStatus_iTerm", float, "%.3f" entry = wastegateDcStatus_dTerm, "wastegateDcStatus_dTerm", float, "%.3f" entry = wastegateDcStatus_output, "wastegateDcStatus_output", float, "%.3f" entry = wastegateDcStatus_error, "wastegateDcStatus_error", float, "%.3f" entry = wastegateDcStatus_resetCounter, "wastegateDcStatus_resetCounter", int, "%d" entry = vvtStatus1_pTerm, "vvtStatus1_pTerm", float, "%.3f" entry = vvtStatus1_iTerm, "vvtStatus1_iTerm", float, "%.3f" entry = vvtStatus1_dTerm, "vvtStatus1_dTerm", float, "%.3f" entry = vvtStatus1_output, "vvtStatus1_output", float, "%.3f" entry = vvtStatus1_error, "vvtStatus1_error", float, "%.3f" entry = vvtStatus1_resetCounter, "vvtStatus1_resetCounter", int, "%d" entry = vvtStatus2_pTerm, "vvtStatus2_pTerm", float, "%.3f" entry = vvtStatus2_iTerm, "vvtStatus2_iTerm", float, "%.3f" entry = vvtStatus2_dTerm, "vvtStatus2_dTerm", float, "%.3f" entry = vvtStatus2_output, "vvtStatus2_output", float, "%.3f" entry = vvtStatus2_error, "vvtStatus2_error", float, "%.3f" entry = vvtStatus2_resetCounter, "vvtStatus2_resetCounter", int, "%d" entry = vvtStatus3_pTerm, "vvtStatus3_pTerm", float, "%.3f" entry = vvtStatus3_iTerm, "vvtStatus3_iTerm", float, "%.3f" entry = vvtStatus3_dTerm, "vvtStatus3_dTerm", float, "%.3f" entry = vvtStatus3_output, "vvtStatus3_output", float, "%.3f" entry = vvtStatus3_error, "vvtStatus3_error", float, "%.3f" entry = vvtStatus3_resetCounter, "vvtStatus3_resetCounter", int, "%d" entry = vvtStatus4_pTerm, "vvtStatus4_pTerm", float, "%.3f" entry = vvtStatus4_iTerm, "vvtStatus4_iTerm", float, "%.3f" entry = vvtStatus4_dTerm, "vvtStatus4_dTerm", float, "%.3f" entry = vvtStatus4_output, "vvtStatus4_output", float, "%.3f" entry = vvtStatus4_error, "vvtStatus4_error", float, "%.3f" entry = vvtStatus4_resetCounter, "vvtStatus4_resetCounter", int, "%d" entry = auxSpeed1, "Aux speed 1", int, "%d" entry = auxSpeed2, "Aux speed 2", int, "%d" entry = ISSValue, "TCU: Input Shaft Speed", int, "%d" entry = rawAnalogInput1, "rawAnalogInput 1", float, "%.3f" entry = rawAnalogInput2, "rawAnalogInput 2", float, "%.3f" entry = rawAnalogInput3, "rawAnalogInput 3", float, "%.3f" entry = rawAnalogInput4, "rawAnalogInput 4", float, "%.3f" entry = rawAnalogInput5, "rawAnalogInput 5", float, "%.3f" entry = rawAnalogInput6, "rawAnalogInput 6", float, "%.3f" entry = rawAnalogInput7, "rawAnalogInput 7", float, "%.3f" entry = rawAnalogInput8, "rawAnalogInput 8", float, "%.3f" entry = gppwmOutput1, "GPPWM Output 1", float, "%.3f" entry = gppwmOutput2, "GPPWM Output 2", float, "%.3f" entry = gppwmOutput3, "GPPWM Output 3", float, "%.3f" entry = gppwmOutput4, "GPPWM Output 4", float, "%.3f" entry = gppwmXAxis1, "gppwmXAxis 1", int, "%d" entry = gppwmXAxis2, "gppwmXAxis 2", int, "%d" entry = gppwmXAxis3, "gppwmXAxis 3", int, "%d" entry = gppwmXAxis4, "gppwmXAxis 4", int, "%d" entry = gppwmYAxis1, "gppwmYAxis 1", float, "%.3f" entry = gppwmYAxis2, "gppwmYAxis 2", float, "%.3f" entry = gppwmYAxis3, "gppwmYAxis 3", float, "%.3f" entry = gppwmYAxis4, "gppwmYAxis 4", float, "%.3f" entry = rawBattery, "rawBattery", float, "%.3f" entry = ignBlendParameter1, "ignBlendParameter 1", float, "%.3f" entry = ignBlendParameter2, "ignBlendParameter 2", float, "%.3f" entry = ignBlendBias1, "ignBlendBias 1", float, "%.3f" entry = ignBlendBias2, "ignBlendBias 2", float, "%.3f" entry = ignBlendOutput1, "ignBlendOutput 1", float, "%.3f" entry = ignBlendOutput2, "ignBlendOutput 2", float, "%.3f" entry = ignBlendYAxis1, "ignBlendYAxis 1", float, "%.3f" entry = ignBlendYAxis2, "ignBlendYAxis 2", float, "%.3f" entry = veBlendParameter1, "veBlendParameter 1", float, "%.3f" entry = veBlendParameter2, "veBlendParameter 2", float, "%.3f" entry = veBlendBias1, "veBlendBias 1", float, "%.3f" entry = veBlendBias2, "veBlendBias 2", float, "%.3f" entry = veBlendOutput1, "veBlendOutput 1", float, "%.3f" entry = veBlendOutput2, "veBlendOutput 2", float, "%.3f" entry = veBlendYAxis1, "veBlendYAxis 1", float, "%.3f" entry = veBlendYAxis2, "veBlendYAxis 2", float, "%.3f" entry = boostOpenLoopBlendParameter1, "boostOpenLoopBlendParameter 1", float, "%.3f" entry = boostOpenLoopBlendBias1, "boostOpenLoopBlendBias 1", float, "%.3f" entry = boostOpenLoopBlendOutput1, "boostOpenLoopBlendOutput 1", int, "%d" entry = boostOpenLoopBlendYAxis1, "boostOpenLoopBlendYAxis 1", float, "%.3f" entry = boostClosedLoopBlendParameter1, "boostClosedLoopBlendParameter 1", float, "%.3f" entry = boostClosedLoopBlendBias1, "boostClosedLoopBlendBias 1", float, "%.3f" entry = boostClosedLoopBlendOutput1, "boostClosedLoopBlendOutput 1", float, "%.3f" entry = boostClosedLoopBlendYAxis1, "boostClosedLoopBlendYAxis 1", float, "%.3f" entry = targetAfrBlendParameter1, "targetAfrBlendParameter 1", float, "%.3f" entry = targetAfrBlendBias1, "targetAfrBlendBias 1", float, "%.3f" entry = targetAfrBlendOutput1, "targetAfrBlendOutput 1", float, "%.3f" entry = targetAfrBlendYAxis1, "targetAfrBlendYAxis 1", float, "%.3f" entry = coilState1, "coilState1", int, "%d" entry = coilState2, "coilState2", int, "%d" entry = coilState3, "coilState3", int, "%d" entry = coilState4, "coilState4", int, "%d" entry = coilState5, "coilState5", int, "%d" entry = coilState6, "coilState6", int, "%d" entry = coilState7, "coilState7", int, "%d" entry = coilState8, "coilState8", int, "%d" entry = coilState9, "coilState9", int, "%d" entry = coilState10, "coilState10", int, "%d" entry = coilState11, "coilState11", int, "%d" entry = coilState12, "coilState12", int, "%d" entry = injectorState1, "injectorState1", int, "%d" entry = injectorState2, "injectorState2", int, "%d" entry = injectorState3, "injectorState3", int, "%d" entry = injectorState4, "injectorState4", int, "%d" entry = injectorState5, "injectorState5", int, "%d" entry = injectorState6, "injectorState6", int, "%d" entry = injectorState7, "injectorState7", int, "%d" entry = injectorState8, "injectorState8", int, "%d" entry = injectorState9, "injectorState9", int, "%d" entry = injectorState10, "injectorState10", int, "%d" entry = injectorState11, "injectorState11", int, "%d" entry = injectorState12, "injectorState12", int, "%d" entry = triggerChannel1, "triggerChannel1", int, "%d" entry = triggerChannel2, "triggerChannel2", int, "%d" entry = vvtChannel1, "bank 1 intake cam input", int, "%d" entry = vvtChannel2, "bank 1 exhaust cam input", int, "%d" entry = vvtChannel3, "bank 2 intake cam input", int, "%d" entry = vvtChannel4, "bank 2 exhaust cam input", int, "%d" entry = isMapPreValid, "MAPPRE from sensor seems valid", int, "%d" entry = outputRequestPeriod, "outputRequestPeriod", int, "%d" entry = mapFast, "mapFast", float, "%.3f" entry = luaGauges1, "Lua: Gauge 1", float, "%.3f" entry = luaGauges2, "Lua: Gauge 2", float, "%.3f" entry = luaGauges3, "Lua: Gauge 3", float, "%.3f" entry = luaGauges4, "Lua: Gauge 4", float, "%.3f" entry = luaGauges5, "Lua: Gauge 5", float, "%.3f" entry = luaGauges6, "Lua: Gauge 6", float, "%.3f" entry = luaGauges7, "Lua: Gauge 7", float, "%.3f" entry = luaGauges8, "Lua: Gauge 8", float, "%.3f" entry = rawMaf2, "rawMaf2", float, "%.3f" entry = mafMeasured2, "MAF #2", float, "%.3f" entry = schedulingUsedCount, "schedulingUsedCount", int, "%d" entry = vehicleSpeedKph, "Vehicle Speed", float, "%.3f" entry = Gego, "Gego", float, "%.3f" entry = testBenchIter, "testBenchIter", int, "%d" entry = oilTemp, "oilTemp", float, "%.3f" entry = fuelTemp, "fuelTemp", float, "%.3f" entry = ambientTemp, "ambientTemp", float, "%.3f" entry = compressorDischargeTemp, "compressorDischargeTemp", float, "%.3f" entry = compressorDischargePressure, "compressorDischargePressure", float, "%.3f" entry = throttleInletPressure, "throttleInletPressure", float, "%.3f" entry = ignitionOnTime, "ignitionOnTime", int, "%d" entry = engineRunTime, "engineRunTime", int, "%d" entry = distanceTraveled, "distanceTraveled", float, "%.3f" entry = afrGasolineScale, "Air/Fuel Ratio (Gas Scale)", float, "%.3f" entry = afr2GasolineScale, "Air/Fuel Ratio 2 (Gas Scale)", float, "%.3f" entry = wheelSlipRatio, "wheelSlipRatio", float, "%.3f" entry = actualLastInjectionStage2, "Fuel: Last inj pulse width stg 2", float, "%.3f" entry = actualLastInjectionRatioStage2, "Fuel: Last inj pulse growth stg 2", float, "%.3f" entry = injectorDutyCycleStage2, "Fuel: injector duty cycle stage 2", float, "%.3f" entry = rawFlexFreq, "rawFlexFreq", int, "%d" entry = canReWidebandCmdStatus, "canReWidebandCmdStatus", int, "%d" entry = deviceUid, "deviceUid", int, "%d" entry = mc33810spiErrorCounter, "mc33810spiErrorCounter", int, "%d" entry = injectionPrimingCounter, "injectionPrimingCounter", int, "%d" entry = acPressure, "A/C pressure", float, "%.3f" entry = rawAuxAnalog1, "rawAuxAnalog1", float, "%.3f" entry = rawAuxAnalog2, "rawAuxAnalog2", float, "%.3f" entry = rawAuxAnalog3, "rawAuxAnalog3", float, "%.3f" entry = rawAuxAnalog4, "rawAuxAnalog4", float, "%.3f" entry = fastAdcErrorCount, "ECU: Fast ADC errors", int, "%d" entry = slowAdcErrorCount, "ECU: Slow ADC errors", int, "%d" entry = rawAuxTemp1, "rawAuxTemp1", float, "%.3f" entry = rawAuxTemp2, "rawAuxTemp2", float, "%.3f" entry = rawAmbientTemp, "rawAmbientTemp", float, "%.3f" entry = rtcUnixEpochTime, "rtcUnixEpochTime", int, "%d" entry = sparkCutReasonBlinker, "sparkCutReasonBlinker", int, "%d" entry = fuelCutReasonBlinker, "fuelCutReasonBlinker", int, "%d" entry = throttlePressureRatio, "throttlePressureRatio", float, "%.3f" entry = throttleEffectiveAreaOpening, "throttleEffectiveAreaOpening", float, "%.3f" entry = mcuSerial, "mcuSerial", int, "%d" entry = sd_error, "sd_error", int, "%d" entry = fastAdcOverrunCount, "ECU: Fast ADC overruns", int, "%d" entry = slowAdcOverrunCount, "ECU: Slow ADC overruns", int, "%d" entry = fastAdcLastError, "ECU: Fast ADC error type", int, "%d" entry = fastAdcPeriod, "ECU: Fast ADC period", int, "%d" entry = fastAdcConversionCount, "ECU: Fast ADC conversions", int, "%d" entry = canReWidebandVersion, "canReWidebandVersion", int, "%d" entry = canReWidebandFwDay, "canReWidebandFwDay", int, "%d" entry = canReWidebandFwMon, "canReWidebandFwMon", int, "%d" entry = canReWidebandFwYear, "canReWidebandFwYear", int, "%d" entry = transitionEventCode, "transitionEventCode", int, "%d" entry = transitionEventsCounter, "transitionEventsCounter", int, "%d" entry = mapPerCylinder1, "map per cylinder 1", float, "%.3f" entry = mapPerCylinder2, "map per cylinder 2", float, "%.3f" entry = mapPerCylinder3, "map per cylinder 3", float, "%.3f" entry = mapPerCylinder4, "map per cylinder 4", float, "%.3f" entry = mapPerCylinder5, "map per cylinder 5", float, "%.3f" entry = mapPerCylinder6, "map per cylinder 6", float, "%.3f" entry = mapPerCylinder7, "map per cylinder 7", float, "%.3f" entry = mapPerCylinder8, "map per cylinder 8", float, "%.3f" entry = ignBlendTableValue1, "ignBlendTableValue 1", float, "%.3f" entry = ignBlendTableValue2, "ignBlendTableValue 2", float, "%.3f" entry = veBlendTableValue1, "veBlendTableValue 1", float, "%.3f" entry = veBlendTableValue2, "veBlendTableValue 2", float, "%.3f" entry = boostOpenLoopBlendTableValue1, "boostOpenLoopBlendTableValue 1", float, "%.3f" entry = boostClosedLoopBlendTableValue1, "boostClosedLoopBlendTableValue 1", float, "%.3f" entry = targetAfrBlendTableValue1, "targetAfrBlendTableValue 1", float, "%.3f" entry = canButtonToggle15, "canButtonToggle15", int, "%d" entry = canButtonToggle16, "canButtonToggle16", int, "%d" entry = vehicleSpeedKph1, "Wheel Speed FL", float, "%.3f" entry = vehicleSpeedKph2, "Wheel Speed FR", float, "%.3f" entry = vehicleSpeedKph3, "Wheel Speed RL", float, "%.3f" entry = vehicleSpeedKph4, "Wheel Speed RR", float, "%.3f" entry = vehicleSpeedKphFrontAvg, "Wheel Speed Front AVG", float, "%.3f" entry = vehicleSpeedKphRearAvg, "Wheel Speed Rear AVG", float, "%.3f" entry = tracSpeedLeftRightREF, "LeftRightSpeedRef", float, "%.3f" entry = tracSpeedFrontRearREF, "FrontRearSpeedRef", float, "%.3f" entry = instantMAFValue, "Instant MAF", float, "%.3f" entry = rawOilTemperature, "rawOilTemperature", float, "%.3f" entry = rawAuxAnalog5, "rawAuxAnalog5", float, "%.3f" entry = rawAuxAnalog6, "rawAuxAnalog6", float, "%.3f" entry = rawAuxAnalog7, "rawAuxAnalog7", float, "%.3f" entry = rawAuxAnalog8, "rawAuxAnalog8", float, "%.3f" entry = pedalToTpsIndex, "pedalToTpsIndex", int, "%d" entry = globalAFRTrim, "Global target AFR trim", float, "%.3f" entry = lastCanButtonSeen, "lastCanButtonSeen", int, "%d" entry = lastCanButtonFoundIdx, "lastCanButtonFoundIdx", int, "%d" entry = engine, "Engine", int, "%d" entry = tunedVeValue, "tunedVE", float, "%.3f" entry = tpsSecondaryADC, "tpsSecondaryADC", int, "%d" entry = actualLastInjPreSmallPw, "Actual Injection before Small PW", float, "%.3f" entry = sparkDwellClamp, "Spark Dwell Clamp", float, "%.3f" entry = tunedMafCorrection, "tunedMafCorrection", float, "%.3f" entry = firmwareSignatureHash, "hash", int, "%d" entry = rawAuxLinear1, "rawAuxLinear1", float, "%.3f" entry = rawAuxLinear2, "rawAuxLinear2", float, "%.3f" entry = rawAuxLinear3, "rawAuxLinear3", float, "%.3f" entry = rawAuxLinear4, "rawAuxLinear4", float, "%.3f" entry = auxSpeed3, "Aux speed 3", int, "%d" entry = auxSpeed4, "Aux speed 4", int, "%d" entry = canButtonToggle14, "canButtonToggle14", int, "%d" entry = veTableSwitch1Active, "veTableSwitch1Active", int, "%d" entry = veTableSwitch2Active, "veTableSwitch2Active", int, "%d" entry = ignTableSwitch1Active, "ignTableSwitch1Active", int, "%d" entry = ignTableSwitch2Active, "ignTableSwitch2Active", int, "%d" entry = afrTableSwitch1Active, "afrTableSwitch1Active", int, "%d" entry = olBoostTableSwitch1Active, "olBoostTableSwitch1Active", int, "%d" entry = clBoostTableSwitch1Active, "clBoostTableSwitch1Active", int, "%d" entry = stftDeadBand, "stftDeadBand", int, "%d" entry = isRunningBench, "isRunningBench", int, "%d" entry = ready, "running", int, "%d" entry = crank, "cranking", int, "%d" entry = startw, "ASE", int, "%d" entry = warmup, "WUE", int, "%d" entry = tpsaccaen, "ACCEL_TPS", int, "%d" entry = tpsaccden, "DECEL_TPS", int, "%d" entry = mapaccaen, "ACCEL_MAP", int, "%d" entry = mapaccden, "DECEL_MAP", int, "%d" entry = isMapPreAveraging, "isMapPreAveraging", int, "%d" entry = watchDogBuddy, "Flip FLop", int, "%d" entry = shuttingDownMainRelay, "mainRelayShutdownTimer", int, "%d" entry = isMapPredictionActive, "isMapPredictionActive", int, "%d" entry = floodClearActive, "floodClearActive", int, "%d" entry = phaseGuess, "phaseGuess", int, "%d" entry = guessPhaseLocked, "guessPhaseLocked", int, "%d" entry = MAFMAPMAXAirmassACTIVE_MAP, "MAFMAPMAXAirmassACTIVE_MAP", int, "%d" entry = guessPhaseRun, "guessPhaseRun", int, "%d" entry = MAFMAPMAXAirmassACTIVE_MAF, "MAFMAPMAXAirmassACTIVE_MAF", int, "%d" entry = hondak_batLightIsOn, "hondak_batLightIsOn", int, "%d" entry = cel_batv, "cel_batv", int, "%d" entry = cel_map, "cel_map", int, "%d" entry = cel_iat, "cel_iat", int, "%d" entry = wheelSlipRatioLeftRightFRONT, "wheelSlipRatioLeftRightFRONT", float, "%.3f" entry = wheelSlipRatioLeftRightREAR, "wheelSlipRatioLeftRightREAR", float, "%.3f" entry = wheelSlipRatioLeftRightREF, "wheelSlipRatioLeftRightREF", float, "%.3f" entry = wheelSlipRatioFrontRear, "wheelSlipRatioFrontRear", float, "%.3f" entry = canBoxTracTrim, "canBoxTracTrim", int, "%d" entry = actualLastInjSTG2PreSmallPw, "actualLastInjSTG2PreSmallPw", float, "%.3f" entry = canButtons18, "canButtons18", int, "%d" entry = canButtons916, "canButtons916", int, "%d" entry = afrError, "afr Error %", float, "%.3f" entry = canButtonToggle1, "canButtonToggle1", int, "%d" entry = canButtonToggle2, "canButtonToggle2", int, "%d" entry = canButtonToggle3, "canButtonToggle3", int, "%d" entry = canButtonToggle4, "canButtonToggle4", int, "%d" entry = canButtonToggle5, "canButtonToggle5", int, "%d" entry = canButtonToggle6, "canButtonToggle6", int, "%d" entry = canButtonToggle7, "canButtonToggle7", int, "%d" entry = canButtonToggle8, "canButtonToggle8", int, "%d" entry = inj1ok, "inj1ok", int, "%d" entry = inj2ok, "inj2ok", int, "%d" entry = inj3ok, "inj3ok", int, "%d" entry = inj4ok, "inj4ok", int, "%d" entry = inj5ok, "inj5ok", int, "%d" entry = inj6ok, "inj6ok", int, "%d" entry = inj7ok, "inj7ok", int, "%d" entry = inj8ok, "inj8ok", int, "%d" entry = inj9ok, "inj9ok", int, "%d" entry = inj10ok, "inj10ok", int, "%d" entry = inj11ok, "inj11ok", int, "%d" entry = inj12ok, "inj12ok", int, "%d" entry = epic_hall_inp9, "epic_hall_inp9", int, "%d" entry = epic_hall_inp10, "epic_hall_inp10", int, "%d" entry = isMafValid, "MAF from sensor seems valid", int, "%d" entry = canButtonToggle9, "canButtonToggle9", int, "%d" entry = epic_dinp1, "epic_dinp1", int, "%d" entry = epic_dinp2, "epic_dinp2", int, "%d" entry = epic_dinp3, "epic_dinp3", int, "%d" entry = epic_dinp4, "epic_dinp4", int, "%d" entry = epic_dinp5, "epic_dinp5", int, "%d" entry = epic_dinp6, "epic_dinp6", int, "%d" entry = epic_dinp7, "epic_dinp7", int, "%d" entry = epic_dinp8, "epic_dinp8", int, "%d" entry = epic_hall_inps18, "epic_hall_inps18", int, "%d" entry = epic_hall_inps916, "epic_hall_inps916", int, "%d" entry = epic_dinps18, "epic_dinps18", int, "%d" entry = SparkLatencyCorrection, "SparkLatencyCorrection", float, "%.3f" entry = epic_hall_inp1, "epic_hall_inp1", int, "%d" entry = epic_hall_inp2, "epic_hall_inp2", int, "%d" entry = epic_hall_inp3, "epic_hall_inp3", int, "%d" entry = epic_hall_inp4, "epic_hall_inp4", int, "%d" entry = epic_hall_inp5, "epic_hall_inp5", int, "%d" entry = epic_hall_inp6, "epic_hall_inp6", int, "%d" entry = epic_hall_inp7, "epic_hall_inp7", int, "%d" entry = epic_hall_inp8, "epic_hall_inp8", int, "%d" entry = wheelspeedFLerror, "wheelspeedFLerror", int, "%d" entry = wheelspeedFRerror, "wheelspeedFRerror", int, "%d" entry = wheelspeedRLerror, "wheelspeedRLerror", int, "%d" entry = wheelspeedRRerror, "wheelspeedRRerror", int, "%d" entry = wheelspeedFrontAvgError, "wheelspeedFrontAvgError", int, "%d" entry = wheelspeedRearAvgError, "wheelspeedRearAvgError", int, "%d" entry = wheelspeedAvgError, "wheelspeedAvgError", int, "%d" entry = tracDisabled, "tracDisabled", int, "%d" entry = stage1InjSmallPwActive, "stage1InjSmallPwActive", int, "%d" entry = stage2InjSmallPwActive, "stage2InjSmallPwActive", int, "%d" entry = isMafAveraging, "isMafAveraging", int, "%d" entry = cel_afr, "cel_afr", int, "%d" entry = cel_clt, "cel_clt", int, "%d" entry = can_blend_ve_1_toggle, "can_blend_ve_1_toggle", int, "%d" entry = can_blend_ve_2_toggle, "can_blend_ve_2_toggle", int, "%d" entry = can_blend_ign_1_toggle, "can_blend_ign_1_toggle", int, "%d" entry = can_blend_ign_2_toggle, "can_blend_ign_2_toggle", int, "%d" entry = can_blend_afr_1_toggle, "can_blend_afr_1_toggle", int, "%d" entry = can_blend_clboost_1_toggle, "can_blend_clboost_1_toggle", int, "%d" entry = can_blend_olboost_1_toggle, "can_blend_olboost_1_toggle", int, "%d" entry = canButtonToggle10, "canButtonToggle10", int, "%d" entry = canButtonToggle11, "canButtonToggle11", int, "%d" entry = canButtonToggle12, "canButtonToggle12", int, "%d" entry = canButtonToggle13, "canButtonToggle13", int, "%d" entry = baroHasPressure, "baroHasPressure", int, "%d" entry = baroHasNoPressure, "baroHasNoPressure", int, "%d" entry = baroHasError, "baroHasError", int, "%d" entry = dtTuneCurCycle, "dtTuneCurCycle", int, "%d" entry = dtTuneInjModeOverride, "dtTuneInjModeOverride", int, "%d" entry = baroCounts, "baroCounts", int, "%d" entry = mafmapBlendPercentage, "mafmapBlendPercentage", float, "%.3f" entry = mafmapAirmassSplit, "mafmapAirmassSplit", float, "%.3f" entry = runningAirmass, "runningAirmass", float, "%.3f" entry = tunedMassAirflow, "tunedMassAirflow", float, "%.3f" entry = dwellAccuracyRatio, "dwellAccuracyRatio", float, "%.3f" entry = mafPerCylinder1, "maf per cylinder 1", float, "%.3f" entry = mafPerCylinder2, "maf per cylinder 2", float, "%.3f" entry = mafPerCylinder3, "maf per cylinder 3", float, "%.3f" entry = mafPerCylinder4, "maf per cylinder 4", float, "%.3f" entry = mafPerCylinder5, "maf per cylinder 5", float, "%.3f" entry = mafPerCylinder6, "maf per cylinder 6", float, "%.3f" entry = mafPerCylinder7, "maf per cylinder 7", float, "%.3f" entry = mafPerCylinder8, "maf per cylinder 8", float, "%.3f" entry = rawMCP3208_v_temp16, "rawMCP3208_v_temp16", float, "%.3f" entry = rawMCP3208_v_temp17, "rawMCP3208_v_temp17", float, "%.3f" entry = rawMCP3208_v_an18, "rawMCP3208_v_an18", float, "%.3f" entry = rawMCP3208_v_an19, "rawMCP3208_v_an19", float, "%.3f" entry = rawMCP3208_v_an20, "rawMCP3208_v_an20", float, "%.3f" entry = rawMCP3208_v_an21, "rawMCP3208_v_an21", float, "%.3f" entry = rawMCP3208_v_an22, "rawMCP3208_v_an22", float, "%.3f" entry = rawMCP3208_v_an23, "rawMCP3208_v_an23", float, "%.3f" entry = rawMCP3208_v_an24, "rawMCP3208_v_an24", float, "%.3f" entry = rawMCP3208_v_an25, "rawMCP3208_v_an25", float, "%.3f" entry = rawMCP3208_v_an26, "rawMCP3208_v_an26", float, "%.3f" entry = rawMCP3208_v_an27, "rawMCP3208_v_an27", float, "%.3f" entry = rawMCP3208_v_an28, "rawMCP3208_v_an28", float, "%.3f" entry = rawMCP3208_v_an29, "rawMCP3208_v_an29", float, "%.3f" entry = rawMCP3208_v_an30, "rawMCP3208_v_an30", float, "%.3f" entry = rawMCP3208_v_an31, "rawMCP3208_v_an31", float, "%.3f" entry = rawMCP3208_v_an32, "rawMCP3208_v_an32", float, "%.3f" entry = rawMCP3208_v_an33, "rawMCP3208_v_an33", float, "%.3f" entry = rawMCP3208_v_an34, "rawMCP3208_v_an34", float, "%.3f" entry = rawMCP3208_v_an35, "rawMCP3208_v_an35", float, "%.3f" entry = rawMCP3208_v_an36, "rawMCP3208_v_an36", float, "%.3f" entry = rawMCP3208_v_an37, "rawMCP3208_v_an37", float, "%.3f" entry = rawMCP3208_v_an38, "rawMCP3208_v_an38", float, "%.3f" entry = rawMCP3208_v_an39, "rawMCP3208_v_an39", float, "%.3f" entry = pOut1, "pOut 1", int, "%d" entry = pOut2, "pOut 2", int, "%d" entry = pOut3, "pOut 3", int, "%d" entry = pOut4, "pOut 4", int, "%d" entry = pOut5, "pOut 5", int, "%d" entry = pOut6, "pOut 6", int, "%d" entry = pOut7, "pOut 7", int, "%d" entry = pOut8, "pOut 8", int, "%d" entry = pOut9, "pOut 9", int, "%d" entry = pOut10, "pOut 10", int, "%d" entry = pOut11, "pOut 11", int, "%d" entry = pOut12, "pOut 12", int, "%d" entry = pOut13, "pOut 13", int, "%d" entry = pOut14, "pOut 14", int, "%d" entry = pOut15, "pOut 15", int, "%d" entry = pOut16, "pOut 16", int, "%d" entry = pOut17, "pOut 17", int, "%d" entry = pOut18, "pOut 18", int, "%d" entry = pOut19, "pOut 19", int, "%d" entry = pOut20, "pOut 20", int, "%d" entry = pOut21, "pOut 21", int, "%d" entry = pOut22, "pOut 22", int, "%d" entry = pOut23, "pOut 23", int, "%d" entry = pOut24, "pOut 24", int, "%d" entry = pOut25, "pOut 25", int, "%d" entry = pOut26, "pOut 26", int, "%d" entry = pOut27, "pOut 27", int, "%d" entry = pOut28, "pOut 28", int, "%d" entry = pOut29, "pOut 29", int, "%d" entry = pOut30, "pOut 30", int, "%d" entry = pOut31, "pOut 31", int, "%d" entry = pOut32, "pOut 32", int, "%d" entry = MAPPREValue, "MAPPREValue", float, "%.3f" entry = rawMapPre, "rawMapPre", float, "%.3f" entry = instantMAPPREValue, "Instant MAPPRE", float, "%.3f" entry = mapPreFast, "mapPreFast", float, "%.3f" entry = mapPrePerCylinder1, "mappre per cylinder 1", float, "%.3f" entry = mapPrePerCylinder2, "mappre per cylinder 2", float, "%.3f" entry = mapPrePerCylinder3, "mappre per cylinder 3", float, "%.3f" entry = mapPrePerCylinder4, "mappre per cylinder 4", float, "%.3f" entry = mapPrePerCylinder5, "mappre per cylinder 5", float, "%.3f" entry = mapPrePerCylinder6, "mappre per cylinder 6", float, "%.3f" entry = mapPrePerCylinder7, "mappre per cylinder 7", float, "%.3f" entry = mapPrePerCylinder8, "mappre per cylinder 8", float, "%.3f" entry = tmf_cd, "tmf_cd", float, "%.3f" entry = tmf_deltap, "tmf_deltap", float, "%.3f" entry = tmf_pratio, "tmf_pratio", float, "%.3f" entry = tmf_airflow, "tmf_airflow", float, "%.3f" entry = tmf_sd_tmf_airmass_split, "tmf_sd_tmf_airmass_split", float, "%.3f" entry = tmf_sd_engineload_split, "tmf_sd_engineload_split", float, "%.3f" entry = tmf_engineload, "tmf_engineload", float, "%.3f" entry = tmf_maxairflow, "tmf_maxairflow", float, "%.3f" entry = tmf_tbarea, "tmf_tbarea", float, "%.3f" entry = tmf_rho, "tmf_rho", float, "%.3f" entry = tmf_tmfarea, "tmf_tmfarea", float, "%.3f" entry = tmf_maf_tmf_airmass_split, "tmf_maf_tmf_airmass_split", float, "%.3f" entry = tmf_maf_engineload_split, "tmf_maf_engineload_split", float, "%.3f" entry = storedInitialBaroPressure, "storedInitialBaroPressure", float, "%.3f" entry = maf_airflow, "maf_airflow", float, "%.3f" entry = maf_airmass, "maf_airmass", float, "%.3f" entry = sd_airflow, "sd_airflow", float, "%.3f" entry = fuelAlgorithm, "fuelAlgorithm", int, "%d" entry = RealLambdaValue1, "RealLambdaValue1", float, "%.3f" entry = RealLambdaValue2, "RealLambdaValue2", float, "%.3f" entry = rawAfr2, "rawAfr2", float, "%.3f" entry = secToMainRelayOff, "secToMainRelayOff", int, "%d" entry = ignitions1, "ignitions 1", int, "%d" entry = ignitions2, "ignitions 2", int, "%d" entry = ignitions3, "ignitions 3", int, "%d" entry = ignitions4, "ignitions 4", int, "%d" entry = ignitions5, "ignitions 5", int, "%d" entry = ignitions6, "ignitions 6", int, "%d" entry = ignitions7, "ignitions 7", int, "%d" entry = ignitions8, "ignitions 8", int, "%d" entry = injections1, "injections 1", int, "%d" entry = injections2, "injections 2", int, "%d" entry = injections3, "injections 3", int, "%d" entry = injections4, "injections 4", int, "%d" entry = injections5, "injections 5", int, "%d" entry = injections6, "injections 6", int, "%d" entry = injections7, "injections 7", int, "%d" entry = injections8, "injections 8", int, "%d" entry = usbBytesOut, "usbBytesOut", int, "%d" entry = usbBytesIn, "usbBytesIn", int, "%d" entry = usbBytesOutPerSec, "usbBytesOutPerSec", int, "%d" entry = usbBytesInPerSec, "usbBytesInPerSec", int, "%d" entry = rawVss, "rawVss", int, "%d" entry = boostOpenLoopYAxisValue, "boostOpenLoopYAxisValue", float, "%.3f" entry = boostClosedLoopYAxisValue, "boostClosedLoopYAxisValue", float, "%.3f" entry = spooledLevel, "spooledLevel", float, "%.3f" entry = predTimerResetCnt, "predTimerResetCnt", int, "%d" entry = aeEngageCnt, "aeEngageCnt", int, "%d" entry = mapPredEventOver, "mapPredEventOver", int, "%d" entry = etbResetCnt, "etbResetCnt", int, "%d" entry = est_temp_charge_k, "est_temp_charge_k", float, "%.3f" entry = est_temp_charge_c, "est_temp_charge_c", float, "%.3f" entry = getAirmassImpl_temp_c, "getAirmassImpl_temp_c", float, "%.3f" entry = can_var_get_counter, "can_var_get_counter", int, "%d" entry = can_call_counter, "can_call_counter", int, "%d" entry = can_call_counter_dlc_ok, "can_call_counter_dlc_ok", int, "%d" entry = can_call_last_arg, "can_call_last_arg", float, "%.3f" entry = can_call_last_func_id, "can_call_last_func_id", int, "%d" entry = can_call_last_src_id, "can_call_last_src_id", int, "%d" entry = can_call_last_ret, "can_call_last_ret", float, "%.3f" entry = can_call_last_ok, "can_call_last_ok", int, "%d" entry = can_call_found_func, "can_call_found_func", int, "%d" entry = ltft_live_burn_count, "ltft_live_burn_count", int, "%d" entry = phaseGuessAttemptCount, "phaseGuessAttemptCount", int, "%d" entry = totalPhaseGuessAttempts, "totalPhaseGuessAttempts", int, "%d" entry = hondaK_len, "hondaK_len", int, "%d" entry = hondaK_buf1, "hondaK_buf 1", int, "%d" entry = hondaK_buf2, "hondaK_buf 2", int, "%d" entry = hondaK_buf3, "hondaK_buf 3", int, "%d" entry = hondaK_buf4, "hondaK_buf 4", int, "%d" entry = hondaK_buf5, "hondaK_buf 5", int, "%d" entry = hondaK_buf6, "hondaK_buf 6", int, "%d" entry = hondaK_buf7, "hondaK_buf 7", int, "%d" entry = hondaK_buf8, "hondaK_buf 8", int, "%d" entry = hondaK_buf9, "hondaK_buf 9", int, "%d" entry = hondaK_buf10, "hondaK_buf 10", int, "%d" entry = hondaK_buf11, "hondaK_buf 11", int, "%d" entry = hondaK_buf12, "hondaK_buf 12", int, "%d" entry = hondaK_buf13, "hondaK_buf 13", int, "%d" entry = hondaK_buf14, "hondaK_buf 14", int, "%d" entry = hondaK_buf15, "hondaK_buf 15", int, "%d" entry = hondaK_buf16, "hondaK_buf 16", int, "%d" entry = hondaK_low, "hondaK_low", int, "%d" entry = hondaK_sendcrc, "hondaK_sendcrc", int, "%d" entry = cel_error_codes_count, "cel_error_codes_count", int, "%d" entry = cel_tps, "cel_tps", int, "%d" entry = cel_engine_not_running, "cel_engine_not_running", int, "%d" entry = cel_engine_started, "cel_engine_started", int, "%d" entry = cel_trigger_error, "cel_trigger_error", int, "%d" entry = cel_error_codes, "cel_error_codes", int, "%d" entry = cel_oil_temp, "cel_oil_temp", int, "%d" entry = cel_oil_pressure, "cel_oil_pressure", int, "%d" entry = cel_fuel_pressure, "cel_fuel_pressure", int, "%d" entry = cel_maf, "cel_maf", int, "%d" entry = cel_any_cut, "cel_any_cut", int, "%d" entry = cel_fuel_pump_prime, "cel_fuel_pump_prime", int, "%d" entry = cel_iat2, "cel_iat2", int, "%d" entry = m_shiftLightFlashState, "m_shiftLightFlashState", int, "%d" entry = u_bit791_14, "u_bit791_14", int, "%d" entry = u_bit791_15, "u_bit791_15", int, "%d" entry = u_bit791_16, "u_bit791_16", int, "%d" entry = u_bit791_17, "u_bit791_17", int, "%d" entry = u_bit791_18, "u_bit791_18", int, "%d" entry = u_bit791_19, "u_bit791_19", int, "%d" entry = u_bit791_20, "u_bit791_20", int, "%d" entry = u_bit791_21, "u_bit791_21", int, "%d" entry = u_bit791_22, "u_bit791_22", int, "%d" entry = u_bit791_23, "u_bit791_23", int, "%d" entry = u_bit791_24, "u_bit791_24", int, "%d" entry = u_bit791_25, "u_bit791_25", int, "%d" entry = u_bit791_26, "u_bit791_26", int, "%d" entry = u_bit791_27, "u_bit791_27", int, "%d" entry = u_bit791_28, "u_bit791_28", int, "%d" entry = u_bit791_29, "u_bit791_29", int, "%d" entry = tps_launch_engaged, "tps_launch_engaged", int, "%d" entry = cel_shiftlight, "cel_shiftlight", int, "%d" entry = u_bit791_32, "u_bit791_32", int, "%d" entry = MEGA_EPIC_1_A0, "MEGA_EPIC_1_A0", int, "%d" entry = MEGA_EPIC_1_A1, "MEGA_EPIC_1_A1", int, "%d" entry = MEGA_EPIC_1_A2, "MEGA_EPIC_1_A2", int, "%d" entry = MEGA_EPIC_1_A3, "MEGA_EPIC_1_A3", int, "%d" entry = MEGA_EPIC_1_A4, "MEGA_EPIC_1_A4", int, "%d" entry = MEGA_EPIC_1_A5, "MEGA_EPIC_1_A5", int, "%d" entry = MEGA_EPIC_1_A6, "MEGA_EPIC_1_A6", int, "%d" entry = MEGA_EPIC_1_A7, "MEGA_EPIC_1_A7", int, "%d" entry = MEGA_EPIC_1_A8, "MEGA_EPIC_1_A8", int, "%d" entry = MEGA_EPIC_1_A9, "MEGA_EPIC_1_A9", int, "%d" entry = MEGA_EPIC_1_A10, "MEGA_EPIC_1_A10", int, "%d" entry = MEGA_EPIC_1_A11, "MEGA_EPIC_1_A11", int, "%d" entry = MEGA_EPIC_1_A12, "MEGA_EPIC_1_A12", int, "%d" entry = MEGA_EPIC_1_A13, "MEGA_EPIC_1_A13", int, "%d" entry = MEGA_EPIC_1_A14, "MEGA_EPIC_1_A14", int, "%d" entry = MEGA_EPIC_1_A15, "MEGA_EPIC_1_A15", int, "%d" entry = MEGA_EPIC_1_D22_D37, "MEGA_EPIC_1_D22_D37", int, "%d" entry = MEGA_EPIC_1_D22, "MEGA_EPIC_1_D22", int, "%d" entry = MEGA_EPIC_1_D23, "MEGA_EPIC_1_D23", int, "%d" entry = MEGA_EPIC_1_D24, "MEGA_EPIC_1_D24", int, "%d" entry = MEGA_EPIC_1_D25, "MEGA_EPIC_1_D25", int, "%d" entry = MEGA_EPIC_1_D26, "MEGA_EPIC_1_D26", int, "%d" entry = MEGA_EPIC_1_D27, "MEGA_EPIC_1_D27", int, "%d" entry = MEGA_EPIC_1_D28, "MEGA_EPIC_1_D28", int, "%d" entry = MEGA_EPIC_1_D29, "MEGA_EPIC_1_D29", int, "%d" entry = MEGA_EPIC_1_D30, "MEGA_EPIC_1_D30", int, "%d" entry = MEGA_EPIC_1_D31, "MEGA_EPIC_1_D31", int, "%d" entry = MEGA_EPIC_1_D32, "MEGA_EPIC_1_D32", int, "%d" entry = MEGA_EPIC_1_D33, "MEGA_EPIC_1_D33", int, "%d" entry = MEGA_EPIC_1_D34, "MEGA_EPIC_1_D34", int, "%d" entry = MEGA_EPIC_1_D35, "MEGA_EPIC_1_D35", int, "%d" entry = MEGA_EPIC_1_D36, "MEGA_EPIC_1_D36", int, "%d" entry = MEGA_EPIC_1_D37, "MEGA_EPIC_1_D37", int, "%d" entry = CAN_CHECKED_D0, "CAN_CHECKED_D0", int, "%d" entry = CAN_CHECKED_D1, "CAN_CHECKED_D1", int, "%d" entry = CAN_CHECKED_D2, "CAN_CHECKED_D2", int, "%d" entry = CAN_CHECKED_D3, "CAN_CHECKED_D3", int, "%d" entry = CAN_CHECKED_D4, "CAN_CHECKED_D4", int, "%d" entry = CAN_CHECKED_D5, "CAN_CHECKED_D5", int, "%d" entry = CAN_CHECKED_D6, "CAN_CHECKED_D6", int, "%d" entry = CAN_CHECKED_D7, "CAN_CHECKED_D7", int, "%d" entry = u_bit_864_1, "u_bit_864_1", int, "%d" entry = u_bit_864_2, "u_bit_864_2", int, "%d" entry = u_bit_864_3, "u_bit_864_3", int, "%d" entry = u_bit_864_4, "u_bit_864_4", int, "%d" entry = u_bit_864_5, "u_bit_864_5", int, "%d" entry = u_bit_864_6, "u_bit_864_6", int, "%d" entry = u_bit_864_7, "u_bit_864_7", int, "%d" entry = u_negative879, "u_negative879", int, "%d" entry = CAN_CHECKED_D0_D7, "CAN_CHECKED_D0_D7", int, "%d" entry = CAN_CHECKED_A0, "CAN_CHECKED_A0", int, "%d" entry = CAN_CHECKED_A1, "CAN_CHECKED_A1", int, "%d" entry = CAN_CHECKED_A2, "CAN_CHECKED_A2", int, "%d" entry = CAN_CHECKED_A3, "CAN_CHECKED_A3", int, "%d" entry = CAN_CHECKED_A4, "CAN_CHECKED_A4", int, "%d" entry = CAN_CHECKED_A5, "CAN_CHECKED_A5", int, "%d" entry = CAN_CHECKED_A6, "CAN_CHECKED_A6", int, "%d" entry = CAN_CHECKED_A7, "CAN_CHECKED_A7", int, "%d" entry = CAN_CHECKED_A8, "CAN_CHECKED_A8", int, "%d" entry = lastCanFrameId, "Last CAN frame ID captured", int, "%d" entry = lastCanFrameData0, "Last CAN frame byte 0", int, "%d" entry = lastCanFrameData1, "Last CAN frame byte 1", int, "%d" entry = lastCanFrameData2, "Last CAN frame byte 2", int, "%d" entry = lastCanFrameData3, "Last CAN frame byte 3", int, "%d" entry = lastCanFrameData4, "Last CAN frame byte 4", int, "%d" entry = lastCanFrameData5, "Last CAN frame byte 5", int, "%d" entry = lastCanFrameData6, "Last CAN frame byte 6", int, "%d" entry = lastCanFrameData7, "Last CAN frame byte 7", int, "%d" entry = lastCanFrameDlc, "Last CAN frame DLC", int, "%d" entry = lastCanMatchedRow, "Last can matched row", int, "%d" entry = lastCanMatchedKeycode, "canMatchLastGeneratedKey", int, "%d" entry = lastCanMatchedFunctionId, "lastCanMatchedFunctionId", int, "%d" entry = canMatches, "canMatches", int, "%d" entry = zeroValue, "zeroValue", int, "%d" entry = presyncfuelcnt1, "presyncfuelcnt1", int, "%d" entry = presyncfuelcnt2, "presyncfuelcnt2", int, "%d" entry = presyncfuelcnt3, "presyncfuelcnt3", int, "%d" entry = aeInstantPulsePw, "aeInstantPulsePw", float, "%.3f" entry = aeInstantPulseCnt, "aeInstantPulseCnt", int, "%d" entry = CANBUS_KB_1_D0, "CANBUS_KB_1_D0", int, "%d" entry = CANBUS_KB_1_D1, "CANBUS_KB_1_D1", int, "%d" entry = CANBUS_KB_1_D2, "CANBUS_KB_1_D2", int, "%d" entry = CANBUS_KB_1_D3, "CANBUS_KB_1_D3", int, "%d" entry = CANBUS_KB_1_D4, "CANBUS_KB_1_D4", int, "%d" entry = CANBUS_KB_1_D5, "CANBUS_KB_1_D5", int, "%d" entry = CANBUS_KB_1_D6, "CANBUS_KB_1_D6", int, "%d" entry = CANBUS_KB_1_D7, "CANBUS_KB_1_D7", int, "%d" entry = CANBUS_KB_1_D8, "CANBUS_KB_1_D8", int, "%d" entry = CANBUS_KB_1_D9, "CANBUS_KB_1_D9", int, "%d" entry = CANBUS_KB_1_D10, "CANBUS_KB_1_D10", int, "%d" entry = CANBUS_KB_1_D11, "CANBUS_KB_1_D11", int, "%d" entry = CANBUS_KB_1_D12, "CANBUS_KB_1_D12", int, "%d" entry = CANBUS_KB_1_D13, "CANBUS_KB_1_D13", int, "%d" entry = CANBUS_KB_1_D14, "CANBUS_KB_1_D14", int, "%d" entry = CANBUS_KB_1_D15, "CANBUS_KB_1_D15", int, "%d" entry = u_o_c_0, "u_o_c_0", int, "%d" entry = u_o_c_1, "u_o_c_1", int, "%d" entry = u_o_c_2, "u_o_c_2", int, "%d" entry = u_o_c_3, "u_o_c_3", int, "%d" entry = u_o_c_4, "u_o_c_4", int, "%d" entry = u_o_c_5, "u_o_c_5", int, "%d" entry = u_o_c_6, "u_o_c_6", int, "%d" entry = u_o_c_7, "u_o_c_7", int, "%d" entry = u_o_c_8, "u_o_c_8", int, "%d" entry = u_o_c_9, "u_o_c_9", int, "%d" entry = u_o_c_10, "u_o_c_10", int, "%d" entry = u_o_c_11, "u_o_c_11", int, "%d" entry = u_o_c_12, "u_o_c_12", int, "%d" entry = u_o_c_13, "u_o_c_13", int, "%d" entry = u_o_c_14, "u_o_c_14", int, "%d" entry = u_o_c_15, "u_o_c_15", int, "%d" entry = CANBUS_KB_1_D0_D15, "CANBUS_KB_1_D0_D15", int, "%d" entry = canVSSFrontLeft, "canVSSFrontLeft", float, "%.3f" entry = canVSSFrontRight, "canVSSFrontRight", float, "%.3f" entry = canVSSRearLeft, "canVSSRearLeft", float, "%.3f" entry = canVSSRearRight, "canVSSRearRight", float, "%.3f" entry = onTriggerError, "onTriggerError", int, "%d" entry = triggerDecoderBaseResetState, "triggerDecoderBaseResetState", int, "%d" entry = MEGA_EPIC_1_OUT_SLOW, "MEGA_EPIC_1_OUT_SLOW", int, "%d" entry = MEGA_EPIC_1_SLOW_D39, "MEGA_EPIC_1_SLOW_D39", int, "%d" entry = MEGA_EPIC_1_SLOW_D40, "MEGA_EPIC_1_SLOW_D40", int, "%d" entry = MEGA_EPIC_1_SLOW_D41, "MEGA_EPIC_1_SLOW_D41", int, "%d" entry = MEGA_EPIC_1_SLOW_D42, "MEGA_EPIC_1_SLOW_D42", int, "%d" entry = MEGA_EPIC_1_SLOW_D43, "MEGA_EPIC_1_SLOW_D43", int, "%d" entry = MEGA_EPIC_1_SLOW_D47, "MEGA_EPIC_1_SLOW_D47", int, "%d" entry = MEGA_EPIC_1_SLOW_D48, "MEGA_EPIC_1_SLOW_D48", int, "%d" entry = MEGA_EPIC_1_SLOW_D49, "MEGA_EPIC_1_SLOW_D49", int, "%d" entry = MEGA_EPIC_1_PWM_T3_D3, "MEGA_EPIC_1_PWM_T3_D3", int, "%d" entry = MEGA_EPIC_1_PWM_T3_D5, "MEGA_EPIC_1_PWM_T3_D5", int, "%d" entry = MEGA_EPIC_1_PWM_T4_D6, "MEGA_EPIC_1_PWM_T4_D6", int, "%d" entry = MEGA_EPIC_1_PWM_T4_D7, "MEGA_EPIC_1_PWM_T4_D7", int, "%d" entry = MEGA_EPIC_1_PWM_T4_D8, "MEGA_EPIC_1_PWM_T4_D8", int, "%d" entry = MEGA_EPIC_1_PWM_T1_D11, "MEGA_EPIC_1_PWM_T1_D11", int, "%d" entry = MEGA_EPIC_1_PWM_T1_D12, "MEGA_EPIC_1_PWM_T1_D12", int, "%d" entry = MEGA_EPIC_1_PWM_T5_D44, "MEGA_EPIC_1_PWM_T5_D44", int, "%d" entry = MEGA_EPIC_1_PWM_T5_D45, "MEGA_EPIC_1_PWM_T5_D45", int, "%d" entry = MEGA_EPIC_1_PWM_T5_D46, "MEGA_EPIC_1_PWM_T5_D46", int, "%d" entry = rot_idle_engaged, "rot_idle_engaged", int, "%d" entry = u_me_1_o_c_19, "u_me_1_o_c_19", int, "%d" entry = u_me_1_o_c_20, "u_me_1_o_c_20", int, "%d" entry = u_me_1_o_c_21, "u_me_1_o_c_21", int, "%d" entry = u_me_1_o_c_22, "u_me_1_o_c_22", int, "%d" entry = u_me_1_o_c_23, "u_me_1_o_c_23", int, "%d" entry = u_me_1_o_c_24, "u_me_1_o_c_24", int, "%d" entry = u_me_1_o_c_25, "u_me_1_o_c_25", int, "%d" entry = u_me_1_o_c_26, "u_me_1_o_c_26", int, "%d" entry = u_me_1_o_c_27, "u_me_1_o_c_27", int, "%d" entry = u_me_1_o_c_28, "u_me_1_o_c_28", int, "%d" entry = u_me_1_o_c_29, "u_me_1_o_c_29", int, "%d" entry = mega_epic_slow_changed, "mega_epic_slow_changed", int, "%d" entry = u_me_1_o_c_31, "u_me_1_o_c_31", int, "%d" entry = gps_hmsd_packed, "gps_hmsd_packed", int, "%d" entry = gps_myqsat_packed, "gps_myqsat_packed", int, "%d" entry = gps_hours, "gps_hours", int, "%d" entry = gps_minutes, "gps_minutes", int, "%d" entry = gps_seconds, "gps_seconds", int, "%d" entry = gps_days, "gps_days", int, "%d" entry = gps_months, "gps_months", int, "%d" entry = gps_years, "gps_years", int, "%d" entry = gps_quality, "gps_quality", int, "%d" entry = gps_satellites, "gps_satellites", int, "%d" entry = gps_accuracy, "gps_accuracy", float, "%.3f" entry = gps_altitude, "gps_altitude", float, "%.3f" entry = gps_latitude, "gps_latitude", float, "%.3f" entry = gps_longitude, "gps_longitude", float, "%.3f" entry = gps_speed, "gps_speed", float, "%.3f" entry = gps_course, "gps_course", float, "%.3f" entry = canRxPacketsPerSec, "canRxPacketsPerSec", int, "%d" entry = canTxPacketsPerSec, "canTxPacketsPerSec", int, "%d" entry = rot_idle_acc1, "rot_idle_acc1", int, "%d" entry = rot_idle_acc2, "rot_idle_acc2", int, "%d" entry = rot_idle_acc3, "rot_idle_acc3", int, "%d" entry = totalFuelCorrection, "Fuel: Total correction", float, "%.3f" entry = running_postCrankingFuelCorrection, "Fuel: Post cranking mult", float, "%.3f" entry = running_intakeTemperatureCoefficient, "Fuel: IAT correction", float, "%.3f" entry = running_coolantTemperatureCoefficient, "Fuel: CLT correction", float, "%.3f" entry = running_timeSinceCrankingInSecs, "running_timeSinceCrankingInSecs", float, "%.3f" entry = running_baseFuel, "Fuel: base cycle mass", float, "%.3f" entry = running_fuel, "Fuel: running", float, "%.3f" entry = afrTableYAxis, "afrTableYAxis", float, "%.3f" entry = targetLambda, "Fuel: target lambda", float, "%.3f" entry = targetAFR, "Fuel: target AFR", float, "%.3f" entry = stoichiometricRatio, "Fuel: Stoich ratio", float, "%.3f" entry = sdTcharge_coff, "sdTcharge_coff", float, "%.3f" entry = sdAirMassInOneCylinder, "Air: Cylinder airmass", float, "%.3f" entry = normalizedCylinderFilling, "Air: Normalized cyl filling", float, "%.3f" entry = brokenInjector, "brokenInjector", int, "%d" entry = idealEngineTorque, "idealEngineTorque", int, "%d" entry = injectorHwIssue, "injectorHwIssue", int, "%d" entry = baseDwell, "Ignition: base dwell", float, "%.3f" entry = sparkDwell, "Ignition: coil charge time", float, "%.3f" entry = dwellDurationAngle, "Ignition: dwell duration", float, "%.3f" entry = cltTimingCorrection, "Ign: CLT correction", float, "%.3f" entry = timingIatCorrection, "Ign: IAT correction", float, "%.3f" entry = timingPidCorrection, "Idle: Timing adjustment", float, "%.3f" entry = dfcoTimingRetard, "DFCO: Timing retard", float, "%.3f" entry = baseIgnitionAdvance, "Timing: base ignition", float, "%.3f" entry = correctedIgnitionAdvance, "Timing: ignition", float, "%.3f" entry = tractionAdvanceDrop, "Traction: timing correction", float, "%.3f" entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = rpmForIgnitionTableDot, "rpmForIgnitionTableDot", int, "%d" entry = rpmForIgnitionIdleTableDot, "rpmForIgnitionIdleTableDot", int, "%d" entry = loadForIgnitionTableDot, "loadForIgnitionTableDot", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" entry = m_knockCyl3, "Knock: Cyl 3", int, "%d" entry = m_knockCyl4, "Knock: Cyl 4", int, "%d" entry = m_knockCyl5, "Knock: Cyl 5", int, "%d" entry = m_knockCyl6, "Knock: Cyl 6", int, "%d" entry = m_knockCyl7, "Knock: Cyl 7", int, "%d" entry = m_knockCyl8, "Knock: Cyl 8", int, "%d" entry = m_knockRetard, "Knock: Retard", float, "%.3f" entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = m_isPriming, "IsFuelPriming", int, "%d" entry = tcu_DesiredGear, "TCU: Desired Gear", int, "%d" entry = tcu_CurrentGear, "TCU: Current Gear", int, "%d" entry = tcu_tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = tcu_lastShiftTime, "tcu_lastShiftTime", float, "%.3f" entry = tcu_currentRange, "TCU: Current Range", int, "%d" entry = tcu_pressureControlDuty, "TCU: EPC Duty", int, "%d" entry = tcu_torqueConverterDuty, "TCU: TC Duty", int, "%d" entry = tcu_shiftingFrom, "tcu_shiftingFrom", int, "%d" entry = tcu_shiftingTo, "tcu_shiftingTo", int, "%d" entry = m_shiftTimeGear, "m_shiftTimeGear", int, "%d" entry = tcu_init, "tcu_init", int, "%d" entry = tcu_isShifting, "tcu_isShifting", int, "%d" entry = m_shiftTime, "m_shiftTime", int, "%d" entry = tcu_shift_skip_gear, "tcu_shift_skip_gear", int, "%d" entry = throttleUseWotModel, "Air: Throttle model WOT", int, "%d" entry = throttleModelCrossoverAngle, "Air: Throttle crossover pos", float, "%.3f" entry = throttleEstimatedFlow, "Air: Throttle flow estimate", float, "%.3f" entry = m_requested_pump, "GDI: HPFP duration", float, "%.3f" entry = fuel_requested_percent, "GDI: HPFP requested duty", float, "%.3f" entry = fuel_requested_percent_pi, "GDI: percent_pi", float, "%.3f" entry = noValve, "GDI: HPFP no Valve control output", int, "%d" entry = angleAboveMin, "GDI: HPFP angle above min", int, "%d" entry = isHpfpActive, "GDI: HPFP Active", int, "%d" entry = HpfpValveState, "GDI: HPFP Valve state", int, "%d" entry = m_pressureTarget_kPa, "GDI: target pressure", float, "%.3f" entry = hpfp_p_control_percent, "hpfp_p_control_percent", float, "%.3f" entry = hpfp_i_control_percent, "hpfp_i_control_percent", float, "%.3f" entry = nextLobe, "GDI: next lobe N", float, "%.3f" entry = di_nextStart, "GDI: valve activation angle", float, "%.3f" entry = HpfdActivationPhase, "GDI: HPFP activation angle", float, "%.3f" entry = HpfdDeactivationPhase, "GDI: HPFP deactivation angle", float, "%.3f" entry = m_deadtime, "injector deadtime", float, "%.3f" entry = pressureDelta, "Fuel: Injector pressure delta", float, "%.3f" entry = pressureRatio, "Fuel: Injector pressure ratio", float, "%.3f" entry = pressureCorrectionReference, "Fuel: corr reference pressure", float, "%.3f" entry = retardThresholdRpm, "Launch: Retard threshold RPM", int, "%d" entry = launchActivatePinState, "launchActivatePinState", int, "%d" entry = launchActivatePinRpmLockState, "launchActivatePinRpmLockState", int, "%d" entry = isPreLaunchCondition, "isPreLaunchCondition", int, "%d" entry = isLaunchCondition, "Launch: isLaunchCondition", int, "%d" entry = isSwitchActivated, "Launch: isSwitchActivated", int, "%d" entry = isClutchActivated, "Launch: isClutchActivated", int, "%d" entry = isBrakePedalActivated, "isBrakePedalActivated", int, "%d" entry = isValidInputPin, "Launch: isValidInputPin", int, "%d" entry = isTpsActivated, "Launch: isTpsActivated", int, "%d" entry = activateSwitchCondition, "Launch: activateSwitchCondition", int, "%d" entry = rpmLaunchCondition, "rpmLaunchCondition", int, "%d" entry = rpmPreLaunchCondition, "rpmPreLaunchCondition", int, "%d" entry = speedCondition, "Launch: speedCondition", int, "%d" entry = tpsCondition, "Launch: tpsCondition", int, "%d" entry = luaLaunchState, "luaLaunchState", int, "%d" entry = isRpmLaunchLocked, "isRpmLaunchLocked", int, "%d" entry = rpmLaunchLockedRpm, "rpmLaunchLockedRpm", int, "%d" entry = m_launchCorrectionsEndRpm, "m_launchCorrectionsEndRpm", int, "%d" entry = launchSparkSkipRatio, "launchSparkSkipRatio", float, "%.3f" entry = isTorqueReductionTriggerPinValid, "isTorqueReductionTriggerPinValid", int, "%d" entry = torqueReductionTriggerPinState, "torqueReductionTriggerPinState", int, "%d" entry = isTimeConditionSatisfied, "isTimeConditionSatisfied", int, "%d" entry = isRpmConditionSatisfied, "isRpmConditionSatisfied", int, "%d" entry = isAppConditionSatisfied, "isAppConditionSatisfied", int, "%d" entry = isFlatShiftConditionSatisfied, "isFlatShiftConditionSatisfied", int, "%d" entry = isBelowTemperatureThreshold, "isBelowTemperatureThreshold", int, "%d" entry = trqRedCutXaxisValue, "trqRedCutXaxisValue", int, "%d" entry = trqRedTimeXaxisValue, "trqRedTimeXaxisValue", int, "%d" entry = trqRedIgnRetXaxisValue, "trqRedIgnRetXaxisValue", int, "%d" entry = isAntilagCondition, "isAntilagCondition", int, "%d" entry = ALSMinRPMCondition, "ALSMinRPMCondition", int, "%d" entry = ALSMaxRPMCondition, "ALSMaxRPMCondition", int, "%d" entry = ALSMinCLTCondition, "ALSMinCLTCondition", int, "%d" entry = ALSMaxCLTCondition, "ALSMaxCLTCondition", int, "%d" entry = ALSMaxThrottleIntentCondition, "ALSMaxThrottleIntentCondition", int, "%d" entry = ALSMinThrottleIntentCondition, "ALSMinThrottleIntentCondition", int, "%d" entry = isALSSwitchActivated, "isALSSwitchActivated", int, "%d" entry = ALSActivatePinState, "ALSActivatePinState", int, "%d" entry = ALSSwitchCondition, "ALSSwitchCondition", int, "%d" entry = ALSTimerCondition, "ALSTimerCondition", int, "%d" entry = ALSMinMapCondition, "ALSMinMapCondition", int, "%d" entry = ALSMaxMapCondition, "ALSMaxMapCondition", int, "%d" entry = luaAntilagState, "luaAntilagState", int, "%d" entry = ALSTimedOut, "ALSTimedOut", int, "%d" entry = ALSLatchActive, "ALSLatchActive", int, "%d" entry = ALSTimeoutStartCondition, "ALSTimeoutStartCondition", int, "%d" entry = ALSInstantEndCondition, "ALSInstantEndCondition", int, "%d" entry = ALSStartCondition, "ALSStartCondition", int, "%d" entry = fuelALSCorrection, "fuelALSCorrection", float, "%.3f" entry = ALSTimeRemaining, "ALSTimeRemaining", float, "%.3f" entry = timingALSCorrection, "timingALSCorrection", float, "%.3f" entry = timingALSSkip, "timingALSSkip", float, "%.3f" entry = isTpsInvalid, "isTpsInvalid", int, "%d" entry = m_shouldResetPid, "m_shouldResetPid", int, "%d" entry = isBelowClosedLoopThreshold, "isBelowClosedLoopThreshold", int, "%d" entry = isNotClosedLoop, "isNotClosedLoop", int, "%d" entry = isZeroRpm, "isZeroRpm", int, "%d" entry = hasInitBoost, "hasInitBoost", int, "%d" entry = rpmTooLow, "rpmTooLow", int, "%d" entry = tpsTooLow, "tpsTooLow", int, "%d" entry = mapTooLow, "mapTooLow", int, "%d" entry = isPlantValid, "isPlantValid", int, "%d" entry = isBoostControlled, "isBoostControlled", int, "%d" entry = luaTargetAdd, "Boost: Lua target add", float, "%.3f" entry = luaTargetMult, "Boost: Lua target mult", float, "%.3f" entry = boostControlTarget, "Boost: Target", float, "%.3f" entry = openLoopPart, "Boost: Open loop", float, "%.3f" entry = luaOpenLoopAdd, "Boost: Lua open loop add", float, "%.3f" entry = boostControllerClosedLoopPart, "Boost: Closed loop", float, "%.3f" entry = boostOutput, "Boost: Output", float, "%.3f" entry = lwgDutyPct, "Lower WG port output", float, "%.3f" entry = boostCutFeatherRatio, "boostCutFeatherRatio", float, "%.3f" entry = acButtonState, "AC switch", int, "%d" entry = m_acEnabled, "AC enabled", int, "%d" entry = engineTooSlow, "AC engine too slow", int, "%d" entry = engineTooFast, "AC engine too fast", int, "%d" entry = noClt, "AC no CLT", int, "%d" entry = engineTooHot, "AC engine too hot", int, "%d" entry = tpsTooHigh, "AC tps too high", int, "%d" entry = isDisabledByLua, "AC disabled by Lua", int, "%d" entry = acCompressorState, "AC compressor on", int, "%d" entry = acPressureTooLow, "AC pressure too low", int, "%d" entry = acPressureTooHigh, "AC pressure too high", int, "%d" entry = isNitrousArmed, "isNitrousArmed", int, "%d" entry = isNitrousSpeedCondition, "isNitrousSpeedCondition", int, "%d" entry = isNitrousTpsCondition, "isNitrousTpsCondition", int, "%d" entry = isNitrousCltCondition, "isNitrousCltCondition", int, "%d" entry = isNitrousMapCondition, "isNitrousMapCondition", int, "%d" entry = isNitrousAfrCondition, "isNitrousAfrCondition", int, "%d" entry = isNitrousRpmCondition, "isNitrousRpmCondition", int, "%d" entry = isNitrousCondition, "isNitrousCondition", int, "%d" entry = fan1cranking, "fan1cranking", int, "%d" entry = fan1notRunning, "fan1notRunning", int, "%d" entry = fan1disabledWhileEngineStopped, "fan1Engine stopped", int, "%d" entry = fan1brokenClt, "fan1Broken CLT", int, "%d" entry = fan1enabledForAc, "fan1Enable for AC", int, "%d" entry = fan1hot, "fan1Above hot threshold", int, "%d" entry = fan1cold, "fan1Below cold threshold", int, "%d" entry = fan1disabledBySpeed, "fan1disabledBySpeed", int, "%d" entry = fan1m_state, "fan1On", int, "%d" entry = fan1fan_pwm_started, "fan1fan_pwm_started", int, "%d" entry = fan1radiatorFanStatus, "fan1radiatorFanStatus", int, "%d" entry = fan1Pwm, "fan1Pwm", float, "%.3f" entry = fan2cranking, "fan2cranking", int, "%d" entry = fan2notRunning, "fan2notRunning", int, "%d" entry = fan2disabledWhileEngineStopped, "fan2Engine stopped", int, "%d" entry = fan2brokenClt, "fan2Broken CLT", int, "%d" entry = fan2enabledForAc, "fan2Enable for AC", int, "%d" entry = fan2hot, "fan2Above hot threshold", int, "%d" entry = fan2cold, "fan2Below cold threshold", int, "%d" entry = fan2disabledBySpeed, "fan2disabledBySpeed", int, "%d" entry = fan2m_state, "fan2On", int, "%d" entry = fan2fan_pwm_started, "fan2fan_pwm_started", int, "%d" entry = fan2radiatorFanStatus, "fan2radiatorFanStatus", int, "%d" entry = fan2Pwm, "fan2Pwm", float, "%.3f" entry = waterPumpcranking, "waterPumpcranking", int, "%d" entry = waterPumpnotRunning, "waterPumpnotRunning", int, "%d" entry = waterPumpdisabledWhileEngineStopped, "waterPumpEngine stopped", int, "%d" entry = waterPumpbrokenClt, "waterPumpBroken CLT", int, "%d" entry = waterPumpenabledForAc, "waterPumpEnable for AC", int, "%d" entry = waterPumphot, "waterPumpAbove hot threshold", int, "%d" entry = waterPumpcold, "waterPumpBelow cold threshold", int, "%d" entry = waterPumpdisabledBySpeed, "waterPumpdisabledBySpeed", int, "%d" entry = waterPumpm_state, "waterPumpOn", int, "%d" entry = waterPumpfan_pwm_started, "waterPumpfan_pwm_started", int, "%d" entry = waterPumpradiatorFanStatus, "waterPumpradiatorFanStatus", int, "%d" entry = waterPumpPwm, "waterPumpPwm", float, "%.3f" entry = waterPump2cranking, "waterPump2cranking", int, "%d" entry = waterPump2notRunning, "waterPump2notRunning", int, "%d" entry = waterPump2disabledWhileEngineStopped, "waterPump2Engine stopped", int, "%d" entry = waterPump2brokenClt, "waterPump2Broken CLT", int, "%d" entry = waterPump2enabledForAc, "waterPump2Enable for AC", int, "%d" entry = waterPump2hot, "waterPump2Above hot threshold", int, "%d" entry = waterPump2cold, "waterPump2Below cold threshold", int, "%d" entry = waterPump2disabledBySpeed, "waterPump2disabledBySpeed", int, "%d" entry = waterPump2m_state, "waterPump2On", int, "%d" entry = waterPump2fan_pwm_started, "waterPump2fan_pwm_started", int, "%d" entry = waterPump2radiatorFanStatus, "waterPump2radiatorFanStatus", int, "%d" entry = waterPump2Pwm, "waterPump2Pwm", float, "%.3f" entry = isPrime, "isPrime", int, "%d" entry = engineTurnedRecently, "engineTurnedRecently", int, "%d" entry = isFuelPumpOn, "isFuelPumpOn", int, "%d" entry = ignitionOn, "ignitionOn", int, "%d" entry = tpsFuelPumpPrime, "tpsFuelPumpPrime", int, "%d" entry = fuelPumpForceState, "fuelPumpForceState", int, "%d" entry = isBenchTest, "Main relay: Bench test", int, "%d" entry = hasIgnitionVoltage, "Main relay: Has IGN voltage", int, "%d" entry = mainRelayState, "Main relay: On", int, "%d" entry = delayedShutoffRequested, "Main relay: Delayed shutoff", int, "%d" entry = injectionMass1, "injectionMass 1", float, "%.3f" entry = injectionMass2, "injectionMass 2", float, "%.3f" entry = injectionMass3, "injectionMass 3", float, "%.3f" entry = injectionMass4, "injectionMass 4", float, "%.3f" entry = injectionMass5, "injectionMass 5", float, "%.3f" entry = injectionMass6, "injectionMass 6", float, "%.3f" entry = injectionMass7, "injectionMass 7", float, "%.3f" entry = injectionMass8, "injectionMass 8", float, "%.3f" entry = lua_fuelAdd, "Lua: Fuel add", float, "%.3f" entry = lua_fuelMult, "Lua: Fuel mult", float, "%.3f" entry = lua_clutchUpState, "lua_clutchUpState", int, "%d" entry = lua_brakePedalState, "lua_brakePedalState", int, "%d" entry = lua_acRequestState, "lua_acRequestState", int, "%d" entry = lua_luaDisableEtb, "lua_luaDisableEtb", int, "%d" entry = lua_luaIgnCut, "lua_luaIgnCut", int, "%d" entry = lua_luaFuelCut, "lua_luaFuelCut", int, "%d" entry = lua_clutchDownState, "lua_clutchDownState", int, "%d" entry = lua_disableDecelerationFuelCutOff, "lua_disableDecelerationFuelCutOff", int, "%d" entry = lua_torqueReductionState, "lua_torqueReductionState", int, "%d" entry = sd_tCharge, "Air: Charge temperature estimate", float, "%.3f" entry = sd_tChargeK, "Air: Charge temperature estimate K", float, "%.3f" entry = crankingFuel_coolantTemperatureCoefficient, "Fuel: cranking CLT mult", float, "%.3f" entry = crankingFuel_tpsCoefficient, "Fuel: cranking TPS mult", float, "%.3f" entry = crankingFuel_baseFuel, "Fuel: Cranking cycle base mass", float, "%.3f" entry = crankingFuel_fuel, "Fuel: Cranking cycle mass", float, "%.3f" entry = baroCorrection, "Fuel: Barometric pressure mult", float, "%.3f" entry = hellenBoardId, "Detected Board ID", int, "%d" entry = clutchUpState, "Clutch: up", int, "%d" entry = brakePedalState, "Brake switch", int, "%d" entry = startStopState, "startStopState", int, "%d" entry = smartChipState, "smartChipState", int, "%d" entry = smartChipRestartCounter, "smartChipRestartCounter", int, "%d" entry = smartChipAliveCounter, "smartChipAliveCounter", int, "%d" entry = startStopPhysicalState, "startStopPhysicalState", int, "%d" entry = acrActive, "Harley ACR Active", int, "%d" entry = acrEngineMovedRecently, "acrEngineMovedRecently", int, "%d" entry = heaterControlEnabled, "heaterControlEnabled", int, "%d" entry = luaDigitalState0, "luaDigitalState0", int, "%d" entry = luaDigitalState1, "luaDigitalState1", int, "%d" entry = luaDigitalState2, "luaDigitalState2", int, "%d" entry = luaDigitalState3, "luaDigitalState3", int, "%d" entry = clutchDownState, "Clutch: down", int, "%d" entry = startStopStateToggleCounter, "startStopStateToggleCounter", int, "%d" entry = currentVe, "currentVe", float, "%.3f" entry = currentMafCorrection, "currentMafCorrection", float, "%.3f" entry = mafAirChargeLoad, "mafAirChargeLoad", float, "%.3f" entry = sdAirmass, "sdAirmass", float, "%.3f" entry = mafAirmass, "mafAirmass", float, "%.3f" entry = tmfAirmass, "tmfAirmass", float, "%.3f" entry = sdLoad, "sdLoad", float, "%.3f" entry = mafLoad, "mafLoad", float, "%.3f" entry = tmfLoad, "tmfLoad", float, "%.3f" entry = luaSoftSparkSkip, "luaSoftSparkSkip", float, "%.3f" entry = luaHardSparkSkip, "luaHardSparkSkip", float, "%.3f" entry = tractionControlSparkSkip, "tractionControlSparkSkip", float, "%.3f" entry = fuelInjectionCounter, "Fuel: Injection counter", int, "%d" entry = globalSparkCounter, "Ign: Spark counter", int, "%d" entry = fuelingLoad, "Fuel: Load", float, "%.3f" entry = ignitionLoad, "Ignition: load", float, "%.3f" entry = veTableYAxis, "veTableYAxis", float, "%.3f" entry = veTableIdleYAxis, "veTableIdleYAxis", float, "%.3f" entry = overDwellCanceledCounter, "Ignition: overcharge canceled", int, "%d" entry = overDwellNotScheduledCounter, "Ignition: overDwellNotScheduled", int, "%d" entry = sparkOutOfOrderCounter, "Ignition: sparkOutOfOrder", int, "%d" entry = dwellUnderChargeCounter, "Ignition: undecharge warnings", int, "%d" entry = dwellOverChargeCounter, "Ignition: overcharge warnings", int, "%d" entry = dwellActualRatio, "Ignition: Dwell deviation", float, "%.3f" entry = stftCorrection1, "STFT: Bank 1", float, "%.3f" entry = stftCorrection2, "STFT: Bank 2", float, "%.3f" entry = tpsFrom, "Fuel: TPS AE from", float, "%.3f" entry = tpsTo, "Fuel: TPS AE to", float, "%.3f" entry = deltaTps, "Fuel: TPS AE change", float, "%.3f" entry = extraFuel, "Fuel: TPS extraFuel", float, "%.3f" entry = valueFromTable, "Fuel: TPS valueFromTable", float, "%.3f" entry = tpsAeCycleMult, "tpsAeCycleMult", float, "%.3f" entry = isAboveAccelThreshold, "Fuel: TPS AE Active", int, "%d" entry = isBelowDecelThreshold, "isBelowDecelThreshold", int, "%d" entry = isFractionalEnrichment, "isFractionalEnrichment", int, "%d" entry = belowEpsilon, "Fuel: TPS AE: below threshold", int, "%d" entry = tooShort, "Fuel: TPS AE: too short", int, "%d" entry = extraShot, "Fuel: TPSAE ExtraShot", int, "%d" entry = m_accelEventJustOccurred, "m_accelEventJustOccurred", int, "%d" entry = tpsAeCycleCntWait, "tpsAeCycleCntWait", int, "%d" entry = m_tpsExtraShotTimer, "m_tpsExtraShotTimer", int, "%d" entry = fractionalInjFuel, "Fuel: TPS AE fractionalInjFuel", float, "%.3f" entry = accumulatedValue, "accumulatedValue", float, "%.3f" entry = maxExtraPerCycle, "maxExtraPerCycle", float, "%.3f" entry = maxExtraPerPeriod, "maxExtraPerPeriod", float, "%.3f" entry = maxInjectedPerPeriod, "maxInjectedPerPeriod", float, "%.3f" entry = cycleCnt, "cycleCnt", int, "%d" entry = wotTps, "Fuel: WOT TPS", float, "%.3f" entry = tpsAeCycleCnt, "Engine cycles AE duration", int, "%d" entry = AccelThreshold, "AccelThreshold", float, "%.3f" entry = deltaTpsAverageThreshold, "deltaTpsAverageThreshold", float, "%.3f" entry = smoothedDeltaTps, "smoothedDeltaTps", float, "%.3f" entry = tpsaeburnskip, "tpsaeburnskip", int, "%d" entry = curaeCltCorr, "curaeCltCorr", float, "%.3f" entry = accelEventTriggeredCnt, "accelEventTriggeredCnt", int, "%d" entry = hwEventCounters1, "Hardware events since boot 1", int, "%d" entry = hwEventCounters2, "Hardware events since boot 2", int, "%d" entry = hwEventCounters3, "Hardware events since boot 3", int, "%d" entry = hwEventCounters4, "Hardware events since boot 4", int, "%d" entry = vvtEventRiseCounter1, "vvtEventRiseCounter 1", int, "%d" entry = vvtEventRiseCounter2, "vvtEventRiseCounter 2", int, "%d" entry = vvtEventRiseCounter3, "vvtEventRiseCounter 3", int, "%d" entry = vvtEventRiseCounter4, "vvtEventRiseCounter 4", int, "%d" entry = vvtEventFallCounter1, "vvtEventFallCounter 1", int, "%d" entry = vvtEventFallCounter2, "vvtEventFallCounter 2", int, "%d" entry = vvtEventFallCounter3, "vvtEventFallCounter 3", int, "%d" entry = vvtEventFallCounter4, "vvtEventFallCounter 4", int, "%d" entry = vvtCamCounter, "Sync: total cams front counter", int, "%d" entry = mapVvt_MAP_AT_SPECIAL_POINT, "InstantMAP at readout angle", float, "%.3f" entry = mapVvt_MAP_AT_DIFF, "InstantMAP delta @ readout angles", float, "%.3f" entry = mapVvt_MAP_AT_CYCLE_COUNT, "mapVvt_MAP_AT_CYCLE_COUNT", int, "%d" entry = mapVvt_sync_counter, "Instant MAP sync counter", int, "%d" entry = mapVvt_min_point_counter, "mapVvt_min_point_counter", int, "%d" entry = temp_mapVvt_index, "temp_mapVvt_index", int, "%d" entry = mapVvt_CycleDelta, "mapVvt_CycleDelta", float, "%.3f" entry = currentEngineDecodedPhase, "Sync: Engine Phase", float, "%.3f" entry = triggerToothAngleError, "Sync: trigger angle error", float, "%.3f" entry = triggerIgnoredToothCount, "triggerIgnoredToothCount", int, "%d" entry = mapCamPrevToothAngle, "Sync: MAP: prev angle", float, "%.3f" entry = isDecodingMapCam, "isDecodingMapCam", int, "%d" entry = triggerElapsedUs, "triggerElapsedUs", int, "%d" entry = trgsynchronizationCounter, "trgsync: wheel sync counter", int, "%d" entry = trgvvtToothDurations0, "trgvvtToothDurations0", int, "%d" entry = trgvvtCurrentPosition, "trgsync: Primary Position", float, "%.3f" entry = trgvvtToothPosition1, "trgsync: Cam Position 1", float, "%.3f" entry = trgvvtToothPosition2, "trgsync: Cam Position 2", float, "%.3f" entry = trgvvtToothPosition3, "trgsync: Cam Position 3", float, "%.3f" entry = trgvvtToothPosition4, "trgsync: Cam Position 4", float, "%.3f" entry = trgtriggerSyncGapRatio, "trgSync: Trigger Latest Ratio", float, "%.3f" entry = trgm_preSyncFuelFired, "trgm_preSyncFuelFired", int, "%d" entry = trgm_preSyncFuelNextToothEvent, "trgm_preSyncFuelNextToothEvent", int, "%d" entry = trgm_preSyncEventsFired, "trgm_preSyncEventsFired", int, "%d" entry = trgtriggerStateIndex, "trgtriggerStateIndex", int, "%d" entry = trgtriggerCountersError, "trgtriggerCountersError", int, "%d" entry = vvt1isynchronizationCounter, "vvt1isync: wheel sync counter", int, "%d" entry = vvt1ivvtToothDurations0, "vvt1ivvtToothDurations0", int, "%d" entry = vvt1ivvtCurrentPosition, "vvt1isync: Primary Position", float, "%.3f" entry = vvt1ivvtToothPosition1, "vvt1isync: Cam Position 1", float, "%.3f" entry = vvt1ivvtToothPosition2, "vvt1isync: Cam Position 2", float, "%.3f" entry = vvt1ivvtToothPosition3, "vvt1isync: Cam Position 3", float, "%.3f" entry = vvt1ivvtToothPosition4, "vvt1isync: Cam Position 4", float, "%.3f" entry = vvt1itriggerSyncGapRatio, "vvt1iSync: Trigger Latest Ratio", float, "%.3f" entry = vvt1im_preSyncFuelFired, "vvt1im_preSyncFuelFired", int, "%d" entry = vvt1im_preSyncFuelNextToothEvent, "vvt1im_preSyncFuelNextToothEvent", int, "%d" entry = vvt1im_preSyncEventsFired, "vvt1im_preSyncEventsFired", int, "%d" entry = vvt1itriggerStateIndex, "vvt1itriggerStateIndex", int, "%d" entry = vvt1itriggerCountersError, "vvt1itriggerCountersError", int, "%d" entry = vvt1esynchronizationCounter, "vvt1esync: wheel sync counter", int, "%d" entry = vvt1evvtToothDurations0, "vvt1evvtToothDurations0", int, "%d" entry = vvt1evvtCurrentPosition, "vvt1esync: Primary Position", float, "%.3f" entry = vvt1evvtToothPosition1, "vvt1esync: Cam Position 1", float, "%.3f" entry = vvt1evvtToothPosition2, "vvt1esync: Cam Position 2", float, "%.3f" entry = vvt1evvtToothPosition3, "vvt1esync: Cam Position 3", float, "%.3f" entry = vvt1evvtToothPosition4, "vvt1esync: Cam Position 4", float, "%.3f" entry = vvt1etriggerSyncGapRatio, "vvt1eSync: Trigger Latest Ratio", float, "%.3f" entry = vvt1em_preSyncFuelFired, "vvt1em_preSyncFuelFired", int, "%d" entry = vvt1em_preSyncFuelNextToothEvent, "vvt1em_preSyncFuelNextToothEvent", int, "%d" entry = vvt1em_preSyncEventsFired, "vvt1em_preSyncEventsFired", int, "%d" entry = vvt1etriggerStateIndex, "vvt1etriggerStateIndex", int, "%d" entry = vvt1etriggerCountersError, "vvt1etriggerCountersError", int, "%d" entry = vvt2isynchronizationCounter, "vvt2isync: wheel sync counter", int, "%d" entry = vvt2ivvtToothDurations0, "vvt2ivvtToothDurations0", int, "%d" entry = vvt2ivvtCurrentPosition, "vvt2isync: Primary Position", float, "%.3f" entry = vvt2ivvtToothPosition1, "vvt2isync: Cam Position 1", float, "%.3f" entry = vvt2ivvtToothPosition2, "vvt2isync: Cam Position 2", float, "%.3f" entry = vvt2ivvtToothPosition3, "vvt2isync: Cam Position 3", float, "%.3f" entry = vvt2ivvtToothPosition4, "vvt2isync: Cam Position 4", float, "%.3f" entry = vvt2itriggerSyncGapRatio, "vvt2iSync: Trigger Latest Ratio", float, "%.3f" entry = vvt2im_preSyncFuelFired, "vvt2im_preSyncFuelFired", int, "%d" entry = vvt2im_preSyncFuelNextToothEvent, "vvt2im_preSyncFuelNextToothEvent", int, "%d" entry = vvt2im_preSyncEventsFired, "vvt2im_preSyncEventsFired", int, "%d" entry = vvt2itriggerStateIndex, "vvt2itriggerStateIndex", int, "%d" entry = vvt2itriggerCountersError, "vvt2itriggerCountersError", int, "%d" entry = vvt2esynchronizationCounter, "vvt2esync: wheel sync counter", int, "%d" entry = vvt2evvtToothDurations0, "vvt2evvtToothDurations0", int, "%d" entry = vvt2evvtCurrentPosition, "vvt2esync: Primary Position", float, "%.3f" entry = vvt2evvtToothPosition1, "vvt2esync: Cam Position 1", float, "%.3f" entry = vvt2evvtToothPosition2, "vvt2esync: Cam Position 2", float, "%.3f" entry = vvt2evvtToothPosition3, "vvt2esync: Cam Position 3", float, "%.3f" entry = vvt2evvtToothPosition4, "vvt2esync: Cam Position 4", float, "%.3f" entry = vvt2etriggerSyncGapRatio, "vvt2eSync: Trigger Latest Ratio", float, "%.3f" entry = vvt2em_preSyncFuelFired, "vvt2em_preSyncFuelFired", int, "%d" entry = vvt2em_preSyncFuelNextToothEvent, "vvt2em_preSyncFuelNextToothEvent", int, "%d" entry = vvt2em_preSyncEventsFired, "vvt2em_preSyncEventsFired", int, "%d" entry = vvt2etriggerStateIndex, "vvt2etriggerStateIndex", int, "%d" entry = vvt2etriggerCountersError, "vvt2etriggerCountersError", int, "%d" entry = camResyncCounter, "Resync counter", int, "%d" entry = m_hasSynchronizedPhase, "Fully synchronized", int, "%d" entry = wallFuelCorrection, "fuel wallwetting injection time", float, "%.3f" entry = wallFuel, "Fuel on the wall", float, "%.3f" entry = isStableIdle, "isStableIdle", int, "%d" entry = emaError, "emaError", float, "%.3f" entry = liveDataExampleField, "liveDataExampleField", float, "%.3f" entry = cc_cruiseState, "cc_cruiseState", int, "%d" entry = cc_disabled, "cc_disabled", int, "%d" entry = cc_off, "cc_off", int, "%d" entry = cc_armed, "cc_armed", int, "%d" entry = cc_engaged, "cc_engaged", int, "%d" entry = cc_dfcoinhibit, "cc_dfcoinhibit", int, "%d" entry = cc_cruiseControlUseVehicleSpeed, "cc_cruiseControlUseVehicleSpeed", int, "%d" entry = cc_cruiseControlEnabled, "cc_cruiseControlEnabled", int, "%d" entry = cc_unsafe, "cc_unsafe", int, "%d" entry = cc_overspeed, "cc_overspeed", int, "%d" entry = cc_underspeed, "cc_underspeed", int, "%d" entry = cc_overrpm, "cc_overrpm", int, "%d" entry = cc_underrpm, "cc_underrpm", int, "%d" entry = cc_overtps, "cc_overtps", int, "%d" entry = cc_badtps, "cc_badtps", int, "%d" entry = cc_badpedal, "cc_badpedal", int, "%d" entry = cc_overpedal, "cc_overpedal", int, "%d" entry = cc_noetb, "cc_noetb", int, "%d" entry = cc_overspeedband, "cc_overspeedband", int, "%d" entry = cc_underspeedband, "cc_underspeedband", int, "%d" entry = cc_overrpmband, "cc_overrpmband", int, "%d" entry = cc_underrpmband, "cc_underrpmband", int, "%d" entry = cc_maxpedal, "cc_maxpedal", int, "%d" entry = cc_accdec_period, "cc_accdec_period", int, "%d" entry = cc_disarm_pending, "cc_disarm_pending", int, "%d" entry = cc_pedal_release_pending, "cc_pedal_release_pending", int, "%d" entry = cc_warning, "cc_warning", int, "%d" entry = cc_close_to_limit, "cc_close_to_limit", int, "%d" entry = cc_pedal_latched, "cc_pedal_latched", int, "%d" entry = cc_in_deadband, "cc_in_deadband", int, "%d" entry = cc_recent_cut, "cc_recent_cut", int, "%d" entry = cc_brake, "cc_brake", int, "%d" entry = cc_clutch_down, "cc_clutch_down", int, "%d" entry = cc_setpoint_speed, "cc_setpoint_speed", float, "%.3f" entry = cc_clutch_up, "cc_clutch_up", int, "%d" entry = cc_setpoint_rpm, "cc_setpoint_rpm", float, "%.3f" entry = cc_error_speed, "cc_error_speed", float, "%.3f" entry = cc_error_rpm, "cc_error_rpm", float, "%.3f" entry = cc_adjustment, "cc_adjustment", float, "%.3f" entry = cc_pedalAtEngagePct, "cc_pedalAtEngagePct", float, "%.3f" entry = cc_tpsSetpoint, "cc_tpsSetpoint", float, "%.3f" entry = cc_etb_target, "cc_etb_target", float, "%.3f" entry = cc_etb_from_engine, "cc_etb_from_engine", float, "%.3f" entry = assistedEtbActive, "Is tuning active (0/1)", int, "%d" entry = assistedEtbPhaseLatch, "assistedEtbPhaseLatch", int, "%d" entry = assistedEtbWaveTypeCurrent, "assistedEtbWaveTypeCurrent", int, "%d" entry = assistedEtbTargetPct, "assistedEtbTargetPct", float, "%.3f" entry = assistedEtbRiseTimeSec, "assistedEtbRiseTimeSec", float, "%.3f" entry = assistedEtbOvershootPct, "assistedEtbOvershootPct", float, "%.3f" entry = assistedEtbSettlingTimeSec, "assistedEtbSettlingTimeSec", float, "%.3f" entry = assistedEtbSuggestedP, "assistedEtbSuggestedP", float, "%.3f" entry = assistedEtbSuggestedI, "assistedEtbSuggestedI", float, "%.3f" entry = assistedEtbSuggestedD, "assistedEtbSuggestedD", float, "%.3f" entry = assistedEtbNowSec, "assistedEtbNowSec", float, "%.3f" entry = assistedEtbPhase, "assistedEtbPhase", float, "%.3f" entry = assistedEtbPeriod, "assistedEtbPeriod", float, "%.3f" entry = assistedEtbIteration, "assistedEtbIteration", int, "%d" entry = idleState, "idleState", int, "%d" entry = baseIdlePosition, "idle: base value", float, "%.3f" entry = iacByTpsTaper, "idle: iacByTpsTaper portion", float, "%.3f" entry = mightResetPid, "idle: mightResetPid", int, "%d" entry = shouldResetPid, "Idle: shouldResetPid", int, "%d" entry = wasResetPid, "Idle: wasResetPid", int, "%d" entry = isCranking, "Idle: cranking", int, "%d" entry = isIacTableForCoasting, "isIacTableForCoasting", int, "%d" entry = needReset, "Idle: reset", int, "%d" entry = isInDeadZone, "Idle: dead zone", int, "%d" entry = isBlipping, "isBlipping", int, "%d" entry = badTps, "badTps", int, "%d" entry = looksLikeRunning, "looksLikeRunning", int, "%d" entry = looksLikeCoasting, "looksLikeCoasting", int, "%d" entry = looksLikeCrankToIdle, "looksLikeCrankToIdle", int, "%d" entry = isIdleCoasting, "Idle: coasting", int, "%d" entry = isIdleClosedLoop, "Idle: Closed loop active", int, "%d" entry = isIdling, "Idle: idling", int, "%d" entry = m_isCoastingAdvance, "Idle: is coasting advance", int, "%d" entry = idleTarget, "Idle: Target RPM", int, "%d" entry = targetRpmByClt, "Idle: Target RPM base", int, "%d" entry = targetRpmAc, "Idle: Target A/C RPM", int, "%d" entry = idle_m_last_phase, "Idle: phase", int, "%d" entry = iacByRpmTaper, "idle: iacByRpmTaper portion", float, "%.3f" entry = luaAdd, "idle: Lua Adder", float, "%.3f" entry = m_lastTargetRpm, "m_lastTargetRpm", int, "%d" entry = idleClosedLoop, "Closed loop", float, "%.3f" entry = currentIdlePosition, "Idle: Position", float, "%.3f" entry = idleTargetAirmass, "Target airmass", int, "%d" entry = idleTargetFlow, "Target airflow", float, "%.3f" entry = idleTargetError, "Idle: Target ERROR", int, "%d" entry = idle_timeInIdle, "idle_timeInIdle", float, "%.3f" entry = idle_deltaRpmAdj, "idle_deltaRpmAdj", float, "%.3f" entry = etb1etbCurrentTarget, "etb1ETB: target for current pedal", float, "%.3f" entry = etb1targetWithIdlePosition, "etb1ETB: target with idle", float, "%.3f" entry = etb1trim, "etb1ETB: trim", float, "%.3f" entry = etb1boardEtbAdjustment, "etb1boardEtbAdjustment", float, "%.3f" entry = etb1adjustedEtbTarget, "etb1ETB with adjustments", float, "%.3f" entry = etb1luaAdjustment, "etb1ETB: luaAdjustment", float, "%.3f" entry = etb1m_adjustedTarget, "etb1Adjusted target", float, "%.3f" entry = etb1m_wastegatePosition, "etb1DC: wastegatePosition", float, "%.3f" entry = etb1m_lastPidDtMs, "etb1EBT: last PID dT", float, "%.3f" entry = etb1etbFeedForward, "etb1etbFeedForward", float, "%.3f" entry = etb1integralError, "etb1Integral error", float, "%.3f" entry = etb1etbRevLimitActive, "etb1etbRevLimitActive", int, "%d" entry = etb1jamDetected, "etb1jamDetected", int, "%d" entry = etb1validPlantPosition, "etb1validPlantPosition", int, "%d" entry = etb1etbTpsErrorCounter, "etb1ETB TPS error counter", int, "%d" entry = etb1etbPpsErrorCounter, "etb1ETB pedal error counter", int, "%d" entry = etb1etbErrorCode, "etb1etbErrorCode", int, "%d" entry = etb1etbErrorCodeBlinker, "etb1etbErrorCodeBlinker", int, "%d" entry = etb1tcEtbDrop, "etb1ETB traction control", int, "%d" entry = etb1jamTimer, "etb1ETB jam timer", float, "%.3f" entry = etb1state, "etb1state", int, "%d" entry = etb2etbCurrentTarget, "etb2ETB: target for current pedal", float, "%.3f" entry = etb2targetWithIdlePosition, "etb2ETB: target with idle", float, "%.3f" entry = etb2trim, "etb2ETB: trim", float, "%.3f" entry = etb2boardEtbAdjustment, "etb2boardEtbAdjustment", float, "%.3f" entry = etb2adjustedEtbTarget, "etb2ETB with adjustments", float, "%.3f" entry = etb2luaAdjustment, "etb2ETB: luaAdjustment", float, "%.3f" entry = etb2m_adjustedTarget, "etb2Adjusted target", float, "%.3f" entry = etb2m_wastegatePosition, "etb2DC: wastegatePosition", float, "%.3f" entry = etb2m_lastPidDtMs, "etb2EBT: last PID dT", float, "%.3f" entry = etb2etbFeedForward, "etb2etbFeedForward", float, "%.3f" entry = etb2integralError, "etb2Integral error", float, "%.3f" entry = etb2etbRevLimitActive, "etb2etbRevLimitActive", int, "%d" entry = etb2jamDetected, "etb2jamDetected", int, "%d" entry = etb2validPlantPosition, "etb2validPlantPosition", int, "%d" entry = etb2etbTpsErrorCounter, "etb2ETB TPS error counter", int, "%d" entry = etb2etbPpsErrorCounter, "etb2ETB pedal error counter", int, "%d" entry = etb2etbErrorCode, "etb2etbErrorCode", int, "%d" entry = etb2etbErrorCodeBlinker, "etb2etbErrorCodeBlinker", int, "%d" entry = etb2tcEtbDrop, "etb2ETB traction control", int, "%d" entry = etb2jamTimer, "etb2ETB jam timer", float, "%.3f" entry = etb2state, "etb2state", int, "%d" entry = wb1faultCode, "wb1WBO: Fault code", int, "%d" entry = wb1heaterDuty, "wb1WBO: Heater duty", int, "%d" entry = wb1pumpDuty, "wb1WBO: Pump duty", int, "%d" entry = wb1isValid, "wb1isValid", int, "%d" entry = wb1fwUnsupported, "wb1fwUnsupported", int, "%d" entry = wb1fwOutdated, "wb1fwOutdated", int, "%d" entry = wb1tempC, "wb1WBO: Temperature", int, "%d" entry = wb1nernstVoltage, "wb1WBO: Nernst Voltage", float, "%.3f" entry = wb1esr, "wb1WBO: ESR", int, "%d" entry = wb2faultCode, "wb2WBO: Fault code", int, "%d" entry = wb2heaterDuty, "wb2WBO: Heater duty", int, "%d" entry = wb2pumpDuty, "wb2WBO: Pump duty", int, "%d" entry = wb2isValid, "wb2isValid", int, "%d" entry = wb2fwUnsupported, "wb2fwUnsupported", int, "%d" entry = wb2fwOutdated, "wb2fwOutdated", int, "%d" entry = wb2tempC, "wb2WBO: Temperature", int, "%d" entry = wb2nernstVoltage, "wb2WBO: Nernst Voltage", float, "%.3f" entry = wb2esr, "wb2WBO: ESR", int, "%d" entry = dcOutput0, "DC: output0", float, "%.3f" entry = isEnabled0_int, "DC: en0", int, "%d" entry = isEnabled0, "isEnabled0", int, "%d" entry = value0, "SENT ch0 value0", int, "%d" entry = value1, "SENT ch0 value1", int, "%d" entry = errorRate, "SENT ch0 error rate", float, "%.3f" entry = vvtTarget, "vvtTarget", float, "%.3f" entry = vvtOutput, "vvtOutput", float, "%.3f" entry = lambdaCurrentlyGood, "lambdaCurrentlyGood", int, "%d" entry = lambdaMonitorCut, "lambdaMonitorCut", int, "%d" entry = lambdaTimeSinceGood, "lambdaTimeSinceGood", float, "%.3f" entry = sparkDuration1, "Spark duration 1", float, "%.3f" entry = sparkDuration2, "Spark duration 2", float, "%.3f" entry = sparkDuration3, "Spark duration 3", float, "%.3f" entry = sparkDuration4, "Spark duration 4", float, "%.3f" entry = ltftCntHit, "LTFT learning: hits", int, "%d" entry = ltftCntMiss, "LTFT learning: miss", int, "%d" entry = ltftCntDeadband, "LTFT learning: in deadband", int, "%d" entry = ltftLearning, "LTFT learning", int, "%d" entry = ltftCorrecting, "LTFT correcting", int, "%d" entry = ltftSavePending, "LTFT saving", int, "%d" entry = ltftLoadPending, "LTFT loading calibration", int, "%d" entry = ltftNeedBackup, "ltftNeedBackup", int, "%d" entry = ltftLoadError, "LTFT loading calibration error", int, "%d" entry = ltftDeadBand, "LTFT Deadband", int, "%d" entry = ltftHit, "LTFT Hit", int, "%d" entry = ltftMiss, "LTFT Miss", int, "%d" entry = ltftSDSavePending, "LTFTSD", int, "%d" entry = ltftPageRefreshFlag, "LTFT page refresh flag", int, "%d" entry = last_ltft_save_uptime, "last_ltft_save_uptime", int, "%d" entry = ltftCorrection1, "LTFT: Bank 1", float, "%.3f" entry = ltftCorrection2, "LTFT: Bank 2", float, "%.3f" entry = ltftAccummulatedCorrection1, "LTFT: Total Bank 1", float, "%.3f" entry = ltftAccummulatedCorrection2, "LTFT: Total Bank 2", float, "%.3f" entry = stftCorrectionState, "stftCorrectionState", int, "%d" entry = stftLearningState1, "stftLearningState 1", int, "%d" entry = stftLearningState2, "stftLearningState 2", int, "%d" entry = stftInputError1, "STFT: input Lambda error 1", float, "%.3f" entry = stftInputError2, "STFT: input Lambda error 2", float, "%.3f" entry = isVvlTpsCondition, "isVvlTpsCondition", int, "%d" entry = isVvlCltCondition, "isVvlCltCondition", int, "%d" entry = isVvlMapCondition, "isVvlMapCondition", int, "%d" entry = isVvlAfrCondition, "isVvlAfrCondition", int, "%d" entry = isVvlRpmCondition, "isVvlRpmCondition", int, "%d" entry = isVvlCondition, "isVvlCondition", int, "%d" [Menu] menuDialog = main ; see #1653 ; menu = "Data Logging" ; subMenu = std_ms3SdConsole, "Browse / Import SD Card" menu = "&Setup" subMenu = engineChars, "Vehicle Information" groupMenu = "Limits and protection" groupChildMenu = limitsAndFallback, "Limits and fallbacks" groupChildMenu = lowOilPressureProtection, "Low oil pressure protection" groupChildMenu = highOilPressureProtection, "High oil pressure protection" groupChildMenu = lambdaProtection, "Lambda protection", 0, { isInjectionEnabled } subMenu = triggerConfiguration, "Trigger" subMenu = universalCamSettings, "Universal Cam" subMenu = std_separator subMenu = ignitionCylExtra, "Odd Fire Cylinder offsets", 0 subMenu = energySystems, "Battery and alternator" subMenu = ignitionInputDialog, "Ignition key input Settings" subMenu = std_separator subMenu = sdCard, "SD Card Logger" # Digital outputs subMenu = outputsDialog, "Standard Outputs" subMenu = fanAndWaterPumpSettings, "Fans and Water pumps" subMenu = fan1Curve, "Fan 1 PWM curve", 0, { fan1PwmEnabled } subMenu = fan2Curve, "Fan 2 PWM curve", 0, { fan2PwmEnabled } subMenu = waterPumpCurve, "Water Pump PWM curve", 0, { waterPumpPwmEnabled } subMenu = waterPump2Curve, "Water Pump PWM curve", 0, { waterPump2PwmEnabled } subMenu = tachCorrectionCurve, "Tach Correction Curve", 0, {tachOutputPin } subMenu = speedoCorrectionCurve, "Speedo Correction Curve", 0, {speedometerOutputPin } subMenu = acSettings, "Air Conditioning" subMenu = std_port_edit, "Programmable Ports" subMenu = checkEngineLightDialog, "Check Engine Light" menu = "Fuel" # Air mass model subMenu = veTableDialog, "VE Table", subMenu = veTableMafTbl, "MAF adjustment table", 0, {mafAdcChannel != 0 || frequencyMafChannel != 0 } subMenu = mafmapBlendValuesTBL, "MAF airmass blend", 0, {mafAdcChannel != 0 || frequencyMafChannel != 0 } # basic groupMenu = "Injector Setup" groupChildMenu = injectorConfig, "Injection configuration" groupChildMenu = injectionSettings, "Injection hardware", {isInjectionEnabled == 1}, { uiMode == 0 || uiMode == 1 } groupChildMenu = injectorsDeadTime, "Injector Deadtimes (BatV vs fuel pressure)" ; groupChildMenu = cylinderBankSelect, "Cylinder bank selection", {isInjectionEnabled == 1}, { uiMode == 0 || uiMode == 1 } groupChildMenu = injPhaseTableTbl, "Injector Timing Advance", 0, {isInjectionEnabled == 1} groupChildMenu = smallPwCorrection1 , "Primary Injector Small Pulsewidth Table" , 0 , { useInjSmallPulseWidth1 } groupChildMenu = smallPwInjBatCorrTBL, "Primary Injector Small Pulsewth vs BatV multiplier", 0, { useInjSmallPulseWidth1 } ; groupChildMenu = injectorNonlinear, "Injector small-pulse correction (old)", {isInjectionEnabled == 1}, { uiMode == 0 || uiMode == 1 } ; groupChildMenu = injectorFlowLinearizationTable, "Injector Flow Linearization(old)", {isInjectionEnabled == 1} groupChildMenu = deadtimetune, "Injector deadtime assisted tuning" groupChildMenu = injAdvAssistDialog, "Injector Advance Assisted Tuning", 0, {isInjectionEnabled == 1} groupChildMenu = std_separator groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" groupChildMenu = fuelTrimTbl2, "Fuel trim cyl 2", 0, { isInjectionEnabled && cylindersCount >= 2 } groupChildMenu = fuelTrimTbl3, "Fuel trim cyl 3", 0, { isInjectionEnabled && cylindersCount >= 3 } groupChildMenu = fuelTrimTbl4, "Fuel trim cyl 4", 0, { isInjectionEnabled && cylindersCount >= 4 } groupChildMenu = fuelTrimTbl5, "Fuel trim cyl 5", 0, { isInjectionEnabled && cylindersCount >= 5 } groupChildMenu = fuelTrimTbl6, "Fuel trim cyl 6", 0, { isInjectionEnabled && cylindersCount >= 6 } groupChildMenu = fuelTrimTbl7, "Fuel trim cyl 7", 0, { isInjectionEnabled && cylindersCount >= 7 } groupChildMenu = fuelTrimTbl8, "Fuel trim cyl 8", 0, { isInjectionEnabled && cylindersCount >= 8 } groupMenu = "Staged Injection" groupChildMenu = stagedInjection, "Staged Injector Settings", 0, {isInjectionEnabled} groupChildMenu = injectorsSecondaryDeadTime, "Staged Injector Deadtimes", 0, {isInjectionEnabled && enableStagedInjection} groupChildMenu = stagedInjectionOutputs, "Staged Injector outputs", 0, {isInjectionEnabled && enableStagedInjection} groupChildMenu = stagedInjectionTbl, "Staged Injector % table", 0, {isInjectionEnabled && enableStagedInjection} groupChildMenu = smallPwCorrection2 , "Staged Injector Small Pulsewidth Table", 0, { useInjSmallPulseWidth2 && enableStagedInjection } ; subMenu = veTableMap, "VE 3D view", 0, {isInjectionEnabled} #if LAMBDA subMenu = lambdaTableTbl, "Target lambda", 0, {isInjectionEnabled == 1} subMenu = cltAFRTargetCorrCurveDialog, "Target lambda warmup enrichment (CLT)", 0, {isInjectionEnabled == 1} #else subMenu = afrTableTblDlg, "Target AFR", 0, {isInjectionEnabled == 1} subMenu = cltAFRTargetCorrCurveDialog, "Target AFR warmup enrichment (CLT)", 0, {isInjectionEnabled == 1} #endif subMenu = cltFuelCorrCurveDialog, "Manual warmup enrichment (CLT)", 0, {isInjectionEnabled == 1} subMenu = iatFuelCorrCurve, "Intake air temp correction (IAT)", 0, {isInjectionEnabled == 1} subMenu = coastingFuelCutControl, "Deceleration fuel cutoff (DFCO)", 0, {isInjectionEnabled == 1} subMenu = dfcoMapRpmCorrection, "DFCO MAP to RPM threshold", 0, {isInjectionEnabled && useTableForDfcoMap } groupMenu = "Long Term Fuel Trim" groupChildMenu = fuelLTFCDialog, "Long term fuel trims", 0, {isInjectionEnabled == 1} groupChildMenu = ltftBank1TblBKDLG, "Long Term Fuel Trim Bank 1 - BACKUP", { ltft_enabled } groupChildMenu = ltftBank2TblBKDLG, "Long Term Fuel Trim Bank 2 - BACKUP", { ltft_enabled } groupMenu = "Short Term Fuel Trim" groupChildMenu = fuelClosedLoopDialog, "Short term fuel trim Setup", 0, {isInjectionEnabled == 1} groupChildMenu = stftTimeConstTbl, "Short term fuel trim Time Constant (I)", 0, {isInjectionEnabled == 1 && fuelClosedLoopCorrectionEnabled == 1} groupChildMenu = stftAuthorityAddFuelTbl, "Short term fuel trim Add Authority (+)", 0, {isInjectionEnabled == 1 && fuelClosedLoopCorrectionEnabled == 1} groupChildMenu = stftAuthorityRemoveFuelTbl, "Short term fuel trim Remove Authority (-)", 0, {isInjectionEnabled == 1 && fuelClosedLoopCorrectionEnabled == 1} groupMenu = "VE Table Switch" groupChildMenu = veBlend1Cfg, "VE Table Switch 1 Settings", 0, {isInjectionEnabled} groupChildMenu = veBlend1Table, "VE Table Switch 1", 0, {isInjectionEnabled && (veBlends1_tableSwitch || veBlends1_blendParameter)} groupChildMenu = veBlend2Cfg, "VE Table Switch 2 Settings", 0, {isInjectionEnabled} groupChildMenu = veBlend2Table, "VE Table Switch 2", 0, {isInjectionEnabled && (veBlends2_tableSwitch || veBlends2_blendParameter)} ; groupChildMenu = veBlend3Cfg, "VE blend 3 bias", 0, {isInjectionEnabled} ; groupChildMenu = veBlend3Table, "VE blend table 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } ; groupChildMenu = veBlend4Cfg, "VE blend 4 bias", 0, {isInjectionEnabled} ; groupChildMenu = veBlend4Table, "VE blend table 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } groupMenu = "Target AFR Table Switch" groupChildMenu = targetAfrBlend1Cfg, "Target AFR Table Switch 1 Settings" groupChildMenu = targetAfrBlend1Table, "Target AFR Table Switch 1", {isInjectionEnabled && (targetAfrBlends1_tableSwitch || targetAfrBlends1_blendParameter)} ; groupChildMenu = targetAfrBlend2Cfg, "Target AFR Table Switch 2 Settings" ; groupChildMenu = targetAfrBlend2Table, "Target AFR Table Switch 2", { targetAfrBlends2_blendParameter != 0 } groupMenu = "Fuel Corrections" groupChildMenu = baroCorrTbl, "Barometric pressure correction", {isInjectionEnabled == 1}, { uiMode == 0 || uiMode == 1 } groupChildMenu = tChargeSettings, "Charge temperature estimation", 0, {isInjectionEnabled == 1} # Accel enrichment groupMenu = "TPS Acceleration Enrichment / Wall Wetting AE" groupChildMenu = AccelEnrich, "Acceleration enrichment Base settings(AE)", 0, {isInjectionEnabled == 1} groupChildMenu = TpsAccelPanel , "TPS AE: Settings", 0, {isInjectionEnabled == 1} groupChildMenu = tpsAeCycleTBL , "TPS AE: Fuel multiplier by engine cycle", 0, {isInjectionEnabled == 1} groupChildMenu = deltaTpsAverageCurve , "TPS AE: Delta TPS Average Multiplier for Dynamic Threshold" , 0, {isInjectionEnabled == 1} groupChildMenu = tpsAeRocRpmCRV, "TPS AE: TPS change threshold by RPM", 0, {isInjectionEnabled == 1} groupChildMenu = tps_ae_scale_table, "TPS AE: TPS vs CLT AE SCALE", 0, {isInjectionEnabled == 1} ; groupChildMenu = wotTpsDialog, "TPS AE: TPS to WOT curve", 0, {isInjectionEnabled == 1} groupChildMenu = predictiveMapBlendDuration, "Predictive Map Blend Duration", 0, {isInjectionEnabled == 1} groupChildMenu = tpsTspRpmCorrection, "TPS AE: RPM correction", 0, {isInjectionEnabled == 1} groupChildMenu = aeCltCurve, "TPS AE: CLT correction", 0, {isInjectionEnabled == 1} ; groupChildMenu = tpsTpsDialog, "TPS Acceleration Enrichment fuel", 0, {isInjectionEnabled == 1} groupChildMenu = mapEstimateTableTbl, "MAP estimate table", 0 , {isInjectionEnabled == 1} groupChildMenu = wwTauCurves, "Evap from wall time", 0, { complexWallModel != 0 } groupChildMenu = wwBetaCurves, "Stick to wall fraction", 0, { complexWallModel != 0 } groupChildMenu = wwTauMapTableTbl, "Evap from wall table", 0, { complexWallModel != 0 } groupChildMenu = wwBetaMapTableTbl, "Stick to wall table", 0, { complexWallModel != 0 } groupChildMenu = tpsAeInstantRpmCurve, "TPS AE instant pulse multiplier vs RPM", 0, {tpsAccelExtraShot == 1} groupChildMenu = tpsAeInstantTpsCurve, "TPS AE instant pulse multiplier vs TPS", 0, {tpsAccelExtraShot == 1} groupChildMenu = tpsAeInstantMapCurve, "TPS AE instant pulse multiplier vs MAP", 0, {tpsAccelExtraShot == 1} groupChildMenu = tpsAeInstantCltCurve, "TPS AE instant pulse multiplier vs CLT", 0, {tpsAccelExtraShot == 1} groupMenu = "Throttle Model Flow" groupChildMenu = throttleEffectiveArea, "Throttle effective % area (TPS -> % tb1 area) " groupChildMenu = torque2TableTbl, "Throttle Model Flow Discharge Coefficient" ; groupChildMenu = torqueTableTbl, "Torque ???" menu = "Ignition" subMenu = IgnitionTableDialog, "Ignition advance", 0, {isIgnitionEnabled} subMenu = ignitionCltCorrTable, "CLT timing correction", 0, {isIgnitionEnabled == 1} subMenu = ignitionIatCorrTableTbl, "IAT timing correction", 0, {isIgnitionEnabled == 1} subMenu = dwellRpmVsBatvTBL, "Dwell Table" subMenu = sparkHardwareLatencyCorrectionCurveCurveDialog, "Ignition Hardware Angle Correction" subMenu = std_separator subMenu = ignitionSettings, "Ignition Hardware" ; subMenu = ignitionTableMap, "Ignition advance", 0, {isIgnitionEnabled} groupMenu = "Ignition Table Switch" groupChildMenu = ignAdder1Cfg, "Ignition Table Switch 1 Settings", 0, {isIgnitionEnabled} groupChildMenu = ignAdder1Table, "Ignition Table Switch 1", 0, {isIgnitionEnabled && (ignBlends1_tableSwitch || ignBlends1_blendParameter)} groupChildMenu = ignAdder2Cfg, "Ignition Table Switch 2 Settings", 0, {isIgnitionEnabled} groupChildMenu = ignAdder2Table, "Ignition Table Switch 2", 0, {isIgnitionEnabled && (ignBlends2_tableSwitch || ignBlends2_blendParameter)} ; groupChildMenu = ignAdder3Cfg, "Ignition blend 3 bias", 0, {isIgnitionEnabled} ; groupChildMenu = ignAdder3Table, "Ignition blend table 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } ; groupChildMenu = ignAdder4Cfg, "Ignition blend 4 bias", 0, {isIgnitionEnabled} ; groupChildMenu = ignAdder4Table, "Ignition blend table 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } groupMenu = "Cylinder Ignition Trim" groupChildMenu = ignTrimTbl1, "Ignition trim cyl 1 (deg)" groupChildMenu = ignTrimTbl2, "Ignition trim cyl 2 (deg)", 0, { isInjectionEnabled && cylindersCount >= 2 } groupChildMenu = ignTrimTbl3, "Ignition trim cyl 3", 0, { isInjectionEnabled && cylindersCount >= 3 } groupChildMenu = ignTrimTbl4, "Ignition trim cyl 4", 0, { isInjectionEnabled && cylindersCount >= 4 } groupChildMenu = ignTrimTbl5, "Ignition trim cyl 5", 0, { isInjectionEnabled && cylindersCount >= 5 } groupChildMenu = ignTrimTbl6, "Ignition trim cyl 6", 0, { isInjectionEnabled && cylindersCount >= 6 } groupChildMenu = ignTrimTbl7, "Ignition trim cyl 7", 0, { isInjectionEnabled && cylindersCount >= 7 } groupChildMenu = ignTrimTbl8, "Ignition trim cyl 8", 0, { isInjectionEnabled && cylindersCount >= 8 } subMenu = std_separator ; subMenu = multisparkSettings, "Multispark", 0, {isIgnitionEnabled == 1} subMenu = softwareKnock, "Knock Control" , 0 , {isIgnitionEnabled == 1} subMenu = maxKnockRetardTbl, "Max knock retard" , 0 , {isIgnitionEnabled == 1 && enableSoftwareKnock == 1} menu = "&Cranking" subMenu = crankingDialog, "Cranking settings" subMenu = cltCrankingCurveDialog, "Cranking Air Amount vs CLT", 1, { uiMode == 0 || uiMode == 1 } subMenu = postCrankingEnrichmentTbl,"After-start enrichment", { 1 }, { uiMode == 0 || uiMode == 1 } subMenu = primingFuelPulsePanel, "Priming pulse", { 1 }, { uiMode == 0 || uiMode == 1 } subMenu = std_separator subMenu = crankingCycleFuelMultTbl, "Cranking Base Fuel (Engine Cycle vs CLT)" subMenu = crankingCltCurve, "CLT Cranking Fuel Multiplier (E0)" subMenu = crankingCltCurveE100, "CLT Flex Cranking Fuel Multiplier (E85)" subMenu = crankingAdvanceCurve, "CLT Cranking ignition advance", {useSeparateAdvanceForCranking == 1}, { uiMode == 0 || uiMode == 1 } menu = "&Idle" subMenu = idleSettings, "Idle settings" subMenu = idlehw, "Idle hardware" subMenu = std_separator subMenu = cltIdleRPMCurve, "Idle Target RPM from CLT" subMenu = cltIdleTable, "Idle Position from CLT vs Idle Target RPM" subMenu = afterCrankingIACtaperDurationDialog, "Idle After Start (Crank-to-Run) Taper vs CLT" subMenu = std_separator subMenu = idleTimingPidCorrDialog, "Closed-loop Ignition idle timing", 0 , { useIdleTimingTargetError != 1 } subMenu = IdleTimingTargetErrorDialog, "Target Delta ignition idle timing", 0, { useIdleTimingPidControl != 1 } subMenu = iacPidMultTbl, "Idle PID multiplier", 0, {idleMode == 0 && useIacPidMultTable == 1} subMenu = iacCoastingCurve, "Coasting Idle position", 0, {useIacTableForCoasting == 1} subMenu = std_separator subMenu = idleVeTableTbl, "Idle VE", 0, {useSeparateVeForIdle == 1} subMenu = idleAdvanceCurve, "Idle Target RPM Ignition advance", 0, {useSeparateAdvanceForIdle == 1} subMenu = rotIdleDialog, "Rotational Idle" menu = "&Advanced" subMenu = smLaunchControl, "Launch Control" subMenu = antiLagDialog, "Anti-Lag ALS" groupMenu = "Traction Control and Vehicle Speed" groupChildMenu = speedSensor, "Vehicle speed sensor" groupChildMenu = tractionControlInputs, "Local Wheel speed inputs" groupChildMenu = canWheelSpeeds, "CAN Wheel speed inputs" groupChildMenu = tractionControlTracSettings, "Traction control settings" groupChildMenu = tractionControlCanBoxParams, "CAN box traction settings" groupChildMenu = tractionEtbDialog, "Traction Control ETB" groupChildMenu = tractionTimingDialog, "Traction Control Timing Retard" groupChildMenu = tractionIgnitionSkipDialog, "Traction Control Spark Skip" subMenu = rotaryDialog, "Rotary" groupMenu = "Torque Control" groupChildMenu = ShiftTorqueReductionDialog, "Shift Torque Reduction (Flat Shift)" groupChildMenu = torqueReductionTimeDialog, "Shift Torque Reduction Time table", { torqueReductionEnabled } groupChildMenu = torqueReductionIgnitionRetardDialog, "Torque Reduction Ignition Retard Table", { torqueReductionEnabled } groupChildMenu = torqueReductionIgnitionCutDialog, "Torque Reduction Ignition Cut Table", { torqueReductionEnabled } subMenu = NitrousControlDialog, "Nitrous Control" subMenu = VvlControlDialog, "VVL Control" subMenu = std_separator groupMenu = "Boost Control" groupChildMenu = boostDialog, "Boost control options" groupChildMenu = boostOpenLoopDialog, "Boost control Open loop base duty cycle", { isBoostControlEnabled } groupChildMenu = boostClosedLoopDialog, "Boost control target", { isBoostControlEnabled && boostType == 1 } groupChildMenu = boostPidDialog, "Boost control PID", { isBoostControlEnabled && boostType == 1 } groupChildMenu = spooledCurve, "SPOOLED curve", { isBoostControlEnabled } groupChildMenu = lowerWgTableTbl, "Lower wastegate duty (open loop)", { isBoostControlEnabled && lowerWastegatePin } groupChildMenu = boostOpenLoopGearAdderDialog, "Boost control Open loop PW ADDER by gear", { isBoostControlEnabled } groupChildMenu = boostOpenLoopGearMultiplierDialog, "Boost control Open loop PW MULTIPLIER by gear", { isBoostControlEnabled } groupChildMenu = boostOpenLoopGearLimiterDialog, "Boost control Open loop PW LIMITER by gear", { isBoostControlEnabled } groupChildMenu = boostClosedLoopGearAdderDialog, "Boost control closed-loop kPa adder by gear", { isBoostControlEnabled } groupChildMenu = boostClosedLoopGearMultiplierDialog, "Boost control closed-loop kPa multiplier by gear", { isBoostControlEnabled } groupChildMenu = boostClosedLoopGearLimiterDialog, "Boost control closed-loop kPa limiter by gear", { isBoostControlEnabled } groupChildMenu = cltBoostCorrCurve, "CLT boost duty multiplier", { isBoostControlEnabled }, { uiMode == 0 || uiMode == 1 } groupChildMenu = cltBoostAdderCurve, "CLT boost target adder", { isBoostControlEnabled && boostType == 1 }, { uiMode == 0 || uiMode == 1 } groupChildMenu = iatBoostCorrCurve, "IAT boost duty multiplier", { isBoostControlEnabled }, { uiMode == 0 || uiMode == 1 } groupChildMenu = iatBoostAdderCurve, "IAT boost target adder", { isBoostControlEnabled && boostType == 1 }, { uiMode == 0 || uiMode == 1 } groupMenu = "Boost Table Switch", { isBoostControlEnabled } groupChildMenu = boostOpenBlend1Cfg, "Open Loop Boost Table Switch 1 Settings", { isBoostControlEnabled } groupChildMenu = boostOpenBlend1Table, "Open Loop Boost Table Switch 1", { isBoostControlEnabled && (boostOpenLoopBlends1_tableSwitch || boostOpenLoopBlends1_blendParameter)} ; groupChildMenu = boostOpenBlend2Cfg, "Open loop 2 bias", { isBoostControlEnabled } ; groupChildMenu = boostOpenBlend2Table, "Open loop 2 adder", { isBoostControlEnabled && boostOpenLoopBlends2_blendParameter != 0 } groupChildMenu = boostClosedBlend1Cfg, "Closed Loop Boost Table Switch 1 Settings", { isBoostControlEnabled && boostType == 1 } groupChildMenu = boostClosedBlend1Table, "Closed Loop Boost Table Switch 1", { isBoostControlEnabled && boostType == 1 && (boostClosedLoopBlends1_tableSwitch || boostClosedLoopBlends1_blendParameter)} ; groupChildMenu = boostClosedBlend2Cfg, "Closed loop 2 bias", { isBoostControlEnabled && boostType == 1 } ; groupChildMenu = boostClosedBlend2Table, "Closed loop 2 adder", { isBoostControlEnabled && boostType == 1 && boostClosedLoopBlends2_blendParameter != 0 } subMenu = std_separator groupMenu = "Generic PWM" groupChildMenu = gppwm1, "General Purpose PWM 1", { 1 }, { uiMode == 0 || uiMode == 1 } groupChildMenu = gppwm2, "General Purpose PWM 2", { 1 }, { uiMode == 0 || uiMode == 1 } groupChildMenu = gppwm3, "General Purpose PWM 3", { 1 }, { uiMode == 0 || uiMode == 1 } groupChildMenu = gppwm4, "General Purpose PWM 4", { 1 }, { uiMode == 0 || uiMode == 1 } groupMenu = "Electronic Throttle Body / DC motors / Electronic Wastegate" groupChildMenu = etbDialog, "Electronic throttle body", { 1 }, { uiMode == 0 || uiMode == 1 } groupChildMenu = dcMotorActuatorHw "ETB / DC motor actuator(s) hardware", { 1 }, { uiMode == 0 || uiMode == 1 } groupChildMenu = dcMotorActuatorFunction, "ETB / DC motor actuator(s) function", { 1 }, { uiMode == 0 || uiMode == 1 } groupChildMenu = etbTpsBiasCurve, "ETB bias curve (feed forward)", { 1 }, { uiMode == 0 || uiMode == 1 } groupChildMenu = etbVoltageCompensationTbl, "ETB voltage compensation", { 1 }, { uiMode == 0 || uiMode == 1 } groupChildMenu = pedalToTpsTbl, "ETB pedal target", { 1 } groupChildMenu = pedalToTpsTbl2, "ETB Pedal Target #2", { 1 } groupChildMenu = pedalToTpsTbl3, "ETB Pedal Target #3", { 1 } groupChildMenu = pedalToTpsTbl4, "ETB Pedal Target #4", { 1 } groupChildMenu = throttle2TrimTbl, "ETB #2 Trim", { isTps2Primary } groupChildMenu = ewgDialog, "Electronic Wastegate actuator", { (etbFunctions1 == 4 || etbFunctions2 == 4) && isBoostControlEnabled } groupChildMenu = ewgBiasCurve, "EWG bias curve (feed forward)", { (etbFunctions1 == 4 || etbFunctions2 == 4) && isBoostControlEnabled } groupChildMenu = assistedEtbTuningDialog, "Assisted ETB Tuning", { 1 } subMenu = cruiseControlDialog, "Cruise Control", { 1 } subMenu = cruise_control_buttons, "Cruise Control Buttons (GPIO)" subMenu = std_separator groupMenu = "VVT" groupChildMenu = vvtPidDialog, "VVT outputs and PID", { vvtMode1 != 0 }, { uiMode == 0 || uiMode == 1 } groupChildMenu = vvtTable1Tbl, "VVT intake target", { vvtMode1 != 0 && vvtPins1 != 0 } groupChildMenu = vvtTable2Tbl, "VVT exhaust target", { vvtMode2 != 0 && vvtPins2 != 0 } ; subMenu = features, "Menu Features" menu = "&Sensors", { 1 }, { uiMode == 0 || uiMode == 1 } groupMenu = "Chassis sensors" groupChildMenu = otherSensorInputs, "Misc sensors", { 1 }, { uiMode == 0 || uiMode == 1 } groupChildMenu = ambientTempSensor, "Ambient temp sensor", { 1 }, { uiMode == 0 || uiMode == 1 } groupChildMenu = acPressureSensor, "A/C Pressure" # Base analog input settings # Thermistors subMenu = cltSensor, "Coolant Temperature (CLT)", { 1 }, { uiMode == 0 || uiMode == 1 } subMenu = iatSensor, "Intake Air Temperature (IAT)", { 1 }, { uiMode == 0 || uiMode == 1 } subMenu = cltCalCRV, "CLT Custom Curve Sensor Calibration" subMenu = iatCalCRV, "IAT Custom Curve Sensor Calibration" # TPS/pedal subMenu = tpsSensor, "Throttle Position Sensor", { 1 }, { uiMode == 0 || uiMode == 1 } subMenu = pedalSensor, "Accelerator pedal", { 1 }, { uiMode == 0 || uiMode == 1 } # MAP/Baro subMenu = mapSettings, "Manifold Pressure Sensor", { 1 }, { uiMode == 0 || uiMode == 1 } subMenu = mapCurves, "MAP/MAF sampling", { 1 }, { uiMode == 0 || uiMode == 1 } subMenu = baroSettings, "Barometer sensor", { 1 }, { uiMode == 0 || uiMode == 1 } # MAF groupMenu = "Mass Airflow Sensor" groupChildMenu = mafSettings, "MAF sensor" groupChildMenu = mafDecodingCurve, "MAF Airflow transfer function (analog)", 0, {mafAdcChannel != 0 } groupChildMenu = mafDecodingCurveHz, "MAF Airflow transfer function (hz)", 0, {frequencyMafChannel != 0 } groupChildMenu = veTableMafTbl, "MAF calibration table", 0 , {mafAdcChannel != 0 || frequencyMafChannel != 0 } groupChildMenu = mafmapBlendValuesTBL, "MAF airmass blend", 0 , {mafAdcChannel != 0 || frequencyMafChannel != 0} # O2 sensor(s) subMenu = egoSettings, "CAN O2 sensors", { 1 }, { uiMode == 0 || uiMode == 1 } subMenu = analogEgoSettings, "Analog O2 sensor", { 1 }, { uiMode == 0 || uiMode == 1 } subMenu = canReWidebandTools, "rusEFI Wideband Tools", 0, { canReadEnabled && canWriteEnabled } subMenu = std_separator subMenu = idleValvePosDialog, "ETB-style Idle valve position sensor", { etbFunctions1 == 3 || etbFunctions2 == 3 }, { 1 } subMenu = std_separator # Misc sensors groupMenu = "Oil sensors" groupChildMenu = oilPressureSensor, "Oil pressure" groupChildMenu = oilTempSensor, "Oil temp sensor" groupChildMenu = otCalCRV, "Oil Temperature Custom Curve Sensor Calibration" groupMenu = "Fuel sensors" groupChildMenu = flexSensorDialog, "Flex" groupChildMenu = fuelPressureSensor, "Fuel pressure" groupChildMenu = fuelTempSensor, "Fuel temp sensor" groupChildMenu = fuelLevelDialog, "Fuel level sensor" groupMenu = "Turbo sensors" groupChildMenu = wastegatePosDialog, "Electronic Wastegate position sensor", { etbFunctions1 == 4 || etbFunctions2 == 4 }, { 1 } groupChildMenu = compressorDischargeTemperature, "Compressor discharge temp" groupMenu = "Aux sensors" groupChildMenu = auxTempSensor1Sensor, "AuxTemp1 sensor", { 1 }, { uiMode == 0 || uiMode == 1 } groupChildMenu = auxTempSensor2Sensor, "AuxTemp2 sensor", { 1 }, { uiMode == 0 || uiMode == 1 } groupChildMenu = auxLinearSensors, "Aux Linear Sensors" groupChildMenu = auxSpeedSensors, "Aux Shaft Speed Sensors" menu = "CAN Bus" subMenu = canBusMain, "CAN Bus Settings" subMenu = std_separator subMenu = canVirtualInputs, "CAN Virtual Input Pins" subMenu = speedSensorCan, "CAN Vehicle speed sensor" subMenu = canWheelSpeeds, "CAN Wheel speeds (from ABS module)" subMenu = uegoCan, "CAN O2 sensors" subMenu = egtInputsCan, "CAN EGT sensors" subMenu = msIoBox, "CAN MS IO-Box Settings" subMenu = std_separator subMenu = buttonBoxButtons, "Virtual Button Box" subMenu = canButtonConfig, "CAN Button Box Config" subMenu = can_frame_matcher, "CAN Frame Matcher" menu = "&Controller" subMenu = ecuStimulator, "ECU stimulator" subMenu = ioTest, "Hardware Test mode" ; subMenu = engineTypeDialog, "Base Tunes" subMenu = epicTunables, "epicEFI experimental tunables" ; subMenu = OutputDiagDialog, "Outputs diagnostic", { 1 }, { uiMode == 0 || uiMode == 1 } ; subMenu = std_separator menu = "&Expert/Extra" ; subMenu = OutputDiagDialog, "Outputs diagnostic", { 1 }, { uiMode == 0 || uiMode == 1 } ; subMenu = std_separator groupMenu = "LUA" groupChildMenu = auxInputsDialog, "Lua Analog Inputs", { 1 }, { uiMode == 0 || uiMode == 1 } groupChildMenu = luaDigitalInputsDialog, "Lua Digital Inputs", { 1 }, { uiMode == 0 || uiMode == 1 } groupChildMenu = luaOutputs, "Lua Script PWM Outputs", { 1 }, { uiMode == 0 || uiMode == 1 } groupChildMenu = luaCommands, "Lua Buttons", { 1 }, { uiMode == 0 || uiMode == 1 } subMenu = aiAgentSettings, "AI Agent Settings" groupMenu = "GDI" groupChildMenu = mc33Dialog, "GDI Injector Control" groupChildMenu = hpfpCamDialog, "HPFP Cam Configuration" groupChildMenu = hpfpPumpDialog, "HPFP Pump Configuration", {hpfpCamLobes != 0} groupChildMenu = hpfpTargetTable, "HPFP Target Pressure", {hpfpCamLobes != 0} groupChildMenu = hpfpCompensationTable, "HPFP Pump Feed Forward", {hpfpCamLobes != 0} groupChildMenu = hpfpFuelMassCompensationTable, "HPFP Fuel mass compensation factor", {hpfpCamLobes != 0 && injectorCompensationMode == 3} subMenu = dynoChars, "Virtual Engine Dyno" subMenu = accelerometerDlg, "Accelerometer" subMenu = sentInputs, "SENT inputs" subMenu = mcp3208setup, "MCP3208 ADC devices" subMenu = egtInputs, "EGT" groupMenu = "Expert" groupChildMenu = spiBuses, "SPI Buses" groupChildMenu = spiDevices, "SPI Devices" groupChildMenu = monitoringSettings, "rusEFI console" groupChildMenu = allPins1, "Full pinout 1/3" groupChildMenu = allPins2, "Full pinout 2/3" groupChildMenu = allPins3_1_and_2, "Full pinout 3/3" groupChildMenu = crankingTpsCurve, "Cranking Fuel TPS Multiplier" groupChildMenu = dcMotorActuatorHw "ETB / DC motor actuator(s) hardware" groupChildMenu = analogInputSettings, "Analog input settings", { 1 }, { (uiMode == 0 || uiMode == 1) } groupChildMenu = connection, "Secondary Serial" groupChildMenu = baroSettings, "Barometer sensor", { 1 }, { uiMode == 0 || uiMode == 1 } groupChildMenu = kLineDialog, "K-Line" groupChildMenu = hondaKDialog, "Honda K" groupChildMenu = parkingLot, "Experimental 1" groupChildMenu = parkingLot2, "Experimental 2" groupChildMenu = trigger_advanced, "Advanced Trigger", { 1 }, { (uiMode == 0 || uiMode == 1 ) } groupChildMenu = triggerConfiguration_gap, "Trigger Gap Override", {1}, { (uiMode == 0 || uiMode == 1) } groupChildMenu = harleyAcr, "Harley" groupChildMenu = idleFlowEstimate, "Idle flow estimate", { modeledFlowIdle } groupChildMenu = idleAirmassTimingEquivalence, "Idle airmass/timing equivalence", { modeledFlowIdle } groupChildMenu = std_separator groupChildMenu = throttleEffectiveArea, "Throttle effective area", { 1 }, { uiMode == 0 || uiMode == 1 } ; groupChildMenu = torqueTableTbl, "Torque" groupChildMenu = torque2TableTbl, "TMF" ; groupChildMenu = ltftBank1TblDLG, "Long Term Fuel Trim Bank 1 - ACTIVE", { ltft_enabled } ; groupChildMenu = ltftBank2TblDLG, "Long Term Fuel Trim Bank 2 - ACTIVE", { ltft_enabled } menu = "Help" subMenu = helpGeneral, "epicEFI Help" ; menu = "&View", { 1 }, { (uiMode == 0 || uiMode == 1) } ; @ @ LIVE_DATA_MENU_FROM_FILE @ @ [ControllerCommands] ; commandName = command1, command2, commandn... ; command in standard ini format, a command name can be assigned to 1 to n commands that will be executed in order. ; This does not include any resultant protocol envelope data, only the response data itself. ; WARNING!! These commands bypass TunerStudio's normal memory synchronization. If these commands ; alter mapped settings (Constant) memory in the controller, TunerStudio will have an out of sync condition ; and may create error messages. ; It is expected that these commands would not typically alter any ram mapped to a Constant. ; ; see TS_IO_TEST_COMMAND in firmware code ; cmd_test_spk1 = "Z\x00\x12\x00\x01" cmd_test_spk2 = "Z\x00\x12\x00\x02" cmd_test_spk3 = "Z\x00\x12\x00\x03" cmd_test_spk4 = "Z\x00\x12\x00\x04" cmd_test_spk5 = "Z\x00\x12\x00\x05" cmd_test_spk6 = "Z\x00\x12\x00\x06" cmd_test_spk7 = "Z\x00\x12\x00\x07" cmd_test_spk8 = "Z\x00\x12\x00\x08" cmd_test_spk9 = "Z\x00\x12\x00\x09" cmd_test_spk10 = "Z\x00\x12\x00\x0a" cmd_test_spk11 = "Z\x00\x12\x00\x0b" cmd_test_spk12 = "Z\x00\x12\x00\x0c" cmd_test_lua1 = "Z\x00\x20\x00\x01" cmd_test_lua2 = "Z\x00\x20\x00\x02" cmd_test_lua3 = "Z\x00\x20\x00\x03" cmd_test_lua4 = "Z\x00\x20\x00\x04" cmd_test_lua5 = "Z\x00\x20\x00\x05" cmd_test_lua6 = "Z\x00\x20\x00\x06" cmd_test_lua7 = "Z\x00\x20\x00\x07" cmd_test_lua8 = "Z\x00\x20\x00\x08" cmd_test_inj1 = "Z\x00\x13\x00\x01" cmd_test_inj2 = "Z\x00\x13\x00\x02" cmd_test_inj3 = "Z\x00\x13\x00\x03" cmd_test_inj4 = "Z\x00\x13\x00\x04" cmd_test_inj5 = "Z\x00\x13\x00\x05" cmd_test_inj6 = "Z\x00\x13\x00\x06" cmd_test_inj7 = "Z\x00\x13\x00\x07" cmd_test_inj8 = "Z\x00\x13\x00\x08" cmd_test_inj9 = "Z\x00\x13\x00\x09" cmd_test_inj10 = "Z\x00\x13\x00\x0a" cmd_test_inj11 = "Z\x00\x13\x00\x0b" cmd_test_inj12 = "Z\x00\x13\x00\x0c" cmd_test_cancel = "Z\x00\x16\x00\x0f" cmd_test_sol1 = "Z\x00\x19\x00\x01" cmd_test_sol2 = "Z\x00\x19\x00\x02" cmd_test_sol3 = "Z\x00\x19\x00\x03" cmd_test_sol4 = "Z\x00\x19\x00\x04" cmd_test_sol5 = "Z\x00\x19\x00\x05" cmd_test_sol6 = "Z\x00\x19\x00\x06" cmd_test_sol7 = "Z\x00\x19\x00\x07" cmd_test_sol8 = "Z\x00\x19\x00\x08" cmd_test_sol9 = "Z\x00\x19\x00\x09" cmd_test_sol10 = "Z\x00\x19\x00\x0a" cmd_test_sol11 = "Z\x00\x19\x00\x0b" cmd_test_sol12 = "Z\x00\x19\x00\x0c" cmd_buttonbox_etb_map_up = "Z\x00\x1a\x00\x00" cmd_buttonbox_etb_map_down = "Z\x00\x1a\x00\x01" cmd_buttonbox_etb_map_reset = "Z\x00\x1a\x00\x02" cmd_buttonbox_etb_map_1 = "Z\x00\x1a\x00\x03" cmd_buttonbox_etb_map_2 = "Z\x00\x1a\x00\x04" cmd_buttonbox_etb_map_3 = "Z\x00\x1a\x00\x05" cmd_buttonbox_etb_map_4 = "Z\x00\x1a\x00\x06" cmd_buttonbox_afr_trim_up = "Z\x00\x1a\x00\x07" cmd_buttonbox_afr_trim_down = "Z\x00\x1a\x00\x08" cmd_buttonbox_afr_trim_reset = "Z\x00\x1a\x00\x09" cmd_buttonbox_afr_trim_max = "Z\x00\x1a\x00\x0A" cmd_buttonbox_afr_trim_min = "Z\x00\x1a\x00\x0B" cmd_buttonbox_all_trim_reset = "Z\x00\x1a\x00\x0C" cmd_buttonbox_can_button_toggle1 = "Z\x00\x1a\x00\x0D" cmd_buttonbox_can_button_toggle2 = "Z\x00\x1a\x00\x0E" cmd_buttonbox_can_button_toggle3 = "Z\x00\x1a\x00\x0F" cmd_buttonbox_can_button_toggle4 = "Z\x00\x1a\x00\x10" cmd_buttonbox_can_button_toggle5 = "Z\x00\x1a\x00\x11" cmd_buttonbox_can_button_toggle6 = "Z\x00\x1a\x00\x12" cmd_buttonbox_can_button_toggle7 = "Z\x00\x1a\x00\x13" cmd_buttonbox_can_button_toggle8 = "Z\x00\x1a\x00\x14" cmd_buttonbox_can_lua_command_1 = "Z\x00\x1a\x00\x15" cmd_buttonbox_can_lua_command_2 = "Z\x00\x1a\x00\x16" cmd_buttonbox_can_lua_command_3 = "Z\x00\x1a\x00\x17" cmd_buttonbox_can_lua_command_4 = "Z\x00\x1a\x00\x18" cmd_buttonbox_trac_trim_up = "Z\x00\x1a\x00\x19" cmd_buttonbox_trac_trim_down = "Z\x00\x1a\x00\x1A" cmd_buttonbox_trac_trim_reset = "Z\x00\x1a\x00\x1B" cmd_buttonbox_trac_trim_max = "Z\x00\x1a\x00\x1C" cmd_buttonbox_trac_trim_min = "Z\x00\x1a\x00\x1D" cmd_buttonbox_trac_trim_1 = "Z\x00\x1a\x00\x1E" cmd_buttonbox_trac_trim_2 = "Z\x00\x1a\x00\x1F" cmd_buttonbox_trac_trim_3 = "Z\x00\x1a\x00\x20" cmd_buttonbox_trac_trim_4 = "Z\x00\x1a\x00\x21" cmd_buttonbox_can_button_toggle9 = "Z\x00\x1a\x00\x22" cmd_buttonbox_can_button_toggle10 = "Z\x00\x1a\x00\x23" cmd_buttonbox_can_button_toggle11 = "Z\x00\x1a\x00\x24" cmd_buttonbox_can_button_toggle12 = "Z\x00\x1a\x00\x25" cmd_buttonbox_can_button_toggle13 = "Z\x00\x1a\x00\x26" cmd_buttonbox_can_button_toggle14 = "Z\x00\x1a\x00\x27" cmd_buttonbox_can_button_toggle15 = "Z\x00\x1a\x00\x28" cmd_buttonbox_can_button_toggle16 = "Z\x00\x1a\x00\x29" cmd_buttonbox_can_button_BLEND_VE_1_TOGGLE = "Z\x00\x1a\x00\x2A" cmd_buttonbox_can_button_BLEND_VE_2_TOGGLE = "Z\x00\x1a\x00\x2B" cmd_buttonbox_can_button_BLEND_IGN_1_TOGGLE = "Z\x00\x1a\x00\x2C" cmd_buttonbox_can_button_BLEND_IGN_2_TOGGLE = "Z\x00\x1a\x00\x2D" cmd_buttonbox_can_button_BLEND_AFR_1_TOGGLE = "Z\x00\x1a\x00\x2E" cmd_buttonbox_can_button_BLEND_CLBOOST_1_TOGGLE = "Z\x00\x1a\x00\x2F" cmd_buttonbox_can_button_BLEND_OLBOOST_1_TOGGLE = "Z\x00\x1a\x00\x30" cmd_buttonbox_cruise_control_enable = "Z\x00\x1a\x00\x31" cmd_buttonbox_cruise_control_on_set_speed = "Z\x00\x1a\x00\x32" cmd_buttonbox_cruise_control_off = "Z\x00\x1a\x00\x33" cmd_buttonbox_cruise_control_resume = "Z\x00\x1a\x00\x34" cmd_buttonbox_cruise_control_inc = "Z\x00\x1a\x00\x35" cmd_buttonbox_cruise_control_dec = "Z\x00\x1a\x00\x36" cmd_buttonbox_canbus_kb_1_d0 = "Z\x00\x1a\x00\x37" cmd_buttonbox_canbus_kb_1_d1 = "Z\x00\x1a\x00\x38" cmd_buttonbox_canbus_kb_1_d2 = "Z\x00\x1a\x00\x39" cmd_buttonbox_canbus_kb_1_d3 = "Z\x00\x1a\x00\x3A" cmd_buttonbox_canbus_kb_1_d4 = "Z\x00\x1a\x00\x3B" cmd_buttonbox_canbus_kb_1_d5 = "Z\x00\x1a\x00\x3C" cmd_buttonbox_canbus_kb_1_d6 = "Z\x00\x1a\x00\x3D" cmd_buttonbox_canbus_kb_1_d7 = "Z\x00\x1a\x00\x3E" cmd_buttonbox_canbus_kb_1_d8 = "Z\x00\x1a\x00\x3F" cmd_buttonbox_canbus_kb_1_d9 = "Z\x00\x1a\x00\x40" cmd_buttonbox_canbus_kb_1_d10 = "Z\x00\x1a\x00\x41" cmd_buttonbox_canbus_kb_1_d11 = "Z\x00\x1a\x00\x42" cmd_buttonbox_canbus_kb_1_d12 = "Z\x00\x1a\x00\x43" cmd_buttonbox_canbus_kb_1_d13 = "Z\x00\x1a\x00\x44" cmd_buttonbox_canbus_kb_1_d14 = "Z\x00\x1a\x00\x45" cmd_buttonbox_canbus_kb_1_d15 = "Z\x00\x1a\x00\x46" cmd_test_main_relay = "Z\x00\x16\x00\x00" cmd_test_fuel_pump = "Z\x00\x16\x00\x01" cmd_test_starter_relay = "Z\x00\x16\x00\x02" cmd_test_starter_disable_relay = "Z\x00\x16\x00\x03" cmd_test_ac_relay = "Z\x00\x16\x00\x06" cmd_test_fuel_pump_on = "Z\x00\x16\x00\x2d" cmd_test_fuel_pump_off = "Z\x00\x16\x00\x2e" cmd_test_fan_1 = "Z\x00\x16\x00\x04" cmd_test_fan_2 = "Z\x00\x16\x00\x05" cmd_test_water_pump = "Z\x00\x16\x00\x2b" cmd_test_water_pump_2 = "Z\x00\x16\x00\x2c" cmd_test_check_engine_light = "Z\x00\x16\x00\x07" cmd_test_idle_valve = "Z\x00\x16\x00\x08" cmd_test_second_idle_valve = "Z\x00\x16\x00\x0e" cmd_test_hpfp_valve = "Z\x00\x16\x00\x09" cmd_test_lua_command_1 = "Z\x00\x16\x00\x21" cmd_test_lua_command_2 = "Z\x00\x16\x00\x22" cmd_test_lua_command_3 = "Z\x00\x16\x00\x23" cmd_test_lua_command_4 = "Z\x00\x16\x00\x24" cmd_test_lua_command_5 = "Z\x00\x16\x00\x25" cmd_test_lua_command_6 = "Z\x00\x16\x00\x26" cmd_test_lua_command_7 = "Z\x00\x16\x00\x27" cmd_test_lua_command_8 = "Z\x00\x16\x00\x28" cmd_test_lua_command_9 = "Z\x00\x16\x00\x29" cmd_test_lua_command_10 = "Z\x00\x16\x00\x2a" cmd_test_acr_valve = "Z\x00\x16\x00\x1c" cmd_test_acr2_valve = "Z\x00\x16\x00\x1d" cmd_test_vvt0_valve = "Z\x00\x16\x00\x10" cmd_test_vvt1_valve = "Z\x00\x16\x00\x11" cmd_test_vvt2_valve = "Z\x00\x16\x00\x12" cmd_test_vvt3_valve = "Z\x00\x16\x00\x13" cmd_configure_stepper_idle = "Z\x00\x14\x00\x05" cmd_calibrate_pedal_up = "Z\x00\x14\x00\x06" cmd_calibrate_pedal_down = "Z\x00\x14\x00\x07" cmd_calibrate_tps_closed = "Z\x00\x14\x00\x20" cmd_calibrate_tps_open = "Z\x00\x14\x00\x21" cmd_tle8888_init = "Z\x00\x14\x00\x08" cmd_mc33810_init = "Z\x00\x14\x00\x14" cmd_write_config = "Z\x00\x14\x00\x0a" ;cmd_etb_reset = "Z\x00\x14\x00\x0b" cmd_etb_autotune = "Z\x00\x14\x00\x0c" cmd_enable_self_stim = "Z\x00\x14\x00\x0d" cmd_etb_auto_calibrate = "Z\x00\x14\x00\x0e" cmd_etb_auto_calibrate_fast = "Z\x00\x14\x00\x1c" cmd_disable_self_stim = "Z\x00\x14\x00\x0f" cmd_etb_autotune_stop = "Z\x00\x14\x00\x10" cmd_etb_auto_calibrate_2 = "Z\x00\x14\x00\x11" cmd_etb_auto_calibrate_2_fast = "Z\x00\x14\x00\x1d" cmd_ewg_auto_calibrate_1 = "Z\x00\x14\x00\x1e" cmd_ewg_auto_calibrate_1_fast = "Z\x00\x14\x00\x1f" cmd_wideband_firmare_update = "Z\x00\x14\x00\x12" cmd_enable_ext_stim = "Z\x00\x14\x00\x13" cmd_etb_disable_jam_detect = "Z\x00\x14\x00\x14" cmd_burn_without_flash = "Z\x00\x14\x00\x15" cmd_set_wideband_idx_by_id = "Z\x00\x21\$canReWidebandHwIndex\$canReWidebandCanId" cmd_set_wideband_sens_by_id = "Z\x00\x25\$canReWidebandHwIndex\$canReWidebandSensorType" cmd_set_wideband_ping_by_id = "Z\x00\x22\$canReWidebandHwIndex\x00" cmd_set_wideband_flash_by_id= "Z\x00\x23\$canReWidebandHwIndex\x00" cmd_stop_engine = "Z\x00\x24\x00\x00" ; reboot ECU cmd_reset_controller = "Z\x00\xbb\x00\x00" ; jump to DFU mode cmd_dfu = "Z\x00\xba\x00\x00" ; jump to OpenBLT bootloader cmd_openblt = "Z\x00\xbc\x00\x00" cmd_convert_clt_to_curve = "Z\x00\x26\x00\x01" cmd_convert_iat_to_curve = "Z\x00\x26\x00\x02" cmd_convert_ot_to_curve = "Z\x00\x26\x00\x03" cmd_cal_vss = "Z\x00\x28\x00\x00" cmd_cal_gear1 = "Z\x00\x29\x00\x00" cmd_cal_gear2 = "Z\x00\x29\x00\x01" cmd_cal_gear3 = "Z\x00\x29\x00\x02" cmd_cal_gear4 = "Z\x00\x29\x00\x03" cmd_cal_gear5 = "Z\x00\x29\x00\x04" cmd_cal_gear6 = "Z\x00\x29\x00\x05" cmd_cal_gear7 = "Z\x00\x29\x00\x06" cmd_cal_gear8 = "Z\x00\x29\x00\x07" cmd_backup_ltft = "Z\x00\x27\x00\x00" ; SD card related cmd_mount_pc = "Z\x00\x14\x00\x17" cmd_mount_ecu = "Z\x00\x14\x00\x18" cmd_unmount = "Z\x00\x14\x00\x19" cmd_format = "Z\x00\x14\x00\x1a" cmd_delete_reports = "Z\x00\x14\x00\x1b" ; STFT and LTFT cmd_ltft_reset = "Z\x00\x16\x00\x1e" cmd_ltft_apply_to_ve = "Z\x00\x16\x00\x1f" cmd_ltft_dev_poke = "Z\x00\x16\x00\x20" ; See 'executeTSCommand' in firmware source code cmd_set_engine_type_default = "Z\x00\x1f\x00\x00" [UserDefined] indicatorPanel = fuel_computerIndicatorPanel, 2 indicator = {injectorHwIssue}, "injectorHwIssue No", "injectorHwIssue Yes" dialog = fuel_computerDialog, "fuel_computer" panel = fuel_computerIndicatorPanel liveGraph = fuel_computer_1_Graph, "Graph", South graphLine = totalFuelCorrection graphLine = running_postCrankingFuelCorrection graphLine = running_intakeTemperatureCoefficient graphLine = running_coolantTemperatureCoefficient liveGraph = fuel_computer_2_Graph, "Graph", South graphLine = running_timeSinceCrankingInSecs graphLine = running_baseFuel graphLine = running_fuel graphLine = afrTableYAxis liveGraph = fuel_computer_3_Graph, "Graph", South graphLine = targetLambda graphLine = targetAFR graphLine = stoichiometricRatio graphLine = sdTcharge_coff liveGraph = fuel_computer_4_Graph, "Graph", South graphLine = sdAirMassInOneCylinder graphLine = normalizedCylinderFilling graphLine = brokenInjector graphLine = idealEngineTorque indicatorPanel = ignition_stateIndicatorPanel, 2 indicator = {luaIgnitionSkip}, "luaIgnitionSkip No", "luaIgnitionSkip Yes" dialog = ignition_stateDialog, "ignition_state" panel = ignition_stateIndicatorPanel liveGraph = ignition_state_1_Graph, "Graph", South graphLine = baseDwell graphLine = sparkDwell graphLine = dwellDurationAngle graphLine = cltTimingCorrection liveGraph = ignition_state_2_Graph, "Graph", South graphLine = timingIatCorrection graphLine = timingPidCorrection graphLine = dfcoTimingRetard graphLine = baseIgnitionAdvance liveGraph = ignition_state_3_Graph, "Graph", South graphLine = correctedIgnitionAdvance graphLine = tractionAdvanceDrop graphLine = dwellVoltageCorrection graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult graphLine = trailingSparkAngle graphLine = rpmForIgnitionTableDot graphLine = rpmForIgnitionIdleTableDot liveGraph = ignition_state_5_Graph, "Graph", South graphLine = loadForIgnitionTableDot dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_1_Graph, "Graph", South graphLine = m_knockLevel graphLine = m_knockCyl1 graphLine = m_knockCyl2 graphLine = m_knockCyl3 liveGraph = knock_controller_2_Graph, "Graph", South graphLine = m_knockCyl4 graphLine = m_knockCyl5 graphLine = m_knockCyl6 graphLine = m_knockCyl7 liveGraph = knock_controller_3_Graph, "Graph", South graphLine = m_knockCyl8 graphLine = m_knockRetard graphLine = m_knockThreshold graphLine = m_knockCount liveGraph = knock_controller_4_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockSpectrum1 graphLine = m_knockSpectrum2 graphLine = m_knockSpectrum3 liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_knockSpectrum4 graphLine = m_knockSpectrum5 graphLine = m_knockSpectrum6 graphLine = m_knockSpectrum7 liveGraph = knock_controller_6_Graph, "Graph", South graphLine = m_knockSpectrum8 graphLine = m_knockSpectrum9 graphLine = m_knockSpectrum10 graphLine = m_knockSpectrum11 liveGraph = knock_controller_7_Graph, "Graph", South graphLine = m_knockSpectrum12 graphLine = m_knockSpectrum13 graphLine = m_knockSpectrum14 graphLine = m_knockSpectrum15 liveGraph = knock_controller_8_Graph, "Graph", South graphLine = m_knockSpectrum16 graphLine = m_knockSpectrumChannelCyl graphLine = m_knockFrequencyStart graphLine = m_knockFrequencyStep liveGraph = knock_controller_9_Graph, "Graph", South graphLine = m_knockFuelTrimMultiplier indicatorPanel = prime_injectionIndicatorPanel, 2 indicator = {m_isPriming}, "m_isPriming No", "m_isPriming Yes" dialog = prime_injectionDialog, "prime_injection" panel = prime_injectionIndicatorPanel indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {tcu_init}, "tcu_init No", "tcu_init Yes" indicator = {tcu_isShifting}, "tcu_isShifting No", "tcu_isShifting Yes" indicator = {m_shiftTime}, "m_shiftTime No", "m_shiftTime Yes" indicator = {tcu_shift_skip_gear}, "tcu_shift_skip_gear No", "tcu_shift_skip_gear Yes" dialog = tcu_controllerDialog, "tcu_controller" panel = tcu_controllerIndicatorPanel liveGraph = tcu_controller_1_Graph, "Graph", South graphLine = tcu_DesiredGear graphLine = tcu_CurrentGear graphLine = tcu_tcRatio graphLine = tcu_lastShiftTime liveGraph = tcu_controller_2_Graph, "Graph", South graphLine = tcu_currentRange graphLine = tcu_pressureControlDuty graphLine = tcu_torqueConverterDuty graphLine = tcu_shiftingFrom liveGraph = tcu_controller_3_Graph, "Graph", South graphLine = tcu_shiftingTo graphLine = m_shiftTimeGear indicatorPanel = throttle_modelIndicatorPanel, 2 indicator = {throttleUseWotModel}, "throttleUseWotModel No", "throttleUseWotModel Yes" dialog = throttle_modelDialog, "throttle_model" panel = throttle_modelIndicatorPanel liveGraph = throttle_model_1_Graph, "Graph", South graphLine = throttleModelCrossoverAngle graphLine = throttleEstimatedFlow indicatorPanel = high_pressure_fuel_pumpIndicatorPanel, 2 indicator = {noValve}, "noValve No", "noValve Yes" indicator = {angleAboveMin}, "angleAboveMin No", "angleAboveMin Yes" indicator = {isHpfpActive}, "isHpfpActive No", "isHpfpActive Yes" indicator = {HpfpValveState}, "HpfpValveState No", "HpfpValveState Yes" dialog = high_pressure_fuel_pumpDialog, "high_pressure_fuel_pump" panel = high_pressure_fuel_pumpIndicatorPanel liveGraph = high_pressure_fuel_pump_1_Graph, "Graph", South graphLine = m_requested_pump graphLine = fuel_requested_percent graphLine = fuel_requested_percent_pi graphLine = m_pressureTarget_kPa liveGraph = high_pressure_fuel_pump_2_Graph, "Graph", South graphLine = hpfp_p_control_percent graphLine = hpfp_i_control_percent graphLine = nextLobe graphLine = di_nextStart liveGraph = high_pressure_fuel_pump_3_Graph, "Graph", South graphLine = HpfdActivationPhase graphLine = HpfdDeactivationPhase dialog = injector_modelDialog, "injector_model" liveGraph = injector_model_1_Graph, "Graph", South graphLine = m_deadtime graphLine = pressureDelta graphLine = pressureRatio graphLine = pressureCorrectionReference indicatorPanel = launch_control_stateIndicatorPanel, 2 indicator = {launchActivatePinState}, "launchActivatePinState No", "launchActivatePinState Yes" indicator = {launchActivatePinRpmLockState}, "launchActivatePinRpmLockState No", "launchActivatePinRpmLockState Yes" indicator = {isPreLaunchCondition}, "isPreLaunchCondition No", "isPreLaunchCondition Yes" indicator = {isLaunchCondition}, "isLaunchCondition No", "isLaunchCondition Yes" indicator = {isSwitchActivated}, "isSwitchActivated No", "isSwitchActivated Yes" indicator = {isClutchActivated}, "isClutchActivated No", "isClutchActivated Yes" indicator = {isBrakePedalActivated}, "isBrakePedalActivated No", "isBrakePedalActivated Yes" indicator = {isValidInputPin}, "isValidInputPin No", "isValidInputPin Yes" indicator = {isTpsActivated}, "isTpsActivated No", "isTpsActivated Yes" indicator = {activateSwitchCondition}, "activateSwitchCondition No", "activateSwitchCondition Yes" indicator = {rpmLaunchCondition}, "rpmLaunchCondition No", "rpmLaunchCondition Yes" indicator = {rpmPreLaunchCondition}, "rpmPreLaunchCondition No", "rpmPreLaunchCondition Yes" indicator = {speedCondition}, "speedCondition No", "speedCondition Yes" indicator = {tpsCondition}, "tpsCondition No", "tpsCondition Yes" indicator = {luaLaunchState}, "luaLaunchState No", "luaLaunchState Yes" indicator = {isRpmLaunchLocked}, "isRpmLaunchLocked No", "isRpmLaunchLocked Yes" dialog = launch_control_stateDialog, "launch_control_state" panel = launch_control_stateIndicatorPanel liveGraph = launch_control_state_1_Graph, "Graph", South graphLine = retardThresholdRpm graphLine = rpmLaunchLockedRpm graphLine = m_launchCorrectionsEndRpm graphLine = launchSparkSkipRatio indicatorPanel = shift_torque_reduction_stateIndicatorPanel, 2 indicator = {isTorqueReductionTriggerPinValid}, "isTorqueReductionTriggerPinValid No", "isTorqueReductionTriggerPinValid Yes" indicator = {torqueReductionTriggerPinState}, "torqueReductionTriggerPinState No", "torqueReductionTriggerPinState Yes" indicator = {isTimeConditionSatisfied}, "isTimeConditionSatisfied No", "isTimeConditionSatisfied Yes" indicator = {isRpmConditionSatisfied}, "isRpmConditionSatisfied No", "isRpmConditionSatisfied Yes" indicator = {isAppConditionSatisfied}, "isAppConditionSatisfied No", "isAppConditionSatisfied Yes" indicator = {isFlatShiftConditionSatisfied}, "isFlatShiftConditionSatisfied No", "isFlatShiftConditionSatisfied Yes" indicator = {isBelowTemperatureThreshold}, "isBelowTemperatureThreshold No", "isBelowTemperatureThreshold Yes" dialog = shift_torque_reduction_stateDialog, "shift_torque_reduction_state" panel = shift_torque_reduction_stateIndicatorPanel liveGraph = shift_torque_reduction_state_1_Graph, "Graph", South graphLine = trqRedCutXaxisValue graphLine = trqRedTimeXaxisValue graphLine = trqRedIgnRetXaxisValue indicatorPanel = antilag_system_stateIndicatorPanel, 2 indicator = {isAntilagCondition}, "isAntilagCondition No", "isAntilagCondition Yes" indicator = {ALSMinRPMCondition}, "ALSMinRPMCondition No", "ALSMinRPMCondition Yes" indicator = {ALSMaxRPMCondition}, "ALSMaxRPMCondition No", "ALSMaxRPMCondition Yes" indicator = {ALSMinCLTCondition}, "ALSMinCLTCondition No", "ALSMinCLTCondition Yes" indicator = {ALSMaxCLTCondition}, "ALSMaxCLTCondition No", "ALSMaxCLTCondition Yes" indicator = {ALSMaxThrottleIntentCondition}, "ALSMaxThrottleIntentCondition No", "ALSMaxThrottleIntentCondition Yes" indicator = {ALSMinThrottleIntentCondition}, "ALSMinThrottleIntentCondition No", "ALSMinThrottleIntentCondition Yes" indicator = {isALSSwitchActivated}, "isALSSwitchActivated No", "isALSSwitchActivated Yes" indicator = {ALSActivatePinState}, "ALSActivatePinState No", "ALSActivatePinState Yes" indicator = {ALSSwitchCondition}, "ALSSwitchCondition No", "ALSSwitchCondition Yes" indicator = {ALSTimerCondition}, "ALSTimerCondition No", "ALSTimerCondition Yes" indicator = {ALSMinMapCondition}, "ALSMinMapCondition No", "ALSMinMapCondition Yes" indicator = {ALSMaxMapCondition}, "ALSMaxMapCondition No", "ALSMaxMapCondition Yes" indicator = {luaAntilagState}, "luaAntilagState No", "luaAntilagState Yes" indicator = {ALSTimedOut}, "ALSTimedOut No", "ALSTimedOut Yes" indicator = {ALSLatchActive}, "ALSLatchActive No", "ALSLatchActive Yes" indicator = {ALSTimeoutStartCondition}, "ALSTimeoutStartCondition No", "ALSTimeoutStartCondition Yes" indicator = {ALSInstantEndCondition}, "ALSInstantEndCondition No", "ALSInstantEndCondition Yes" indicator = {ALSStartCondition}, "ALSStartCondition No", "ALSStartCondition Yes" dialog = antilag_system_stateDialog, "antilag_system_state" panel = antilag_system_stateIndicatorPanel liveGraph = antilag_system_state_1_Graph, "Graph", South graphLine = fuelALSCorrection graphLine = ALSTimeRemaining graphLine = timingALSCorrection graphLine = timingALSSkip indicatorPanel = boost_controlIndicatorPanel, 2 indicator = {isTpsInvalid}, "isTpsInvalid No", "isTpsInvalid Yes" indicator = {m_shouldResetPid}, "m_shouldResetPid No", "m_shouldResetPid Yes" indicator = {isBelowClosedLoopThreshold}, "isBelowClosedLoopThreshold No", "isBelowClosedLoopThreshold Yes" indicator = {isNotClosedLoop}, "isNotClosedLoop No", "isNotClosedLoop Yes" indicator = {isZeroRpm}, "isZeroRpm No", "isZeroRpm Yes" indicator = {hasInitBoost}, "hasInitBoost No", "hasInitBoost Yes" indicator = {rpmTooLow}, "rpmTooLow No", "rpmTooLow Yes" indicator = {tpsTooLow}, "tpsTooLow No", "tpsTooLow Yes" indicator = {mapTooLow}, "mapTooLow No", "mapTooLow Yes" indicator = {isPlantValid}, "isPlantValid No", "isPlantValid Yes" indicator = {isBoostControlled}, "isBoostControlled No", "isBoostControlled Yes" dialog = boost_controlDialog, "boost_control" panel = boost_controlIndicatorPanel liveGraph = boost_control_1_Graph, "Graph", South graphLine = luaTargetAdd graphLine = luaTargetMult graphLine = boostControlTarget graphLine = openLoopPart liveGraph = boost_control_2_Graph, "Graph", South graphLine = luaOpenLoopAdd graphLine = boostControllerClosedLoopPart graphLine = boostOutput graphLine = lwgDutyPct liveGraph = boost_control_3_Graph, "Graph", South graphLine = boostCutFeatherRatio indicatorPanel = ac_controlIndicatorPanel, 2 indicator = {m_acEnabled}, "m_acEnabled No", "m_acEnabled Yes" indicator = {engineTooSlow}, "engineTooSlow No", "engineTooSlow Yes" indicator = {engineTooFast}, "engineTooFast No", "engineTooFast Yes" indicator = {noClt}, "noClt No", "noClt Yes" indicator = {engineTooHot}, "engineTooHot No", "engineTooHot Yes" indicator = {tpsTooHigh}, "tpsTooHigh No", "tpsTooHigh Yes" indicator = {isDisabledByLua}, "isDisabledByLua No", "isDisabledByLua Yes" indicator = {acCompressorState}, "acCompressorState No", "acCompressorState Yes" indicator = {acPressureTooLow}, "acPressureTooLow No", "acPressureTooLow Yes" indicator = {acPressureTooHigh}, "acPressureTooHigh No", "acPressureTooHigh Yes" dialog = ac_controlDialog, "ac_control" panel = ac_controlIndicatorPanel liveGraph = ac_control_1_Graph, "Graph", South graphLine = acButtonState indicatorPanel = nitrous_control_stateIndicatorPanel, 2 indicator = {isNitrousArmed}, "isNitrousArmed No", "isNitrousArmed Yes" indicator = {isNitrousSpeedCondition}, "isNitrousSpeedCondition No", "isNitrousSpeedCondition Yes" indicator = {isNitrousTpsCondition}, "isNitrousTpsCondition No", "isNitrousTpsCondition Yes" indicator = {isNitrousCltCondition}, "isNitrousCltCondition No", "isNitrousCltCondition Yes" indicator = {isNitrousMapCondition}, "isNitrousMapCondition No", "isNitrousMapCondition Yes" indicator = {isNitrousAfrCondition}, "isNitrousAfrCondition No", "isNitrousAfrCondition Yes" indicator = {isNitrousRpmCondition}, "isNitrousRpmCondition No", "isNitrousRpmCondition Yes" indicator = {isNitrousCondition}, "isNitrousCondition No", "isNitrousCondition Yes" dialog = nitrous_control_stateDialog, "nitrous_control_state" panel = nitrous_control_stateIndicatorPanel indicatorPanel = fan_control0IndicatorPanel, 2 indicator = {fan1cranking}, "cranking No", "cranking Yes" indicator = {fan1notRunning}, "notRunning No", "notRunning Yes" indicator = {fan1disabledWhileEngineStopped}, "disabledWhileEngineStopped No", "disabledWhileEngineStopped Yes" indicator = {fan1brokenClt}, "brokenClt No", "brokenClt Yes" indicator = {fan1enabledForAc}, "enabledForAc No", "enabledForAc Yes" indicator = {fan1hot}, "hot No", "hot Yes" indicator = {fan1cold}, "cold No", "cold Yes" indicator = {fan1disabledBySpeed}, "disabledBySpeed No", "disabledBySpeed Yes" indicator = {fan1m_state}, "m_state No", "m_state Yes" indicator = {fan1fan_pwm_started}, "fan_pwm_started No", "fan_pwm_started Yes" dialog = fan_control0Dialog, "fan_control0" panel = fan_control0IndicatorPanel liveGraph = fan_control0_1_Graph, "Graph", South graphLine = fan1radiatorFanStatus graphLine = fan1Pwm indicatorPanel = fan_control1IndicatorPanel, 2 indicator = {fan2cranking}, "cranking No", "cranking Yes" indicator = {fan2notRunning}, "notRunning No", "notRunning Yes" indicator = {fan2disabledWhileEngineStopped}, "disabledWhileEngineStopped No", "disabledWhileEngineStopped Yes" indicator = {fan2brokenClt}, "brokenClt No", "brokenClt Yes" indicator = {fan2enabledForAc}, "enabledForAc No", "enabledForAc Yes" indicator = {fan2hot}, "hot No", "hot Yes" indicator = {fan2cold}, "cold No", "cold Yes" indicator = {fan2disabledBySpeed}, "disabledBySpeed No", "disabledBySpeed Yes" indicator = {fan2m_state}, "m_state No", "m_state Yes" indicator = {fan2fan_pwm_started}, "fan_pwm_started No", "fan_pwm_started Yes" dialog = fan_control1Dialog, "fan_control1" panel = fan_control1IndicatorPanel liveGraph = fan_control1_1_Graph, "Graph", South graphLine = fan2radiatorFanStatus graphLine = fan2Pwm indicatorPanel = fan_control2IndicatorPanel, 2 indicator = {waterPumpcranking}, "cranking No", "cranking Yes" indicator = {waterPumpnotRunning}, "notRunning No", "notRunning Yes" indicator = {waterPumpdisabledWhileEngineStopped}, "disabledWhileEngineStopped No", "disabledWhileEngineStopped Yes" indicator = {waterPumpbrokenClt}, "brokenClt No", "brokenClt Yes" indicator = {waterPumpenabledForAc}, "enabledForAc No", "enabledForAc Yes" indicator = {waterPumphot}, "hot No", "hot Yes" indicator = {waterPumpcold}, "cold No", "cold Yes" indicator = {waterPumpdisabledBySpeed}, "disabledBySpeed No", "disabledBySpeed Yes" indicator = {waterPumpm_state}, "m_state No", "m_state Yes" indicator = {waterPumpfan_pwm_started}, "fan_pwm_started No", "fan_pwm_started Yes" dialog = fan_control2Dialog, "fan_control2" panel = fan_control2IndicatorPanel liveGraph = fan_control2_1_Graph, "Graph", South graphLine = waterPumpradiatorFanStatus graphLine = waterPumpPwm indicatorPanel = fan_control3IndicatorPanel, 2 indicator = {waterPump2cranking}, "cranking No", "cranking Yes" indicator = {waterPump2notRunning}, "notRunning No", "notRunning Yes" indicator = {waterPump2disabledWhileEngineStopped}, "disabledWhileEngineStopped No", "disabledWhileEngineStopped Yes" indicator = {waterPump2brokenClt}, "brokenClt No", "brokenClt Yes" indicator = {waterPump2enabledForAc}, "enabledForAc No", "enabledForAc Yes" indicator = {waterPump2hot}, "hot No", "hot Yes" indicator = {waterPump2cold}, "cold No", "cold Yes" indicator = {waterPump2disabledBySpeed}, "disabledBySpeed No", "disabledBySpeed Yes" indicator = {waterPump2m_state}, "m_state No", "m_state Yes" indicator = {waterPump2fan_pwm_started}, "fan_pwm_started No", "fan_pwm_started Yes" dialog = fan_control3Dialog, "fan_control3" panel = fan_control3IndicatorPanel liveGraph = fan_control3_1_Graph, "Graph", South graphLine = waterPump2radiatorFanStatus graphLine = waterPump2Pwm indicatorPanel = fuel_pump_controlIndicatorPanel, 2 indicator = {isPrime}, "isPrime No", "isPrime Yes" indicator = {engineTurnedRecently}, "engineTurnedRecently No", "engineTurnedRecently Yes" indicator = {isFuelPumpOn}, "isFuelPumpOn No", "isFuelPumpOn Yes" indicator = {ignitionOn}, "ignitionOn No", "ignitionOn Yes" indicator = {tpsFuelPumpPrime}, "tpsFuelPumpPrime No", "tpsFuelPumpPrime Yes" indicator = {fuelPumpForceState}, "fuelPumpForceState No", "fuelPumpForceState Yes" dialog = fuel_pump_controlDialog, "fuel_pump_control" panel = fuel_pump_controlIndicatorPanel indicatorPanel = main_relayIndicatorPanel, 2 indicator = {isBenchTest}, "isBenchTest No", "isBenchTest Yes" indicator = {hasIgnitionVoltage}, "hasIgnitionVoltage No", "hasIgnitionVoltage Yes" indicator = {mainRelayState}, "mainRelayState No", "mainRelayState Yes" indicator = {delayedShutoffRequested}, "delayedShutoffRequested No", "delayedShutoffRequested Yes" dialog = main_relayDialog, "main_relay" panel = main_relayIndicatorPanel indicatorPanel = tps_accel_stateIndicatorPanel, 2 indicator = {isAboveAccelThreshold}, "isAboveAccelThreshold No", "isAboveAccelThreshold Yes" indicator = {isBelowDecelThreshold}, "isBelowDecelThreshold No", "isBelowDecelThreshold Yes" indicator = {isFractionalEnrichment}, "isFractionalEnrichment No", "isFractionalEnrichment Yes" indicator = {belowEpsilon}, "belowEpsilon No", "belowEpsilon Yes" indicator = {tooShort}, "tooShort No", "tooShort Yes" indicator = {extraShot}, "extraShot No", "extraShot Yes" indicator = {m_accelEventJustOccurred}, "m_accelEventJustOccurred No", "m_accelEventJustOccurred Yes" indicator = {tpsAeCycleCntWait}, "tpsAeCycleCntWait No", "tpsAeCycleCntWait Yes" dialog = tps_accel_stateDialog, "tps_accel_state" panel = tps_accel_stateIndicatorPanel liveGraph = tps_accel_state_1_Graph, "Graph", South graphLine = tpsFrom graphLine = tpsTo graphLine = deltaTps graphLine = extraFuel liveGraph = tps_accel_state_2_Graph, "Graph", South graphLine = valueFromTable graphLine = tpsAeCycleMult graphLine = m_tpsExtraShotTimer graphLine = fractionalInjFuel liveGraph = tps_accel_state_3_Graph, "Graph", South graphLine = accumulatedValue graphLine = maxExtraPerCycle graphLine = maxExtraPerPeriod graphLine = maxInjectedPerPeriod liveGraph = tps_accel_state_4_Graph, "Graph", South graphLine = cycleCnt graphLine = wotTps graphLine = tpsAeCycleCnt graphLine = AccelThreshold liveGraph = tps_accel_state_5_Graph, "Graph", South graphLine = deltaTpsAverageThreshold graphLine = smoothedDeltaTps graphLine = tpsaeburnskip graphLine = curaeCltCorr liveGraph = tps_accel_state_6_Graph, "Graph", South graphLine = accelEventTriggeredCnt indicatorPanel = trigger_centralIndicatorPanel, 2 indicator = {isDecodingMapCam}, "isDecodingMapCam No", "isDecodingMapCam Yes" dialog = trigger_centralDialog, "trigger_central" panel = trigger_centralIndicatorPanel liveGraph = trigger_central_1_Graph, "Graph", South graphLine = hwEventCounters1 graphLine = hwEventCounters2 graphLine = hwEventCounters3 graphLine = hwEventCounters4 liveGraph = trigger_central_2_Graph, "Graph", South graphLine = vvtEventRiseCounter1 graphLine = vvtEventRiseCounter2 graphLine = vvtEventRiseCounter3 graphLine = vvtEventRiseCounter4 liveGraph = trigger_central_3_Graph, "Graph", South graphLine = vvtEventFallCounter1 graphLine = vvtEventFallCounter2 graphLine = vvtEventFallCounter3 graphLine = vvtEventFallCounter4 liveGraph = trigger_central_4_Graph, "Graph", South graphLine = vvtCamCounter graphLine = mapVvt_MAP_AT_SPECIAL_POINT graphLine = mapVvt_MAP_AT_DIFF graphLine = mapVvt_MAP_AT_CYCLE_COUNT liveGraph = trigger_central_5_Graph, "Graph", South graphLine = mapVvt_sync_counter graphLine = mapVvt_min_point_counter graphLine = temp_mapVvt_index graphLine = mapVvt_CycleDelta liveGraph = trigger_central_6_Graph, "Graph", South graphLine = currentEngineDecodedPhase graphLine = triggerToothAngleError graphLine = triggerIgnoredToothCount graphLine = mapCamPrevToothAngle liveGraph = trigger_central_7_Graph, "Graph", South graphLine = triggerElapsedUs indicatorPanel = trigger_state0IndicatorPanel, 2 indicator = {trgm_preSyncFuelFired}, "m_preSyncFuelFired No", "m_preSyncFuelFired Yes" dialog = trigger_state0Dialog, "trigger_state0" panel = trigger_state0IndicatorPanel liveGraph = trigger_state0_1_Graph, "Graph", South graphLine = trgsynchronizationCounter graphLine = trgvvtToothDurations0 graphLine = trgvvtCurrentPosition graphLine = trgvvtToothPosition1 liveGraph = trigger_state0_2_Graph, "Graph", South graphLine = trgvvtToothPosition2 graphLine = trgvvtToothPosition3 graphLine = trgvvtToothPosition4 graphLine = trgtriggerSyncGapRatio liveGraph = trigger_state0_3_Graph, "Graph", South graphLine = trgm_preSyncFuelNextToothEvent graphLine = trgm_preSyncEventsFired graphLine = trgtriggerStateIndex graphLine = trgtriggerCountersError indicatorPanel = trigger_state1IndicatorPanel, 2 indicator = {vvt1im_preSyncFuelFired}, "m_preSyncFuelFired No", "m_preSyncFuelFired Yes" dialog = trigger_state1Dialog, "trigger_state1" panel = trigger_state1IndicatorPanel liveGraph = trigger_state1_1_Graph, "Graph", South graphLine = vvt1isynchronizationCounter graphLine = vvt1ivvtToothDurations0 graphLine = vvt1ivvtCurrentPosition graphLine = vvt1ivvtToothPosition1 liveGraph = trigger_state1_2_Graph, "Graph", South graphLine = vvt1ivvtToothPosition2 graphLine = vvt1ivvtToothPosition3 graphLine = vvt1ivvtToothPosition4 graphLine = vvt1itriggerSyncGapRatio liveGraph = trigger_state1_3_Graph, "Graph", South graphLine = vvt1im_preSyncFuelNextToothEvent graphLine = vvt1im_preSyncEventsFired graphLine = vvt1itriggerStateIndex graphLine = vvt1itriggerCountersError indicatorPanel = trigger_state2IndicatorPanel, 2 indicator = {vvt1em_preSyncFuelFired}, "m_preSyncFuelFired No", "m_preSyncFuelFired Yes" dialog = trigger_state2Dialog, "trigger_state2" panel = trigger_state2IndicatorPanel liveGraph = trigger_state2_1_Graph, "Graph", South graphLine = vvt1esynchronizationCounter graphLine = vvt1evvtToothDurations0 graphLine = vvt1evvtCurrentPosition graphLine = vvt1evvtToothPosition1 liveGraph = trigger_state2_2_Graph, "Graph", South graphLine = vvt1evvtToothPosition2 graphLine = vvt1evvtToothPosition3 graphLine = vvt1evvtToothPosition4 graphLine = vvt1etriggerSyncGapRatio liveGraph = trigger_state2_3_Graph, "Graph", South graphLine = vvt1em_preSyncFuelNextToothEvent graphLine = vvt1em_preSyncEventsFired graphLine = vvt1etriggerStateIndex graphLine = vvt1etriggerCountersError indicatorPanel = trigger_state3IndicatorPanel, 2 indicator = {vvt2im_preSyncFuelFired}, "m_preSyncFuelFired No", "m_preSyncFuelFired Yes" dialog = trigger_state3Dialog, "trigger_state3" panel = trigger_state3IndicatorPanel liveGraph = trigger_state3_1_Graph, "Graph", South graphLine = vvt2isynchronizationCounter graphLine = vvt2ivvtToothDurations0 graphLine = vvt2ivvtCurrentPosition graphLine = vvt2ivvtToothPosition1 liveGraph = trigger_state3_2_Graph, "Graph", South graphLine = vvt2ivvtToothPosition2 graphLine = vvt2ivvtToothPosition3 graphLine = vvt2ivvtToothPosition4 graphLine = vvt2itriggerSyncGapRatio liveGraph = trigger_state3_3_Graph, "Graph", South graphLine = vvt2im_preSyncFuelNextToothEvent graphLine = vvt2im_preSyncEventsFired graphLine = vvt2itriggerStateIndex graphLine = vvt2itriggerCountersError indicatorPanel = trigger_state4IndicatorPanel, 2 indicator = {vvt2em_preSyncFuelFired}, "m_preSyncFuelFired No", "m_preSyncFuelFired Yes" dialog = trigger_state4Dialog, "trigger_state4" panel = trigger_state4IndicatorPanel liveGraph = trigger_state4_1_Graph, "Graph", South graphLine = vvt2esynchronizationCounter graphLine = vvt2evvtToothDurations0 graphLine = vvt2evvtCurrentPosition graphLine = vvt2evvtToothPosition1 liveGraph = trigger_state4_2_Graph, "Graph", South graphLine = vvt2evvtToothPosition2 graphLine = vvt2evvtToothPosition3 graphLine = vvt2evvtToothPosition4 graphLine = vvt2etriggerSyncGapRatio liveGraph = trigger_state4_3_Graph, "Graph", South graphLine = vvt2em_preSyncFuelNextToothEvent graphLine = vvt2em_preSyncEventsFired graphLine = vvt2etriggerStateIndex graphLine = vvt2etriggerCountersError indicatorPanel = trigger_state_primaryIndicatorPanel, 2 indicator = {m_hasSynchronizedPhase}, "m_hasSynchronizedPhase No", "m_hasSynchronizedPhase Yes" dialog = trigger_state_primaryDialog, "trigger_state_primary" panel = trigger_state_primaryIndicatorPanel liveGraph = trigger_state_primary_1_Graph, "Graph", South graphLine = camResyncCounter dialog = wall_fuel_stateDialog, "wall_fuel_state" liveGraph = wall_fuel_state_1_Graph, "Graph", South graphLine = wallFuelCorrection graphLine = wallFuel indicatorPanel = closed_loop_idleIndicatorPanel, 2 indicator = {isStableIdle}, "isStableIdle No", "isStableIdle Yes" dialog = closed_loop_idleDialog, "closed_loop_idle" panel = closed_loop_idleIndicatorPanel liveGraph = closed_loop_idle_1_Graph, "Graph", South graphLine = emaError dialog = live_data_exampleDialog, "live_data_example" liveGraph = live_data_example_1_Graph, "Graph", South graphLine = liveDataExampleField indicatorPanel = cruise_control_stateIndicatorPanel, 2 indicator = {cc_disabled}, "cc_disabled No", "cc_disabled Yes" indicator = {cc_off}, "cc_off No", "cc_off Yes" indicator = {cc_armed}, "cc_armed No", "cc_armed Yes" indicator = {cc_engaged}, "cc_engaged No", "cc_engaged Yes" indicator = {cc_dfcoinhibit}, "cc_dfcoinhibit No", "cc_dfcoinhibit Yes" indicator = {cc_cruiseControlUseVehicleSpeed}, "cc_cruiseControlUseVehicleSpeed No", "cc_cruiseControlUseVehicleSpeed Yes" indicator = {cc_cruiseControlEnabled}, "cc_cruiseControlEnabled No", "cc_cruiseControlEnabled Yes" indicator = {cc_unsafe}, "cc_unsafe No", "cc_unsafe Yes" indicator = {cc_overspeed}, "cc_overspeed No", "cc_overspeed Yes" indicator = {cc_underspeed}, "cc_underspeed No", "cc_underspeed Yes" indicator = {cc_overrpm}, "cc_overrpm No", "cc_overrpm Yes" indicator = {cc_underrpm}, "cc_underrpm No", "cc_underrpm Yes" indicator = {cc_overtps}, "cc_overtps No", "cc_overtps Yes" indicator = {cc_badtps}, "cc_badtps No", "cc_badtps Yes" indicator = {cc_badpedal}, "cc_badpedal No", "cc_badpedal Yes" indicator = {cc_overpedal}, "cc_overpedal No", "cc_overpedal Yes" indicator = {cc_noetb}, "cc_noetb No", "cc_noetb Yes" indicator = {cc_overspeedband}, "cc_overspeedband No", "cc_overspeedband Yes" indicator = {cc_underspeedband}, "cc_underspeedband No", "cc_underspeedband Yes" indicator = {cc_overrpmband}, "cc_overrpmband No", "cc_overrpmband Yes" indicator = {cc_underrpmband}, "cc_underrpmband No", "cc_underrpmband Yes" indicator = {cc_maxpedal}, "cc_maxpedal No", "cc_maxpedal Yes" indicator = {cc_accdec_period}, "cc_accdec_period No", "cc_accdec_period Yes" indicator = {cc_disarm_pending}, "cc_disarm_pending No", "cc_disarm_pending Yes" indicator = {cc_pedal_release_pending}, "cc_pedal_release_pending No", "cc_pedal_release_pending Yes" indicator = {cc_warning}, "cc_warning No", "cc_warning Yes" indicator = {cc_close_to_limit}, "cc_close_to_limit No", "cc_close_to_limit Yes" indicator = {cc_pedal_latched}, "cc_pedal_latched No", "cc_pedal_latched Yes" indicator = {cc_in_deadband}, "cc_in_deadband No", "cc_in_deadband Yes" indicator = {cc_recent_cut}, "cc_recent_cut No", "cc_recent_cut Yes" indicator = {cc_brake}, "cc_brake No", "cc_brake Yes" indicator = {cc_clutch_down}, "cc_clutch_down No", "cc_clutch_down Yes" indicator = {cc_clutch_up}, "cc_clutch_up No", "cc_clutch_up Yes" dialog = cruise_control_stateDialog, "cruise_control_state" panel = cruise_control_stateIndicatorPanel liveGraph = cruise_control_state_1_Graph, "Graph", South graphLine = cc_cruiseState graphLine = cc_setpoint_speed graphLine = cc_setpoint_rpm graphLine = cc_error_speed liveGraph = cruise_control_state_2_Graph, "Graph", South graphLine = cc_error_rpm graphLine = cc_adjustment graphLine = cc_pedalAtEngagePct graphLine = cc_tpsSetpoint liveGraph = cruise_control_state_3_Graph, "Graph", South graphLine = cc_etb_target graphLine = cc_etb_from_engine indicatorPanel = assisted_etb_stateIndicatorPanel, 2 indicator = {assistedEtbActive}, "assistedEtbActive No", "assistedEtbActive Yes" indicator = {assistedEtbPhaseLatch}, "assistedEtbPhaseLatch No", "assistedEtbPhaseLatch Yes" dialog = assisted_etb_stateDialog, "assisted_etb_state" panel = assisted_etb_stateIndicatorPanel liveGraph = assisted_etb_state_1_Graph, "Graph", South graphLine = assistedEtbWaveTypeCurrent graphLine = assistedEtbTargetPct graphLine = assistedEtbRiseTimeSec graphLine = assistedEtbOvershootPct liveGraph = assisted_etb_state_2_Graph, "Graph", South graphLine = assistedEtbSettlingTimeSec graphLine = assistedEtbSuggestedP graphLine = assistedEtbSuggestedI graphLine = assistedEtbSuggestedD liveGraph = assisted_etb_state_3_Graph, "Graph", South graphLine = assistedEtbNowSec graphLine = assistedEtbPhase graphLine = assistedEtbPeriod graphLine = assistedEtbIteration indicatorPanel = idle_stateIndicatorPanel, 2 indicator = {mightResetPid}, "mightResetPid No", "mightResetPid Yes" indicator = {shouldResetPid}, "shouldResetPid No", "shouldResetPid Yes" indicator = {wasResetPid}, "wasResetPid No", "wasResetPid Yes" indicator = {isCranking}, "isCranking No", "isCranking Yes" indicator = {isIacTableForCoasting}, "isIacTableForCoasting No", "isIacTableForCoasting Yes" indicator = {needReset}, "needReset No", "needReset Yes" indicator = {isInDeadZone}, "isInDeadZone No", "isInDeadZone Yes" indicator = {isBlipping}, "isBlipping No", "isBlipping Yes" indicator = {badTps}, "badTps No", "badTps Yes" indicator = {looksLikeRunning}, "looksLikeRunning No", "looksLikeRunning Yes" indicator = {looksLikeCoasting}, "looksLikeCoasting No", "looksLikeCoasting Yes" indicator = {looksLikeCrankToIdle}, "looksLikeCrankToIdle No", "looksLikeCrankToIdle Yes" indicator = {isIdleCoasting}, "isIdleCoasting No", "isIdleCoasting Yes" indicator = {isIdleClosedLoop}, "isIdleClosedLoop No", "isIdleClosedLoop Yes" indicator = {isIdling}, "isIdling No", "isIdling Yes" indicator = {m_isCoastingAdvance}, "m_isCoastingAdvance No", "m_isCoastingAdvance Yes" dialog = idle_stateDialog, "idle_state" panel = idle_stateIndicatorPanel liveGraph = idle_state_1_Graph, "Graph", South graphLine = idleState graphLine = baseIdlePosition graphLine = iacByTpsTaper graphLine = idleTarget liveGraph = idle_state_2_Graph, "Graph", South graphLine = targetRpmByClt graphLine = targetRpmAc graphLine = idle_m_last_phase graphLine = iacByRpmTaper liveGraph = idle_state_3_Graph, "Graph", South graphLine = luaAdd graphLine = m_lastTargetRpm graphLine = idleClosedLoop graphLine = currentIdlePosition liveGraph = idle_state_4_Graph, "Graph", South graphLine = idleTargetAirmass graphLine = idleTargetFlow graphLine = idleTargetError graphLine = idle_timeInIdle liveGraph = idle_state_5_Graph, "Graph", South graphLine = idle_deltaRpmAdj indicatorPanel = electronic_throttle0IndicatorPanel, 2 indicator = {etb1etbRevLimitActive}, "etbRevLimitActive No", "etbRevLimitActive Yes" indicator = {etb1jamDetected}, "jamDetected No", "jamDetected Yes" indicator = {etb1validPlantPosition}, "validPlantPosition No", "validPlantPosition Yes" dialog = electronic_throttle0Dialog, "electronic_throttle0" panel = electronic_throttle0IndicatorPanel liveGraph = electronic_throttle0_1_Graph, "Graph", South graphLine = etb1etbCurrentTarget graphLine = etb1targetWithIdlePosition graphLine = etb1trim graphLine = etb1boardEtbAdjustment liveGraph = electronic_throttle0_2_Graph, "Graph", South graphLine = etb1adjustedEtbTarget graphLine = etb1luaAdjustment graphLine = etb1m_adjustedTarget graphLine = etb1m_wastegatePosition liveGraph = electronic_throttle0_3_Graph, "Graph", South graphLine = etb1m_lastPidDtMs graphLine = etb1etbFeedForward graphLine = etb1integralError graphLine = etb1etbTpsErrorCounter liveGraph = electronic_throttle0_4_Graph, "Graph", South graphLine = etb1etbPpsErrorCounter graphLine = etb1etbErrorCode graphLine = etb1etbErrorCodeBlinker graphLine = etb1tcEtbDrop liveGraph = electronic_throttle0_5_Graph, "Graph", South graphLine = etb1jamTimer graphLine = etb1state indicatorPanel = electronic_throttle1IndicatorPanel, 2 indicator = {etb2etbRevLimitActive}, "etbRevLimitActive No", "etbRevLimitActive Yes" indicator = {etb2jamDetected}, "jamDetected No", "jamDetected Yes" indicator = {etb2validPlantPosition}, "validPlantPosition No", "validPlantPosition Yes" dialog = electronic_throttle1Dialog, "electronic_throttle1" panel = electronic_throttle1IndicatorPanel liveGraph = electronic_throttle1_1_Graph, "Graph", South graphLine = etb2etbCurrentTarget graphLine = etb2targetWithIdlePosition graphLine = etb2trim graphLine = etb2boardEtbAdjustment liveGraph = electronic_throttle1_2_Graph, "Graph", South graphLine = etb2adjustedEtbTarget graphLine = etb2luaAdjustment graphLine = etb2m_adjustedTarget graphLine = etb2m_wastegatePosition liveGraph = electronic_throttle1_3_Graph, "Graph", South graphLine = etb2m_lastPidDtMs graphLine = etb2etbFeedForward graphLine = etb2integralError graphLine = etb2etbTpsErrorCounter liveGraph = electronic_throttle1_4_Graph, "Graph", South graphLine = etb2etbPpsErrorCounter graphLine = etb2etbErrorCode graphLine = etb2etbErrorCodeBlinker graphLine = etb2tcEtbDrop liveGraph = electronic_throttle1_5_Graph, "Graph", South graphLine = etb2jamTimer graphLine = etb2state indicatorPanel = wideband_state0IndicatorPanel, 2 indicator = {wb1isValid}, "isValid No", "isValid Yes" indicator = {wb1fwUnsupported}, "fwUnsupported No", "fwUnsupported Yes" indicator = {wb1fwOutdated}, "fwOutdated No", "fwOutdated Yes" dialog = wideband_state0Dialog, "wideband_state0" panel = wideband_state0IndicatorPanel liveGraph = wideband_state0_1_Graph, "Graph", South graphLine = wb1faultCode graphLine = wb1heaterDuty graphLine = wb1pumpDuty graphLine = wb1tempC liveGraph = wideband_state0_2_Graph, "Graph", South graphLine = wb1nernstVoltage graphLine = wb1esr indicatorPanel = wideband_state1IndicatorPanel, 2 indicator = {wb2isValid}, "isValid No", "isValid Yes" indicator = {wb2fwUnsupported}, "fwUnsupported No", "fwUnsupported Yes" indicator = {wb2fwOutdated}, "fwOutdated No", "fwOutdated Yes" dialog = wideband_state1Dialog, "wideband_state1" panel = wideband_state1IndicatorPanel liveGraph = wideband_state1_1_Graph, "Graph", South graphLine = wb2faultCode graphLine = wb2heaterDuty graphLine = wb2pumpDuty graphLine = wb2tempC liveGraph = wideband_state1_2_Graph, "Graph", South graphLine = wb2nernstVoltage graphLine = wb2esr indicatorPanel = dc_motorsIndicatorPanel, 2 indicator = {isEnabled0}, "isEnabled0 No", "isEnabled0 Yes" dialog = dc_motorsDialog, "dc_motors" panel = dc_motorsIndicatorPanel liveGraph = dc_motors_1_Graph, "Graph", South graphLine = dcOutput0 graphLine = isEnabled0_int dialog = sent_stateDialog, "sent_state" liveGraph = sent_state_1_Graph, "Graph", South graphLine = value0 graphLine = value1 graphLine = errorRate dialog = vvtDialog, "vvt" liveGraph = vvt_1_Graph, "Graph", South graphLine = vvtTarget graphLine = vvtOutput indicatorPanel = lambda_monitorIndicatorPanel, 2 indicator = {lambdaCurrentlyGood}, "lambdaCurrentlyGood No", "lambdaCurrentlyGood Yes" indicator = {lambdaMonitorCut}, "lambdaMonitorCut No", "lambdaMonitorCut Yes" dialog = lambda_monitorDialog, "lambda_monitor" panel = lambda_monitorIndicatorPanel liveGraph = lambda_monitor_1_Graph, "Graph", South graphLine = lambdaTimeSinceGood dialog = mc33810_stateDialog, "mc33810_state" liveGraph = mc33810_state_1_Graph, "Graph", South graphLine = sparkDuration1 graphLine = sparkDuration2 graphLine = sparkDuration3 graphLine = sparkDuration4 indicatorPanel = long_term_fuel_trim_stateIndicatorPanel, 2 indicator = {ltftLearning}, "ltftLearning No", "ltftLearning Yes" indicator = {ltftCorrecting}, "ltftCorrecting No", "ltftCorrecting Yes" indicator = {ltftSavePending}, "ltftSavePending No", "ltftSavePending Yes" indicator = {ltftLoadPending}, "ltftLoadPending No", "ltftLoadPending Yes" indicator = {ltftNeedBackup}, "ltftNeedBackup No", "ltftNeedBackup Yes" indicator = {ltftLoadError}, "ltftLoadError No", "ltftLoadError Yes" indicator = {ltftDeadBand}, "ltftDeadBand No", "ltftDeadBand Yes" indicator = {ltftHit}, "ltftHit No", "ltftHit Yes" indicator = {ltftMiss}, "ltftMiss No", "ltftMiss Yes" indicator = {ltftSDSavePending}, "ltftSDSavePending No", "ltftSDSavePending Yes" indicator = {ltftPageRefreshFlag}, "ltftPageRefreshFlag No", "ltftPageRefreshFlag Yes" dialog = long_term_fuel_trim_stateDialog, "long_term_fuel_trim_state" panel = long_term_fuel_trim_stateIndicatorPanel liveGraph = long_term_fuel_trim_state_1_Graph, "Graph", South graphLine = ltftCntHit graphLine = ltftCntMiss graphLine = ltftCntDeadband graphLine = last_ltft_save_uptime liveGraph = long_term_fuel_trim_state_2_Graph, "Graph", South graphLine = ltftCorrection1 graphLine = ltftCorrection2 graphLine = ltftAccummulatedCorrection1 graphLine = ltftAccummulatedCorrection2 dialog = short_term_fuel_trim_stateDialog, "short_term_fuel_trim_state" liveGraph = short_term_fuel_trim_state_1_Graph, "Graph", South graphLine = stftCorrectionState graphLine = stftLearningState1 graphLine = stftLearningState2 graphLine = stftInputError1 liveGraph = short_term_fuel_trim_state_2_Graph, "Graph", South graphLine = stftInputError2 indicatorPanel = vvl_controller_stateIndicatorPanel, 2 indicator = {isVvlTpsCondition}, "isVvlTpsCondition No", "isVvlTpsCondition Yes" indicator = {isVvlCltCondition}, "isVvlCltCondition No", "isVvlCltCondition Yes" indicator = {isVvlMapCondition}, "isVvlMapCondition No", "isVvlMapCondition Yes" indicator = {isVvlAfrCondition}, "isVvlAfrCondition No", "isVvlAfrCondition Yes" indicator = {isVvlRpmCondition}, "isVvlRpmCondition No", "isVvlRpmCondition Yes" indicator = {isVvlCondition}, "isVvlCondition No", "isVvlCondition Yes" dialog = vvl_controller_stateDialog, "vvl_controller_state" panel = vvl_controller_stateIndicatorPanel dialog = live_data_check_engine_lightDialog, "live_data_check_engine_light" dialog = cltFuelCorrCurveDialog field = "This table is a global multiplier" field = "1.00 means no correction" field = "1.20 means 20% extra fuel" field = "0.80% means 20% less fuel" field = "" panel = cltFuelCorrCurve dialog = cltAFRTargetCorrCurveDialog field = "This table is a multiplier" field = "1.00 means no correction" field = "1.20 means 20% richer mixture target" field = "0.80 means 20% leaner mixture target" field = "" panel = cltAFRTargetCorrCurve dialog = tChargeRpmTpsSettings, "RPM+TPS mode" field = "We use these coefficients to approximate air/fuel charge" field = "temperature based on CLT and IAT, depending on RPM and TPS" field = "Low RPM/Low TPS", tChargeMinRpmMinTps field = "Low RPM/High TPS", tChargeMinRpmMaxTps field = "High RPM/Low TPS", tChargeMaxRpmMinTps field = "High RPM/High TPS", tChargeMaxRpmMaxTps dialog = tChargeGeneralSettings, "" field = "Mode", tChargeMode field = "#These two parameters limit the estimate's rate of change" field = "Increase rate limit", tChargeAirIncrLimit field = "Decrease rate limit", tChargeAirDecrLimit field = "" dialog = tChargeAirInterpSettings, "Airflow interpolation mode" field = "Low flow coefficient", tChargeAirCoefMin field = "High flow coefficient", tChargeAirCoefMax field = "Max air flow", tChargeAirFlowMax dialog = cltCrankingCurveDialog field = "ETB idle maximum angle sets the limit on IDLE CONTROLLER AUTHORITY over ETB. the idle controller will not open ETB more than this amount." field = "This table is how much of that authority is used per clt, if ETB, if not ETB, then % is of idle valve or stepper range" field = "ETB idle maximum angle", etbIdleThrottleRange panel = cltCrankingCurve dialog = afterCrankingIACtaperDurationDialog panel = afterCrankingIACtaperCurve dialog = tChargeSettings, "Estimated cylinder air temperature" panel = tChargeGeneralSettings panel = tChargeRpmTpsSettings, { tChargeMode == 0} panel = tChargeAirInterpSettings, { tChargeMode == 1} panel = tchargeCurve, { tChargeMode == 2 } dialog = baseInjection, "Injection" field = "Injection Enabled", isInjectionEnabled field = "Disable Fuel Pump", fuelPumpDisable field = "Disable injector prime pulse", injectorPrimeInhibit field = "Mode", injectionMode, {isInjectionEnabled == 1} field = "#Batch injection with individual wiring" field = "Alpha-N uses IAT density correction", alphaNUseIat, { fuelAlgorithm == 2 } field = "Override VE table load axis", veOverrideMode, { isInjectionEnabled } field = "Override AFR table load axis", afrOverrideMode, { isInjectionEnabled } field = "Injection phase control mode", injectionTimingMode, { isInjectionEnabled } dialog = ignitionOutputs, "Ignition Outputs" field = "# wire each output to the corresponding cylinder number" field = "# rusEFI handles firing order" field = "Output Mode is dangerous and can burn out your coils, 99% installs is default, some Hondas are default inverted" field = "Ignition Output Mode", ignitionPinMode, {isIgnitionEnabled == 1} field = "Ignition Output 1", ignitionPins1, {isIgnitionEnabled == 1} ; see rusefi_config.txt comment next to 'ignitionPin2logic' which says ; this section is auto-generated by FiringOrderTSLogic.java field = "Ignition Output 2", ignitionPins2, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 2) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 2) || (firingOrder == 7) || (firingOrder == 9) || (firingOrder == 11) || (firingOrder == 12) || (firingOrder == 16) || (firingOrder == 19) || (firingOrder == 20) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 29) || (firingOrder == 33) || (firingOrder == 34) || (firingOrder == 35)))} field = "Ignition Output 3", ignitionPins3, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 3) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 1) || (firingOrder == 3) || (firingOrder == 4) || (firingOrder == 5) || (firingOrder == 9) || (firingOrder == 13) || (firingOrder == 14) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 20) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 27) || (firingOrder == 28)))} field = "Ignition Output 4", ignitionPins4, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 4) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12) || (firingOrder == 14) || (firingOrder == 16) || (firingOrder == 17) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 26) || (firingOrder == 27) || (firingOrder == 31) || (firingOrder == 32)))} field = "Ignition Output 5", ignitionPins5, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 5) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 4) || (firingOrder == 12) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 23) || (firingOrder == 26) || (firingOrder == 30) || (firingOrder == 31) || (firingOrder == 32) || (firingOrder == 33)))} field = "Ignition Output 6", ignitionPins6, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 6) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 13) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 29) || (firingOrder == 30) || (firingOrder == 33) || (firingOrder == 34)))} field = "Ignition Output 7", ignitionPins7, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 7) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 11) || (firingOrder == 15) || (firingOrder == 16) || (firingOrder == 19) || (firingOrder == 20) || (firingOrder == 22) || (firingOrder == 28)))} field = "Ignition Output 8", ignitionPins8, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 8) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 11) || (firingOrder == 16) || (firingOrder == 18) || (firingOrder == 19) || (firingOrder == 26) || (firingOrder == 28) || (firingOrder == 32) || (firingOrder == 34)))} dialog = ignitionOutputsDisable, "Enable/Disable ignition outputs" field = "Ignition 1 disable", ignitionDisabled1 field = "Ignition 2 disable", ignitionDisabled2 field = "Ignition 3 disable", ignitionDisabled3 field = "Ignition 4 disable", ignitionDisabled4 field = "Ignition 5 disable", ignitionDisabled5 field = "Ignition 6 disable", ignitionDisabled6 field = "Ignition 7 disable", ignitionDisabled7 field = "Ignition 8 disable", ignitionDisabled8 dialog = ignitionBasic, "" field = "Spark", isIgnitionEnabled field = "Mode", ignitionMode, {isIgnitionEnabled} field = "Dwell duty cycle limit", dwellClampPercent ;todo https://github.com/rusefi/rusefi/issues/5894 field = "Maximum timing advance", maximumIgnitionTiming, {isIgnitionEnabled} ;todo https://github.com/rusefi/rusefi/issues/5894 field = "Minimum timing advance", minimumIgnitionTiming, {isIgnitionEnabled} field = "Individually wired Wasted Spark", twoWireBatchIgnition, {isIgnitionEnabled == 1 && ignitionMode == 2 } field = "Override ignition table load axis", ignOverrideMode, {isIgnitionEnabled} field = "#Use fixed timing while validating with a timing gun" field = "Timing Mode", timingMode, {isIgnitionEnabled} field = "Fixed Timing", fixedTiming, {isIgnitionEnabled == 1 && timingMode == 1} dialog = ignitionSettings, "", xAxis panel = ignitionBasic panel = ignitionOutputs, { 1 }, { uiMode == 0 || uiMode == 1 } panel = ignitionOutputsDisable dialog = baseEngineConfig, "Engine Configuration" field = "Number of cylinders", cylindersCount field = "Displacement", displacement field = "Firing order", firingOrder field = "Delay writing flash tune", flashWriteDelay field = "If you set this to true, you need to use 'Write Config' in bench test" field = "Do not automatically save settings(ECU READONLY)", neverWrite dialog = aiAgentSettings, "AI Agent Settings" field = "AI Agent API Key", aiApiKey field = "Engine Mods(turbo size, exhaust size, cam specs)", engineMods field = "More Engine Description(MSQ full)", moreEngineDescription field = "Engine Make and year", engineMake field = "Manufacturer Engine Code", engineCode field = "Vehicle Name", vehicleName field = "VIN", vinNumber dialog = engineMetadata, "Engine Metadata" field = "#These metadata are used by epicEFI AI Agent" field = "Engine Make and year", engineMake field = "Manufacturer Engine Code", engineCode field = "Vehicle Name", vehicleName field = "VIN", vinNumber field = "Compression Ratio", compressionRatio field = "Forced Induction?", isForcedInduction dialog = trigger_primary, "Primary Trigger" topicHelp = "triggerHelp" ; see also in firmware '[doesTriggerImplyOperationMode]' tag field = "Strokes", twoStroke field = "" field = "Trigger type", trigger_type field = "Total tooth count", trigger_customTotalToothCount, {trigger_type == 0}, {trigger_type == 0} field = "Missing/skipped tooth count", trigger_customSkippedToothCount, {trigger_type == 0}, {trigger_type == 0} field = "Skipped wheel location", skippedWheelOnCam, 1, { twoStroke == 0 && (trigger_type == 0 || trigger_type == 8 || trigger_type == 9 || trigger_type == 11 || trigger_type == 17 || trigger_type == 18 || trigger_type == 23 || trigger_type == 48 || trigger_type == 69 || trigger_type == 73 || trigger_type == 88 || trigger_type == 89) } field = "" field = "!Reminder that 4-stroke cycle is 720 degrees" field = "!For well-known trigger types use '0' trigger angle offset" field = "Trigger Angle Advance", globalTriggerAngleOffset field = "" field = "" field = "#Cam is primary if you have cam sensor as part of trigger shape" ; cam if ; two-stroke, or ; not crank trigger and ((vague trigger and cam choice) or not vague trigger) field = "Cam Sensor (Primary channel)", triggerInputPins1, 1, {twoStroke == 1 || ( !(trigger_type == 2 || trigger_type == 5 || trigger_type == 10 || trigger_type == 12 || trigger_type == 20 || trigger_type == 21 || trigger_type == 26 || trigger_type == 27 || trigger_type == 33 || trigger_type == 38 || trigger_type == 39 || trigger_type == 44 || trigger_type == 45 || trigger_type == 46 || trigger_type == 53 || trigger_type == 55 || trigger_type == 57 || trigger_type == 58 || trigger_type == 61 || trigger_type == 62 || trigger_type == 68 || trigger_type == 70 || trigger_type == 71 || trigger_type == 72 || trigger_type == 74 || trigger_type == 75 || trigger_type == 76 || trigger_type == 77 || trigger_type == 84 || trigger_type == 87 || trigger_type == 92 || trigger_type == 93 || trigger_type == 94) && ( ( (trigger_type == 0 || trigger_type == 8 || trigger_type == 9 || trigger_type == 11 || trigger_type == 17 || trigger_type == 18 || trigger_type == 23 || trigger_type == 48 || trigger_type == 69 || trigger_type == 73 || trigger_type == 88 || trigger_type == 89) && skippedWheelOnCam) || !(trigger_type == 0 || trigger_type == 8 || trigger_type == 9 || trigger_type == 11 || trigger_type == 17 || trigger_type == 18 || trigger_type == 23 || trigger_type == 48 || trigger_type == 69 || trigger_type == 73 || trigger_type == 88 || trigger_type == 89) ) ) } field = "Crank Sensor (Primary channel)", triggerInputPins1, 1, { !(twoStroke == 1 || ( !(trigger_type == 2 || trigger_type == 5 || trigger_type == 10 || trigger_type == 12 || trigger_type == 20 || trigger_type == 21 || trigger_type == 26 || trigger_type == 27 || trigger_type == 33 || trigger_type == 38 || trigger_type == 39 || trigger_type == 44 || trigger_type == 45 || trigger_type == 46 || trigger_type == 53 || trigger_type == 55 || trigger_type == 57 || trigger_type == 58 || trigger_type == 61 || trigger_type == 62 || trigger_type == 68 || trigger_type == 70 || trigger_type == 71 || trigger_type == 72 || trigger_type == 74 || trigger_type == 75 || trigger_type == 76 || trigger_type == 77 || trigger_type == 84 || trigger_type == 87 || trigger_type == 92 || trigger_type == 93 || trigger_type == 94) && ( ( (trigger_type == 0 || trigger_type == 8 || trigger_type == 9 || trigger_type == 11 || trigger_type == 17 || trigger_type == 18 || trigger_type == 23 || trigger_type == 48 || trigger_type == 69 || trigger_type == 73 || trigger_type == 88 || trigger_type == 89) && skippedWheelOnCam) || !(trigger_type == 0 || trigger_type == 8 || trigger_type == 9 || trigger_type == 11 || trigger_type == 17 || trigger_type == 18 || trigger_type == 23 || trigger_type == 48 || trigger_type == 69 || trigger_type == 73 || trigger_type == 88 || trigger_type == 89) ) )) } field = "Primary Edge", invertPrimaryTriggerSignal field = "Secondary channel", triggerInputPins2, { triggerInputPins2 != 0 || (triggerInputPins1 != 0 && (trigger_type == 1 || trigger_type == 3 || trigger_type == 15 || trigger_type == 16 || trigger_type == 19 || trigger_type == 25 || trigger_type == 31 || trigger_type == 35 || trigger_type == 36 || trigger_type == 37 || trigger_type == 40 || trigger_type == 49 || trigger_type == 53 || trigger_type == 54 || trigger_type == 63 || trigger_type == 64) ) } field = "Secondary Edge", invertSecondaryTriggerSignal, {triggerInputPins2 != 0 && (trigger_type == 1 || trigger_type == 3 || trigger_type == 15 || trigger_type == 16 || trigger_type == 19 || trigger_type == 25 || trigger_type == 31 || trigger_type == 35 || trigger_type == 36 || trigger_type == 37 || trigger_type == 40 || trigger_type == 49 || trigger_type == 53 || trigger_type == 54 || trigger_type == 63 || trigger_type == 64) } dialog = trigger_cams, "Cam Inputs" ; field = "!https://rusefi.com/s/vvt" ; todo: code generator to hard-code all triggers not requiring VVT? ; todo: https://github.com/rusefi/rusefi/issues/2077 field = "Cam mode (intake)", vvtMode1, {trigger_type != 3} field = "2JZ Tooth Detection Position", camDecoder2jzPosition, 1, {vvtMode1 == 2} field = "2JZ Detection Precision", camDecoder2jzPrecision, 1, {vvtMode1 == 2} field = "Cam mode (exhaust)", vvtMode2, {trigger_type != 3} field = "" field = "Cam sensor bank 1 intake", camInputs1, { camInputs1 != 0 || (vvtMode1 != 0 ) } field = "Cam sensor bank 1 exhaust", camInputs2, { camInputs2 != 0 || (vvtMode2 != 0 && camInputs1 != 0 ) } field = "Cam sensor bank 2 intake", camInputs3, { camInputs3 != 0 || (vvtMode1 != 0 && camInputs1 != 0 ) } field = "Cam sensor bank 2 exhaust", camInputs4, { camInputs4 != 0 || (vvtMode2 != 0 && camInputs2 != 0 ) } field = "intake Cam Edge Select", invertCamVVTSignal, { camInputs1 != 0 } field = "exhaust Cam Edge Select", invertExhaustCamVVTSignal, { camInputs2 != 0 } field = "" field = "#Set offset so VVT indicates 0 degrees in default position" field = "VVT offset bank 1 intake", vvtOffsets1, { camInputs1 != 0 } field = "VVT offset bank 1 exhaust", vvtOffsets2, { camInputs2 != 0 } field = "VVT offset bank 2 intake", vvtOffsets3, { camInputs3 != 0 } field = "VVT offset bank 2 exhaust", vvtOffsets4, { camInputs4 != 0 } field = "" field = "Cam for engine sync resolution", engineSyncCam, { vvtMode1 != 0 || vvtMode2 != 0 } field = "Require cam/VVT sync for ignition", isPhaseSyncRequiredForIgnition field = "PRE_SYNC_FUEL happens before sync is attained and is tooth referenced" field = "Before sync is attained, Injects X times every Y teeth up to Z times" field = "Enable pre-sync fuel (Inject Fuel before sync)", enablePreSyncFuel field = "Pre-sync fuel tooth count (first time)", preSyncFuelToothCount, {enablePreSyncFuel} field = "Pre-sync fuel tooth count repeat every X teeth", preSyncFuelToothCountRepeat, {enablePreSyncFuel} field = "Pre-sync fuel max events", preSyncFuelToothCountMax, {enablePreSyncFuel} field = "Pre-sync fuel multiplier (x cranking fuel)", preSyncFuelMultiplier, {enablePreSyncFuel} field = "Maximum cam/VVT sync RPM", maxCamPhaseResolveRpm field = "Minimum cam/VVT sync RPM", minCamPhaseResolveRpm field = "Skip pulses at startup", triggerSkipPulses field = "Guess Sync RPM threshold", syncByTryingRpmThreshold, {vvtMode1 == 31} ; field = "Guess Sync Max Attempts", syncByTryingMaxAttempts, {vvtMode1 == 31} field = "Guess Sync Phase Attempts", syncByTryingPhaseAttempts, {vvtMode1 == 31} field = "Guess Sync Check 1 (slow)", guessCamCheck1, {vvtMode1 == 31} field = "Guess Sync Check 2 (fast)", guessCamCheck2, {vvtMode1 == 31} field = "Guess Sync Angle", guessSyncAngle, {vvtMode1 == 31} dialog = triggerConfiguration_gap, "Trigger Gap Override" field = "!This is a pretty advanced feature for when you are debugging trigger synchronization" field = "Override well known trigger gaps", overrideTriggerGaps field = gapTrackingLengthOverride, gapTrackingLengthOverride, { overrideTriggerGaps == 1 } field = "First gap from", triggerGapOverrideFrom1, { overrideTriggerGaps == 1 } field = "First gap to", triggerGapOverrideTo1, { overrideTriggerGaps == 1 } field = "Second gap from", triggerGapOverrideFrom2, { overrideTriggerGaps == 1 && gapTrackingLengthOverride >= 2 } field = "Second gap to", triggerGapOverrideTo2, { overrideTriggerGaps == 1 && gapTrackingLengthOverride >= 2 } field = "Gap #3 from", triggerGapOverrideFrom3, { overrideTriggerGaps == 1 && gapTrackingLengthOverride >= 3 } field = "Gap #3 to", triggerGapOverrideTo3, { overrideTriggerGaps == 1 && gapTrackingLengthOverride >= 3 } field = "Gap #4 from", triggerGapOverrideFrom4, { overrideTriggerGaps == 1 && gapTrackingLengthOverride >= 4 } field = "Gap #4 to", triggerGapOverrideTo4, { overrideTriggerGaps == 1 && gapTrackingLengthOverride >= 4 } field = "Gap #5 from", triggerGapOverrideFrom5, { overrideTriggerGaps == 1 && gapTrackingLengthOverride >= 5 } field = "Gap #5 to", triggerGapOverrideTo5, { overrideTriggerGaps == 1 && gapTrackingLengthOverride >= 5 } field = "Gap #6 from", triggerGapOverrideFrom6, { overrideTriggerGaps == 1 && gapTrackingLengthOverride >= 6 } field = "Gap #6 to", triggerGapOverrideTo6, { overrideTriggerGaps == 1 && gapTrackingLengthOverride >= 6 } field = "Gap #7 from", triggerGapOverrideFrom7, { overrideTriggerGaps == 1 && gapTrackingLengthOverride >= 7 } field = "Gap #7 to", triggerGapOverrideTo7, { overrideTriggerGaps == 1 && gapTrackingLengthOverride >= 7 } field = "Gap #8 from", triggerGapOverrideFrom8, { overrideTriggerGaps == 1 && gapTrackingLengthOverride >= 8 } field = "Gap #8 to", triggerGapOverrideTo8, { overrideTriggerGaps == 1 && gapTrackingLengthOverride >= 8 } field = "Override well known VVT gaps", overrideVvtTriggerGaps field = gapVvtTrackingLengthOverride, gapVvtTrackingLengthOverride, { overrideVvtTriggerGaps == 1 } field = "First VVT gap from", triggerVVTGapOverrideFrom1, { overrideVvtTriggerGaps == 1 } field = "First VVT gap to", triggerVVTGapOverrideTo1, { overrideVvtTriggerGaps == 1 } field = "Second VVT gap from", triggerVVTGapOverrideFrom2, { overrideVvtTriggerGaps == 1 && gapVvtTrackingLengthOverride >= 2 } field = "Second VVT gap to", triggerVVTGapOverrideTo2, { overrideVvtTriggerGaps == 1 && gapVvtTrackingLengthOverride >= 2 } field = "VVT gap #3 from", triggerVVTGapOverrideFrom3, { overrideVvtTriggerGaps == 1 && gapVvtTrackingLengthOverride >= 3 } field = "VVT gap #3 to", triggerVVTGapOverrideTo3, { overrideVvtTriggerGaps == 1 && gapVvtTrackingLengthOverride >= 3 } field = "VVT gap #4 from", triggerVVTGapOverrideFrom4 { overrideVvtTriggerGaps == 1 && gapVvtTrackingLengthOverride >= 4 } field = "VVT gap #4 to", triggerVVTGapOverrideTo4 { overrideVvtTriggerGaps == 1 && gapVvtTrackingLengthOverride >= 4 } dialog = trigger_console, "Console Logging" field = "Print verbose VVT sync details to console",verboseVVTDecoding field = "Print verbose trigger sync to console", verboseTriggerSynchDetails field = "Display logic signals", displayLogicLevelsInEngineSniffer field = "Do not print messages in case of sync error", silentTriggerError field = "Focus on inputs in engine sniffer", engineSnifferFocusOnInputs dialog = trigger_advanced, "Advanced Trigger" field = "Cam sync crank revolution", camSyncOnSecondCrankRevolution field = "MAP readout angle", mapCamDetectionAnglePosition, 1, { vvtMode1 == 13 } field = "MAP delta threshold", mapSyncThreshold, 1, { vvtMode1 == 13 } field = "Enable noise filtering", useNoiselessTriggerDecoder, {trigger_type == 8 || trigger_type == 9} panel = trigger_console dialog = triggerConfiguration, "", xAxis panel = trigger_primary, {1}, { consumeObdSensors == 0 } panel = trigger_cams, {1}, { consumeObdSensors == 0 } ; Engine->Injection Settings dialog = injChars, "Injector Settings", yAxis field = "Injector flow", injector_flow, {isInjectionEnabled == 1} field = "Injector flow units", injectorFlowAsMassFlow, {isInjectionEnabled == 1} field = "Fuel rail pressure sensor", injectorPressureType, { isInjectionEnabled && (highPressureFuel_hwChannel || lowPressureFuel_hwChannel) } field = "Injector flow compensation mode", injectorCompensationMode, { isInjectionEnabled } field = "Injector reference pressure", fuelReferencePressure, { isInjectionEnabled && injectorCompensationMode != 0 && injectorCompensationMode != 3 } field = "Use small pulsewidth correction lookup curve", useInjSmallPulseWidth1 dialog = fuelParams, "Fuel characteristics", yAxis field = "Gasoline (E0) Stoichiometric ratio", stoichRatioPrimary, {isInjectionEnabled == 1} field = "Ethanol (E100) Stoichiometric ratio", stoichRatioSecondary, {isInjectionEnabled == 1 } field = "Current Ethanol Content", defaultEthanolContent field = "Global Fuel Correction (1=100%)", globalFuelCorrection field = "Fuel flow rate smoothed alpha(display only)", fuelFlowRateSmoothedAlpha dialog = injectorOutputSettings, "Injector Outputs", yAxis field = "Use only first half of outputs for batch mode" field = "# wire each output to the corresponding cylinder number" field = "# rusEFI handles firing order" field = "Injection Output 1", injectionPins1, {isInjectionEnabled == 1} field = "Injection Output 2", injectionPins2, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 1} field = "Injection Output 3", injectionPins3, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 2} field = "Injection Output 4", injectionPins4, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 3} field = "Injection Output 5 ", injectionPins5, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 4} field = "Injection Output 6 ", injectionPins6, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 5} field = "Injection Output 7 ", injectionPins7, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 6} field = "Injection Output 8 ", injectionPins8, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 7} dialog = cylinderBankSelect, "Cylinder Banks - Closed Loop Feedback", yAxis field = "Cylinder 1", cylinderBankSelect1, {isInjectionEnabled == 1} field = "Cylinder 2", cylinderBankSelect2, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 1} field = "Cylinder 3", cylinderBankSelect3, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 2} field = "Cylinder 4", cylinderBankSelect4, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 3} field = "Cylinder 5 ", cylinderBankSelect5, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 4} field = "Cylinder 6 ", cylinderBankSelect6, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 5} field = "Cylinder 7 ", cylinderBankSelect7, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 6} field = "Cylinder 8 ", cylinderBankSelect8, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 7} ; dialog = injectorNonlinearPolynomial, "Polynomial Adder", yAxis ; field = "Also known as GM mode" ; field = "Add nonlinearity below pulse", applyNonlinearBelowPulse ; field = "constant offset", injectorCorrectionPolynomial1 ; field = "multiplier for pulsewidth", injectorCorrectionPolynomial2 ; field = "multiplier for pulsewidth^2", injectorCorrectionPolynomial3 ; field = "multiplier for pulsewidth^3", injectorCorrectionPolynomial4 ; field = "multiplier for pulsewidth^4", injectorCorrectionPolynomial5 ; field = "multiplier for pulsewidth^5", injectorCorrectionPolynomial6 ; field = "multiplier for pulsewidth^6", injectorCorrectionPolynomial7 ; field = "multiplier for pulsewidth^7", injectorCorrectionPolynomial8 ; dialog = injectorNonlinearFord, "Ford-model Small Pulse Correction", yAxis ; field = "Small pulse slope (ALOSL)", fordInjectorSmallPulseSlope ; field = "Set this to 'mass flow'", injectorFlowAsMassFlow ; field = "Large pulse slope (AHISL)", injector_flow ; field = "Small pulse breakpoint (FUEL_BKPT)", fordInjectorSmallPulseBreakPoint ; dialog = injectorNonlinear ; field = "Small pulse correction mode", injectorNonlinearMode ; panel = injectorNonlinearPolynomial, {1}, { injectorNonlinearMode == 1 } ; panel = injectorNonlinearFord, {1}, { injectorNonlinearMode == 2 } dialog = testLuaOut, "Lua Out Test" commandButton = "Lua Out #1", cmd_test_lua1 commandButton = "Lua Out #2", cmd_test_lua2 commandButton = "Lua Out #3", cmd_test_lua3 commandButton = "Lua Out #4", cmd_test_lua4 commandButton = "Lua Out #5", cmd_test_lua5 commandButton = "Lua Out #6", cmd_test_lua6 commandButton = "Lua Out #7", cmd_test_lua7 commandButton = "Lua Out #8", cmd_test_lua8 commandButton = "Abort test", cmd_test_cancel dialog = testInjectors, "Injector Test" commandButton = "Injector #1", cmd_test_inj1 commandButton = "Injector #2", cmd_test_inj2, { cylindersCount >= 2 } commandButton = "Injector #3", cmd_test_inj3, { cylindersCount >= 3 } commandButton = "Injector #4", cmd_test_inj4, { cylindersCount >= 4 } commandButton = "Injector #5", cmd_test_inj5, { cylindersCount >= 5 } commandButton = "Injector #6", cmd_test_inj6, { cylindersCount >= 6 } commandButton = "Injector #7", cmd_test_inj7, { cylindersCount >= 7 } commandButton = "Injector #8", cmd_test_inj8, { cylindersCount >= 8 } commandButton = "Abort test", cmd_test_cancel dialog = testOther field = "Count", benchTestCount field = "On Time", benchTestOnTime field = "Off Time", benchTestOffTime commandButton = "Reset firmware settings", cmd_set_engine_type_default dialog = individualInjectorDisable, "Injector Enable/Disable" field = "Injector 1 disable", primaryInjectorDisabled1 field = "Injector 2 disable", primaryInjectorDisabled2 field = "Injector 3 disable", primaryInjectorDisabled3 field = "Injector 4 disable", primaryInjectorDisabled4 field = "Injector 5 disable", primaryInjectorDisabled5 field = "Injector 6 disable", primaryInjectorDisabled6 field = "Injector 7 disable", primaryInjectorDisabled7 field = "Injector 8 disable", primaryInjectorDisabled8 dialog = injectionSettingsEast, "", yAxis panel = individualInjectorDisable field = "" dialog = injectionSettingsWest, "", yAxis panel = injectorOutputSettings field = "" dialog = injectionSettingsMid, "", yAxis panel = cylinderBankSelect field = "" dialog = injectionSettings, "Injection Hardware", xAxis panel = injectionSettingsWest panel = injectionSettingsEast panel = injectionSettingsMid dialog = injectorConfig, "", yAxis topicHelp = "fuelHelp" panel = baseInjection field = "Use absolute fuel pressure for dead time calculation", useAbsolutePressureForLagTime panel = injChars, { ! useInjectorFlowLinearizationTable} panel = fuelParams dialog = ignitionCylExtra, "Odd Fire Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" field = "engine, like a v-twin or some V6/V10 engines" field = "#Positive numbers retard, negative numbers advance" field = "Offset cyl 1", timing_offset_cylinder1 field = "Offset cyl 2", timing_offset_cylinder2, {cylindersCount > 1} field = "Offset cyl 3", timing_offset_cylinder3, {cylindersCount > 2} field = "Offset cyl 4", timing_offset_cylinder4, {cylindersCount > 3} field = "Offset cyl 5", timing_offset_cylinder5, {cylindersCount > 4} field = "Offset cyl 6", timing_offset_cylinder6, {cylindersCount > 5} field = "Offset cyl 7", timing_offset_cylinder7, {cylindersCount > 6} field = "Offset cyl 8", timing_offset_cylinder8, {cylindersCount > 7} dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} field = "Injection Stage 2 Output 4", injectionPinsStage24, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 3} field = "Injection Stage 2 Output 5 ", injectionPinsStage25, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 4} field = "Injection Stage 2 Output 6 ", injectionPinsStage26, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 5} field = "Injection Stage 2 Output 7 ", injectionPinsStage27, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 6} field = "Injection Stage 2 Output 8 ", injectionPinsStage28, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 7} dialog = stagedInjection, "", yAxis field = "Staged Injection Enable", enableStagedInjection, {isInjectionEnabled} field = "Secondary injector flow", injectorSecondary_flow, {isInjectionEnabled && enableStagedInjection} field = "Secondary injector flow compensation mode", secondaryInjectorCompensationMode, { isInjectionEnabled && enableStagedInjection } field = "Secondary injector reference pressure", secondaryInjectorFuelReferencePressure, { isInjectionEnabled && enableStagedInjection && secondaryInjectorCompensationMode != 0 } field = "Use small pulsewidth correction lookup curve", useInjSmallPulseWidth2 dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} field = "Subsequent spark dwell", multisparkDwell, {multisparkEnable} dialog = multisparkMain, "Configuration" field = "Maximum engine speed", multisparkMaxRpm, {multisparkEnable} field = "Fire sparks for this angle duration" multisparkMaxSparkingAngle, {multisparkEnable} field = "Maximum extra spark count" multisparkMaxExtraSparkCount, {multisparkEnable} dialog = multisparkSettings, "Multispark" field = "#WARNING! These settings have the potential to overheat ignition components" field = "#and cause other nasty misbehavior. Use with care, at your own risk!" field = "#Not recommended for use on distributor or wasted spark ignition systems." field = "Enable multiple sparks", multisparkEnable panel = multisparkMain panel = multisparkDwellParams ; dialog = ignAdder3Cfg, "Ignition adder 3 config" ; field = "#The bias table controls how much of the blend table" ; field = "#is mixed in to the base ignition table. For example, a value of" ; field = "#+10 in the table, with 50 as the current bias will result" ; field = "#in 5.0 degrees of ignition timing added." ; field = "#The X axis of the bias table is controlled by the selected blend" ; field = "#parameter below." ; field = "Blend parameter", ignBlends3_blendParameter ; field = "Y axis override (set Zero for no override)", ignBlends3_yAxisOverride, {ignBlends3_blendParameter} ; panel = ignAdder3Bias, {ignBlends3_blendParameter} ; ; dialog = ignAdder4Cfg, "Ignition adder 4 config" ; field = "#The bias table controls how much of the blend table" ; field = "#is mixed in to the base ignition table. For example, a value of" ; field = "#+10 in the table, with 50 as the current bias will result" ; field = "#in 5.0 degrees of ignition timing added." ; field = "#The X axis of the bias table is controlled by the selected blend" ; field = "#parameter below." ; field = "Blend parameter", ignBlends4_blendParameter ; field = "Y axis override (set Zero for no override)", ignBlends4_yAxisOverride, {ignBlends4_blendParameter} ; panel = ignAdder4Bias, {ignBlends4_blendParameter} ; ; dialog = boostOpenBlend2Cfg, "Boost open loop blend 2 config" ; field = "#The bias table controls how much of the blend table" ; field = "#is mixed in to the open loop boost table. For example, a value of" ; field = "#+10 in the table, with 50 as the current bias will result" ; field = "#in +5.0 added to the boost open loop %." ; field = "#The X axis of the bias table is controlled by the selected blend" ; field = "#parameter below." ; panel = isBoostControlledPanel ; field = "Blend parameter", boostOpenLoopBlends2_blendParameter ; field = "Y axis override (set Zero for no override)", boostOpenLoopBlends2_yAxisOverride, {boostOpenLoopBlends2_blendParameter} ; panel = boostOpenLoopBlend2Bias, {boostOpenLoopBlends2_blendParameter} ; dialog = boostClosedBlend2Cfg, "Boost closed loop blend 2 config" ; field = "#The bias table controls how much of the blend table" ; field = "#is mixed in to the closed loop boost table. For example, a value of" ; field = "#+10 in the table, with 50 as the current bias will result" ; field = "#in +5.0 added to the boost closed loop %." ; field = "#The X axis of the bias table is controlled by the selected blend" ; field = "#parameter below." ; field = "Blend parameter", boostClosedLoopBlends2_blendParameter ; field = "Y axis override (set Zero for no override)", boostClosedLoopBlends2_yAxisOverride, {boostClosedLoopBlends2_blendParameter} ; panel = boostClosedLoopBlend2Bias, {boostClosedLoopBlends2_blendParameter} ; ; dialog = targetAfrBlend2Cfg, "Target AFR adder 2 config" ; field = "#The bias table controls how much of the adder table" ; field = "#is mixed in to the target AFR table. For example, a value of" ; field = "#+10 in the table, with 50 as the current bias will result" ; field = "#in +5.0 added to target AFR %." ; field = "#The X axis of the bias table is controlled by the selected blend" ; field = "#parameter below." ; field = "Blend parameter", targetAfrBlends2_blendParameter ; field = "Y axis override (set Zero for no override)", targetAfrBlends2_yAxisOverride, { targetAfrBlends2_blendParameter } ; panel = targetAfrBlend2Bias, { targetAfrBlends2_blendParameter } ; indicatorPanel = isVe1TblSw, 1 indicator = { veTableSwitch1Active }, "TBLSW: ve1 ", "TBLSW: ve1 ON " indicatorPanel = isVe2TblSw, 1 indicator = { veTableSwitch2Active }, "TBLSW: ve2 ", "TBLSW: ve2 ON " indicatorPanel = isIgn1TblSw, 1 indicator = { ignTableSwitch1Active }, "TBLSW: ign1 ", "TBLSW: ign1 ON " indicatorPanel = isIgn2TblSw, 1 indicator = { ignTableSwitch2Active }, "TBLSW: ign2 ", "TBLSW: ign2 ON " indicatorPanel = isAFR1TblSw, 1 indicator = { afrTableSwitch1Active }, "TBLSW: afr1 ", "TBLSW: afr1 ON " indicatorPanel = isOLBST1TblSw, 1 indicator = { clBoostTableSwitch1Active }, "TBLSW: clbst1 ", "TBLSW: clbst1 ON " indicatorPanel = isCLBST1TblSw, 1 indicator = { clBoostTableSwitch1Active }, "TBLSW: olbst1 ", "TBLSW: olbst1 ON " dialog = ignAdder1Cfg, "Ignition Table Switch 1" topicHelp = blendTables panel = isIgn1TblSw field = "BLEND_IGN_1_TOGGLE canbus toggles this" field = "Ignition Table Switch 1 Pin" , ignBlends1_tableSwitch field = "Ignition Table Switch 1 Pin Mode" , ignBlends1_tableSwitchPinMode field = "Ignition Table Switch 1 Parameter" , ignBlends1_blendParameter field = "Ignition Table Switch 1 Blend Mode" , ignBlend1BlendMode field = "Ignition Table Switch 1 Y axis override" , ignBlends1_yAxisOverride panel = ignAdder1Bias dialog = ignAdder2Cfg, "Ignition Table Switch 2 " topicHelp = blendTables panel = isIgn2TblSw field = "BLEND_IGN_2_TOGGLE canbus toggles this" field = "Ignition Table Switch 2 Pin" , ignBlends2_tableSwitch field = "Ignition Table Switch 2 Pin Mode" , ignBlends2_tableSwitchPinMode field = "Ignition Table Switch 2 Parameter" , ignBlends2_blendParameter field = "Ignition Table Switch 2 Blend Mode" , ignBlend2BlendMode field = "Ignition Table Switch 2 Y axis override" , ignBlends2_yAxisOverride panel = ignAdder2Bias dialog = veBlend1Cfg, "VE Table Switch 1" topicHelp = blendTables panel = isVe1TblSw field = "BLEND_VE_1_TOGGLE canbus toggles this" field = "VE Table Switch 1 Pin" , veBlends1_tableSwitch field = "VE Table Switch 1 Pin Mode" , veBlends1_tableSwitchPinMode field = "VE Table Switch 1 Parameter" , veBlends1_blendParameter field = "VE Table Switch 1 Blend Mode" , veBlend1BlendMode field = "VE Table Switch 1 Y axis override " , veBlends1_yAxisOverride panel = veBlend1Bias dialog = veBlend2Cfg, "VE Table Switch 2" topicHelp = blendTables panel = isVe2TblSw field = "BLEND_VE_2_TOGGLE canbus toggles this" field = "VE Table Switch 2 Pin" , veBlends2_tableSwitch field = "VE Table Switch 2 Pin Mode" , veBlends2_tableSwitchPinMode field = "VE Table Switch 2 Parameter" , veBlends2_blendParameter field = "VE Table Switch 2 Blend Mode" , veBlend2BlendMode field = "VE Table Switch 2 Y axis override" , veBlends2_yAxisOverride panel = veBlend2Bias dialog = boostOpenBlend1Cfg, "Boost Open Loop Table Switch 1" topicHelp = blendTables field = "BLEND_OLBOOST_1_TOGGLE canbus toggles this" field = "Boost Open Loop Table Switch 1 Pin" , boostOpenLoopBlends1_tableSwitch field = "Boost Open Loop Table Switch 1 Pin Mode" , boostOpenLoopBlends1_tableSwitchPinMode field = "Boost Open Loop Table Switch 1 Parameter" , boostOpenLoopBlends1_blendParameter field = "Boost Open Loop Table Switch 1 Blend Mode" , OLBoostBlend1BlendMode field = "Boost Open Loop Table Switch 1 Y axis override" , boostOpenLoopBlends1_yAxisOverride panel = boostOpenLoopBlend1Bias dialog = boostClosedBlend1Cfg, "Boost Closed Loop Table Switch 1" topicHelp = blendTables field = "BLEND_CLBOOST_1_TOGGLE canbus toggles this" field = "Boost Closed Loop Table Switch 1 Pin" , boostClosedLoopBlends1_tableSwitch field = "Boost Closed Loop Table Switch 1 Pin mode" , boostClosedLoopBlends1_tableSwitchPinMode field = "Boost Closed Loop Table Switch 1 Parameter" , boostClosedLoopBlends1_blendParameter field = "Boost Closed Loop Table Switch 1 Blend Mode" , CLBoostBlend1BlendMode field = "Boost Closed Loop Table Switch 1 Y axis override" , boostClosedLoopBlends1_yAxisOverride panel = boostClosedLoopBlend1Bias dialog = targetAfrBlend1Cfg, "Target AFR Table Switch 1" topicHelp = blendTables field = "BLEND_AFR_1_TOGGLE canbus toggles this" field = "Target AFR Table Switch 1 Pin" , targetAfrBlends1_tableSwitch field = "Target AFR Table Switch 1 Pin Mode" , targetAfrBlends1_tableSwitchPinMode field = "Target AFR Table Switch 1 Parameter" , targetAfrBlends1_blendParameter field = "Target AFR Table Switch 1 Blend Mode" , AFRBlend1BlendMode field = "Target AFR Table Switch 1 Y axis override" , targetAfrBlends1_yAxisOverride panel = targetAfrBlend1Bias dialog = auxTempSensor1_thermistor, "aux1 Thermistor Settings" field = "Input channel", auxTempSensor1_adcChannel field = "Pullup resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} field = "#Here is three pairs of thermistor temperature and resistance." field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", auxTempSensor1_tempC_1, {auxTempSensor1_adcChannel != 0} field = "Resistance @ LT", auxTempSensor1_resistance_1, {auxTempSensor1_adcChannel != 0} field = "" field = "Middle temperature", auxTempSensor1_tempC_2, {auxTempSensor1_adcChannel != 0} field = "Resistance @ MT", auxTempSensor1_resistance_2, {auxTempSensor1_adcChannel != 0} field = "" field = "Highest temperature", auxTempSensor1_tempC_3, {auxTempSensor1_adcChannel != 0} field = "Resistance @ HT", auxTempSensor1_resistance_3, {auxTempSensor1_adcChannel != 0} dialog = auxTempSensor1Gauges gauge = rawAuxTemp1Gauge dialog = auxTempSensor1Sensor, "aux1 Thermistor Settings", border panel = auxTempSensor1_thermistor, West panel = auxTempSensor1Gauges, East dialog = auxTempSensor2Sensor, "aux2 Thermistor Settings" field = "Input channel", auxTempSensor2_adcChannel field = "Pullup resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} field = "#Here is three pairs of thermistor temperature and resistance." field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", auxTempSensor2_tempC_1, {auxTempSensor2_adcChannel != 0} field = "Resistance @ LT", auxTempSensor2_resistance_1, {auxTempSensor2_adcChannel != 0} field = "" field = "Middle temperature", auxTempSensor2_tempC_2, {auxTempSensor2_adcChannel != 0} field = "Resistance @ MT", auxTempSensor2_resistance_2, {auxTempSensor2_adcChannel != 0} field = "" field = "Highest temperature", auxTempSensor2_tempC_3, {auxTempSensor2_adcChannel != 0} field = "Resistance @ HT", auxTempSensor2_resistance_3, {auxTempSensor2_adcChannel != 0} dialog = oilTempSensor, "Oil Temp Sensor Settings" field = "Input channel", oilTempSensor_adcChannel field = "Pullup resistor", oilTempSensor_bias_resistor, {oilTempSensor_adcChannel != 0} field = "Lowest temperature", oilTempSensor_tempC_1, {oilTempSensor_adcChannel != 0} field = "Resistance @ LT", oilTempSensor_resistance_1, {oilTempSensor_adcChannel != 0} field = "" field = "Middle temperature", oilTempSensor_tempC_2, {oilTempSensor_adcChannel != 0} field = "Resistance @ MT", oilTempSensor_resistance_2, {oilTempSensor_adcChannel != 0} field = "" field = "Highest temperature", oilTempSensor_tempC_3, {oilTempSensor_adcChannel != 0} field = "Resistance @ HT", oilTempSensor_resistance_3, {oilTempSensor_adcChannel != 0} field = "Use Custom Oil Temp Curve", useCustomOTSensor, {clt_adcChannel != 0} commandButton = "Convert Oil Temp cal to Custom Curve", cmd_convert_ot_to_curve dialog = flexSensorDialogLeft, "" field = "Current Ethanol Content - Static for no Sensor", defaultEthanolContent field = "Flex fuel sensor connected", flexEnabled field = "Flex fuel sensor input", flexSensorPin field = "Flex Signal", flexSensorInverted dialog = flexGauges gauge = flexPercentGauge gauge = fuelTempGauge dialog = flexSensorDialog, "Flex Sensor" panel = flexSensorDialogLeft, West panel = flexGauges, East dialog = fuelTempSensor, "Fuel Temp Sensor Settings" field = "Input channel", fuelTempSensor_adcChannel field = "Pullup resistor", fuelTempSensor_bias_resistor, {fuelTempSensor_adcChannel != 0} field = "Lowest temperature", fuelTempSensor_tempC_1, {fuelTempSensor_adcChannel != 0} field = "Resistance @ LT", fuelTempSensor_resistance_1, {fuelTempSensor_adcChannel != 0} field = "" field = "Middle temperature", fuelTempSensor_tempC_2, {fuelTempSensor_adcChannel != 0} field = "Resistance @ MT", fuelTempSensor_resistance_2, {fuelTempSensor_adcChannel != 0} field = "" field = "Highest temperature", fuelTempSensor_tempC_3, {fuelTempSensor_adcChannel != 0} field = "Resistance @ HT", fuelTempSensor_resistance_3, {fuelTempSensor_adcChannel != 0} dialog = ambientTempSensor, "Ambient Temp Sensor Settings" field = "!Put this sensor before any turbocharger/supercharger" field = "!near the air filter." field = "Input channel", ambientTempSensor_adcChannel field = "Pullup resistor", ambientTempSensor_bias_resistor, {ambientTempSensor_adcChannel != 0} field = "Lowest temperature", ambientTempSensor_tempC_1, {ambientTempSensor_adcChannel != 0} field = "Resistance @ LT", ambientTempSensor_resistance_1, {ambientTempSensor_adcChannel != 0} field = "" field = "Middle temperature", ambientTempSensor_tempC_2, {ambientTempSensor_adcChannel != 0} field = "Resistance @ MT", ambientTempSensor_resistance_2, {ambientTempSensor_adcChannel != 0} field = "" field = "Highest temperature", ambientTempSensor_tempC_3, {ambientTempSensor_adcChannel != 0} field = "Resistance @ HT", ambientTempSensor_resistance_3, {ambientTempSensor_adcChannel != 0} dialog = compressorDischargeTemperature, "Compressor Discharge Temp Settings" field = "!Put this sensor after the turbocharger/supercharger" field = "!but before the intercooler." field = "Input channel", compressorDischargeTemperature_adcChannel field = "Pullup resistor", compressorDischargeTemperature_bias_resistor, {compressorDischargeTemperature_adcChannel != 0} field = "Lowest temperature", compressorDischargeTemperature_tempC_1, {compressorDischargeTemperature_adcChannel != 0} field = "Resistance @ LT", compressorDischargeTemperature_resistance_1, {compressorDischargeTemperature_adcChannel != 0} field = "" field = "Middle temperature", compressorDischargeTemperature_tempC_2, {compressorDischargeTemperature_adcChannel != 0} field = "Resistance @ MT", compressorDischargeTemperature_resistance_2, {compressorDischargeTemperature_adcChannel != 0} field = "" field = "Highest temperature", compressorDischargeTemperature_tempC_3, {compressorDischargeTemperature_adcChannel != 0} field = "Resistance @ HT", compressorDischargeTemperature_resistance_3, {compressorDischargeTemperature_adcChannel != 0} dialog = tpsNum1, "Throttle Body #1" field = "TB1 Diameter", tps1_diameter field = "TPS Sensor 1", tps1_1AdcChannel field = "TPS Sensor 1 Closed", tpsMin, 1, {isTps1Primary} field = "TPS Sensor 1 Open", tpsMax, 1, {isTps1Primary} field = "TPS Sensor 2", tps1_2AdcChannel, 1, {isTps1Primary} field = "TPS Sensor 2 Closed", tps1SecondaryMin, 1, {isTps1Primary && isTps1Secondary} field = "TPS Sensor 2 Open", tps1SecondaryMax, 1, {isTps1Primary && isTps1Secondary} field = "TPS Sensors Filter (lower = more filtering)", tpsLowPassCutoffHz commandButton = "Auto Calibrate ETB 1", cmd_etb_auto_calibrate, { hasIgnitionVoltage && isEtb1Enabled && isTps1Primary && calibrationMode == 0} commandButton = "Grab Closed Throttle ADC", cmd_calibrate_tps_closed, {!isEtb1Enabled} commandButton = "Grab Fully Opened Throttle ADC ", cmd_calibrate_tps_open, {!isEtb1Enabled} ;dev commandButton = "Fast Auto Calibrate ETB 1", cmd_etb_auto_calibrate_fast, { hasIgnitionVoltage && isEtb1Enabled && isTps1Primary && calibrationMode == 0} dialog = tpsNum2, "Throttle Body #2" field = "TPS Sensor 3", tps2_1AdcChannel field = "TPS Sensor 3 Closed", tps2Min, 1, {isTps2Primary} field = "TPS Sensor 3 Open", tps2Max, 1, {isTps2Primary} field = "TPS Sensor 4", tps2_2AdcChannel, 1, {isTps2Primary} field = "TPS Sensor 4 Closed", tps2SecondaryMin, 1, {isTps2Primary && isTps2Secondary} field = "TPS Sensor 4 Open", tps2SecondaryMax, 1, {isTps2Primary && isTps2Secondary} commandButton = "Auto Calibrate ETB 2", cmd_etb_auto_calibrate_2, { hasIgnitionVoltage && isEtb2Enabled && isTps2Primary && calibrationMode == 0} ;dev commandButton = "Fast Auto Calibrate ETB 2", cmd_etb_auto_calibrate_2_fast, { hasIgnitionVoltage && isEtb2Enabled && isTps2Primary && calibrationMode == 0} dialog = tpsSent1, "SENT TPS" field = "ETB SENT type", sentEtbType field = "ETB SENT input" EtbSentInput, 1, {sentEtbType != 0 } field = "Closed value", customSentTpsMin, 1, {sentEtbType == 3 } field = "Open value", customSentTpsMax, 1, {sentEtbType == 3 } dialog = tpsPpsLimits, "TPS/PPS Limits" field = "TPS/PPS minimum valid value", tpsErrorDetectionTooLow, {isTps1Primary || isTps2Primary || isPpsPrimary} field = "TPS/PPS maximum valid value", tpsErrorDetectionTooHigh, {isTps1Primary || isTps2Primary || isPpsPrimary} field = "TPS/PPS Error Detection Threshold", etbSplit, {isTps1Primary || isTps2Primary || isPpsPrimary} dialog = tpsSpecialSensors, "ETB Position Sensors special cases" field = "Ford/Toyota redundant TPS mode", useFordRedundantTps field = "Secondary TPS maximum", tpsSecondaryMaximum, {useFordRedundantTps} field = "Ignore TPS/PPS sensors too close to each other", ignore_tps_pps_sensors_too_close dialog = tpsSensorLeft panel = tpsNum1 panel = tpsNum2 panel = tpsSent1, Center, {isEtbEnabled} panel = tpsPpsLimits panel = tpsSpecialSensors, Center, {isEtbEnabled} dialog = tpsGauges gauge = tpsADCGauge gauge = tps2ADCGauge gauge = rawTps1PrimaryGauge gauge = rawTps1SecondaryGauge gauge = rawTps2PrimaryGauge gauge = rawTps2SecondaryGauge dialog = tpsSensor, "", border panel = tpsSensorLeft, West panel = tpsGauges, East dialog = ppsSpecialSensors, "Pedal Position Sensors special cases" field = "Ford/Toyota redundant PPS mode", useFordRedundantPps field = "Secondary PPS maximum", ppsSecondaryMaximum, {useFordRedundantPps} dialog = pedalSensorLeft, "Accelerator pedal" field = "Accelerator pedal position sensor 1", throttlePedalPositionAdcChannel field = "Accelerator pedal position sensor 1 Up voltage (idle)", throttlePedalUpVoltage, 1, {isPpsPrimary} field = "Accelerator pedal position sensor 1 Down voltage (WOT)",throttlePedalWOTVoltage, 1, {isPpsPrimary} field = "Accelerator pedal position sensor 2", throttlePedalPositionSecondAdcChannel field = "Accelerator pedal position sensor 2 Up voltage (idle)",throttlePedalSecondaryUpVoltage, 1, {isPpsSecondary} field = "Accelerator pedal position sensor 2 Down voltage (WOT)",throttlePedalSecondaryWOTVoltage, 1, {isPpsSecondary} field = "Accelerator pedal position sensors filter (lower = more filtering)", ppsLowPassCutoffHz commandButton = "Grab Idle/Up", cmd_calibrate_pedal_up, { hasIgnitionVoltage && isPpsPrimary } commandButton = "Grab WOT/Down", cmd_calibrate_pedal_down, { hasIgnitionVoltage && isPpsPrimary } field = "Accelerator Pedal Smoothing Factor", ppsExpAverageAlpha panel = tpsPpsLimits panel = ppsSpecialSensors dialog = pedalGauges gauge = pedalPositionGauge gauge = rawPpsPrimaryGauge gauge = rawPpsSecondaryGauge dialog = pedalSensor, "", border panel = pedalSensorLeft, West panel = pedalGauges, East dialog = wastegatePosConfig, "" field = "Input", wastegatePositionSensor field = "Min (fully closed, most boost)", wastegatePositionClosedVoltage field = "Max (fully open, least boost)", wastegatePositionOpenedVoltage dialog = wastegatePosGauges, "" gauge = rawWastegatePositionGauge, West gauge = wastegatePosGauge, East dialog = wastegatePosDialog, "Electronic Wastegate position sensor", border panel = wastegatePosConfig, West panel = wastegatePosGauges, East dialog = idleValvePosConfig, "" field = "Input", idlePositionChannel field = "Min (valve closed, low idle)", idlePositionMin field = "Max (valve open, high idle)", idlePositionMax dialog = idleValvePosGauges, "" gauge = rawIdlePositionSensorGauge gauge = idlePosSensGauge dialog = idleValvePosDialog, "ETB-style Idle valve position sensor", border panel = idleValvePosConfig, West panel = idleValvePosGauges, East dialog = tractionEtbDialog, "Traction Control ETB" panel = tractionEtbLeftRightTableTbl panel = tractionEtbFrontRearTableTbl dialog = tractionTimingDialog, "Traction Control Timing Retard" panel = tractionTimingLeftRightTableTbl panel = tractionTimingFrontRearTableTbl dialog = tractionIgnitionSkipDialog, "Traction Control Spark Skip" panel = tractionIgnitionSkipLeftRightTableTbl panel = tractionIgnitionSkipFrontRearTableTbl dialog = mc33Dialog, "Low-Z smart injector control" field = "externalRusEfiGdiModule", externalRusEfiGdiModule field = "SPI Chip Select", mc33816_cs field = "SPI Device", mc33816spiDevice field = "MC33816 rstb", mc33816_rstb field = "MC33816 flag0", mc33816_flag0 field = "MC33816 Driven", mc33816_driven field = "Boost voltage", mc33_hvolt field = "Boost current target", mc33_i_boost field = "Min boost time", mc33_t_min_boost field = "Max boost time (timeout)", mc33_t_max_boost field = "Peak phase current target", mc33_i_peak field = "Peak phase duration", mc33_t_peak_tot field = "Peak phase loop off time", mc33_t_peak_off field = "Peak -> Hold Bypass Time", mc33_t_bypass field = "Hold current target", mc33_i_hold field = "Hold phase loop off time", mc33_t_hold_off field = "Maximum injection duration", mc33_t_hold_tot ; Sensor Inputs dialog = otherSensorInputs, "Other Sensor Inputs" field = "Clutch Down", clutchDownPin field = "Clutch Down mode", clutchDownPinMode field = "Clutch Up", clutchUpPin field = "Clutch Up mode", clutchUpPinMode field = "Brake Pedal", brakePedalPin field = "Brake Pedal Mode", brakePedalPinMode field = "Turbo Speed Sensor", turboSpeedSensorInputPin field = "Turbo Speed Multiplier", turboSpeedSensorMultiplier, { turboSpeedSensorInputPin } field = "Throttle inlet pressure sensor", throttleInletPressureChannel field = "Compressor discharge pressure sensor", compressorDischargePressureChannel dialog = fuelLevelGauges gauge = rawFuelLevelGauge gauge = fuelTankLevelGauge dialog = fuelLevelSettings field = "Input channel", fuelLevelSensor field = "Low threshold", fuelLevelLowThresholdVoltage, {fuelLevelSensor != 0} field = "High threshold", fuelLevelHighThresholdVoltage, {fuelLevelSensor != 0} field = "Filter Alpha", fuelLevelAveragingAlpha field = "Update period", fuelLevelUpdatePeriodSec panel = fuelLevelCurve dialog = fuelLevelDialog, "Fuel Level Sensor", border panel = fuelLevelSettings, West panel = fuelLevelGauges, East ; ; allXXX sections allows a quick overview of used I/O in order to address conflicts mostly, not really to ; configure the features. ; dialog = allPinsSensors, "Sensors" field = "Throttle pedal Position Channel", throttlePedalPositionAdcChannel field = "Throttle pedal Position #2", throttlePedalPositionSecondAdcChannel field = "Primary input channel", triggerInputPins1 field = "Secondary channel", triggerInputPins2 field = "Cam Sync/VVT input", camInputs1 field = "CLT ADC input", clt_adcChannel field = "IAT ADC input", iat_adcChannel field = "vBatt ADC input", vbattAdcChannel field = "TPS1 ADC input", tps1_1AdcChannel field = "TPS2 ADC input", tps2_1AdcChannel field = "MAF ADC input", mafAdcChannel field = "MAF 2 ADC input", maf2AdcChannel field = "Frequency MAF", frequencyMafChannel field = "AFR ADC input", afr_hwChannel field = "AFR 2 ADC input", afr_hwChannel2 field = "Baro ADC input", baroSensor_hwChannel field = "MAP ADC input", map_sensor_hwChannel field = "Fuel Level input", fuelLevelSensor field = "Vehicle Speed input", vehicleSpeedSensorInputPin field = "Clutch Down input", clutchDownPin field = "Clutch Up input", clutchUpPin field = "Brake pedal input", brakePedalPin field = "A/C Switch", acSwitch field = "Aux Temperature #1", auxTempSensor1_adcChannel field = "Aux Temperature #2", auxTempSensor2_adcChannel field = "Aux Fast Analog", auxFastSensor1_adcChannel dialog = allPinsMC33, "MC33816" field = "Chip Select", mc33816_cs field = rstb, mc33816_rstb field = flag0, mc33816_flag0 field = mc33816_driven, mc33816_driven field = mc33816spiDevice, mc33816spiDevice field = hpfpValvePin, hpfpValvePin dialog = allPins1_1 field = "trigger stimulator output #1", triggerSimulatorPins1 field = "trigger stimulator output #2", triggerSimulatorPins2 field = camSimulatorPin, camSimulatorPin field = "tle6240_cs", tle6240_cs field = "tle6240 SPI", tle6240spiDevice dialog = allPins1_2 field = "Tachometer output", tachOutputPin field = "Narrowband O2 heater output", o2heaterPin field = "Idle Solenoid Primary output", idle_solenoidPin field = "Idle Solenoid Secondary output",secondSolenoidPin field = "Idle Stepper Dir", idle_stepperDirectionPin field = "Idle Stepper Step", idle_stepperStepPin field = "Idle Stepper Enable", stepperEnablePin field = "Fuel Pump output", fuelPumpPin field = "ETB#1 Dir #1", etbIo1_directionPin1 field = "ETB#1 Dir #2", etbIo1_directionPin2 field = "ETB#1 Control", etbIo1_controlPin field = "ETB#1 Disable", etbIo1_disablePin field = "ETB#2 Dir #1", etbIo2_directionPin1 field = "ETB#2 Dir #2", etbIo2_directionPin2 field = "ETB#2 Control", etbIo2_controlPin field = "ETB#2 Disable", etbIo2_disablePin field = "SD CS Pin", sdCardCsPin field = "MIL/Check Engine output", malfunctionIndicatorPin field = "Fan Pin", fanPin field = "A/C Relay", acRelayPin field = "Main Relay Pin", mainRelayPin field = "Starter Relay Pin", starterRelayDisablePin dialog = allPins2_1 field = "Injection Output 1", injectionPins1 field = "Injection Output 2", injectionPins2 field = "Injection Output 3", injectionPins3 field = "Injection Output 4", injectionPins4 field = "Injection Output 5 ", injectionPins5 field = "Injection Output 6 ", injectionPins6 field = "Injection Output 7 ", injectionPins7 field = "Injection Output 8 ", injectionPins8 field = auxSpeedSensorInputPin1, auxSpeedSensorInputPin1 field = auxSpeedSensorInputPin2, auxSpeedSensorInputPin2 field = auxSpeedSensorInputPin3, auxSpeedSensorInputPin3 field = auxSpeedSensorInputPin4, auxSpeedSensorInputPin4 dialog = allPins2_2 field = "Ignition Output 1", ignitionPins1 field = "Ignition Output 2", ignitionPins2 field = "Ignition Output 3", ignitionPins3 field = "Ignition Output 4", ignitionPins4 field = "Ignition Output 5", ignitionPins5 field = "Ignition Output 6", ignitionPins6 field = "Ignition Output 7", ignitionPins7 field = "Ignition Output 8", ignitionPins8 dialog = allPins2_3 field = "Debug Trigger Sync", debugTriggerSync panel = allPinsMC33 dialog = allPins1_3 field = "Aux ADC #1", auxAnalogInputs1 field = "Aux ADC #2", auxAnalogInputs2 field = "Aux ADC #3", auxAnalogInputs3 field = "Aux ADC #4", auxAnalogInputs4 field = "Aux ADC #5", auxAnalogInputs5 field = "Aux ADC #6", auxAnalogInputs6 field = "Aux ADC #7", auxAnalogInputs7 field = "Aux ADC #8", auxAnalogInputs8 field = "CAN RX pin", canRxPin field = "CAN TX pin", canTxPin field = "SPI1 MOSI", spi1mosiPin, { spi1mosiPin != 0 || is_enabled_spi_1 == 1} field = "SPI1 MISO", spi1misoPin, { spi1misoPin != 0 || is_enabled_spi_1 == 1} field = "SPI1 SCK", spi1sckPin, {is_enabled_spi_1 == 1} field = "SPI2 MOSI", spi2mosiPin, {is_enabled_spi_2 == 1} field = "SPI2 MISO", spi2misoPin, {is_enabled_spi_2 == 1} field = "SPI2 SCK", spi2sckPin, {is_enabled_spi_2 == 1} field = "SPI3 MOSI", spi3mosiPin, {is_enabled_spi_3 == 1} field = "SPI3 MISO", spi3misoPin, {is_enabled_spi_3 == 1} field = "SPI3 SCK", spi3sckPin, {is_enabled_spi_3 == 1} field = "SPI4 MOSI", spi4mosiPin, {is_enabled_spi_4 == 1} field = "SPI4 MISO", spi4misoPin, {is_enabled_spi_4 == 1} field = "SPI4 SCK", spi4sckPin, {is_enabled_spi_4 == 1} field = "SPI5 MOSI", spi5mosiPin, {is_enabled_spi_5 == 1} field = "SPI5 MISO", spi5misoPin, {is_enabled_spi_5 == 1} field = "SPI5 SCK", spi5sckPin, {is_enabled_spi_5 == 1} field = "SPI6 MOSI", spi6mosiPin, {is_enabled_spi_6 == 1} field = "SPI6 MISO", spi6misoPin, {is_enabled_spi_6 == 1} field = "SPI6 SCK", spi6sckPin, {is_enabled_spi_6 == 1} field = "Saab CDM knock", cdmInputPin field = "DRV8860 CS", drv8860_cs field = "DRV8860 CS Mode", drv8860_csPinMode field = "DRV8860 MISO pin", drv8860_miso field = "DRV8860 SPI", drv8860spiDevice field = "digipot spi", digitalPotentiometerSpiDevice field = "digipot CS #0", digitalPotentiometerChipSelect1 field = "digipot CS #1", digitalPotentiometerChipSelect2 field = "digipot CS #2", digitalPotentiometerChipSelect3 field = "digipot CS #3", digitalPotentiometerChipSelect4 dialog = allPins3_1 panel = allPinsSensors dialog = allPins3_2 field = "VVT solenoid bank 1 intake", vvtPins1 field = "VVT solenoid bank 1 exhaust", vvtPins2 field = "VVT solenoid bank 2 intake", vvtPins3 field = "VVT solenoid bank 2 exhaust", vvtPins4 field = "Aux Valve #1", auxValves1 field = "Aux Valve #2", auxValves2 field = "TLE8888 Chip Select", tle8888_cs field = "TLE 8888 spi", tle8888spiDevice field = "L9779 Chip Select", l9779_cs field = "Start/Stop Button", startStopButtonPin dialog = allPins3_1_and_2, "All IO 3/3", xAxis panel = allPins3_1 panel = allPins3_2 dialog = allPins1_1_and_2, "", xAxis panel = allPins1_1 panel = allPins1_2 dialog = allPins1, "All IO 1/3", xAxis panel = allPins1_1_and_2 panel = allPins1_3 dialog = allPins2_1_and_2, "", xAxis panel = allPins2_1 panel = allPins2_2 dialog = allPins2, "All IO 2/3", xAxis panel = allPins2_1_and_2 panel = allPins2_3 dialog = clt_thermistor, "Coolant Temperature sensor (CLT)" field = "Input channel", clt_adcChannel field = "Pullup resistor", clt_bias_resistor, {clt_adcChannel != 0} settingSelector = "Common CLT Sensors" settingOption = "GM CLT", clt_tempC_1=-40,clt_resistance_1=100000,clt_tempC_2=40,clt_resistance_2=1459,clt_tempC_3=130,clt_resistance_3=70,useLinearCltSensor=0 settingOption = "Miata NA", clt_tempC_1=-20,clt_resistance_1=16150,clt_tempC_2=40,clt_resistance_2=1150,clt_tempC_3=80,clt_resistance_3=330,useLinearCltSensor=0 settingOption = "Miata NB", clt_tempC_1=-10,clt_resistance_1=9000,clt_tempC_2=20,clt_resistance_2=2500,clt_tempC_3=80,clt_resistance_3=320,useLinearCltSensor=0 settingOption = "Bosch Various", clt_tempC_1=0,clt_resistance_1=5896,clt_tempC_2=50,clt_resistance_2=834,clt_tempC_3=100,clt_resistance_3=187,useLinearCltSensor=0 field = "#Input three pairs of thermistor temperature and resistance." field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", clt_tempC_1, {clt_adcChannel != 0} field = "Resistance @ LT", clt_resistance_1, {clt_adcChannel != 0} field = "" field = "Middle temperature", clt_tempC_2, {clt_adcChannel != 0} field = "Resistance @ MT", clt_resistance_2, {clt_adcChannel != 0} field = "" field = "Highest temperature", clt_tempC_3, {clt_adcChannel != 0} field = "Resistance @ HT", clt_resistance_3, {clt_adcChannel != 0} field = "" field = "Linear characteristic", useLinearCltSensor, {clt_adcChannel != 0 && useCustomCLTSensor == 0} field = "Use Custom CLT Curve", useCustomCLTSensor, {clt_adcChannel != 0 && useLinearCltSensor == 0 } commandButton = "Convert CLT cal to Custom Curve", cmd_convert_clt_to_curve dialog = cltGauges gauge = CLTGauge gauge = rawCltGauge dialog = cltSensor, "Coolant Temperature sensor (CLT)", border panel = clt_thermistor, West panel = cltGauges, East dialog = iat_thermistor, "Intake Air Temperature Sensor (IAT)" field = "Input channel", iat_adcChannel field = "Pullup resistor", iat_bias_resistor, {iat_adcChannel != 0} settingSelector = "Common IAT Sensors", {iat_adcChannel != 0} settingOption = "GM IAT", iat_tempC_1=8.9,iat_resistance_1=7000,iat_tempC_2=30.6,iat_resistance_2=1930,iat_tempC_3=63.3,iat_resistance_3=560,useLinearIatSensor=0 settingOption = "Miata NA/NB", iat_tempC_1=-20,iat_resistance_1=16150,iat_tempC_2=40,iat_resistance_2=1150,iat_tempC_3=80,iat_resistance_3=330,useLinearIatSensor=0 settingOption = "Miata MSM IAT2", iat_tempC_1=0,iat_resistance_1=112000,iat_tempC_2=40,iat_resistance_2=17000,iat_tempC_3=60,iat_resistance_3=8000,useLinearIatSensor=0 settingOption = "Bosch Various", iat_tempC_1=-10,iat_resistance_1=9397,iat_tempC_2=30,iat_resistance_2=1707,iat_tempC_3=70,iat_resistance_3=436,useLinearIatSensor=0 field = "#Input three pairs of thermistor temperature and resistance." field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", iat_tempC_1, {iat_adcChannel != 0} field = "Resistance @ LT", iat_resistance_1, {iat_adcChannel != 0} field = "" field = "Middle temperature", iat_tempC_2, {iat_adcChannel != 0} field = "Resistance @ MT", iat_resistance_2, {iat_adcChannel != 0} field = "" field = "Highest temperature", iat_tempC_3, {iat_adcChannel != 0} field = "Resistance @ HT", iat_resistance_3, {iat_adcChannel != 0} field = "" field = "Linear characteristic", useLinearIatSensor, {iat_adcChannel != 0 && useCustomIATSensor == 0 } field = "Use Custom IAT Curve", useCustomIATSensor, {clt_adcChannel != 0 && useLinearIatSensor == 0} commandButton = "Convert IAT cal to Custom Curve", cmd_convert_iat_to_curve dialog = iatGauges gauge = IATGauge gauge = rawIatGauge dialog = iatSensor, "Intake Air Temperature Sensor", border panel = iat_thermistor, West panel = iatGauges, East dialog = oilp_settings, "Oil Pressure Sensor" field = "Oil Pressure input", oilPressure_hwChannel field = "low voltage", oilPressure_v1, {oilPressure_hwChannel != 0} field = "low pressure", oilPressure_value1, {oilPressure_hwChannel != 0} field = "high voltage", oilPressure_v2, {oilPressure_hwChannel != 0} field = "high pressure", oilPressure_value2, {oilPressure_hwChannel != 0} dialog = oilPressureGauges gauge = OilPressGauge gauge = rawOilPressureGauge dialog = oilPressureSensor, "", border panel = oilp_settings, West panel = oilPressureGauges, East dialog = fuellop_analog_settings, "Sensor scaling" field = "low voltage", lowPressureFuel_v1, {lowPressureFuel_hwChannel != 0} field = "low pressure", lowPressureFuel_value1, {lowPressureFuel_hwChannel != 0} field = "high voltage", lowPressureFuel_v2, {lowPressureFuel_hwChannel != 0} field = "high pressure", lowPressureFuel_value2, {lowPressureFuel_hwChannel != 0} dialog = fuelhip_analog_settings, "Sensor scaling" field = "low voltage", highPressureFuel_v1, {highPressureFuel_hwChannel != 0} field = "low pressure", highPressureFuel_value1, {highPressureFuel_hwChannel != 0} field = "high voltage", highPressureFuel_v2, {highPressureFuel_hwChannel != 0} field = "high pressure", highPressureFuel_value2, {highPressureFuel_hwChannel != 0} dialog = fuellop_settings, "Fuel Low Pressure Sensor" field = "Analog input", lowPressureFuel_hwChannel field = "sensor type", fuelPressureSensorMode, {lowPressureFuel_hwChannel != 0} panel = fuellop_analog_settings, {lowPressureFuel_hwChannel != 0} dialog = fuelhip_settings, "Fuel High Pressure Sensor" field = "Sensor SENT type" FuelHighPressureSentType field = "Sensor SENT input", FuelHighPressureSentInput, {FuelHighPressureSentType != 0 } field = "Analog input", highPressureFuel_hwChannel, {FuelHighPressureSentType == 0 } panel = fuelhip_analog_settings, {FuelHighPressureSentType == 0 && highPressureFuel_hwChannel != 0} dialog = fuelp_settings, "Fuel Pressure Sensor" panel = fuellop_settings panel = fuelhip_settings dialog = fuelPressureGauges gauge = lowFuelPressureGauge gauge = rawLowFuelPressureGauge gauge = highFuelPressureGauge gauge = rawHighFuelPressureGauge dialog = fuelPressureSensor, "", border panel = fuelp_settings, West panel = fuelPressureGauges, East dialog = acPressureSensorSettings, "A/C Pressure Sensor" field = "Input", acPressure_hwChannel field = "Low voltage", acPressure_v1, {acPressure_hwChannel != 0} field = "Low value", acPressure_value1, {acPressure_hwChannel != 0} field = "High voltage", acPressure_v2, {acPressure_hwChannel != 0} field = "High value", acPressure_value2, {acPressure_hwChannel != 0} dialog = acPressureGauges gauge = acPressureGauge gauge = rawAcPressureGauge dialog = acPressureSensor, "", border panel = acPressureSensorSettings, West panel = acPressureGauges, East dialog = auxLinearSensor1, "Aux Linear Sensor #1" field = "Input", auxLinear1_hwChannel field = "Low voltage", auxLinear1_v1, {auxLinear1_hwChannel != 0} field = "Low value", auxLinear1_value1, {auxLinear1_hwChannel != 0} field = "High voltage", auxLinear1_v2, {auxLinear1_hwChannel != 0} field = "High value", auxLinear1_value2, {auxLinear1_hwChannel != 0} dialog = auxLinearSensor2, "Aux Linear Sensor #2" field = "Input", auxLinear2_hwChannel field = "Low voltage", auxLinear2_v1, {auxLinear2_hwChannel != 0} field = "Low value", auxLinear2_value1, {auxLinear2_hwChannel != 0} field = "High voltage", auxLinear2_v2, {auxLinear2_hwChannel != 0} field = "High value", auxLinear2_value2, {auxLinear2_hwChannel != 0} dialog = auxLinearSensor3, "Aux Linear Sensor #3" field = "ADC input", auxLinear3_hwChannel field = "Low voltage", auxLinear3_v1, {auxLinear3_hwChannel != 0} field = "Low value", auxLinear3_value1, {auxLinear3_hwChannel != 0} field = "High voltage", auxLinear3_v2, {auxLinear3_hwChannel != 0} field = "High value", auxLinear3_value2, {auxLinear3_hwChannel != 0} dialog = auxLinearSensor4, "Aux Linear Sensor #4" field = "ADC input", auxLinear4_hwChannel field = "Low voltage", auxLinear4_v1, {auxLinear4_hwChannel != 0} field = "Low value", auxLinear4_value1, {auxLinear4_hwChannel != 0} field = "High voltage", auxLinear4_v2, {auxLinear4_hwChannel != 0} field = "High value", auxLinear4_value2, {auxLinear4_hwChannel != 0} dialog = auxLinearSensors, "Extra linear sensors" panel = auxLinearSensor1 panel = auxLinearSensor2 panel = auxLinearSensor3 panel = auxLinearSensor4 field = "AUX Low Pass Cutoff Hz", auxLowPassCutoffHz dialog = tractionControlCanBoxParams, "Traction control CAN box config" field = "Settings for CAN BOX TRAC interaction" field = "higher number means slip is amplified more and will result in higher correction" field = "lower number means slip is scaled down" field = "canBoxTracTrimMax ", canBoxTracTrimMax field = "canBoxTracTrimMin ", canBoxTracTrimMin field = "canBoxTracTrimStep", canBoxTracTrimStep field = "canBoxTracTrim1 ", canBoxTracTrim1 field = "canBoxTracTrim2 ", canBoxTracTrim2 field = "canBoxTracTrim3 ", canBoxTracTrim3 field = "canBoxTracTrim4 ", canBoxTracTrim4 dialog = tractionControlTracSettings, "Traction control settings" field = "Drivetrain layout", drive_train_layout field = "CAN_BUTTON_TOGGLE6 disables traction control" field = "Enable Slip and wheel speed calculations", enableSlipCalculations field = "Traction control intervention enabled", tractionControlEnabled field = "Use ETB for trac", tcUseETB field = "Use Spark Skip for trac", tcUseSparkSkip field = "Use Ignition Timing retard for trac", tcUseIgnTiming field = "Minimum RPM for traction control", tracMinRpm field = "Minimum MAP for traction control", tracMinMap field = "Minimum TPS for traction control", tracMinTps field = "Minimum speed for traction control", tracMinSpeed dialog = tractionControlInputs, "Wheel speeds inputs (hardware)" field = "Wheel speed inputs for traction control" field = "CAN Wheel speed reading enabled(overrides real inputs)", customCanVSS field = "Wheel Speed Input 1 (FL)", wheelSpeedSensorInputPin1 field = "Wheel Speed Input 2 (FR)", wheelSpeedSensorInputPin2 field = "Wheel Speed Input 3 (RL)", wheelSpeedSensorInputPin3 field = "Wheel Speed Input 4 (RR)", wheelSpeedSensorInputPin4 field = "Speed sensor tooth count (FL)", vssToothCount1, {wheelSpeedSensorInputPin1 != 0 } field = "Speed sensor tooth count (FR)", vssToothCount2, {wheelSpeedSensorInputPin2 != 0 } field = "Speed sensor tooth count (RL)", vssToothCount3, {wheelSpeedSensorInputPin3 != 0 } field = "Speed sensor tooth count (RR)", vssToothCount4, {wheelSpeedSensorInputPin4 != 0 } field = "Wheel revolutions per kilometer (FL)", driveWheelRevPerKm1, {wheelSpeedSensorInputPin1 != 0 } field = "Wheel revolutions per kilometer (FR)", driveWheelRevPerKm2, {wheelSpeedSensorInputPin2 != 0 } field = "Wheel revolutions per kilometer (RL)", driveWheelRevPerKm3, {wheelSpeedSensorInputPin3 != 0 } field = "Wheel revolutions per kilometer (RR)", driveWheelRevPerKm4, {wheelSpeedSensorInputPin4 != 0 } field = "Speed sensor gear ratio (FL)", vssGearRatio1, {wheelSpeedSensorInputPin1 != 0 } field = "Speed sensor gear ratio (FR)", vssGearRatio2, {wheelSpeedSensorInputPin2 != 0 } field = "Speed sensor gear ratio (RL)", vssGearRatio3, {wheelSpeedSensorInputPin3 != 0 } field = "Speed sensor gear ratio (RR)", vssGearRatio4, {wheelSpeedSensorInputPin4 != 0 } field = "Filter parameter1 FL", vssFilterReciprocal1, {wheelSpeedSensorInputPin1 != 0 } field = "Filter parameter2 FR", vssFilterReciprocal2, {wheelSpeedSensorInputPin2 != 0 } field = "Filter parameter3 RL", vssFilterReciprocal3, {wheelSpeedSensorInputPin3 != 0 } field = "Filter parameter4 RR", vssFilterReciprocal4, {wheelSpeedSensorInputPin4 != 0 } field = "Use biquad on wheel speed FL", useBiQuadOnWheelSpeedSensors1, {wheelSpeedSensorInputPin1 != 0 } field = "Use biquad on wheel speed FR", useBiQuadOnWheelSpeedSensors2, {wheelSpeedSensorInputPin2 != 0 } field = "Use biquad on wheel speed RL", useBiQuadOnWheelSpeedSensors3, {wheelSpeedSensorInputPin3 != 0 } field = "Use biquad on wheel speed RR", useBiQuadOnWheelSpeedSensors4, {wheelSpeedSensorInputPin4 != 0 } dialog = auxSpeedSensors field = "Aux Speed inputs - AUX" field = "Aux Speed Input 1 (aux)", auxSpeedSensorInputPin1 field = "Aux Speed Input 2 (aux)", auxSpeedSensorInputPin2 field = "Aux Speed Input 3 (aux)", auxSpeedSensorInputPin3 field = "Aux Speed Input 4 (aux)", auxSpeedSensorInputPin4 field = "aux speed sensor frequency filter1", auxFrequencyFilter1 field = "aux speed sensor frequency filter2", auxFrequencyFilter2 field = "aux speed sensor frequency filter3", auxFrequencyFilter3 field = "aux speed sensor frequency filter4", auxFrequencyFilter4 field = auxSpeedMult5, auxSpeedMult1 field = auxSpeedMult6, auxSpeedMult2 field = auxSpeedMult7, auxSpeedMult3 field = auxSpeedMult8, auxSpeedMult4 field = useBiQuadOnAuxSpeedSensors5, useBiQuadOnAuxSpeedSensors1 field = useBiQuadOnAuxSpeedSensors6, useBiQuadOnAuxSpeedSensors2 field = useBiQuadOnAuxSpeedSensors7, useBiQuadOnAuxSpeedSensors3 field = useBiQuadOnAuxSpeedSensors8, useBiQuadOnAuxSpeedSensors4 dialog = sentInputs, "SENT protocol inputs" field = "SENT Input #1", sentInputPins1 ; Sensors->MAP sensor dialog = mapSensorAnalog, "Manifold Pressure Sensor", yAxis field = "MAP input", map_sensor_hwChannel field = "MAP type", map_sensor_type, { map_sensor_hwChannel != 0 } field = "MAP value low point", map_sensor_lowValue, { map_sensor_hwChannel != 0 && map_sensor_type == 0 } field = "MAP voltage low point", mapLowValueVoltage, { map_sensor_hwChannel != 0 && map_sensor_type == 0 } field = "MAP value high point", map_sensor_highValue, { map_sensor_hwChannel != 0 && map_sensor_type == 0 } field = "MAP voltage high value", mapHighValueVoltage, { map_sensor_hwChannel != 0 && map_sensor_type == 0 } field = "MAP_PRE input", map_sensorpre_hwChannel field = "MAP_PRE value low point", map_sensorpre_lowValue, { map_sensor_hwChannel != 0 && map_sensor_type == 0 } field = "MAP_PRE voltage low point", mappreLowValueVoltage, { map_sensor_hwChannel != 0 && map_sensor_type == 0 } field = "MAP_PRE value high point", map_sensorpre_highValue, { map_sensor_hwChannel != 0 && map_sensor_type == 0 } field = "MAP_PRE voltage high value", mappreHighValueVoltage, { map_sensor_hwChannel != 0 && map_sensor_type == 0 } field = "Map Low Pass Cutoff Hz", mapLowPassCutoffHz indicatorPanel = mapValidIndicators, 1 indicator = {isMapValid}, "Bad MAP Input", "Good MAP Input", red, black, green, black dialog = mapCommon, "MAP common settings" field = "Low value threshold", mapErrorDetectionTooLow field = "High value threshold", mapErrorDetectionTooHigh panel = mapValidIndicators field = "" field = "Measure Map Only In One Cylinder", measureMapOnlyInOneCylinder field = "Cylinder count to sample MAP", mapMinBufferLength field = "MAP averaging smoothing factor", mapExpAverageAlpha dialog = mapSettingsLeft, "", yAxis panel = mapCommon panel = mapSensorAnalog dialog = mapGauges gauge = MAPGauge gauge = rawMapGauge dialog = mapSettings, "", border panel = mapSettingsLeft, West panel = mapGauges, East dialog = analogBaroSettings, "Analog Sensor" field = "Baro input", baroSensor_hwChannel, { baroSensor_hwChannel != 0 || (lps25BaroSensorScl == 0 && lps25BaroSensorSda == 0) } field = "Type", baroSensor_type, {baroSensor_hwChannel != 0} field = "BARO value low point", baroSensor_lowValue, { baroSensor_hwChannel != 0 && baroSensor_type == 0 } field = "BARO voltage low point", baroLowValueVoltage, { baroSensor_hwChannel != 0 && baroSensor_type == 0 } field = "BARO value high point", baroSensor_highValue, { baroSensor_hwChannel != 0 && baroSensor_type == 0 } field = "BARO voltage high value", baroHighValueVoltage, { baroSensor_hwChannel != 0 && baroSensor_type == 0 } dialog = digitalBaroSettings, "Digital Sensor" field = "LPS2x Baro SCL", lps25BaroSensorScl, { baroSensor_hwChannel == 0} field = "LPS2x Baro SDA", lps25BaroSensorSda, { baroSensor_hwChannel == 0} dialog = baroSettings, "Barometer sensor" field = "Grab baro value from MAP", useFixedBaroCorrFromMap panel = analogBaroSettings panel = digitalBaroSettings dialog = mapCurves, "MAP/MAF sampling", yAxis field = "MAP Window averaging", isMapAveragingEnabled field = "MAPPRE Window averaging", isMapPreAveragingEnabled field = "MAF Window averaging", isMafAveragingEnabled field = "MAP averaging smoothing factor", mapExpAverageAlpha field = "MAF averaging smoothing factor", mafExpAverageAlpha field = "MAF averaging smoothing factor final (final MAF value)", mafExpAverageAlphaFinal panel = map_samplingAngleCurve panel = map_samplingWindowCurve dialog = mafSettings, "MAF sensor", yAxis field = "MAF ADC input", mafAdcChannel, {frequencyMafChannel == 0 } field = "MAF 2 ADC input", maf2AdcChannel, {frequencyMafChannel == 0 } field = "Frequency MAF", frequencyMafChannel, { mafAdcChannel == 0 && maf2AdcChannel == 0 } field = "Frequency Maf Filter", frequencyMafFilter, { mafAdcChannel == 0 && maf2AdcChannel == 0 } field = "Window averaging shares settings with map", {frequencyMafChannel == 0 } field = "Window averaging", isMafAveragingEnabled, {frequencyMafChannel == 0 } field = "Cylinder count to sample MAF", mafMinBufferLength, {frequencyMafChannel == 0 } field = "Measure MAF Only In One Cylinder", measureMafOnlyInOneCylinder, {frequencyMafChannel == 0 } field = "MAF averaging smoothing factor", mafExpAverageAlpha, {frequencyMafChannel == 0 } field = "MAF averaging smoothing factor final (final MAF value)", mafExpAverageAlphaFinal ; field = "MAF Low Pass Cutoff Hz", mafLowPassCutoffHz ; Sensors->EGO sensor dialog = egoSettings_sensor, "O2 sensor" ; settingSelector = "O2 Type" ; settingOption = "BPSX", afr_v1=0,afr_value1=9,afr_v2=5,afr_value2=19 ; settingOption = "Innovate", afr_v1=0,afr_value1=7.35,afr_v2=5,afr_value2=22.39 ; settingOption = "14Point7", afr_v1=0,afr_value1=9.996,afr_v2=5,afr_value2=19.992 ; settingOption = "PLX", afr_v1=0,afr_value1=10,afr_v2=5,afr_value2=20 ; settingOption = "Narrow Band", afr_v1=0.1,afr_value1=15,afr_v2=0.9,afr_value2=14 ; settingOption = "AEM", afr_v1=0.5,afr_value1=8.5,afr_v2=4.5,afr_value2=18 ; field = "Type", afr_type field = "Consult your wideband o2 sensor manual for values you should use here" field = "Please make sure you configure these correctly, and please set Ethanol % in the Injector config menu" field = "Ethanol percentage will affect displayed value" ; todo: only use these values for custom! field = "low voltage", afr_v1 field = "low value", afr_value1 field = "high voltage", afr_v2 field = "high value", afr_value2 field = "Correction", egoValueShift field = "if your oxygen sensor sends lambda range for a voltage, make sure to update calibration values above" field = "Sensor sends Lambda range" , afrSensorLambdaRange field = "EGO Low Pass Cutoff Hz", egoLowPassCutoffHz dialog = egoSettings_IO1, "O2 Sensor 1 I/O" field = "Input channel", afr_hwChannel,{afr_hwChannel != 0 || enableAemXSeries == 0 } field = "Heater output", o2heaterPin, { o2heaterPin != 0 || enableAemXSeries == 0 } dialog = egoSettings_IO2, "O2 Sensor 2 I/O" field = "Input channel", afr_hwChannel2 indicatorPanel = uegoCan0Indicators, 1, { enableAemXSeries == 1 && canWbo1_type <= 1 } indicator = { wb1faultCode == 1 }, "Communication ok", "Timeout reading", green, black, red, black indicator = { !wb1isValid }, "AFR: Valid", "AFR: Invalid", green, black, yellow, black indicator = { wb1faultCode != 0 }, "Sensor: Ok", "Sensor: Fail", green, black, red, black indicatorPanel = uegoCan1Indicators, 1, { enableAemXSeries == 1 && canWbo2_type <= 1 } indicator = { wb2faultCode == 1 }, "Communication ok", "Timeout reading", green, black, red, black indicator = { !wb2isValid }, "AFR: Valid", "AFR: Invalid", green, black, yellow, black indicator = { wb2faultCode != 0 }, "Sensor: Ok", "Sensor: Fail", green, black, red, black indicatorPanel = uegoCan0IndicatorsExt, 1, { enableAemXSeries == 1 && canWbo1_type == 0 } indicator = { wb1faultCode == 2 }, "Heating allowed", "Heating prohibited", green, black, yellow, black indicator = { wb1faultCode == 3 }, "No heating failure", "Heating failed", green, black, red, black indicator = { wb1faultCode == 4 }, "No overheat", "Overheat", green, black, red, black indicator = { wb1faultCode == 5 }, "No underheat", "Underheat", green, black, red, black indicator = { wb1faultCode == 6 }, "Heater supply ok", "No heater supply", green, black, yellow, black indicator = { wb1fwOutdated }, "FW: compatible", "FW: need update", green, black, yellow, black indicatorPanel = uegoCan1IndicatorsExt, 1, { enableAemXSeries == 1 && canWbo2_type == 0 } indicator = { wb2faultCode == 2 }, "Heating allowed", "Heating prohibited", green, black, yellow, black indicator = { wb2faultCode == 3 }, "No heating failure", "Heating failed", green, black, red, black indicator = { wb2faultCode == 4 }, "No overheat", "Overheat", green, black, red, black indicator = { wb2faultCode == 5 }, "No underheat", "Underheat", green, black, red, black indicator = { wb2faultCode == 6 }, "Heater supply ok", "No heater supply", green, black, yellow, black indicator = { wb2fwOutdated }, "FW: compatible", "FW: need update", green, black, yellow, black indicatorPanel = ignitionTableIndicators, 1 indicator = { isIdling && useSeparateAdvanceForIdle == 1 }, "Using normal ignition table", "Using idle ignition table", white, black, green, black dialog = uegoCan0Gauges gauge = afr1Gauge gauge = wb1tempC gauge = wb1heaterDuty gauge = wb1nernstVoltage dialog = uegoCan1Gauges gauge = afr2Gauge gauge = wb2tempC gauge = wb2heaterDuty gauge = wb2nernstVoltage dialog = uegoCan0IndicatorPanel panel = uegoCan0Indicators panel = uegoCan0IndicatorsExt dialog = uegoCan1IndicatorPanel panel = uegoCan1Indicators panel = uegoCan1IndicatorsExt dialog = uegoCan0ConfigPanel field = "UEGO type", canWbo1_type field = "RusEFI WBO ID", canWbo1_reId, { canWbo1_type == 0 } field = "AEM ID", canWbo1_aemId, { canWbo1_type == 1 } dialog = uegoCan1ConfigPanel field = "UEGO type", canWbo2_type field = "RusEFI WBO ID", canWbo2_reId, { canWbo2_type == 0 } field = "AEM ID", canWbo2_aemId, { canWbo2_type == 1 } dialog = uegoCan0StatusPanel, "CAN UEGO 1", border panel = uegoCan0ConfigPanel, North panel = uegoCan0Gauges, West panel = uegoCan0IndicatorPanel, East dialog = uegoCan1StatusPanel, "CAN UEGO 2", border panel = uegoCan1ConfigPanel, North panel = uegoCan1IndicatorPanel, West panel = uegoCan1Gauges, East dialog = uegoCan, "CAN O2 sensors" field = "Support for AEM or RusEFI CAN UEGO" field = "Enable CAN Wideband", enableAemXSeries, { canReadEnabled } field = "Wideband CAN bus", widebandOnSecondBus field = "Force O2 sensor heating", forceO2Heating commandButton = "Update 2023 Firmware", cmd_wideband_firmare_update, { (canWbo1_type == 0 && wb1fwOutdated) || (canWbo2_type == 0 && wb2fwOutdated) } field = "Smoothing Factor", afrExpAverageAlpha field = "Use Smoothed Lambda", useSmoothedLambda field = "" field = "" field = "" field = "" field = "" field = "" dialog = egoSettings, "", xAxis panel = uegoCan0StatusPanel, { enableAemXSeries == 1 } panel = uegoCan panel = uegoCan1StatusPanel, { enableAemXSeries == 1 } dialog = analogEgoSettings, "", yAxis field = "Disable CAN O2 sensor(s) to enable this settings" panel = egoSettings_sensor, {afr_hwChannel != 0 && enableAemXSeries == 0} panel = egoSettings_IO1 panel = egoSettings_IO2, {afr_hwChannel != 0 && enableAemXSeries == 0} field = "Smoothing Factor", afrExpAverageAlpha field = "Use Smoothed Lambda", useSmoothedLambda ; Engine->EGT inputs dialog = egtInputsCan, "CAN EGT sensors" field = "CAN support EGT1 to EGT6 inputs" field = "CAN EGT (AEM X series of RusEFI)", enableAemXSeriesEgt, { canReadEnabled } field = "Enable EcuMaster EGT to CAN", ecumasterEgtToCan field = "EcuMaster EGT to CAN base address", ecumasterEgtToCanBaseId dialog = egtInputsSpi, "SPI EGT sensors" field = "If both CAN and SPI EGT sensors are used, please leave two first for CAN" field = "Disable Max 31855" , disablemax31855 field = "MAX31855/MAX31856 SPI", max31855spiDevice field = "CS for EGT1", max31855_cs1 field = "CS for EGT2", max31855_cs2 field = "CS for EGT3", max31855_cs3 field = "CS for EGT4", max31855_cs4 field = "CS for EGT5", max31855_cs5 field = "CS for EGT6", max31855_cs6 field = "CS for EGT7", max31855_cs7 field = "CS for EGT8", max31855_cs8 dialog = egtInputs, "EGT inputs" panel = egtInputsCan panel = egtInputsSpi ; Engine->idle Settings dialog = idleSolenoid, "Solenoid" field = "Idle Solenoid Primary output", idle_solenoidPin, { idle_solenoidPin != 0 || !useStepperIdle } field = "Double Solenoid Mode", isDoubleSolenoidIdle field = "Idle Solenoid Secondary output", secondSolenoidPin, { idle_solenoidPin != 0 || (!useStepperIdle && isDoubleSolenoidIdle ) } field = "Idle Solenoid output(s) Mode", idle_solenoidPinMode, !useStepperIdle field = "Idle Solenoid Frequency", idle_solenoidFrequency, !useStepperIdle dialog = dcHbridgeHardwareNo1, "H-Bridge Hardware No1" field = "No1 Direction #1", etbIo1_directionPin1 field = "No1 Direction #2", etbIo1_directionPin2 field = "No1 Control", etbIo1_controlPin field = "No1 Disable", etbIo1_disablePin dialog = dcHbridgeHardwareNo2, "H-Bridge Hardware No2" field = "No2 Direction #1", etbIo2_directionPin1 field = "No2 Direction #2", etbIo2_directionPin2 field = "No2 Control", etbIo2_controlPin field = "No2 Disable", etbIo2_disablePin dialog = dcHbridgeHardware, "H-Bridge Hardware" field = "Two-wire mode", etb_use_two_wires panel = dcHbridgeHardwareNo1 panel = dcHbridgeHardwareNo2 dialog = dcMotorActuatorHw, "DC motor actuator(s) hardware" ; we need the term about stepper idle in here, because there's a bug in TS that you can't have different visibility ; criteria for the same panel when used in multiple places ; todo: report bug to TS? ; another todo: split panel into two panels so that we can enable/disable h-bridge #1 separately from h-bridge #2 panel = dcHbridgeHardware dialog = dcMotorActuatorFunction, "DC motor actuator(s) function" field = "H-Bridge #1 function", etbFunctions1 field = "H-Bridge #2 function", etbFunctions2 dialog = stepperHbridgeHardwareNo1, "H-Bridge Hardware No1" field = "No1 Direction #1", stepperDcIo1_directionPin1 field = "No1 Direction #2", stepperDcIo1_directionPin2 field = "No1 Control", stepperDcIo1_controlPin field = "No1 Disable", stepperDcIo1_disablePin dialog = stepperHbridgeHardwareNo2, "H-Bridge Hardware No2" field = "No2 Direction #1", stepperDcIo2_directionPin1 field = "No2 Direction #2", stepperDcIo2_directionPin2 field = "No2 Control", stepperDcIo2_controlPin field = "No2 Disable", stepperDcIo2_disablePin dialog = stepperHbridgeHardware, "Stepper H-Bridge Hardware" topicHelp = "stepperHbridgeHardwareHelp" field = "Inverted driver pins", stepperDcInvertedPins panel = stepperHbridgeHardwareNo1, { etbFunctions1 == 0 } panel = stepperHbridgeHardwareNo2, { etbFunctions2 == 0 } dialog = idleStepperHw, "Stepper Controller Hardware" topicHelp = "idleStepperHwHelp" field = "Idle Stepper Step Pin", idle_stepperStepPin field = "Idle Stepper Dir Pin", idle_stepperDirectionPin field = "Idle Stepper Dir Pin Mode", stepperDirectionPinMode field = "Idle Stepper Enable Pin", stepperEnablePin field = "Idle Stepper Enable Pin Mode", stepperEnablePinMode dialog = stepperDirectDriveHardware, "Stepper Direct-Drive Hardware" topicHelp = "stepperDirectDriveHardwareHelp" field = "Stepper A+", stepper_raw_output1 field = "Stepper A-", stepper_raw_output2 field = "Stepper B+", stepper_raw_output3 field = "Stepper B-", stepper_raw_output4 dialog = idleStepperHwType, "" panel = idleStepperHw, { useStepperIdle && !useHbridgesToDriveIdleStepper && !useRawOutputToDriveIdleStepper } panel = stepperHbridgeHardware, { useStepperIdle && useHbridgesToDriveIdleStepper && !useRawOutputToDriveIdleStepper } panel = stepperDirectDriveHardware, { useStepperIdle && !useHbridgesToDriveIdleStepper && useRawOutputToDriveIdleStepper } dialog = idleStepperGeneral, "" field = "Drive stepper with dual H bridges", useHbridgesToDriveIdleStepper, useStepperIdle field = "Drive stepper with PushPull outputs", useRawOutputToDriveIdleStepper, { useStepperIdle && !useHbridgesToDriveIdleStepper } field = "Stepper reaction time", idleStepperReactionTime, useStepperIdle field = "Stepper total steps", idleStepperTotalSteps, useStepperIdle field = "Stepper parking extra steps, %", stepperParkingExtraSteps, useStepperIdle field = "Force parking every restart", stepperForceParkingEveryRestart, useStepperIdle dialog = idleStepperMicro, "Micro-Stepping" field = "Stepping Mode", stepperNumMicroSteps, useHbridgesToDriveIdleStepper field = "Min. Duty Cycle", stepperMinDutyCycle, { useHbridgesToDriveIdleStepper && stepperNumMicroSteps > 1 } field = "Max. Duty Cycle", stepperMaxDutyCycle, { useHbridgesToDriveIdleStepper && stepperNumMicroSteps > 1 } dialog = idleStepper, "Stepper" panel = idleStepperGeneral panel = idleStepperHwType panel = idleStepperMicro dialog = idleHwType, "Idle Valve Hardware", yAxis panel = idleSolenoid panel = idleStepper dialog = idlehw, "", yAxis field = "!ECU reboot needed to apply these settings" field = "Use Stepper", useStepperIdle field = "Electronic throttle idle range", etbIdleThrottleRange panel = idleHwType dialog = idlePidSettings, "Closed Loop Idle" field = "P-factor", idleRpmPid_pFactor field = "I-factor", idleRpmPid_iFactor field = "D-factor", idleRpmPid_dFactor field = "Min", idleRpmPid_minValue field = "Max", idleRpmPid_maxValue field = "iTerm Min", idlerpmpid_iTermMin field = "iTerm Max", idlerpmpid_iTermMax field = "PID Extra for low RPM", pidExtraForLowRpm field = "Use IAC PID Multiplier Table", useIacPidMultTable dialog = idleOpenLoop, "Open Loop Idle" field = "A/C adder", acIdleExtraOffset field = "A/C RPM target", acIdleRpmTarget field = "Fan #1 adder", fan1ExtraIdle field = "Fan #2 adder", fan2ExtraIdle dialog = idleGating, "Idle Detection Thresholds" field = "TPS threshold", idlePidDeactivationTpsThreshold field = "Force Idle State Below DriverThrottleIntent Threshold", forceIdleBelowTpsThreshold field = "Force Idle Ignition ONLY Below DriverThrottleIntent Threshold", forceIdleIgnitionBelowTps field = "Idle force delayed by DFCO", forceIdleIgnitionUseDFCO field = "Delta target rpm smoothing factor", idleDeltaRpmAdjAvgFactor field = "RPM upper limit", idlePidRpmUpperLimit field = "RPM deadzone", idlePidRpmDeadZone field = "Max vehicle speed", maxIdleVss dialog = idleExtra, "Extra Idle Features" field = "Separate idle ignition table", useSeparateAdvanceForIdle field = "Use idle ignition table while coasting", useIdleAdvanceWhileCoasting, { useSeparateAdvanceForIdle == 1 } field = "Separate idle VE table", useSeparateVeForIdle field = "Override Idle VE table load axis", idleVeOverrideMode, { useSeparateVeForIdle == 1 } field = "Ramp target RPM on return to idle", idleReturnTargetRamp, { idleMode == 0 } ; field = "Ramp advance angle on return to idle", idleEntryRampInterpolateAngle field = "Ramp target duration", idleReturnTargetRampDuration, { (idleReturnTargetRamp ) } field = "Separate idle tables for cranking taper", useSeparateIdleTablesForCrankingTaper field = "Separate coasting idle table", useIacTableForCoasting field = "Keep these dashpot settings at 0 in open loop at least, uncertain if they work as intended" field = "Dashpot coasting-to-idle Initial idle Adder", iacByTpsTaper field = "Dashpot coasting-to-idle Hold time", iacByTpsHoldTime field = "Dashpot coasting-to-idle Decay time", iacByTpsDecayTime field = "! Dashpot settings are applied when AC is ON" field = "Dashpot coasting-to-idle Initial idle Adder(AC ON)", iacByTpsTaperAC field = "Dashpot coasting-to-idle Hold time(AC ON)", iacByTpsHoldTimeAC field = "Dashpot coasting-to-idle Decay time(AC ON)", iacByTpsDecayTimeAC field = "" field = "CAN_BUTTON_TOGGLE3 enables idle up" field = "CAN box extra idle-up target RPM adder", canBoxIdleUpRpm field = "CAN box extra idle-up % adder", canBoxIdleUpPercentage field = "Use Idle Timing Target Error curve" , useIdleTimingTargetError field = "Idle Timing Target Error is Adder", useIdleTimingTargetErrorMode field = "Enable closed loop idle ignition timing", useIdleTimingPidControl dialog = idleSettings, "", yAxis field = "Idle control mode", idleMode, { !modeledFlowIdle } field = "! Solenoid idle control is disabled at zero RPM" ; gating applies both to open loop and closed loop! panel = idleGating ; closed loop mode is an addition on top of open loop, so idleOpenLoop stays open even when closed loop is selected panel = idleOpenLoop panel = idlePidSettings, { idleMode == 0 || modeledFlowIdle } panel = idleExtra dialog = idleTimingPidCorrDialog, "", yAxis field = "#Gain is in degrees advance per rpm away from target" field = "#A good starting point is 0.1 = 10 deg per 100 rpm" field = "Proportional gain", idleTimingPid_pFactor, {useIdleTimingPidControl == 1} field = "Integral gain", idleTimingPid_iFactor, {useIdleTimingPidControl == 1} field = "Derivative gain", idleTimingPid_dFactor, {useIdleTimingPidControl == 1} field = "" field = "Min adjustment (retard)", idleTimingPid_minValue, {useIdleTimingPidControl == 1} field = "Max adjustment (advance)", idleTimingPid_maxValue, {useIdleTimingPidControl == 1} field = "" field = "Soft entry time", idleTimingSoftEntryTime, {useIdleTimingPidControl == 1} field = "" ; Engine->Fan Settings dialog = fan1Settings, "Fan 1" field = "Enable Fan 1", enableFan1 field = "Output", fanPin, 1, { (uiMode == 0 || uiMode == 1 ) && enableFan1 } field = "Output mode", fanPinMode, { (uiMode == 0 || uiMode == 1 ) && enableFan1 } field = "On temperature", fanOnTemperature, { !fan1PwmEnabled && enableFan1 } field = "Off temperature", fanOffTemperature, { !fan1PwmEnabled && enableFan1 } field = "Enable with AC", enableFan1WithAc, { !fan1PwmEnabled && enableFan1 } field = "Disable when engine stopped", disableFan1WhenStopped, { enableFan1 } field = "After this many seconds", disableFan1WhenStoppedTimeout, { disableFan1WhenStopped && enableFan1 } field = "Disable above vehicle speed", disableFan1AtSpeed, { enableFan1 } field = "Idle adder", fan1ExtraIdle, { enableFan1 } field = "PWM enable", fan1PwmEnabled, { enableFan1 } field = "PWM frequency", fan1PwmFrequency, { fan1PwmEnabled && enableFan1 } field = "Min PWM", fan1MinPwm, { fan1PwmEnabled && enableFan1 } field = "Max PWM", fan1MaxPwm, { fan1PwmEnabled && enableFan1 } field = "AC adder", fan1AcAdder, { fan1PwmEnabled && enableFan1 } field = "PWM soft-start sec", fan1SoftStartSec, { fan1PwmEnabled && enableFan1 } dialog = fan2Settings, "Fan 2" field = "Enable Fan 2", enableFan2 field = "Output", fan2Pin, { enableFan2 } field = "Output mode", fan2PinMode, { enableFan2 } field = "On temperature", fan2OnTemperature, { !fan2PwmEnabled && enableFan2 } field = "Off temperature", fan2OffTemperature, { !fan2PwmEnabled } field = "Enable with AC", enableFan2WithAc, { !fan2PwmEnabled } field = "Disable when engine stopped", disableFan2WhenStopped, { enableFan2 } field = "After this many seconds", disableFan2WhenStoppedTimeout, { disableFan2WhenStopped && enableFan2 } field = "Disable above vehicle speed", disableFan2AtSpeed, { enableFan2 } field = "Idle adder", fan2ExtraIdle, { enableFan2 } field = "PWM enable", fan2PwmEnabled, { enableFan2 } field = "PWM frequency", fan2PwmFrequency, { fan2PwmEnabled && enableFan2 } field = "Min PWM", fan2MinPwm, { fan2PwmEnabled && enableFan2 } field = "Max PWM", fan2MaxPwm, { fan2PwmEnabled && enableFan2 } field = "AC adder", fan2AcAdder, { fan2PwmEnabled && enableFan2 } field = "PWM soft-start sec", fan2SoftStartSec, { fan2PwmEnabled && enableFan2 } dialog = waterPumpSettings, "Water Pump" field = "Enable Water Pump", enableWaterPump field = "Output", waterPumpPin, { enableWaterPump } field = "Output mode", waterPumpPinMode, { enableWaterPump } field = "On temperature", waterPumpOnTemperature, { !waterPumpPwmEnabled && enableWaterPump } field = "Off temperature", waterPumpOffTemperature, { !waterPumpPwmEnabled } field = "Enable with AC", enableWaterPumpWithAc, { !waterPumpPwmEnabled } field = "Disable when engine stopped", disableWaterPumpWhenStopped, { enableWaterPump } field = "After this many seconds", disableWaterPumpWhenStoppedTimeout, { disableWaterPumpWhenStopped && enableWaterPump } field = "Disable above vehicle speed", disableWaterPumpAtSpeed, { enableWaterPump } field = "Idle adder", waterPumpExtraIdle, { enableWaterPump } field = "PWM enable", waterPumpPwmEnabled, { enableWaterPump } field = "PWM frequency", waterPumpPwmFrequency, { waterPumpPwmEnabled && enableWaterPump } field = "Min PWM", waterPumpMinPwm, { waterPumpPwmEnabled && enableWaterPump } field = "Max PWM", waterPumpMaxPwm, { waterPumpPwmEnabled && enableWaterPump } field = "AC adder", waterPumpAcAdder, { waterPumpPwmEnabled && enableWaterPump } field = "PWM soft-start sec", waterPumpSoftStartSec, { waterPumpPwmEnabled && enableWaterPump } dialog = waterPump2Settings, "Water Pump 2" field = "Enable Water Pump 2", enableWaterPump2 field = "Output", waterPump2Pin, { enableWaterPump2 } field = "Output mode", waterPump2PinMode, { enableWaterPump2 } field = "On temperature", waterPump2OnTemperature, { !waterPump2PwmEnabled && enableWaterPump2 } field = "Off temperature", waterPump2OffTemperature, { !waterPump2PwmEnabled } field = "Enable with AC", enableWaterPump2WithAc, { !waterPump2PwmEnabled } field = "Disable when engine stopped", disableWaterPump2WhenStopped, { enableWaterPump2 } field = "After this many seconds", disableWaterPump2WhenStoppedTimeout, { disableWaterPump2WhenStopped && enableWaterPump2 } field = "Disable above vehicle speed", disableWaterPump2AtSpeed, { enableWaterPump2 } field = "Idle adder", waterPump2ExtraIdle, { enableWaterPump2 } field = "PWM enable", waterPump2PwmEnabled, { enableWaterPump2 } field = "PWM frequency", waterPump2PwmFrequency, { waterPump2PwmEnabled && enableWaterPump2 } field = "Min PWM", waterPump2MinPwm, { waterPump2PwmEnabled && enableWaterPump2 } field = "Max PWM", waterPump2MaxPwm, { waterPump2PwmEnabled && enableWaterPump2 } field = "AC adder", waterPump2AcAdder, { waterPump2PwmEnabled && enableWaterPump2 } field = "PWM soft-start sec", waterPump2SoftStartSec, { waterPump2PwmEnabled && enableWaterPump2 } dialog = fanTest, "", xAxis commandButton = "Test Fan 1", cmd_test_fan_1, { enableFan1 } commandButton = "Test Fan 2", cmd_test_fan_2, { enableFan2 } commandButton = "Test Water Pump", cmd_test_water_pump, { enableWaterPump } commandButton = "Test Water Pump 2", cmd_test_water_pump_2, { enableWaterPump2 } indicatorPanel = fanIndicators, 2 indicator = { fan1m_state }, "fan 1 off", "fan 1 on", white, black, green, black indicator = { fan2m_state }, "fan 2 off", "fan 2 on", white, black, green, black indicator = { waterPumpm_state }, "water pump off", "water pump on", white, black, green, black indicator = { waterPump2m_state }, "water pump 2 off", "water pump 2 on", white, black, green, black readoutPanel = fanReadoutPanel, 1 readout = fan1PwmGauge readout = fan2PwmGauge readout = waterPumpPwmGauge readout = waterPump2PwmGauge dialog = acSettingsWest, "A/C Settings" field = "CAN_BUTTON_TOGGLE4 enables AC" field = "A/C switch", acSwitch field = "A/C switch mode", acSwitchMode field = "Debounced A/C switch (legacy ?)", debouncedAc field = "A/C Relay", acRelayPin field = "A/C Relay Mode", acRelayPinMode field = "A/C compressor delay", acDelay field = "Max RPM", maxAcRpm field = "Max CLT", maxAcClt field = "Max TPS", maxAcTps field = "A/C Idle adder", acIdleExtraOffset field = "A/C Idle RPM", acIdleRpmTarget field = "RPM low threshold", acLowRpmLimit field = "Pressure Low disable", minAcPressure field = "Pressure High disable", maxAcPressure field = "A/C Pressure Enable Hysteresis", acPressureEnableHyst dialog = acSettings, "", border panel = acSettingsWest, West panel = ac_controlIndicatorPanel, East dialog = fuelPumpDialog, "Fuel Pump" field = "Disable Fuel Pump", fuelPumpDisable field = "Output", fuelPumpPin, { fuelPumpDisable == 0 } field = "Output mode", fuelPumpPinMode, { fuelPumpDisable == 0 } field = "Fuel pump TPSPRIME enabled", tpsFuelPumpPrimeEnabled, { fuelPumpDisable == 0 } field = "Fuel pump TPSPRIME threshold", tpsFuelPumpPrimeThreshold, { fuelPumpDisable == 0 } field = "Fuel pump TPSPRIME duration", tpsFuelPumpPrimeDuration, { fuelPumpDisable == 0 } field = "Disable Fuel Pump Power On Prime" , disallowPrimeFuelPump, { fuelPumpDisable == 0 } field = "Fuel Pump Power On Prime delay", fuelPumpPrimeDelay, { fuelPumpDisable == 0 } field = "Fuel Pump Power On Prime duration", startUpFuelPumpDuration, { fuelPumpDisable == 0 } field = "Disable injector prime pulse", injectorPrimeInhibit, { fuelPumpDisable == 0 } commandButton = "Test Fuel Pump", cmd_test_fuel_pump, { fuelPumpDisable == 0 } ; Controller->Actuator Outputs dialog = mainRelayDialog, "Main relay output" field = "Output", mainRelayPin field = "Output mode", mainRelayPinMode field = "Main relay shutoff delay", mainRelayShutoffDelay commandButton = "Test Main Relay", cmd_test_main_relay dialog = starterRelayDialog, "Starter Disable" field = "Output", starterRelayDisablePin field = "Output mode", starterRelayDisablePinMode commandButton = "Test Starter Disable", cmd_test_starter_disable_relay dialog = startStopDialog, "Starter Control" field = "Start/Stop Button input", startStopButtonPin field = "Require Foot On Pedal To Crank", crankingCondition, {startStopButtonPin != 0} field = "Start/Stop Button input mode", startStopButtonMode, {startStopButtonPin != 0} field = "Start Request Button Inverted", startRequestPinInverted, {startStopButtonPin != 0} field = "Starter Control Output", starterControlPin, {startStopButtonPin != 0} field = "Start cranking maximum time", startCrankingDuration, {startStopButtonPin != 0} field = "Suppress On Start Up (Ms)", startButtonSuppressOnStartUpMs, {startStopButtonPin != 0} commandButton = "Test Starter Relay", cmd_test_starter_relay, {startStopButtonPin != 0} ; Engine->MIL Settings dialog = malfunctionDialog, "Check Engine Settings" field = "Output", malfunctionIndicatorPin field = "Output mode", malfunctionIndicatorPinMode, {malfunctionIndicatorPin != 0} field = "Warning Period", warningPeriod, {malfunctionIndicatorPin != 0} commandButton = "Test Check Engine", cmd_test_check_engine_light, {malfunctionIndicatorPin != 0} dialog = tachSettings, "Tachometer output" field = "Output", tachOutputPin field = "Output mode", tachOutputPinMode, {tachOutputPin } field = "Pulse Mode", tachPulseDurationAsDutyCycle, {tachOutputPin } field = "Pulse duration", tachPulseDuractionMs, {tachOutputPin } field = "Pulse per Rev", tachPulsePerRev, {tachOutputPin } field = "Startup sweep time", tachSweepTime, {tachOutputPin } field = "Startup sweep RPM", tachSweepMax, {tachOutputPin } field = "Sweep uses Tach Correction", tachSweepUsesTachCorrection, {tachOutputPin } dialog = speedoSettings, "Speedometer output" field = "Output", speedometerOutputPin field = "Output mode", speedometerOutputPinMode, { speedometerOutputPin } field = "Pulse per km", speedometerPulsePerKm, { speedometerOutputPin } field = "Startup sweep time", speedoSweepTime, { speedometerOutputPin } field = "Startup sweep speed", speedoSweepMax, { speedometerOutputPin } field = "Sweep uses Speedo Correction", speedoSweepUsesSpeedoCorrection, { speedometerOutputPin } dialog = outputsDialogLeft panel = mainRelayDialog panel = fuelPumpDialog panel = tachSettings dialog = fanWaterPumpLeft, "Fan Settings" panel = fan1Settings panel = fan2Settings panel = fanTest panel = fanIndicators panel = fanReadoutPanel dialog = fanWaterPumpRight, "Water Pump Settings" panel = waterPumpSettings panel = waterPump2Settings dialog = fanAndWaterPumpSettings, "Fan and Water Pump Settings", xAxis panel = fanWaterPumpLeft, West panel = fanWaterPumpRight, East dialog = outputsDialogRight panel = startStopDialog panel = starterRelayDialog panel = speedoSettings panel = malfunctionDialog dialog = outputsDialog, "Outputs", border panel = outputsDialogLeft, West panel = outputsDialogRight, East dialog = statusLeds, "Status LEDs" field = "Trigger error LED", triggerErrorPin field = "Debug Trigger Sync", debugTriggerSync dialog = knockCylinderMapping, "Select the nearest sensor for each cylinder" field = "Cylinder 1", knockBankCyl1, {enableSoftwareKnock} field = "Cylinder 2", knockBankCyl2, {enableSoftwareKnock && cylindersCount >= 2} field = "Cylinder 3", knockBankCyl3, {enableSoftwareKnock && cylindersCount >= 3} field = "Cylinder 4", knockBankCyl4, {enableSoftwareKnock && cylindersCount >= 4} field = "Cylinder 5", knockBankCyl5, {enableSoftwareKnock && cylindersCount >= 5} field = "Cylinder 6", knockBankCyl6, {enableSoftwareKnock && cylindersCount >= 6} field = "Cylinder 7", knockBankCyl7, {enableSoftwareKnock && cylindersCount >= 7} field = "Cylinder 8", knockBankCyl8, {enableSoftwareKnock && cylindersCount >= 8} dialog = softwareKnockCfg, "Sense" field = "Software Knock Sense Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} panel = knockCylinderMapping dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate field = knockFuelTrimAggression, knockFuelTrimAggression field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate field = knockFuelTrim, knockFuelTrim field = knockSuppressMinTps, knockSuppressMinTps field = knockSuppressMinRpm, knockSuppressMinRpm dialog = softwareKnockLeft, "" panel = softwareKnockCfg panel = softwareKnockResponseCfg dialog = softwareKnock, "Software Knock", border panel = softwareKnockLeft, West panel = knockThresholdCurve, Center dialog = spiBus1, "SPI1 settings" field = "SPI1 Enable", is_enabled_spi_1 field = "MOSI", spi1mosiPin, {1}, {is_enabled_spi_1 == 1} field = "MOSI mode", spi1MosiMode, {1}, {is_enabled_spi_1 == 1} field = "MISO", spi1misoPin, {1}, {is_enabled_spi_1 == 1} field = "MISO mode", spi1MisoMode, {1}, {is_enabled_spi_1 == 1} field = "SCK", spi1sckPin, {1}, {is_enabled_spi_1 == 1} field = "SCK mode", spi1SckMode, {1}, {is_enabled_spi_1 == 1} dialog = spiBus2, "SPI2 settings" field = "SPI2 Enable", is_enabled_spi_2 field = "MOSI", spi2mosiPin, {1}, {is_enabled_spi_2 == 1} field = "MOSI mode", spi2MosiMode, {1}, {is_enabled_spi_2 == 1} field = "MISO", spi2misoPin, {1}, {is_enabled_spi_2 == 1} field = "MISO mode", spi2MisoMode, {1}, {is_enabled_spi_2 == 1} field = "SCK", spi2sckPin, {1}, {is_enabled_spi_2 == 1} field = "SCK mode", spi2SckMode, {1}, {is_enabled_spi_2 == 1} dialog = spiBus3, "SPI3 settings" field = "SPI3 Enable", is_enabled_spi_3 field = "MOSI", spi3mosiPin, {1}, {is_enabled_spi_3 == 1} field = "MOSI mode", spi3MosiMode, {1}, {is_enabled_spi_3 == 1} field = "MISO", spi3misoPin, {1}, {is_enabled_spi_3 == 1} field = "MISO mode", spi3MisoMode, {1}, {is_enabled_spi_3 == 1} field = "SCK", spi3sckPin, {1}, {is_enabled_spi_3 == 1} field = "SCK mode", spi3SckMode, {1}, {is_enabled_spi_3 == 1} dialog = spiBus4, "SPI4 settings" field = "SPI4 Enable", is_enabled_spi_4 dialog = spiBus5, "SPI5 settings" field = "SPI5 Enable", is_enabled_spi_5 dialog = spiBus6, "SPI6 settings" field = "SPI6 Enable", is_enabled_spi_6 dialog = spiBuses, "SPI buses settings" field = "!ECU reboot needed to apply these settings" panel = spiBus1 panel = spiBus2 panel = spiBus3 panel = spiBus4 panel = spiBus5 panel = spiBus6 dialog = accelerometerDlg, "Accelerometer Settings" field = "Use SPI accelerometer ( false = CAN) ", useSpiImu dialog = spiDevices, "SPI devices settings" field = "Use SPI accelerometer", useSpiImu ; dialog = stftPartitioning, "Region Configuration" ; field = "Idle region RPM", stft_maxIdleRegionRpm ; field = "Overrun region load", stft_maxOverrunLoad ; field = "Power region load", stft_minPowerLoad ; dialog = stftPartitionSettingsIdle, "Idle Region", xAxis ; field = "Time const", stft_cellCfgs1_timeConstant ; field = "Max add", stft_cellCfgs1_maxAdd ; field = "Max remove", stft_cellCfgs1_maxRemove ; dialog = stftPartitionSettingsOverrun, "Overrun Region", xAxis ; field = "Time const", stft_cellCfgs2_timeConstant ; field = "Max add", stft_cellCfgs2_maxAdd ; field = "Max remove", stft_cellCfgs2_maxRemove ; dialog = stftPartitionSettingsPower, "Power Region", xAxis ; field = "Time const", stft_cellCfgs3_timeConstant ; field = "Max add", stft_cellCfgs3_maxAdd ; field = "Max remove", stft_cellCfgs3_maxRemove ; dialog = stftPartitionSettingsMain, "Main Region", xAxis ; field = "Time const", stft_cellCfgs4_timeConstant ; field = "Max add", stft_cellCfgs4_maxAdd ; field = "Max remove", stft_cellCfgs4_maxRemove ; indicatorPanel = fuelClosedLoopIndicatorsPanel ; indicator = { stftCorrectionState != 0 }, { Correction using bitStringValue(stftBinIdxList, stftCorrectionBinIdx) region }, { Not active: bitStringValue(stftStateList, stftCorrectionState) }, green, black, while, black ; dialog = fuelClosedLoopIndicators, "Indicators" ; panel = fuelClosedLoopIndicatorsPanel dialog = fuelClosedLoopSettings, "Short term fuel trim" field = "Short term fuel trim", fuelClosedLoopCorrectionEnabled field = "CAN BOX AFR Trim range ADD MAX (+) (lambda)", afrTrimRangeMax, { fuelClosedLoopCorrectionEnabled == 1} field = "CAN BOX AFR Trim range REMOVE MAX(-)(lambda) ", afrTrimRangeMin, { fuelClosedLoopCorrectionEnabled == 1} field = "Logged Tuned VE correction multiplier" , tunedVeStrengthMultiplier, { fuelClosedLoopCorrectionEnabled == 1} field = "Startup delay" , stft_startupDelay, {fuelClosedLoopCorrectionEnabled == 1} field = "After DFCO delay", noFuelTrimAfterDfcoTime, {fuelClosedLoopCorrectionEnabled == 1} field = "After DFCO pause or disable STFT", dfcoEgoPauseOrDisableSTFT, {fuelClosedLoopCorrectionEnabled == 1} ; field = "Detect Tuning and Suspend", tuningDetector, {fuelClosedLoopCorrectionEnabled == 1} field = "Minimum CLT for correction", stft_minClt, {fuelClosedLoopCorrectionEnabled == 1} field = "Use AFR (Gasoline scale) or Lambda for limits", stftLimitsUseLambda field = "Minimum AFR for correction (Gasoline scale)", stft_minAfr, {fuelClosedLoopCorrectionEnabled == 1 && stftLimitsUseLambda == 0} field = "Maximum AFR for correction (Gasoline scale)", stft_maxAfr, {fuelClosedLoopCorrectionEnabled == 1 && stftLimitsUseLambda == 0} field = "Minimum Lambda for correction", stft_minLambda, {fuelClosedLoopCorrectionEnabled == 1 && stftLimitsUseLambda == 1} field = "Maximum Lambda for correction", stft_maxLambda, {fuelClosedLoopCorrectionEnabled == 1 && stftLimitsUseLambda == 1} field = "Adjustment deadband_rich - MAX RICH %", stft_deadband_rich, {fuelClosedLoopCorrectionEnabled == 1} field = "Adjustment deadband_lean - MAX LEAN %", stft_deadband_lean, {fuelClosedLoopCorrectionEnabled == 1} field = "Ignore error magnitude (error is always 0.1% - simple mode)", stftIgnoreErrorMagnitude, {fuelClosedLoopCorrectionEnabled == 1} dialog = fuelClosedLoopConfig panel = fuelClosedLoopSettings panel = stftTimeConstTbl panel = stftAuthorityAddFuelTbl panel = stftAuthorityRemoveFuelTbl ; panel = stftPartitioning, {fuelClosedLoopCorrectionEnabled == 1} ; panel = stftPartitionSettingsIdle, {fuelClosedLoopCorrectionEnabled == 1} ; panel = stftPartitionSettingsOverrun, {fuelClosedLoopCorrectionEnabled == 1} ; panel = stftPartitionSettingsPower, {fuelClosedLoopCorrectionEnabled == 1} ; panel = stftPartitionSettingsMain, {fuelClosedLoopCorrectionEnabled == 1} ; panel = fuelClosedLoopIndicators indicatorPanel = fuelClosedLoopInputIndicatorsPanelBank1, 2 ; indicator = { stftLearningState1 == 1 }, { bitStringValue(stftStateList, 1 ) }, { bitStringValue(stftStateList, stftLearningState1) }, green, black, red, black indicator = { stftLearningState1 == 2 }, { bitStringValue(stftStateList, 2 ) }, { bitStringValue(stftStateList, stftLearningState1) }, green, black, red, black indicator = { stftLearningState1 == 3 }, { bitStringValue(stftStateList, 3 ) }, { bitStringValue(stftStateList, stftLearningState1) }, green, black, red, black indicator = { stftLearningState1 == 4 }, { bitStringValue(stftStateList, 4) }, { bitStringValue(stftStateList, stftLearningState1) }, green, black, red, black indicator = { stftLearningState1 == 5 }, { bitStringValue(stftStateList, 5 ) }, { bitStringValue(stftStateList, stftLearningState1) }, green, black, red, black indicator = { stftLearningState1 == 6 }, { bitStringValue(stftStateList, 6) }, { bitStringValue(stftStateList, stftLearningState1) }, green, black, red, black indicator = { stftLearningState1 == 7 }, { bitStringValue(stftStateList, 7 ) }, { bitStringValue(stftStateList, stftLearningState1) }, green, black, red, black indicator = { stftLearningState1 == 8 }, { bitStringValue(stftStateList, 8 ) }, { bitStringValue(stftStateList, stftLearningState1) }, green, black, red, black indicator = { stftLearningState1 == 9 }, { bitStringValue(stftStateList, 9 ) }, { bitStringValue(stftStateList, stftLearningState1) }, green, black, red, black indicator = { stftLearningState1 == 10 }, { bitStringValue(stftStateList, 10 ) }, { bitStringValue(stftStateList, stftLearningState1) }, green, black, red, black ; replace individual indicators with following ; indicator = { stftLearningState1 != 0 }, { Learning region bitStringValue(stftBinIdxList, stftLearningBinIdx) }, { Not learning: bitStringValue(stftStateList, stftLearningState1) }, green, black, while, black indicatorPanel = fuelClosedLoopInputIndicatorsPanelBank2, 2 ; indicator = { stftLearningState2 == 1 }, { bitStringValue(stftStateList, 1 ) }, { bitStringValue(stftStateList, stftLearningState2) }, green, black, red, black indicator = { stftLearningState2 == 2 }, { bitStringValue(stftStateList, 2 ) }, { bitStringValue(stftStateList, stftLearningState2) }, green, black, red, black indicator = { stftLearningState2 == 3 }, { bitStringValue(stftStateList, 3 ) }, { bitStringValue(stftStateList, stftLearningState2) }, green, black, red, black indicator = { stftLearningState2 == 4 }, { bitStringValue(stftStateList, 4) }, { bitStringValue(stftStateList, stftLearningState2) }, green, black, red, black indicator = { stftLearningState2 == 5 }, { bitStringValue(stftStateList, 5 ) }, { bitStringValue(stftStateList, stftLearningState2) }, green, black, red, black indicator = { stftLearningState2 == 6 }, { bitStringValue(stftStateList, 6) }, { bitStringValue(stftStateList, stftLearningState2) }, green, black, red, black indicator = { stftLearningState2 == 7 }, { bitStringValue(stftStateList, 7 ) }, { bitStringValue(stftStateList, stftLearningState2) }, green, black, red, black indicator = { stftLearningState2 == 8 }, { bitStringValue(stftStateList, 8 ) }, { bitStringValue(stftStateList, stftLearningState2) }, green, black, red, black indicator = { stftLearningState2 == 9 }, { bitStringValue(stftStateList, 9 ) }, { bitStringValue(stftStateList, stftLearningState2) }, green, black, red, black indicator = { stftLearningState2 == 10 }, { bitStringValue(stftStateList, 10 ) }, { bitStringValue(stftStateList, stftLearningState2) }, green, black, red, black ; replace individual indicators with following ; indicator = { stftLearningState2 != 0 }, { Learning region bitStringValue(stftBinIdxList, stftLearningBinIdx) }, { Not learning: bitStringValue(stftStateList, stftLearningState2) }, green, black, while, black dialog = fuelClosedLoopInputBank1, "Input/Learning state" gauge = fuelStftInputError1Gauge panel = fuelClosedLoopInputIndicatorsPanelBank1 dialog = fuelClosedLoopInputBank2, "Input/Learning state" gauge = fuelStftInputError2Gauge panel = fuelClosedLoopInputIndicatorsPanelBank2 indicatorPanel = fuelClosedLoopOutputIndicatorsPanel, 2 ; indicator = { stftCorrectionState == 1 }, { bitStringValue(stftStateList, 1 ) }, { bitStringValue(stftStateList, stftCorrectionState) }, green, black, red, black indicator = { stftCorrectionState == 2 }, { bitStringValue(stftStateList, 2 ) }, { bitStringValue(stftStateList, stftCorrectionState) }, green, black, red, black indicator = { stftCorrectionState == 3 }, { bitStringValue(stftStateList, 3 ) }, { bitStringValue(stftStateList, stftCorrectionState) }, green, black, red, black indicator = { stftCorrectionState == 4 }, { bitStringValue(stftStateList, 4) }, { bitStringValue(stftStateList, stftCorrectionState) }, green, black, red, black indicator = { stftCorrectionState == 5 }, { bitStringValue(stftStateList, 5 ) }, { bitStringValue(stftStateList, stftCorrectionState) }, green, black, red, black ; replace individual indicators with following ; indicator = { stftLearningState1 != 0 }, { Learning region bitStringValue(stftBinIdxList, stftLearningBinIdx) }, { Not learning: bitStringValue(stftStateList, stftLearningState1) }, green, black, while, black dialog = fuelClosedLoopOutputBank1, "Output correction" gauge = fuelStftCorrection1Gauge field = "Correction state:" panel = fuelClosedLoopOutputIndicatorsPanel dialog = fuelClosedLoopOutputBank2, "Output correction" gauge = fuelStftCorrection2Gauge field = "Correction state:" panel = fuelClosedLoopOutputIndicatorsPanel dialog = fuelClosedLoopBank1, "Bank 1" panel = fuelClosedLoopInputBank1 panel = fuelClosedLoopOutputBank1 dialog = fuelClosedLoopBank2, "Bank 2" panel = fuelClosedLoopInputBank2 panel = fuelClosedLoopOutputBank2 dialog = fuelClosedLoopDialog, "Short term fuel trim/Closed loop", xAxis panel = fuelClosedLoopBank1 panel = fuelClosedLoopConfig panel = fuelClosedLoopBank2 dialog = fuelLTFCSettings, "Long term fuel trim" field = "Short term fuel trims should be enabled and configured" field = "Gathering Data", ltft_enabled field = "Time const", ltft_timeConstant, { ltft_enabled } field = "Max add", ltft_maxAdd, { ltft_enabled } field = "Max remove", ltft_maxRemove, { ltft_enabled } field = "Learning deadband", ltft_deadband, { ltft_enabled } field = "Apply Correction", ltft_correctionEnabled field = "Enable Autosave LTFT", ltftEnableAutoSave field = "Enable Writes While Engine runs (experimental) every 10 minutes", ltftEnableLiveWrites field = "Refresh TS with live write every 10 minutes", ltftLiveWritesRefreshTs field = "Flash Write delay after engine off - seconds", flashWriteDelay indicatorPanel = ltftIndicatorsPanel indicator = { ltftLearning }, "No gather data", "Gathering data" , while, black, green, black indicator = { ltftCorrecting }, "Not correcting", "Correcting" , while, black, green, black ; readoutPanel = ltftValuesReadoutPanel, 1 ; readout = fuelLtftCntHitGauge ; readout = fuelLtftCntMissGauge ; readout = fuelLtftCntDeadbandGauge readoutPanel = fuelLTFCReadoutPanel, 5 readout = ltftCntDeadband, "LTFT Deadband", "", 0, 0, 0, 0, 9999999999, 9999999999, 0, 0 readout = ltftCntHit, "LTFT Use", "", 0, 0, 0, 0, 9999999, 9999999, 0, 0 readout = ltftCntMiss, "LTFT Discard", "", 0, 0, 0, 0, 9999999, 9999999, 0, 0 readout = ltft_live_burn_count, "LTFT Live Burn Count(H7 only)", "", 0, 0, 0, 0, 9999999, 9999999, 0, 0 indicatorPanel = ltftIndicatorsPanel, 5 indicator = { ltftCorrecting }, "No correction", "Correcting" , white, black, green, black indicator = { ltftLearning }, "No learning", "Learning" , white, black, green, black indicator = { ltftNeedBackup } , "LTFT Saved", "Need backup", green, black, red, black indicator = { startw } , "Crank/ASE off", "Crank/ASE on", green, black, red, black indicator = { warmup } , "Warmup off", "Warmup on", green, black, red, black indicator = { tpsaccaen } , "Accel", "Accel", green, black, red, black indicator = { tpsaccden } , "Decel", "Decel", green, black, red, black indicator = { stftLearningState1 != 0 } , "STFT Updating1", "STFT Frozen1", green, black, yellow, black indicator = { stftLearningState2 != 0 } , "STFT Updating2", "STFT Frozen2", green, black, yellow, black indicator = { stftCorrectionState != 0 } , "STFT ON", "STFT OFF", green, black, red, black indicator = { stftDeadBand } , "STFT Active", "STFT Deadband", green, black, yellow, black indicator = { ltftDeadBand } , "LTFT Active", "LTFT Deadband", green, black, yellow, black indicator = { ltftHit } , "LTFT Miss/Deadband", "LTFT Hit", red, black, green, black indicator = { ltftMiss } , "LTFT Hit/Deadband", "LTFT Miss", green, black, red, black dialog = ltftIndicators, "Status" panel = ltftIndicatorsPanel ; panel = ltftValuesReadoutPanel dialog = ltftButtons, "Commands" commandButton = "Reset LTFT trims", cmd_ltft_reset commandButton = "Save Active LTFT to Backup", cmd_backup_ltft ; commandButton = "Apply LTFT to VE and reset", cmd_ltft_apply_to_ve dialog = fuelLTFCConfig panel = fuelLTFCSettings, Center, { fuelClosedLoopCorrectionEnabled } panel = ltftButtons, { fuelClosedLoopCorrectionEnabled } panel = ltftIndicators panel = fuelLTFCReadoutPanel dialog = fuelLtftLoopBank1, "Trim bank 1" gauge = fuelLtftCorrection1Gauge gauge = fuelLtftAccumulatedCorrection1Gauge dialog = fuelLtftLoopBank2, "Trim bank 2" gauge = fuelLtftCorrection2Gauge gauge = fuelLtftAccumulatedCorrection2Gauge dialog = fuelLTFCDialog, "Long term fuel trims", xAxis panel = fuelLtftLoopBank1 panel = fuelLTFCConfig panel = fuelLtftLoopBank2 dialog = lambdaProtectionLeft, "" field = "#This protects against lean conditions" field = "Enable lambda protection", lambdaProtectionEnable field = "Check above load", lambdaProtectionMinLoad, { lambdaProtectionEnable } field = "and above TPS", lambdaProtectionMinTps, { lambdaProtectionEnable } field = "and above RPM", lambdaProtectionMinRpm, { lambdaProtectionEnable } field = "and after delay", lambdaProtectionTimeout { lambdaProtectionEnable } field = "Then cut fuel until:" field = "Load less than", lambdaProtectionRestoreLoad, { lambdaProtectionEnable } field = "and TPS less than", lambdaProtectionRestoreTps, { lambdaProtectionEnable } field = "and RPM less than", lambdaProtectionRestoreRpm, { lambdaProtectionEnable } dialog = lambdaProtectionRight, "Lambda Difference Table" panel = lambdaMaxDeviationTableTbl dialog = lambdaProtection, "Lambda Protection", border panel = lambdaProtectionLeft, West panel = lambdaProtectionRight, East dialog = vvtPidDialog0, "Configuration" field = "Activation Delay", vvtActivationDelayMs field = "Do not control below RPM", vvtControlMinRpm field = "Do not control below CLT", vvtControlMinClt field = "VVT solenoid bank 1 intake", vvtPins1 field = "VVT solenoid bank 1 exhaust", vvtPins2 field = "VVT solenoid bank 2 intake", vvtPins3 field = "VVT solenoid bank 2 exhaust", vvtPins4 field = "VVT solenoid intake cams control direction", invertVvtControlIntake, { vvtPins1 != 0 || vvtPins3 != 0 } field = "VVT solenoid exhaust cams control direction", invertVvtControlExhaust, { vvtPins2 != 0 || vvtPins4 != 0 } dialog = vvtPidDialog1, "Intake PID" field = "offset", auxPid1_offset, {vvtPins1 != 0} field = "P factor", auxPid1_pFactor, {vvtPins1 != 0} field = "I factor", auxPid1_iFactor, {vvtPins1 != 0} field = "D factor", auxPid1_dFactor, {vvtPins1 != 0} field = "Min", auxPid1_minValue, {vvtPins1 != 0} field = "Max", auxPid1_maxValue, {vvtPins1 != 0} commandButton = "Bench bank 1", cmd_test_vvt0_valve, { engineTurnedRecently == 0 } commandButton = "Bench bank 2", cmd_test_vvt2_valve, { engineTurnedRecently == 0 } dialog = vvtPidDialog2, "Exhaust PID" field = "offset", auxPid2_offset, {vvtPins2 != 0} field = "P factor", auxPid2_pFactor, {vvtPins2 != 0} field = "I factor", auxPid2_iFactor, {vvtPins2 != 0} field = "D factor", auxPid2_dFactor, {vvtPins2 != 0} field = "Min", auxPid2_minValue, {vvtPins2 != 0} field = "Max", auxPid2_maxValue, {vvtPins2 != 0} commandButton = "Bench bank 1", cmd_test_vvt1_valve, { engineTurnedRecently == 0 } commandButton = "Bench bank 2", cmd_test_vvt3_valve, { engineTurnedRecently == 0 } dialog = vvtPidDialog, "VVT Configuration & PID", border panel = vvtPidDialog0, West panel = vvtPidDialog1, Center panel = vvtPidDialog2, East dialog = ignitionInputDialog, "Ignition key input Settings" ; Engine->Battery & Alternator dialog = batteryDialog, "Battery Settings", yAxis field = "vBatt ADC input", vbattAdcChannel field = "Battery Input Divider Coefficient", vbattDividerCoeff dialog = alternator, "Alternator Settings", yAxis field = "Enabled", isAlternatorControlEnabled field = "Control output", alternatorControlPin, {isAlternatorControlEnabled == 1} field = "Control output mode", alternatorControlPinMode, {isAlternatorControlEnabled == 1} field = "PWM frequency", alternatorPwmFrequency, {isAlternatorControlEnabled == 1} field = "A/C duty adder", acRelayAlternatorDutyAdder, {isAlternatorControlEnabled == 1} field = "#PID control" field = "offset", alternatorControl_offset, {isAlternatorControlEnabled == 1} field = "P factor", alternatorControl_pFactor, {isAlternatorControlEnabled == 1} field = "I factor", alternatorControl_iFactor, {isAlternatorControlEnabled == 1} field = "D factor", alternatorControl_dFactor, {isAlternatorControlEnabled == 1} field = "iTerm min", alternator_iTermMin, {isAlternatorControlEnabled == 1} field = "iTerm max", alternator_iTermMax, {isAlternatorControlEnabled == 1} field = "Min", alternatorControl_minValue, {isAlternatorControlEnabled == 1} field = "Max", alternatorControl_maxValue, {isAlternatorControlEnabled == 1} field = "#% duty = Pterm + Iterm + Dterm + offset%" dialog = alternatorSettings, "Alternator Settings", border panel = alternator, West panel = alternatorVoltageTargetTableTbl, East dialog = energySystems, "Battery and Alternator Settings", yAxis panel = batteryDialog panel = alternatorSettings dialog = speedSensorAnalog, "Speed sensor" field = "Source for speed sensor input", trac_vss_source field = "Input", vehicleSpeedSensorInputPin field = "Filter parameter", vssFilterReciprocal, { vehicleSpeedSensorInputPin != 0 } ;cmd_cal_vss = "Z\x00\x28\x00\x00" ;cmd_cal_gear1 = "Z\x00\x29\x00\x01" ;cmd_cal_gear2 = "Z\x00\x29\x00\x02" ;cmd_cal_gear3 = "Z\x00\x29\x00\x03" ;cmd_cal_gear4 = "Z\x00\x29\x00\x04" ;cmd_cal_gear5 = "Z\x00\x29\x00\x05" ;cmd_cal_gear6 = "Z\x00\x29\x00\x06" ;cmd_cal_gear7 = "Z\x00\x29\x00\x07" ;cmd_cal_gear7 = "Z\x00\x29\x00\x08" ; ; We prefer quantities that users can actually measure or inspect without math, so we have ; two separate natural settings here without one 'sensor tooth to wheel revolution' ratio ; field = "Set this Speed to what you plan to drive:" field = "Calibration Drive Speed", vssCalSpeed field = "Drive that speed and hit this button" commandButton = "Calibrate Pulses Per Km", cmd_cal_vss field = "Pulses per KM", vssPulsePerKm field = "Wheel revolutions per kilometer", driveWheelRevPerKm { vssPulsePerKm == 0 } field = "Speed sensor gear ratio", vssGearRatio, { vehicleSpeedSensorInputPin != 0 && vssPulsePerKm == 0} field = "Speed sensor tooth count", vssToothCount, { vehicleSpeedSensorInputPin != 0 && vssPulsePerKm == 0} dialog = speedSensorCan, "CAN vehicle speed" field = "Enable legacy CAN VSS", enableCanVss, { canReadEnabled } field = "CAN VSS type", canVssNbcType, { enableCanVss } field = "CAN VSS scaling", canVssScaling, { canReadEnabled && enableCanVss } field = "CANBUS wheel speeds from ABS module" field = "Custom CAN Wheel speed reading enabled", customCanVSS, { !enableCanVss } dialog = canWheelSpeeds, "CAN Wheel speeds (from ABS module)" field = "CAN Wheel speed reading enabled", customCanVSS field = "Front left Enabled", canVssFLEnabled, { customCanVSS } field = "Front left CAN ID(dec)", canWheelFLCanId, { customCanVSS && canVssFLEnabled } field = "Front left bit length", canWheelFLBitLength, { customCanVSS && canVssFLEnabled } field = "Front left start byte", canWheelFLStartByte, { customCanVSS && canVssFLEnabled } field = "Front left big endian", canWheelFLBitEndianness, { customCanVSS && canVssFLEnabled } field = "Front left factor", canWheelFLFactor, { customCanVSS && canVssFLEnabled } field = "Front left offset", canWheelFLOffset, { customCanVSS && canVssFLEnabled } field = "Front right Enabled", canVssFREnabled, { customCanVSS } field = "Front right CAN ID(dec)", canWheelFRCanId, { customCanVSS && canVssFREnabled } field = "Front right bit length", canWheelFRBitLength, { customCanVSS && canVssFREnabled } field = "Front right start byte", canWheelFRStartByte, { customCanVSS && canVssFREnabled } field = "Front right big endian", canWheelFRBitEndianness, { customCanVSS && canVssFREnabled } field = "Front right factor", canWheelFRFactor, { customCanVSS && canVssFREnabled } field = "Front right offset", canWheelFROffset, { customCanVSS && canVssFREnabled } field = "Rear left Enabled", canVssRLEnabled, { customCanVSS } field = "Rear left CAN ID(dec)", canWheelRLCanId, { customCanVSS && canVssRLEnabled } field = "Rear left bit length", canWheelRLBitLength, { customCanVSS && canVssRLEnabled } field = "Rear left start byte", canWheelRLStartByte, { customCanVSS && canVssRLEnabled } field = "Rear left big endian", canWheelRLBitEndianness, { customCanVSS && canVssRLEnabled } field = "Rear left factor", canWheelRLFactor, { customCanVSS && canVssRLEnabled } field = "Rear left offset", canWheelRLOffset, { customCanVSS && canVssRLEnabled } field = "Rear right Enabled", canVssRREnabled, { customCanVSS } field = "Rear right CAN ID(dec)", canWheelRRCanId, { customCanVSS && canVssRREnabled } field = "Rear right bit length", canWheelRRBitLength, { customCanVSS && canVssRREnabled } field = "Rear right start byte", canWheelRRStartByte, { customCanVSS && canVssRREnabled } field = "Rear right big endian", canWheelRRBitEndianness, { customCanVSS && canVssRREnabled } field = "Rear right factor", canWheelRRFactor, { customCanVSS && canVssRREnabled } field = "Rear right offset", canWheelRROffset, { customCanVSS && canVssRREnabled } dialog = speedSensorLeft, "", yAxis panel = speedSensorAnalog, { enableCanVss == 0 } panel = speedSensorCan dialog = gearDetection, "Gear Detection" runtimeValue = "Speed To Rpm", speedToRpmRatio runtimeValue = "Detected Gear", detectedGear field = "Wheel revolutions per kilometer", driveWheelRevPerKm field = "Final drive ratio", finalGearRatio field = "" field = "Forward gear count", totalGearsCount field = "" commandButton = "cal gear 1", cmd_cal_gear1, { totalGearsCount >= 1 } field = "1st gear", gearRatio1, { totalGearsCount >= 1 } commandButton = "cal gear 2", cmd_cal_gear2, { totalGearsCount >= 2 } field = "2nd gear", gearRatio2, { totalGearsCount >= 2 } commandButton = "cal gear 3", cmd_cal_gear3 , { totalGearsCount >= 3 } field = "3rd gear", gearRatio3, { totalGearsCount >= 3 } commandButton = "cal gear 4", cmd_cal_gear4, { totalGearsCount >= 4 } field = "4th gear", gearRatio4, { totalGearsCount >= 4 } commandButton = "cal gear 5", cmd_cal_gear5, { totalGearsCount >= 5 } field = "5th gear", gearRatio5, { totalGearsCount >= 5 } commandButton = "cal gear 6", cmd_cal_gear6, { totalGearsCount >= 6 } field = "6th gear", gearRatio6, { totalGearsCount >= 6 } commandButton = "cal gear 7", cmd_cal_gear7, { totalGearsCount >= 7 } field = "7th gear", gearRatio7, { totalGearsCount >= 7 } commandButton = "cal gear 8", cmd_cal_gear8, { totalGearsCount >= 8 } field = "8th gear", gearRatio8, { totalGearsCount >= 8 } dialog = speedSensorCal gauge = VSSGauge runtimeValue = "raw VSS hz", rawVss field = "Target km/h", vssCalSpeed field = "enter wheel size 205/55R16 format" field = "tire Width(mm)", tireSizeWidth field = "tire Aspect(%)", tireSizeAspect field = "tire Rim Diameter (in)", tireSizeRimDiameterInch field = "Calculated:" ; runtimeValue = wheelDiameterMM, wheelDiameterMM ; runtimeValue = wheelCircumferenceMM, wheelCircumferenceMM runtimeValue = "Wheel revolutions per KM", wheelRevolutionsPer1km runtimeValue = vssPulsesPerKm, vssPulsesPerKm runtimeValue = "Pulses per Road Wheel Rotation", vssPulsesPerWheelRev runtimeValue = "Speed Sensor Tooth Count", vssPulsesPerVssWheelRev dialog = speedSensor, "Speed sensor", xAxis panel = speedSensorLeft panel = speedSensorCal panel = gearDetection ; Engine->Other inputs dialog = analogInputSettings, "Analog Input Settings" field = "!ECU reboot needed to apply these settings" field = "ADC vRef voltage", adcVcc field = "Analog divider ratio", analogInputDividerCoefficient ; Board->Connection dialog = tsPort, "Calibration Secondary Serial" field = "tunerStudioSerialSpeed", tunerStudioSerialSpeed field = "TX pin", binarySerialTxPin field = "RX pin", binarySerialRxPin dialog = canHw1, "Primary CAN" field = "Verbose Can", verboseCan field = "Bitrate", canBaudRate field = "RX pin", canRxPin field = "TX pin", canTxPin field = "Allow OpenBLT", canOpenBLT dialog = canHw2, "Secondary CAN" field = "Verbose Can2", verboseCan2 field = "Bitrate", can2BaudRate field = "RX pin", can2RxPin field = "TX pin", can2TxPin field = "Allow OpenBLT", can2OpenBLT dialog = epicCanBus, "EPIC CAN Bus" field = "CAN ID - get_var / function calls", ecuCanId field = "Allow epic_set_var from canbus", epicCanAllowSetVar field = "Set ECU to read only mode when first write happens", epicCanEcuReadONLYONWrite field = "Disable sending out MEGA_EPIC_1_OUT_SLOW on state change", disable_mega_epic_slow_out dialog = canBus, "CAN Bus" field = "CAN dash type", canNbcType field = "Inertia Measurement Unit", imuType field = "Enable canchecked.de MCE18 digital states", canCheckedDigitalEnable field = "Enable canchecked.de MCE18 analog states (0x700-0x702)", canCheckedAnalogEnable field = "CAN read enabled", canReadEnabled field = "CAN write enabled", canWriteEnabled field = "Enable CAN broadcast", enableVerboseCanTx field = "CAN data bus", canBroadcastUseChannelTwo, { enableVerboseCanTx } field = "CAN base address", verboseCanBaseAddress, { enableVerboseCanTx } field = "Address type", rusefiVerbose29b, { enableVerboseCanTx } field = "Data transmit period", canSleepPeriodMs, { enableVerboseCanTx } field = "Extended Broadcast", enableExtendedCanBroadcast field = "Enable cams frame", canBroadcastCams field = "Enable EGT frame", canBroadcastEgt field = "Enable Knock frame", canBroadcastKnock dialog = canBus2, "Secondary CAN Bus" dialog = canBusMain, "CAN Bus Communication", yAxis panel = canBus panel = epicCanBus panel = canHw1 panel = canHw2 dialog = canVirtualInputs_id, "", yAxis field = "CAN ID" field = "CAN input 1", canVirtualInputs1_id field = "CAN input 2", canVirtualInputs2_id field = "CAN input 3", canVirtualInputs3_id field = "CAN input 4", canVirtualInputs4_id field = "CAN input 5", canVirtualInputs5_id field = "CAN input 6", canVirtualInputs6_id field = "CAN input 7", canVirtualInputs7_id field = "CAN input 8", canVirtualInputs8_id dialog = canVirtualInputs_byte, "", yAxis field = "Byte" field = "", canVirtualInputs1_byte field = "", canVirtualInputs2_byte field = "", canVirtualInputs3_byte field = "", canVirtualInputs4_byte field = "", canVirtualInputs5_byte field = "", canVirtualInputs6_byte field = "", canVirtualInputs7_byte field = "", canVirtualInputs8_byte dialog = canVirtualInputs_bit, "", yAxis field = "Bit" field = "", canVirtualInputs1_bitOffset field = "", canVirtualInputs2_bitOffset field = "", canVirtualInputs3_bitOffset field = "", canVirtualInputs4_bitOffset field = "", canVirtualInputs5_bitOffset field = "", canVirtualInputs6_bitOffset field = "", canVirtualInputs7_bitOffset field = "", canVirtualInputs8_bitOffset dialog = canVirtualInputs_timeout, "", yAxis field = "Timeout (sec)" field = "", canVirtualInputs1_timeout field = "", canVirtualInputs2_timeout field = "", canVirtualInputs3_timeout field = "", canVirtualInputs4_timeout field = "", canVirtualInputs5_timeout field = "", canVirtualInputs6_timeout field = "", canVirtualInputs7_timeout field = "", canVirtualInputs8_timeout dialog = canVirtualInputs_default, "", yAxis field = "Default value" field = "", canVirtualInputs1_defaultValue field = "", canVirtualInputs2_defaultValue field = "", canVirtualInputs3_defaultValue field = "", canVirtualInputs4_defaultValue field = "", canVirtualInputs5_defaultValue field = "", canVirtualInputs6_defaultValue field = "", canVirtualInputs7_defaultValue field = "", canVirtualInputs8_defaultValue dialog = canVirtualInputs, "CAN Virtual Input Pins", xAxis panel = canVirtualInputs_id panel = canVirtualInputs_byte panel = canVirtualInputs_bit panel = canVirtualInputs_timeout panel = canVirtualInputs_default dialog = sdCardHW, "SD Card Interface" field = "SD Card Logging", isSdCardEnabled field = "CS Pin", sdCardCsPin, { isSdCardEnabled } field = "SPI", sdCardSpiDevice, { isSdCardEnabled } indicatorPanel = sdPresentIndicators, 1, { isSdCardEnabled } indicator = { sd_present }, "No SD card", "SD card present", white, black, green, black indicatorPanel = sdCardActivityIndicators, 2, { isSdCardEnabled } indicator = { sd_active_wr }, "SD WR", "SD WR", white, black, green, black indicator = { sd_active_rd }, "SD RD", "SD RD", white, black, green, black dialog = sdCardLogging, "SD Card Logging" field = "#rusEFI logs to SD when powered without USB connected" field = "#and USB not connected for 15 seconds" field = "#OR when Always start in Logging mode is enabled" field = "#rusEFI connects SD to your PC when powered by USB" field = "Always start in Logging mode", alwaysWriteSdCard, { isSdCardEnabled } field = "SD logger rate", sdCardLogFrequency, { isSdCardEnabled } field = "SD logger mode", sdTriggerLog, { isSdCardEnabled } dialog = sdCardCommands, "SD commands" commandButton = "Mount to PC", cmd_mount_pc commandButton = "Mount to ECU", cmd_mount_ecu commandButton = "Unmount", cmd_unmount commandButton = "Format", cmd_format indicatorPanel = sdCardStateIndicators, 2, { isSdCardEnabled } indicator = { sd_logging_internal }, "No SD logging", "SD logging", white, black, green, black indicator = { sd_msd }, "No SD USB", "SD USB", white, black, green, black indicator = { sd_formating }, "No SD formating", "SD formating", white, black, green, black indicator = { sd_error }, "No SD card error", "SD error", white, black, red, black readoutPanel = sdCardErrorPanel readout = sd_error, "FRESULT", "", 0, 20, 0, 0, 1, 1, 0, 0 indicatorPanel = sdCardErrorReportIndicators, 1, { isSdCardEnabled } indicator = { hasFaultReportFile }, "No error reports", "Error report on SD", white, black, red, black dialog = sdReportCommands, "Fail reports" field = "Executed only when SD card is mounted to ECU" commandButton = "Remove all fail reports", cmd_delete_reports panel = sdCardErrorReportIndicators dialog = sdCard, "SD Card" panel = sdCardHW panel = sdPresentIndicators panel = sdCardActivityIndicators panel = sdCardLogging panel = sdCardStateIndicators panel = sdCardErrorPanel panel = sdCardCommands panel = sdReportCommands dialog = tle8888Dialog, "TLE8888", yAxis field = "TLE8888 SPI", tle8888spiDevice field = "TLE8888 Chip Select", tle8888_cs field = "Trigger Input Mode", tle8888mode field = "useTLE8888 cranking reset hack", useTLE8888_cranking_hack field = "useTLE8888 stepper", useTLE8888_stepper commandButton = "Reinitialize", cmd_tle8888_init dialog = l9779Dialog, "L9779", yAxis field = "L9779 SPI", l9779spiDevice field = "L9779 Chip Select", l9779_cs dialog = connection, "", yAxis panel = tsPort field = "uartConsoleSerialSpeed", uartConsoleSerialSpeed field = enableKline, enableKline dialog = monitoringSettings, "rusEFI Console Settings" field = "Engine Sniffer Threshold", engineSnifferRpmThreshold dialog = fuelStrategyPanel, "Fuel" field = "!https://rusefi.com/s/fuel" field = "Fuel strategy", fuelAlgorithm field = "Bypass Tcharge - use IAT instead of modeled Tcharge", bypassTcharge field = "Disable Incorporate AFR function from SD", disableIncorporateAFR field = "MAFMAP Load Calculations is based on MAF", MAFMAPLoadIsMAF field = "During Map Prediction, take the higher airmass of maf/map calculations", MAFMAPMAXAirmass field = "TMF Load Calculations is based on 100% VE cyl fill", TMFLoadIsTMF field = "TMF map UP margin (manifold pressure split for averaging flow)", TMFPressureSplitPercentUp field = "TMF map DOWN margin (manifold pressure split for averaging flow)", TMFPressureSplitPercentDown dialog = debugging, "Debug" field = "!https://rusefi.com/s/debugmode" field = "Debug mode", debugMode dialog = dutyCycleLimiting, "Injector Duty Cycle Limiter" field = "Instantaneous injector duty cycle limit", maxInjectorDutyInstant, {isInjectionEnabled} field = "Sustained injector duty cycle limit", maxInjectorDutySustained, {isInjectionEnabled} field = "Sustained injector duty cycle delay", maxInjectorDutySustainedTimeout, {isInjectionEnabled} dialog = limitsSettings, "Limits" field = "Cut fuel on RPM limit", cutFuelOnHardLimit field = "Cut spark on RPM limit", cutSparkOnHardLimit field = "Use CLT RPM limit curve", useCltBasedRpmLimit, { cutFuelOnHardLimit || cutSparkOnHardLimit } field = "RPM hard limit", rpmHardLimit, { (cutFuelOnHardLimit || cutSparkOnHardLimit) && !useCltBasedRpmLimit } field = "RPM limit hysteresis", rpmHardLimitHyst field = "Boost cut pressure (hard cut)", boostCutPressure field = "Boost cut pressure hysteresis (hard cut)", boostCutPressureHyst field = "Boost cut - cut spark instead of fuel ", overboostCutSparkInstead field = "Boost cut - cut fuel AND spark", overboostCutBoth field = "Boost cut - use feather overboost limit", overboostSparkDropFeather field = "Boost cut - feather value in kPa", boostCutPressureFeather field = "Boost cut values for table switch, open or closed boost" field = "Boost cut pressure (hard cut) - table switch", boostCutPressure2, { isBoostControlEnabled && (boostOpenLoopBlends1_tableSwitch || boostOpenLoopBlends1_blendParameter || boostClosedLoopBlends1_tableSwitch || boostClosedLoopBlends1_blendParameter)} field = "Boost cut pressure hysteresis (hard cut) - table switch", boostCutPressure2Hyst, { isBoostControlEnabled && (boostOpenLoopBlends1_tableSwitch || boostOpenLoopBlends1_blendParameter || boostClosedLoopBlends1_tableSwitch || boostClosedLoopBlends1_blendParameter)} field = "Boost cut pressure feather (hard cut) - table switch", boostCutPressure2Feather, { isBoostControlEnabled && (boostOpenLoopBlends1_tableSwitch || boostOpenLoopBlends1_blendParameter || boostClosedLoopBlends1_tableSwitch || boostClosedLoopBlends1_blendParameter)} panel = dutyCycleLimiting dialog = softRpmLimitSettings, "Soft RPM Limit" field = "Window size", rpmSoftLimitWindowSize field = "Timing retard", rpmSoftLimitTimingRetard, { cutSparkOnHardLimit } field = "Fuel added", rpmSoftLimitFuelAdded, { cutFuelOnHardLimit } dialog = lowOilPressureProtection, "Low oil pressure protection" field = "Enable low oil pressure protection", enableOilPressureProtect field = "No fuel until oil pressure (CRANKING)", noFuelUntilOilPressure, { enableOilPressureProtect } field = "Minimum oil pressure for fuel injection (CRANKING)", minOilPressureForFuel, { enableOilPressureProtect } field = "Minimum oil pressure after start within timeout (RUNNING)", minOilPressureAfterStart, { enableOilPressureProtect } field = "Low oil pressure protection timeout (RUNNING)", minimumOilPressureTimeout, { enableOilPressureProtect } field = "Minimum oil pressure (RUNNING)" panel = minimumOilPressure dialog = highOilPressureProtection, "High oil pressure protection" field = "High oil pressure protection timeout", maxOilPressureTimeout panel = maximumOilPressure dialog = etbLimits, "Electronic Throttle Limiting" field = "Smoothly close the throttle to limit RPM." field = "Soft limiter start", etbRevLimitStart field = "Soft limiter range", etbRevLimitRange dialog = limitsAndFallbackLeft panel = limitsSettings panel = softRpmLimitSettings, West, { (cutFuelOnHardLimit || cutSparkOnHardLimit) && !useCltBasedRpmLimit } panel = etbLimits dialog = limitsAndFallbackCenter, "CLT RPM Limit" panel = cltRevLimitCurve dialog = limitsAndFallback, "Limits and fallbacks", border panel = limitsAndFallbackLeft, West panel = limitsAndFallbackCenter, Center, { (cutFuelOnHardLimit || cutSparkOnHardLimit) && useCltBasedRpmLimit } ; Engine->Base Engine Settings dialog = engineChars, "Vehicle Information" topicHelp = "baseHelp" ; field = "Tuning View", uiMode panel = baseEngineConfig panel = engineMetadata, {1} panel = fuelStrategyPanel dialog = dynoCharsBase, "Base Settings" field = "Car mass", dynoCarCarMassKg field = "Cargo mass", dynoCarCargoMassKg field = "Drag coefficient", dynoCarCoeffOfDrag field = "Frontal car area", dynoCarFrontalAreaM2 dialog = dynoCharsSaeCorrections, "Sae Corrections" field = "Air temperature", dynoSaeTemperatureC field = "Relative air humidity", dynoSaeRelativeHumidity field = "Atmospheric pressure", dynoSaeBaro dialog = dynoCharsWheels, "Wheels" field = "Disc diameter", dynoCarWheelDiaInch field = "Tyre height", dynoCarWheelAspectRatio field = "Tire width", dynoCarWheelTireWidthMm dialog = dynoCharsGears, "Gears" field = "Primary reduction", dynoCarGearPrimaryReduction field = "Gear ratio", dynoCarGearRatio field = "Final drive", dynoCarGearFinalDrive dialog = dynoChars, "Virtual Dyno Settings" field = "Rpm trim window", dynoRpmStep panel = dynoCharsBase panel = dynoCharsSaeCorrections panel = dynoCharsWheels panel = dynoCharsGears dialog = crankingFuel, "Fuel" field = "Injection mode", crankingInjectionMode field = "Cranking fuel table", useRunningMathForCranking dialog = crankingIgnition, "Ignition" field = "Timing Advance mode", useSeparateAdvanceForCranking field = "Fixed cranking advance", crankingTimingAngle, {useSeparateAdvanceForCranking == 0} field = "Fixed Cranking Dwell", ignitionDwellForCrankingMs dialog = primingFuelPulsePanel, "Priming fuel pulse" field = "Disable fuel pump prime on power on" , disallowPrimeFuelPump field = "Disable injector prime pulse", injectorPrimeInhibit field = "Fuel pump prime delay after power", fuelPumpPrimeDelay field = "Injector Priming delay (after fuel pump delay)", primingDelay panel = primingPulse dialog = crankingAdv, "Advanced" field = "Flood clear", isCylinderCleanupEnabled field = "Faster engine spin-up", isFasterEngineSpinUpEnabled field = "Use Advance Corrections for cranking", useAdvanceCorrectionsForCranking field = "Separate Flex Fuel cranking table", flexCranking, ; Cranking->Cranking Settings dialog = crankingDialog, "Cranking Settings" field = "Cranking RPM limit", cranking_rpm panel = crankingFuel panel = crankingIgnition panel = crankingAdv dialog = AccelAeToggles, "Acceleration Enrichment Methods" field = "Enable TPS Acceleration Enrichment",tpsAccelAeEnabled field = "Enable wall wetting Acceleration Enrichment", wallWettingAeEnabled field = "Use MAP estimate during transient", useMapEstimateDuringTransient ; field = "Accel Enrichment Mode", accelEnrichmentMode dialog = TpsAccelPanel, "TPS Acceleration Enrichment" field = "Enable TPS Acceleration Enrichment",tpsAccelAeEnabled field = "TPS AE fast or slow callback (20hz = false vs 200hz = true )", tpsAeFastCallback field = "Delta TPS Average Smoothing Factor", deltaTpsAverageAlpha field = "Use calculated threshold from averaged delta tps", tpsAeUseDynamicThreshold field = "Average static threshold curve and dynamic threshold", tpsAeDynamicTresholdAverageStaticCurve ; field = "TPS AE fastest or fast (500hz = true vs 200hz = false )", tpsAeFastCallback2 field = "Sample Length", tpsAccelLookback ; field = "Decel Threshold", tpsDecelEnleanmentThreshold ; field = "Decel Multiplier", tpsDecelEnleanmentMultiplier ; field = "#Accelerator Pump model:" ; field = "for best results, configure these to have more than 1 period to split fuel across cycles" ; field = "start with 2-3 for both values, period and divisor" ; field = "EGO is paused while there is fuel in the accumulator" ; field = "Fraction Period", tpsAccelFractionPeriod ; field = "Fraction Divisor", tpsAccelFractionDivisor field = "Instant Fuel Pulse" , tpsAccelExtraShot field = "Instant Fuel Pulse Multiplier (global)" , tpsExtraShotMult field = "Instant Fuel Pulse Inhibit Cycles" , tpsExtraShotTimer field = "TPS AE Burn Skip count", tpsaeburnskipinitial ; field = "Use TPS vs WOT table to scale TPS by RPM", tpsAeScaledFrom field = "TPS Accel resets EGO to 0%", tpsAeResetsEgo field = "EGO is paused until EngineCycle is off the map below, make sure RIGHTMOST Engine Cycle bin is reasonable" field = "Inhibit closed loop fuel after accel", noFuelTrimAfterAccelTime panel = tpsAeCycleTBL ; hide the curve for now, we'll see what the tuning is like with dynamic threshold ; panel = deltaTpsAverageCurve panel = tpsAeRocRpmCRV ; panel = wotTpsCurve dialog = WallWettingAccelPanel, "Wall Wetting" field = "Wall fueling model type", complexWallModel field = "evaporation time constant / tau", wwaeTau, { complexWallModel == 0 } field = "added to wall coef / beta", wwaeBeta, { complexWallModel == 0 } ; Tuning->AccelEnrichment dialog = AccelEnrich, "Accel Enrichments/Basic wall wetting" panel = AccelAeToggles panel = WallWettingAccelPanel dialog = wwTauCurves, "Wall wetting AE evaporation time - TAU" field = "#Set a base evaporation time based on coolant temperature" panel = wwTauCltCurve ; panel = wwTauMapCurve dialog = wwBetaCurves, "Wall wetting AE impact fraction - Beta" field = "#Set a base impact fraction based on coolant temperature" panel = wwBetaCltCurve ; panel = wwTauMapCurve dialog = auxValvesIO, "Outputs" field = "aux valve #1", auxValves1 field = "aux valve #2", auxValves2 dialog = luaDigitalInputsLeftDialog field = "!Read these with getAuxDigital(0) etc" field = "Digital #1", luaDigitalInputPins1 field = "Digital #2", luaDigitalInputPins2 field = "Digital #3", luaDigitalInputPins3 field = "Digital #4", luaDigitalInputPins4 field = "Digital #5", luaDigitalInputPins5 field = "Digital #6", luaDigitalInputPins6 field = "Digital #7", luaDigitalInputPins7 field = "Digital #8", luaDigitalInputPins8 dialog = luaDigitalInputsRightDialog field = "Mode #1", luaDigitalInputPinModes1 field = "Mode #2", luaDigitalInputPinModes2 field = "Mode #3", luaDigitalInputPinModes3 field = "Mode #4", luaDigitalInputPinModes4 field = "Mode #5", luaDigitalInputPinModes5 field = "Mode #6", luaDigitalInputPinModes6 field = "Mode #7", luaDigitalInputPinModes7 field = "Mode #8", luaDigitalInputPinModes8 dialog = luaDigitalInputsDialog, "Lua Digital Aux Inputs", border panel = luaDigitalInputsLeftDialog, West panel = luaDigitalInputsRightDialog, East dialog = auxInputsDialog, "Lua Analog Inputs" field = "ADC #1", auxAnalogInputs1 field = "ADC #2", auxAnalogInputs2 field = "ADC #3", auxAnalogInputs3 field = "ADC #4", auxAnalogInputs4 field = "ADC #5", auxAnalogInputs5 field = "ADC #6", auxAnalogInputs6 field = "ADC #7", auxAnalogInputs7 field = "ADC #8", auxAnalogInputs8 dialog = luaOutputs, "Lua Outputs" field = "!Use rusEFI console for Lua script editing" field = "#Call startPwm to initialize, then call" field = "#setPwmDuty and setPwmFreq to vary duty/freq" field = "#See rusefi.com/s/lua for more info" field = "output #0", luaOutputPins1 field = "output #1", luaOutputPins2 field = "output #2", luaOutputPins3 field = "output #3", luaOutputPins4 field = "output #4", luaOutputPins5 field = "output #5", luaOutputPins6 field = "output #6", luaOutputPins7 field = "output #7", luaOutputPins8 ;Boost Open Loop dialog = boostDialog, "" field = "Boost Control Enable", isBoostControlEnabled field = "Control Mode", boostType, { isBoostControlEnabled } field = "Boost Output", boostControlPin, { boostControlPin != 0 || isBoostControlEnabled } field = "Boost Output Mode", boostControlPinMode, { isBoostControlEnabled } field = "Lower WG Output (Advanced)", lowerWastegatePin, { isBoostControlEnabled } field = "Lower WG Output Mode", lowerWastegatePinMode, { isBoostControlEnabled && lowerWastegatePin } field = "Frequency", boostPwmFrequency, { isBoostControlEnabled } field = "Safe duty cycle", boostControlSafeDutyCycle, { isBoostControlEnabled } field = "Boost cut pressure (hard cut)", boostCutPressure field = "Boost cut pressure hysteresis (hard cut)", boostCutPressureHyst field = "Boost cut - cut spark instead of fuel ", overboostCutSparkInstead field = "Boost cut - cut fuel AND spark", overboostCutBoth field = "Boost cut - use feather overboost limit", overboostSparkDropFeather field = "Boost cut - feather value in kPa", boostCutPressureFeather field = "Lower WG Output PW Limiter like boost", boostUsePWMLimiterLowerWg, { isBoostControlEnabled && lowerWastegatePin } field = "No boost control below RPM", boostControlMinRpm, { isBoostControlEnabled } field = "No boost control below TPS", boostControlMinTps, { isBoostControlEnabled } field = "No boost control below MAP", boostControlMinMap, { isBoostControlEnabled } field = "Use SPOOLED curve", useSpooledCurve, { isBoostControlEnabled } field = "Use SPOOLED curve for lower WG Output", boostSpooledApplyToLowerWg, { isBoostControlEnabled && lowerWastegatePin } field = "Boost cut values for table switch, open or closed boost" field = "Boost cut pressure (hard cut) - table switch", boostCutPressure2, { isBoostControlEnabled && (boostOpenLoopBlends1_tableSwitch || boostOpenLoopBlends1_blendParameter || boostClosedLoopBlends1_tableSwitch || boostClosedLoopBlends1_blendParameter)} field = "Boost cut pressure hysteresis (hard cut) - table switch", boostCutPressure2Hyst, { isBoostControlEnabled && (boostOpenLoopBlends1_tableSwitch || boostOpenLoopBlends1_blendParameter || boostClosedLoopBlends1_tableSwitch || boostClosedLoopBlends1_blendParameter)} field = "Boost cut pressure feather (hard cut) - table switch", boostCutPressure2Feather, { isBoostControlEnabled && (boostOpenLoopBlends1_tableSwitch || boostOpenLoopBlends1_blendParameter || boostClosedLoopBlends1_tableSwitch || boostClosedLoopBlends1_blendParameter)} dialog = boostOpenLoopYAxisSelector, "" field = "Y Axis", boostOpenLoopYAxis dialog = boostClosedLoopYAxisSelector, "" field = "Y Axis", boostClosedLoopYAxis dialog = boostOpenLoopDialog, "Boost Control Open Loop Duty Cycle", border panel = boostOpenLoopYAxisSelector, North panel = boostTableTbl, Center dialog = boostClosedLoopDialog, "Boost control closed-loop target kPa", border panel = boostClosedLoopYAxisSelector, North panel = boostClosedTbl, Center ; dialog = tpsTpsModeSelector ; field = "Mode", tpsTpsPercentMode ; ; dialog = tpsTpsDialog, "", border ; panel = tpsTpsModeSelector, North ; field = "set mode to 'percent adder' for best results" ; field = "values: 1 = no change, 1.5 = 50% more fuel" ; field = "tpsFrom (x axis) is TPS, tpsTo is scaled according to map wot table" ; field = "values are multiplier" ; panel = tpsTpsAccelTbl, Center dialog = boostOpenLoopGearAdderDialog, "", border panel = boostOpenLoopGearAdderCurve, Center dialog = boostClosedLoopGearAdderDialog, "", border panel = boostClosedLoopGearAdderCurve, Center dialog = boostOpenLoopGearMultiplierDialog, "", border panel = boostOpenLoopGearMultiplierCurve, Center dialog = boostClosedLoopGearMultiplierDialog, "", border panel = boostClosedLoopGearMultiplierCurve, Center dialog = boostOpenLoopGearLimiterDialog, "", border panel = boostOpenLoopGearLimiterCurve, Center dialog = boostClosedLoopGearLimiterDialog, "", border panel = boostClosedLoopGearLimiterCurve, Center ;Boost Closed Loop dialog = boostPidDialog, "" topicHelp = "boostPidHelp" field = "Enable closed loop above", minimumBoostClosedLoopMap, { isBoostControlEnabled && boostType == 1 } field = "P Gain", boostPid_pFactor, { isBoostControlEnabled && boostType == 1 } field = "I Gain", boostPid_iFactor, { isBoostControlEnabled && boostType == 1 } field = "D Gain", boostPid_dFactor, { isBoostControlEnabled && boostType == 1 } field = "Min adjustment", boostPid_minValue, { isBoostControlEnabled && boostType == 1 } field = "Max adjustment", boostPid_maxValue, { isBoostControlEnabled && boostType == 1 } dialog = msIoBox1, "MS IO box 1" field = "Base CAN identifier", msIoBox0_id field = "VSS settings", msIoBox0_vss, { msIoBox0_id } dialog = msIoBox, "" panel = msIoBox1 help = boostPidHelp, "Boost Control PID" text = "P = % per kPa error" text = "I = % per kPa-seconds" text = "D = % per kPa/sec" text = "" text = "If the boost error is 5kpa, and your P is set to 2, it will make a correction of 10%." text = "If the boost error has been 5kPa for 2 second (10 kPa-seconds) and I is set to 0.1, it will make a correction of 1%" text = "If the boost is changing at 10kPa/s and D is set to 0.5, it will make a correction of 5%." text = "Those three terms are then added together, and limited by the PID min/max settings." text = "" text = "That is then added to the value from the open loop table, and sent to PWM the valve." help = veTableDialogHelp, "Volumetric Efficiency" text = "Volumetric Efficiency is used to calculate fuel in Speed Density mode. VE incorporates pressure ratio as measured by MAP sensor in boost (no VE ever above 105%ish)" webHelp = "https://rusefi.com/s/fuel" help = WidebandToolsHelp, "Wideband Tools" webHelp = "https://github.com/rusefi/rusefi/wiki/rusEFI-Wideband-Controller" help = blendTables, "Blend Tables" text = " The bias table controls how much of the blend table\nis mixed in to the base table. For example, a value of\n+10 in the table, with 50 as the current bias will result\nin 5.0 degrees of ignition/boost/afr added, or in case of VE a multiplier of 1.05\nThe X axis of the bias table is controlled by the selected blend parameter.\nIn Absolute mode The Blend Table is final value. Blend bias controls % of table switch.\nwith 50ve base value, and 100ve blend table value, 100% blend means 100ve, 50% blend means 75ve" help = stepperHbridgeHardwareHelp, "Stepper driven by Dual H-bridge" text = "In case you are using two H-bridges driving 4-wire stepper. H-brigde control signals connected to MCU pins configured here." help = idleStepperHwHelp, "Stepper drivern by step motor driver IC" text = "In case you have some special IC that drives your stepper. MCU to IC control signals (DIR/STEP/EN) configured here" help = stepperDirectDriveHardwareHelp, "Stepper driven by 4 Push-Pull/Pull outputs" text = "In case you have 4/6-wire stepper driven by 4 ECU outputs in Push-Pull or Pull mode. Set ECU outputs used for each phase here." help = iatFuelCorrCurveHelp, "IAT Fuel Correction" text = "Charge temperature estimation coefficient is the more proper way to handle IAT for fuel purposes" text = "Open question who if anyone needs IAT Fuel Correction when" help = baroCorrectionHelp, "Baro Correction" text = "MAP already adjusts fueling for altitude on the intake side." text = "baro table is an extra tweak for the exhaust side: lower barometric pressure usually means lower exhaust backpressure, which improves scavenging so the engine breathes a bit better than MAP alone predicts. That non-linear effect needs its own correction." help = fuelHelp, "Fuel Control" text = "More about fuel control on the web" webHelp = "https://rusefi.com/s/fuel" help = triggerHelp, "Trigger Settings" text = "More about Trigger Settings on the web" webHelp = "https://rusefi.com/s/trigger" help = etbHelp, "ETB Control" text = "More about electronic throttle body on the web" webHelp = "https://rusefi.com/s/etb" help = vrThresholdHelp, "VR Sensor Threshold" text = "This is about rusEFI VR Discrete decoder" webHelp = "https://rusefi.com/" help = tpsTpsHelp, "Acceleration Enrichment" text = "More about Tps To Tps acceleration on the web" webHelp = "https://rusefi.com/s/tpstps" help = baseHelp, "Base Settings Control" text = "More about rusefi on the web" webHelp = "https://rusefi.com/" dialog = veOverrideModeSelector, "" field = "Override VE table load axis", veOverrideMode field = "Fuel strategy", fuelAlgorithm dialog = veTableDialog, "", border topicHelp = "veTableDialogHelp" panel = veOverrideModeSelector, North panel = veTableTbl, Center dialog = veTableDialog3D, "VE Table" topicHelp = "veTableDialogHelp" panel = veTableMap, South dialog = etbPidDialog, "PID settings" field = "pFactor", etb_pFactor field = "iFactor", etb_iFactor field = "dFactor", etb_dFactor field = "pid min", etb_minValue field = "pid max", etb_maxValue field = "iTermMin", etb_iTermMin field = "iTermMax", etb_iTermMax field = "Apply exp average to target", applyExpAverageToEtbTarget field = "Smoothing factor", etbTargetSmoothingFactor, { applyExpAverageToEtbTarget } dialog = etbDialogIdle, "ETB Idle" field = "ETB idle maximum angle", etbIdleThrottleRange indicatorPanel = etbIndicatorPanel, 1 indicator = {etb1jamDetected}, "jamDetected No", "jamDetected Yes" dialog = etbDialogBase, "Base ETB settings" field = "https://rusefi.com/s/etb" field = "Electronic throttle body requires TWO throttle position sensors in the actuator ( the ETB valve) and two pedal position sensors to work reliably" field = "Please make sure you have configured two pedal sensors, and they function properly without exceeding the pedal split percentage first" field = "Then, configure TPS sensors, while opening the throttle body by hand, without DC voltage applied to the motor, to ensure TPS goes the correct direction" field = "TPS1 should go from 0% to 100% as you open the throttle plate" field = "The polarity of ETB motor also matters, try reversing the polarity if things don't seem to work" field = "Disable ETB Motor", pauseEtbControl field = "Disable ETB if engine is stopped", disableEtbWhenEngineStopped field = "Skip ETB reinit while running", etbSkipReinitWhileRunning field = "" field = "PWM Frequency", etbFreq, field = "" field = "Minimum ETB position", etbMinimumPosition field = "Maximum ETB position", etbMaximumPosition field = "Default Pedal to TPS table #", pedalToTpsIndex dialog = etbDialogJam, "ETB Jam detection settings" field = "Jam detection error max", etbJamDetectThreshold, { (etbJamDetectThreshold == 0 || etbJamTimeout != 0) } field = "Jam detection timeout period", etbJamTimeout, { etbJamDetectThreshold != 0 } field = "Disables jam detection for testing until the next power cycle" commandButton = "Temporarily disable jam detection", cmd_etb_disable_jam_detect dialog = etbDialogLeft panel = etbDialogBase panel = etbDialogIdle, { isEtbEnabled } panel = etbDialogJam panel = etbIndicatorPanel ; commandButton = "Reset ETB", cmd_etb_reset dialog = etbTps1Calib, "ETB 1 TPS sensor calibration" field = "First step: calibrate TPS and hit 'Burn'" field = "Should first OPEN, then CLOSE" field = "!Please check with your eyes that throttle first OPENS and then CLOSES" field = "!If order is reversed swap ETB+/ETB- wires" commandButton = "Auto Calibrate ETB 1", cmd_etb_auto_calibrate, {hasIgnitionVoltage && isEtb1Enabled && isTps1Primary && calibrationMode == 0} ;dev commandButton = "Fast Auto Calibrate ETB 1", cmd_etb_auto_calibrate_fast, { hasIgnitionVoltage && isEtb1Enabled && isTps1Primary && calibrationMode == 0} dialog = etbTps2Calib, "ETB 2 TPS sensor calibration" field = "First step: calibrate TPS and hit 'Burn'" field = "Should first OPEN, then CLOSE" field = "!Please check with your eyes that throttle first OPENS and then CLOSES" field = "!If order is reversed swap ETB+/ETB- wires" commandButton = "Auto Calibrate ETB 2", cmd_etb_auto_calibrate_2, {hasIgnitionVoltage && isEtb2Enabled && isTps2Primary && calibrationMode == 0} ;dev commandButton = "Fast Auto Calibrate ETB 2", cmd_etb_auto_calibrate_2_fast, { hasIgnitionVoltage && isEtb2Enabled && isTps2Primary && calibrationMode == 0} dialog = etbAutotune, "Sensor/PID autotune" field = "Second step: calibrate PID" field = "Run PID calibration for 10..15 seconds and press Stop" field = "Autotune executed for ETB 1 only, values applied for all ETBs" commandButton = "Start ETB PID Autotune", cmd_etb_autotune, {hasIgnitionVoltage && isEtbEnabled && calibrationMode = 0} commandButton = "Stop ETB PID Autotune", cmd_etb_autotune_stop, {hasIgnitionVoltage && isEtbEnabled && calibrationMode >= 3 && calibrationMode <= 5} dialog = etbDialogRight panel = etbPidDialog, Center, { isEtbEnabled } panel = etbTps1Calib, Center, { isEtb1Enabled } panel = etbTps2Calib, Center, { isEtb2Enabled } panel = etbAutotune, Center, { isEtbEnabled } dialog = etbDialog, "Electronic Throttle Body", border topicHelp = "etbHelp" panel = etbDialogLeft, West panel = etbDialogRight, East dialog = ewgPidDialog, "PID settings" field = "This PID is controlling how EWG Actuator DC motor reaches desired position" field = "" field = "!This section is for advanced users only!" field = "P gain", etbWastegatePid_pFactor field = "I gain", etbWastegatePid_iFactor field = "D gain", etbWastegatePid_dFactor field = "PID min", etbWastegatePid_minValue field = "PID max", etbWastegatePid_maxValue dialog = ewgDialogLeft field = "No one lives here" dialog = ewgAutotune, "Sensor autotune" field = "First step: calibrate EWG position sensor and hit 'Burn'" commandButton = "Auto Calibrate EWG", cmd_ewg_auto_calibrate_1, {hasIgnitionVoltage && (etbFunctions1 == 4 || etbFunctions2 == 4) && wastegatePositionSensor != 0} ;dev commandButton = "Fast Auto Calibrate EWG", cmd_ewg_auto_calibrate_1_fast, { hasIgnitionVoltage && (etbFunctions1 == 4 || etbFunctions2 == 4) && wastegatePositionSensor != 0} dialog = ewgDialogRight panel = ewgPidDialog, { etbFunctions1 == 4 || etbFunctions2 == 4 } panel = ewgAutotune dialog = ewgDialog, "Electronic Wastegate actuator", border panel = ewgDialogLeft, West panel = ewgDialogRight, East dialog = testSpark, "Spark" commandButton = "Spark #1", cmd_test_spk1 commandButton = "Spark #2", cmd_test_spk2, { cylindersCount >= 2 } commandButton = "Spark #3", cmd_test_spk3, { cylindersCount >= 3 } commandButton = "Spark #4", cmd_test_spk4, { cylindersCount >= 4 } commandButton = "Spark #5", cmd_test_spk5, { cylindersCount >= 5 } commandButton = "Spark #6", cmd_test_spk6, { cylindersCount >= 6 } commandButton = "Spark #7", cmd_test_spk7, { cylindersCount >= 7 } commandButton = "Spark #8", cmd_test_spk8, { cylindersCount >= 8 } commandButton = "Abort test", cmd_test_cancel dialog = testMisc, "Misc" commandButton = "A/C Relay", cmd_test_ac_relay commandButton = "Fuel Pump On", cmd_test_fuel_pump_on commandButton = "Fuel Pump Off", cmd_test_fuel_pump_off commandButton = "Idle Air Valve", cmd_test_idle_valve commandButton = "Idle Second Air Valve", cmd_test_second_idle_valve commandButton = "Stop Engine", cmd_stop_engine commandButton = "Write Config", cmd_write_config commandButton = "Reboot ECU", cmd_reset_controller commandButton = "Reset to DFU", cmd_dfu commandButton = "Reset to OpenBLT", cmd_openblt commandButton = "No flash Burn mode", cmd_burn_without_flash dialog = injTest_r, "Reference gauges", yAxis gauge = VBattGauge,North gauge = testBenchIterGauge,South ; bench test dialog = ioTest, "Bench Test & Commands", xAxis panel = testSpark panel = testInjectors panel = testOther panel = testLuaOut panel = testMisc ; ; Injectors test ; dialog = injTest_l, "Output test modes", yAxis ; field = "Iterations", benchTestCount ; field = "On Time", benchTestOnTime ; field = "Off Time", benchTestOffTime ; ; dialog = injTest_r, "Reference gauges", yAxis ; gauge = VBattGauge,North ; gauge = testBenchIterGauge,South ; ; dialog = injTest, "", xAxis ; panel = injTest_l panel = injTest_r dialog = canReWidebandLegacyTools, "Legacy 2023 firmware" field = "!Please connect exactly one wideband controller before pressing this button!" commandButton = "Update 2023 Firmware", cmd_wideband_firmare_update readoutPanel = canReWidebandBuildDate, 4, { 1 } readout = canReWidebandVersion, "Version", "", 150, 255, 159, 160, 162, 162, 0, 0 readout = canReWidebandFwDay, "Day", "", 0, 32, 1, 1, 31, 31, 0, 0 readout = canReWidebandFwMon, "Month", "", 0, 13, 1, 1, 12, 12, 0, 0 readout = canReWidebandFwYear, "Year", "", 19, 51, 20, 20, 50, 50, 0, 0 dialog = canReWidebandNewTools, "2025 firmware" field = "Wideband CAN bus", widebandOnSecondBus field = "Target device HW ID", canReWidebandHwIndex commandButton = "Ping/Get FW version", cmd_set_wideband_ping_by_id field = "" field = "Required CAN ID", canReWidebandCanId commandButton = "Set Index", cmd_set_wideband_idx_by_id field = "" field = "Sensor type", canReWidebandSensorType commandButton = "Set sensor type", cmd_set_wideband_sens_by_id field = "" commandButton = "Update 2025 Firmware", cmd_set_wideband_flash_by_id field = "FW version and build date:" panel = canReWidebandBuildDate indicatorPanel = canReWidebandIndicators indicator = { canReWidebandCmdStatus > 1 }, { bitStringValue(canReWidebandCmdStatusList, canReWidebandCmdStatus) }, { bitStringValue(canReWidebandCmdStatusList, canReWidebandCmdStatus) }, green, black, red, black dialog = canReWidebandRemap1, "rusEFI Wideband 1 auto remap" field = "Auto remap on start", canWbo1_enableRemap field = "rusEFI WBO hardware index", canWbo1_reHwidx, { canWbo1_enableRemap } field = "rusEFI WBO CAN ID", canWbo1_reId, { canWbo1_enableRemap } dialog = canReWidebandRemap2, "rusEFI Wideband 2 auto remap" field = "Auto remap on start", canWbo2_enableRemap field = "rusEFI WBO hardware index", canWbo2_reHwidx, { canWbo2_enableRemap } field = "rusEFI WBO CAN ID", canWbo2_reId, { canWbo2_enableRemap } dialog = canReWidebandTools, "rusEFI Wideband Tools" topicHelp = "WidebandToolsHelp" panel = canReWidebandNewTools panel = canReWidebandLegacyTools panel = canReWidebandIndicators panel = canReWidebandRemap1, Center, { canWbo1_type == 0 } panel = canReWidebandRemap2, Center, { canWbo2_type == 0 } dialog = engineTypeDialog, "Base Tunes" field = "!These buttons send a command to rusEFI controller to apply preset values" field = "!Once you send the command, please reconnect to rusEFI controller in order to read fresh values" ; Board->ECU stimulator dialog = ecuStimulator, "ECU stimulator" field = "Trigger Simulator", triggerSimulatorRpm field = "Stimulator Bench extension", stimulatorBench field = "Count", benchTestCount field = "Injector Pulsewidth Override", benchTestOnTime commandButton = "Enable internal trigger simulation", cmd_enable_self_stim commandButton = "Enable external trigger simulation", cmd_enable_ext_stim commandButton = "Disable trigger simulation", cmd_disable_self_stim ; field = "" ; field = "digipot spi", digitalPotentiometerSpiDevice ; field = "digipot CS #0", digitalPotentiometerChipSelect1 ; field = "digipot CS #1", digitalPotentiometerChipSelect2 ; field = "digipot CS #2", digitalPotentiometerChipSelect3 ; field = "digipot CS #3", digitalPotentiometerChipSelect4 field = "" field = "trigger stimulator output #1", triggerSimulatorPins1 field = "trigger stimulator output mode #1", triggerSimulatorPinModes1 field = "trigger stimulator output #2", triggerSimulatorPins2 field = "trigger stimulator output mode #2", triggerSimulatorPinModes2 field = camSimulatorPin, camSimulatorPin field = camSimulatorPinMode, camSimulatorPinMode field = "" ; field = "Logic input channel 1", logicAnalyzerPins1 ; field = "Logic input channel 2", logicAnalyzerPins2 ; field = "Logic input channel 3", logicAnalyzerPins3 ; field = "Logic input channel 4", logicAnalyzerPins4 field = "" field = "Engine chart size", engineChartSize ; Racing Features->Launch Control dialog = smLaunchControlWest, "Launch Control Settings" field = "Launch Control", launchControlEnabled field = "CAN_BUTTON_TOGGLE1 enables launch control as well" field = "Activation Mode", launchActivationMode, {launchControlEnabled == 1} field = "Clutch Down", clutchDownPin, {launchControlEnabled == 1 && (clutchDownPin != 0 || (launchActivationMode == 1))} field = "Clutch Down mode", clutchDownPinMode, {launchControlEnabled == 1 && launchActivationMode == 1} field = "Launch Button", launchActivatePin, {launchControlEnabled == 1 && (launchActivatePin != 0 || (launchActivationMode == 0))} field = "Launch Button mode", launchActivatePinMode, {launchControlEnabled == 1 && launchActivationMode == 0} field = "Launch Full Cut RPM", launchRpm, {launchControlEnabled == 1} field = "Launch Window - start of cut(lRPM - window)", launchRpmWindow, {launchControlEnabled == 1} field = "Rolling Launch Button", launchActivatePinRpmLock, {launchControlEnabled == 1 && (launchActivatePinRpmLock != 0 || (launchActivationMode == 0))} field = "Rolling Launch Button mode", launchActivatePinRpmLockMode, {launchControlEnabled == 1 && launchActivationMode == 0} field = "Rolling Launch Min RPM", minRpmLockLaunch, {launchControlEnabled == 1 && launchActivationMode == 0} field = "Rolling Launch RPM Lock Full Cut Adder(+/-)", launchRpmLockAdder, {launchControlEnabled == 1 && launchActivationMode == 0} field = "Rolling Launch uses Launch Window above" field = "" ; dead code field = "Rpm Threshold", launchRpmThreshold, {launchControlEnabled == 1} field = "TPS only engagement" field = "TPS Engage Above", launch_tps_engage_above, {launchControlEnabled == 1 && launchActivationMode == 5} field = "TPS Disengage Below", launch_tps_disengage_below, {launchControlEnabled == 1 && launchActivationMode == 5} field = "Speed Threshold", launchSpeedThreshold, {launchControlEnabled == 1} field = "" ; field = "Launch Corrections End RPM", launchCorrectionsEndRpm, {launchSmoothRetard == 1 || launchSparkCutEnable == 1} field = "Driver Intent / TPS", launch_control_driver_intent_tps, {launchControlEnabled == 1} field = "TPS Threshold (no launch below this)", launchTpsThreshold, {launchControlEnabled == 1} field = "Use Ignition Retard", enableLaunchRetard, {launchControlEnabled == 1} field = "Smooth Retard Mode", launchSmoothRetard, {launchControlEnabled == 1 && enableLaunchRetard == 1} field = "Ignition Timing Final", launchTimingRetard, {launchControlEnabled == 1 && enableLaunchRetard == 1} field = "Fuel Added %", launchFuelAdderPercent, {launchControlEnabled == 1} field = "Hard Cut Mode" field = "Ignition Cut", launchSparkCutEnable, {launchControlEnabled == 1} field = "Initial Ignition Cut %", initialIgnitionCutPercent, {launchSparkCutEnable == 1} field = "Final Ignition Cut % Before launch", finalIgnitionCutPercentBeforeLaunch, {launchSparkCutEnable == 1} field = "Fuel Cut", launchFuelCutEnable, {launchControlEnabled == 1} dialog = TorqueReductionButtonDialog, "Torque Reduction Button" field = "Torque Reduction Button", torqueReductionTriggerPin dialog = LaunchButtonDialog, "Launch Button" field = "Launch Button", launchActivatePin dialog = ClutchDownDialog, "Clutch Down" field = "Clutch Down", clutchDownPin field = "Clutch Down Mode", clutchDownPinMode, {clutchDownPin != 0} dialog = ClutchUpDialog, "Clutch Up" field = "Clutch Up", clutchUpPin field = "Clutch Up Mode", clutchUpPinMode, {clutchUpPin != 0} dialog = TorqueReductionActivationModeDialog, "Activation", yAxis field = "Activation Mode", torqueReductionActivationMode field = "Minimal CLT", torqueReductionActivationTemperature panel = TorqueReductionButtonDialog, {torqueReductionActivationMode == 0} panel = LaunchButtonDialog, {torqueReductionActivationMode == 1} panel = ClutchDownDialog, {torqueReductionActivationMode == 2} panel = ClutchUpDialog, {torqueReductionActivationMode == 3} dialog = TorqueReductionSettings, "Settings" field = "Torque Reduction Arming RPM", torqueReductionArmingRpm field = "Torque Reduction Arming APP", torqueReductionArmingApp dialog = ShiftTorqueReductionSettingsDialog, "", yAxis field = "Enable Shift Torque Reduction", torqueReductionEnabled panel = TorqueReductionActivationModeDialog, {torqueReductionEnabled == 1} panel = TorqueReductionSettings, {torqueReductionEnabled == 1 && ((torqueReductionActivationMode == 0) || (torqueReductionActivationMode == 1 && launchActivatePin != 0) || (torqueReductionActivationMode == 2) || (torqueReductionActivationMode == 3))} dialog = ShiftTorqueReductionDialog, "", border panel = ShiftTorqueReductionSettingsDialog, West panel = shift_torque_reduction_stateDialog, East dialog = torqueReductionTimeDialog, "", yAxis field = "X axis", torqueReductionTimeXaxis panel = torqueReductionTimeTlb, { torqueReductionTimeXaxis != 0} dialog = torqueReductionIgnitionRetardDialog, "", yAxis field = "X axis", torqueReductionIgnitionRetardXaxis panel = torqueReductionIgnitionRetardTlb, { torqueReductionIgnitionRetardXaxis != 0} dialog = torqueReductionIgnitionCutDialog, "", yAxis field = "X axis", torqueReductionCutXaxis panel = torqueReductionIgnitionCutTlb, { torqueReductionCutXaxis != 0} dialog = NitrousControlButtonDialog, "Digital Switch Input" field = "Nitrous Control Button", nitrousControlTriggerPin field = "Nitrous Control Mode", nitrousControlTriggerPinMode, {nitrousControlTriggerPin != 0} dialog = NitrousControlLuaGaugeDialog, "Lua Gauge" field = "Lua Gauge", nitrousLuaGauge field = "Value Meaning", nitrousLuaGaugeMeaning field = "Arming Value", nitrousLuaGaugeArmingValue dialog = NitrousControlArmingMethodDialog, "Arming Method", yAxis field = "Arming Method", nitrousControlArmingMethod panel = NitrousControlButtonDialog, {nitrousControlArmingMethod == 0} panel = NitrousControlLuaGaugeDialog, {nitrousControlArmingMethod == 1} dialog = NitrousControlSettings, "Settings" field = "Nitrous Relay", nitrousRelayPin field = "Nitrous Relay Mode", nitrousRelayPinMode field = "Minimum Vehicle Speed", nitrousMinimumVehicleSpeed field = "Minimum TPS", nitrousMinimumTps field = "Minimum CLT", nitrousMinimumClt field = "Maximum MAP", nitrousMaximumMap field = "Maximum AFR", nitrousMaximumAfr field = "Activation RPM", nitrousActivationRpm field = "Dectivation RPM", nitrousDeactivationRpm field = "Dectivation RPM Window", nitrousDeactivationRpmWindow field = "Fuel Adder", nitrousFuelAdderPercent field = "Ignition Retard", nitrousIgnitionRetard dialog = NitrousControlSettingsDialog, "", yAxis field = "Nitrous Control", nitrousControlEnabled panel = NitrousControlArmingMethodDialog, {nitrousControlEnabled == 1} panel = NitrousControlSettings, {nitrousControlEnabled == 1 && ((nitrousControlArmingMethod == 0 && nitrousControlTriggerPin != 0) || (nitrousControlArmingMethod == 1))} dialog = NitrousControlDialog, "", border panel = NitrousControlSettingsDialog, West panel = nitrous_control_stateDialog, East dialog = smLaunchControl, "", border panel = smLaunchControlWest, West panel = launch_control_stateDialog, East dialog = antiLagDialog, "AntiLag/Rotational Idle Settings" field = "#Also known as Rotational Idle" field = "AntiLag", antiLagEnabled field = "CAN_BUTTON_TOGGLE5 enables antilag as well" field = "Activation Mode", antiLagActivationMode, {antiLagEnabled == 1} field = "Switch Input", ALSActivatePin, {antiLagActivationMode == 0 && antiLagEnabled == 1} field = "Switch OFF uses timeout", als_switch_uses_timeout, {antiLagActivationMode == 0 && antiLagEnabled == 1} field = "ALS Button mode", ALSActivatePinMode, {antiLagActivationMode == 0 && antiLagEnabled == 1} field = "ALS timeout", ALSMaxDuration, {antiLagEnabled == 1} field = "Timeout conditions" field = "Min MAP - Ends ALS after timeout", ALSMinMap, {antiLagEnabled == 1} field = "Min TPS/PPS - Ends ALS after timeout", ALSMinTPS, {antiLagEnabled == 1} field = "Min RPM - Ends ALS after timeout", ALSMinRPM, {antiLagEnabled == 1} field = "Instant ALS end conditions" field = "Max MAP - Ends ALS Instantly", ALSMaxMap, {antiLagEnabled == 1} field = "Max TPS/PPS - Ends ALS Instantly", ALSMaxTPS, {antiLagEnabled == 1} field = "Max RPM - Ends ALS Instantly", ALSMaxRPM, {antiLagEnabled == 1} field = "Min CLT - ALS Safety limit - no ALS below this", ALSMinCLT, {antiLagEnabled == 1} field = "Max CLT - ALS Safety limit - no ALS above this", ALSMaxCLT, {antiLagEnabled == 1} field = "Idle Air Add", ALSIdleAdd, {antiLagEnabled == 1} field = "ETB Air Add", ALSEtbAdd, {antiLagEnabled == 1} panel = FuelAdderTableALS, {antiLagEnabled == 1} panel = IgnRetardTableALS, {antiLagEnabled == 1} ; code is commented out? panel = IgnSkipTableALS, {antiLagEnabled == 1} dialog = coastingFuelCutControl, "Coasting Fuel Cutoff Settings" field = "CAN_BUTTON_TOGGLE2 inverts DFCO enable" field = "Enable Coasting Fuel Cutoff", coastingFuelCutEnabled field = "Disable fuel cut on clutch", disableFuelCutOnClutch, {coastingFuelCutEnabled && clutchUpPin != 0} field = "No cut below CLT", coastingFuelCutClt, {coastingFuelCutEnabled} field = "RPM cut fuel above", coastingFuelCutRpmHigh, {coastingFuelCutEnabled} field = "RPM restore fuel below", coastingFuelCutRpmLow, {coastingFuelCutEnabled} field = "Vehicle speed cut above", coastingFuelCutVssHigh, {coastingFuelCutEnabled} field = "Vehicle speed restore below", coastingFuelCutVssLow, {coastingFuelCutEnabled} field = "Cut fuel below TPS", coastingFuelCutTps, {coastingFuelCutEnabled} field = "Cut fuel below MAP mode", useTableForDfcoMap, {coastingFuelCutEnabled} field = "Cut fuel below MAP", coastingFuelCutMap, {coastingFuelCutEnabled && !useTableForDfcoMap} field = "Fuel cut delay", dfcoDelay, {coastingFuelCutEnabled} field = "Inhibit closed loop fuel after cut", noFuelTrimAfterDfcoTime, {coastingFuelCutEnabled} field = "" field = "Ignition retard during cut", dfcoRetardDeg, {coastingFuelCutEnabled} field = "After cut timing ramp-in time", dfcoRetardRampInTime, {coastingFuelCutEnabled} dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks field = "Trailing Pin 1", trailingCoilPins1, {enableTrailingSparks} field = "Trailing Pin 2", trailingCoilPins2, {enableTrailingSparks && cylindersCount >= 2} field = "Trailing Pin 3", trailingCoilPins3, {enableTrailingSparks && cylindersCount >= 3} field = "Trailing Pin 4", trailingCoilPins4, {enableTrailingSparks && cylindersCount >= 4} panel = trailingSparkTable dialog = parkingLot2, "Experimental 2" field = dacOutputPins1, dacOutputPins1 field = dacOutputPins2, dacOutputPins2 field = "luaCanRxWorkaround CAN performance hack", luaCanRxWorkaround field = "Read RPM matching VSS profile", canInputBCM field = auxSpeed1Multiplier, auxSpeed1Multiplier ; field = magicNumberAvailableForDevTricks, magicNumberAvailableForDevTricks field = brakeMeanEffectivePressureDifferential, brakeMeanEffectivePressureDifferential dialog = mc33810Dialog, "MC33810 IGN/INJ driver" field = "SPI settings" field = "Chip configuration" field = "Nominal coil charge current (3..10.75)", mc33810Nomi field = "Maximum coil charge current (6..21)", mc33810Maxi field = "Maximum dwell (IGN pins mode only)", mc33810maxDwellTimer field = "Disable auto recovery from OV/UV", mc33810DisableRecoveryMode field = "Disable ING mode if you have no IGBT/MOSFETs on board and no feedback routed to IC" field = "GD0 output disable IGN mode", mc33810Gpgd0Mode field = "GD1 output disable IGN mode", mc33810Gpgd1Mode field = "GD2 output disable IGN mode", mc33810Gpgd2Mode field = "GD3 output disable IGN mode", mc33810Gpgd3Mode commandButton = "Reinitialize", cmd_mc33810_init indicatorPanel = acrActiveDiagPanel, 1, { 1 } indicator = { acrActive }, "ACR off", "ACR on", white, black, green, black dialog = luaCommands, "Lua Buttons" commandButton = "Lua Button #1", cmd_test_lua_command_1 commandButton = "Lua Button #2", cmd_test_lua_command_2 commandButton = "Lua Button #3", cmd_test_lua_command_3 commandButton = "Lua Button #4", cmd_test_lua_command_4 ; ETB_MAP_UP, ; ETB_MAP_DOWN, ; ETB_MAP_RESET, ; ETB_MAP_1, ; ETB_MAP_2, ; ETB_MAP_3, ; ETB_MAP_4 dialog = buttonBoxButtons1 commandButton = "0 ETB_MAP_UP", cmd_buttonbox_etb_map_up commandButton = "1 ETB_MAP_DOWN", cmd_buttonbox_etb_map_down commandButton = "2 ETB_MAP_RESET", cmd_buttonbox_etb_map_reset commandButton = "3 ETB_MAP_1", cmd_buttonbox_etb_map_1 commandButton = "4 ETB_MAP_2", cmd_buttonbox_etb_map_2 commandButton = "5 ETB_MAP_3", cmd_buttonbox_etb_map_3 commandButton = "6 ETB_MAP_4", cmd_buttonbox_etb_map_4 commandButton = "7 cmd_buttonbox_afr_trim_up", cmd_buttonbox_afr_trim_up commandButton = "8 cmd_buttonbox_afr_trim_down", cmd_buttonbox_afr_trim_down commandButton = "9 cmd_buttonbox_afr_trim_reset", cmd_buttonbox_afr_trim_reset commandButton = "10 cmd_buttonbox_afr_trim_max", cmd_buttonbox_afr_trim_max commandButton = "11 cmd_buttonbox_afr_trim_min", cmd_buttonbox_afr_trim_min commandButton = "12 cmd_buttonbox_all_trim_reset", cmd_buttonbox_all_trim_reset commandButton = "13 cmd_buttonbox_can_button_toggle1 - launch control override", cmd_buttonbox_can_button_toggle1 commandButton = "14 cmd_buttonbox_can_button_toggle2 - dfco invert", cmd_buttonbox_can_button_toggle2 commandButton = "15 cmd_buttonbox_can_button_toggle3 - idle up ", cmd_buttonbox_can_button_toggle3 commandButton = "16 cmd_buttonbox_can_button_toggle4 - air conditioning", cmd_buttonbox_can_button_toggle4 commandButton = "17 cmd_buttonbox_can_button_toggle5 - antilag system", cmd_buttonbox_can_button_toggle5 commandButton = "18 cmd_buttonbox_can_button_toggle6 - traction control", cmd_buttonbox_can_button_toggle6 commandButton = "19 cmd_buttonbox_can_button_toggle7", cmd_buttonbox_can_button_toggle7 commandButton = "20 cmd_buttonbox_can_button_toggle8", cmd_buttonbox_can_button_toggle8 commandButton = "21 cmd_buttonbox_can_lua_command_1", cmd_buttonbox_can_lua_command_1 commandButton = "22 cmd_buttonbox_can_lua_command_2", cmd_buttonbox_can_lua_command_2 commandButton = "23 cmd_buttonbox_can_lua_command_3", cmd_buttonbox_can_lua_command_3 commandButton = "24 cmd_buttonbox_can_lua_command_4", cmd_buttonbox_can_lua_command_4 dialog = buttonBoxButtons2 commandButton = "25 cmd_buttonbox_trac_trim_up", cmd_buttonbox_trac_trim_up commandButton = "26 cmd_buttonbox_trac_trim_down ", cmd_buttonbox_trac_trim_down commandButton = "27 cmd_buttonbox_trac_trim_reset ", cmd_buttonbox_trac_trim_reset commandButton = "28 cmd_buttonbox_trac_trim_max ", cmd_buttonbox_trac_trim_max commandButton = "29 cmd_buttonbox_trac_trim_min ", cmd_buttonbox_trac_trim_min commandButton = "30 cmd_buttonbox_trac_trim_1 ", cmd_buttonbox_trac_trim_1 commandButton = "31 cmd_buttonbox_trac_trim_2 ", cmd_buttonbox_trac_trim_2 commandButton = "32 cmd_buttonbox_trac_trim_3 ", cmd_buttonbox_trac_trim_3 commandButton = "33 cmd_buttonbox_trac_trim_4 ", cmd_buttonbox_trac_trim_4 commandButton = "34 cmd_buttonbox_can_button_toggle9", cmd_buttonbox_can_button_toggle9 commandButton = "35 cmd_buttonbox_can_button_toggle10", cmd_buttonbox_can_button_toggle10 commandButton = "36 cmd_buttonbox_can_button_toggle11", cmd_buttonbox_can_button_toggle11 commandButton = "37 cmd_buttonbox_can_button_toggle12", cmd_buttonbox_can_button_toggle12 commandButton = "38 cmd_buttonbox_can_button_toggle13", cmd_buttonbox_can_button_toggle13 commandButton = "39 cmd_buttonbox_can_button_toggle14", cmd_buttonbox_can_button_toggle14 commandButton = "40 cmd_buttonbox_can_button_toggle15", cmd_buttonbox_can_button_toggle15 commandButton = "41 cmd_buttonbox_can_button_toggle16", cmd_buttonbox_can_button_toggle16 commandButton = "42 cmd_buttonbox_can_button_BLEND_VE_1_TOGGLE", cmd_buttonbox_can_button_BLEND_VE_1_TOGGLE commandButton = "43 cmd_buttonbox_can_button_BLEND_VE_2_TOGGLE", cmd_buttonbox_can_button_BLEND_VE_2_TOGGLE commandButton = "44 cmd_buttonbox_can_button_BLEND_IGN_1_TOGGLE", cmd_buttonbox_can_button_BLEND_IGN_1_TOGGLE commandButton = "45 cmd_buttonbox_can_button_BLEND_IGN_2_TOGGLE", cmd_buttonbox_can_button_BLEND_IGN_2_TOGGLE commandButton = "46 cmd_buttonbox_can_button_BLEND_AFR_1_TOGGLE", cmd_buttonbox_can_button_BLEND_AFR_1_TOGGLE commandButton = "47 cmd_buttonbox_can_button_BLEND_CLBOOST_1_TOGGLE", cmd_buttonbox_can_button_BLEND_CLBOOST_1_TOGGLE commandButton = "48 cmd_buttonbox_can_button_BLEND_OLBOOST_1_TOGGLE", cmd_buttonbox_can_button_BLEND_OLBOOST_1_TOGGLE commandButton = "49 cmd_buttonbox_cruise_control_enable", cmd_buttonbox_cruise_control_enable commandButton = "50 cmd_buttonbox_cruise_control_on_set_speed", cmd_buttonbox_cruise_control_on_set_speed commandButton = "51 cmd_buttonbox_cruise_control_off", cmd_buttonbox_cruise_control_off commandButton = "52 cmd_buttonbox_cruise_control_resume", cmd_buttonbox_cruise_control_resume commandButton = "53 cmd_buttonbox_cruise_control_inc", cmd_buttonbox_cruise_control_inc commandButton = "54 cmd_buttonbox_cruise_control_dec", cmd_buttonbox_cruise_control_dec commandButton = "55 cmd_buttonbox_canbus_kb_1_d0", cmd_buttonbox_canbus_kb_1_d0 commandButton = "56 cmd_buttonbox_canbus_kb_1_d1", cmd_buttonbox_canbus_kb_1_d1 commandButton = "57 cmd_buttonbox_canbus_kb_1_d2", cmd_buttonbox_canbus_kb_1_d2 commandButton = "58 cmd_buttonbox_canbus_kb_1_d3", cmd_buttonbox_canbus_kb_1_d3 commandButton = "59 cmd_buttonbox_canbus_kb_1_d4", cmd_buttonbox_canbus_kb_1_d4 commandButton = "60 cmd_buttonbox_canbus_kb_1_d5", cmd_buttonbox_canbus_kb_1_d5 commandButton = "61 cmd_buttonbox_canbus_kb_1_d6", cmd_buttonbox_canbus_kb_1_d6 commandButton = "62 cmd_buttonbox_canbus_kb_1_d7", cmd_buttonbox_canbus_kb_1_d7 commandButton = "63 cmd_buttonbox_canbus_kb_1_d8", cmd_buttonbox_canbus_kb_1_d8 commandButton = "64 cmd_buttonbox_canbus_kb_1_d9", cmd_buttonbox_canbus_kb_1_d9 commandButton = "65 cmd_buttonbox_canbus_kb_1_d10", cmd_buttonbox_canbus_kb_1_d10 commandButton = "66 cmd_buttonbox_canbus_kb_1_d11", cmd_buttonbox_canbus_kb_1_d11 commandButton = "67 cmd_buttonbox_canbus_kb_1_d12", cmd_buttonbox_canbus_kb_1_d12 commandButton = "68 cmd_buttonbox_canbus_kb_1_d13", cmd_buttonbox_canbus_kb_1_d13 commandButton = "69 cmd_buttonbox_canbus_kb_1_d14", cmd_buttonbox_canbus_kb_1_d14 commandButton = "70 cmd_buttonbox_canbus_kb_1_d15", cmd_buttonbox_canbus_kb_1_d15 dialog = buttonBoxButtons, "ButtonBox Buttons", xAxis panel = buttonBoxButtons1 panel = buttonBoxButtons2 dialog = harleyAcr, "Harley Automatic Compression Release" field = "Pin", acrPin field = "Pin 2", acrPin2 field = "#ACR is disabled after the specified number" field = "#of revolutions, plus degrees of engine phase" field = "Disable after revolutions", acrRevolutions field = "Disable after engine phase", acrDisablePhase field = "Spray Fuel during ACR", harleyAcrSprayFuel commandButton = "Test ACR #1", cmd_test_acr_valve commandButton = "Test ACR #2", cmd_test_acr2_valve panel = acrActiveDiagPanel dialog = kLineDialog, "K Line" field = kLineBaudRate, kLineBaudRate field = verboseKLine, verboseKLine field = hondaK, hondaK field = kLineDoHondaSend, kLineDoHondaSend field = kLinePeriodUs, kLinePeriodUs dialog = VvlControlSettings, "Settings" field = "VVL Relay", vvlRelayPin field = "VVL Relay Mode", vvlRelayPinMode field = "Minimum TPS", vvlController_minimumTps field = "Minimum CLT", vvlController_minimumClt field = "Maximum MAP", vvlController_maximumMap field = "Maximum AFR", vvlController_maximumAfr field = "Activation RPM", vvlController_activationRpm field = "Deactivation RPM", vvlController_deactivationRpm field = "Deactivation RPM Window", vvlController_deactivationRpmWindow field = "Fuel Adder", vvlController_fuelAdderPercent field = "Ignition Retard", vvlController_ignitionRetard dialog = VvlControlSettingsDialog, "", yAxis field = "VVL/Switched cam Control", vvlControlEnabled panel = VvlControlSettings, {vvlControlEnabled == 1} dialog = VvlControlDialog, "", border panel = VvlControlSettingsDialog, West panel = vvl_controller_stateDialog, East dialog = parkingLot, "Experimental/Broken" field = uiMode, uiMode field = can1ListenMode, can1ListenMode field = can2ListenMode, can2ListenMode field = rethrowHardFault, rethrowHardFault field = canGpioType, canGpioType field = "I understand ECU Locking", yesUnderstandLocking field = "! Use console for unlocking" field = "Tune read/write password", tuneHidingKey, { yesUnderstandLocking == 1 } field = verboseQuad, verboseQuad ; field = useEeprom, useEeprom field = "#System hacks" field = "vvtBooleanForVerySpecialCases", vvtBooleanForVerySpecialCases field = watchOutForLinearTime, watchOutForLinearTime field = "TS over CAN debug", verboseIsoTp field = "Engine Movement Recently Timeout" , triggerEventsTimeoutMs field = "injection Output(s) Mode", injectionPinMode, {isInjectionEnabled == 1 } field = "Ignition Output Mode", ignitionPinMode, {isIgnitionEnabled == 1 } field = "consumeObdSensors", consumeObdSensors, { canReadEnabled == 1 && canWriteEnabled == 1} field = "Allow Identical PPS", allowIdenticalPps field = "Ignore TPS/PPS sensors too close (BRZ/FRS/GT86)", ignore_tps_pps_sensors_too_close ; field = "Artificial Misfire", artificialTestMisfire field = "Instant Rpm Range", instantRpmRange field = "Always use instant RPM", alwaysInstantRpm field = "Modeled flow idle", modeledFlowIdle field = "Max idle flow", idleMaximumAirmass field = vinNumber, vinNumber field = turbochargerFilter, turbochargerFilter field = auxFrequencyFilter, auxFrequencyFilter field = useBiQuadOnAuxSpeedSensors, useBiQuadOnAuxSpeedSensors field = "TODO KS mode 4569", kickStartCranking field = "Use Advance Ignition Corrections for cranking", useAdvanceCorrectionsForCranking field = "Defer all writes until engine off", deferAllWritesUntilEngineOff field = "Override uaefi voltage dividers", overrideUaefiVbat field = "Ignore no ETB error", ignore_no_etb_error field = "Total shift no RPM reset", total_shift_no_rpm_reset help = helpGeneral, "epicEFI General Help" webHelp = "https://content.epicefi.com/" text = "" dialog = epicTunables, "epicEFI tunables" ; field = "Fix cam sync misfire", fixSyncMisfire field = "Calmer Burn - do not reconfigure sensors on running engine, rpm > 0", calmerBurn field = "Map Low Pass Cutoff Hz", mapLowPassCutoffHz field = "MAF Low Pass Cutoff Hz", mafLowPassCutoffHz field = "AUX Low Pass Cutoff Hz", auxLowPassCutoffHz field = "PPS Low Pass Cutoff Hz", ppsLowPassCutoffHz field = "TPS Low Pass Cutoff Hz", tpsLowPassCutoffHz field = "EGO Low Pass Cutoff Hz", egoLowPassCutoffHz field = "Disable Programmable outputs", disableProgOutputs field = "Allow DFU With IGN voltage", allowDFUwithIgn field = "No tps/pps redundancy required, super dangerous", allowIdenticalPps field = "Ignore TPS/PPS sensors too close to each other", ignore_tps_pps_sensors_too_close field = "Disable MCP3208 + accelerometer", disableMCP3208 field = "Disable epic DINP", disableDINP field = "Disable epic INJOK", disableINJOK field = "Disable EGT", disableEGT field = "Disable BARO", disableBARO field = "Enable init HS to logic high", epicInitHSHigh dialog = vrThreshold1, "VR 1 Threshold" field = "Pin", vrThreshold1_pin panel = vrThresholdCurve1 dialog = vrThreshold2, "VR 2 Threshold" field = "Pin", vrThreshold2_pin panel = vrThresholdCurve2 dialog = vrThreshold topicHelp = "vrThresholdHelp" panel = vrThreshold1 dialog = gppwm1left, "" field = "Output", gppwm1_pin field = "" field = "Set frequency to 0hz for on-off mode" field = "Frequency", gppwm1_pwmFrequency, {gppwm1_pin != 0} field = "" field = "On above duty", gppwm1_onAboveDuty, {gppwm1_pin != 0 && gppwm1_pwmFrequency == 0} field = "Off below duty", gppwm1_offBelowDuty, {gppwm1_pin != 0 && gppwm1_pwmFrequency == 0} field = "Duty if error", gppwm1_dutyIfError, {gppwm1_pin != 0} field = "" field = "X Axis", gppwm1_rpmAxis, {gppwm1_pin != 0} field = "Y Axis", gppwm1_loadAxis, {gppwm1_pin != 0} field = "Note", gpPwmNote1 field = "" field = "" runtimeValue = "X", gppwmXAxis1 runtimeValue = "Y", gppwmYAxis1 runtimeValue = "output", gppwmOutput1 dialog = gppwm1, "General Purpose PWM 1", xAxis panel = gppwm1left panel = gppwm1Tbl, {gppwm1_pin != 0} dialog = gppwm2left, "" field = "Output", gppwm2_pin field = "" field = "Set frequency to 0hz for on-off mode" field = "Frequency", gppwm2_pwmFrequency, {gppwm2_pin != 0} field = "" field = "On above duty", gppwm2_onAboveDuty, {gppwm2_pin != 0 && gppwm2_pwmFrequency == 0} field = "Off below duty", gppwm2_offBelowDuty, {gppwm2_pin != 0 && gppwm2_pwmFrequency == 0} field = "Duty if error", gppwm2_dutyIfError, {gppwm2_pin != 0} field = "" field = "X Axis", gppwm2_rpmAxis, {gppwm2_pin != 0} field = "Y Axis", gppwm2_loadAxis, {gppwm2_pin != 0} field = "Note", gpPwmNote2 field = "" field = "" runtimeValue = "X", gppwmXAxis2 runtimeValue = "Y", gppwmYAxis2 runtimeValue = "output", gppwmOutput2 dialog = gppwm2, "General Purpose PWM 2", xAxis panel = gppwm2left panel = gppwm2Tbl, {gppwm2_pin != 0} dialog = gppwm3left, "" field = "Output", gppwm3_pin field = "" field = "Set frequency to 0hz for on-off mode" field = "Frequency", gppwm3_pwmFrequency, {gppwm3_pin != 0} field = "" field = "On above duty", gppwm3_onAboveDuty, {gppwm3_pin != 0 && gppwm3_pwmFrequency == 0} field = "Off below duty", gppwm3_offBelowDuty, {gppwm3_pin != 0 && gppwm3_pwmFrequency == 0} field = "Duty if error", gppwm3_dutyIfError, {gppwm3_pin != 0} field = "" field = "X Axis", gppwm3_rpmAxis, {gppwm3_pin != 0} field = "Y Axis", gppwm3_loadAxis, {gppwm3_pin != 0} field = "Note", gpPwmNote3 field = "" field = "" runtimeValue = "X", gppwmXAxis3 runtimeValue = "Y", gppwmYAxis3 runtimeValue = "output", gppwmOutput3 dialog = gppwm3, "General Purpose PWM 3", xAxis panel = gppwm3left panel = gppwm3Tbl, {gppwm3_pin != 0} dialog = gppwm4left, "" field = "Output", gppwm4_pin field = "" field = "Set frequency to 0hz for on-off mode" field = "Frequency", gppwm4_pwmFrequency, {gppwm4_pin != 0} field = "" field = "On above duty", gppwm4_onAboveDuty, {gppwm4_pin != 0 && gppwm4_pwmFrequency == 0} field = "Off below duty", gppwm4_offBelowDuty, {gppwm4_pin != 0 && gppwm4_pwmFrequency == 0} field = "Duty if error", gppwm4_dutyIfError, {gppwm4_pin != 0} field = "" field = "X Axis", gppwm4_rpmAxis, {gppwm4_pin != 0} field = "Y Axis", gppwm4_loadAxis, {gppwm4_pin != 0} field = "Note", gpPwmNote4 field = "" field = "" runtimeValue = "X", gppwmXAxis4 runtimeValue = "Y", gppwmYAxis4 runtimeValue = "output", gppwmOutput4 dialog = gppwm4, "General Purpose PWM 4", xAxis panel = gppwm4left panel = gppwm4Tbl, {gppwm4_pin != 0} dialog = hpfpCamDialog, "HPFP Cam Configuration" field = "Number of lobes", hpfpCamLobes field = "If using VVT, which cam the pump is driven from", hpfpCam, {hpfpCamLobes != 0} field = "Angle of first lobe peak", hpfpPeakPos, {hpfpCamLobes != 0} panel = hpfpLobeProfileCurve, {hpfpCamLobes != 0} dialog = hpfpPumpDialog, "HPFP Pump Configuration" field = "Valve Pin", hpfpValvePin, {hpfpCamLobes != 0} field = "Valve Pin Mode", hpfpValvePinMode, {hpfpCamLobes != 0} commandButton = "Bench Test HPFP Valve", cmd_test_hpfp_valve field = "Valve peak current", mc33_hpfp_i_peak, {hpfpCamLobes != 0} field = "Valve hold current", mc33_hpfp_i_hold, {hpfpCamLobes != 0} field = "Valve hold off time", mc33_hpfp_i_hold_off, {hpfpCamLobes != 0} field = "Valve maximum duration", mc33_hpfp_max_hold, {hpfpCamLobes != 0} field = "Pump volume", hpfpPumpVolume, {hpfpCamLobes != 0} field = "Minimum angle", hpfpMinAngle, {hpfpCamLobes != 0} field = "Activation angle", hpfpActivationAngle, {hpfpCamLobes != 0} field = "Target decay rate", hpfpTargetDecay, {hpfpCamLobes != 0} field = "Proportional gain", hpfpPidP, {hpfpCamLobes != 0} field = "Integral gain", hpfpPidI, {hpfpCamLobes != 0} field = "iTerm Min", hpfpPid_iTermMin, {hpfpCamLobes != 0} field = "iTerm Max", hpfpPid_iTermMax, {hpfpCamLobes != 0} panel = hpfpDeadtimeCurve, {hpfpCamLobes != 0} ;indicatorPanel = IgnitionDiagPanel, 1, { 1 } ; indicator = { ignitorDiagnostic1 > 1 }, { Ignition out 1: bitStringValue(outputDiagErrorList, ignitorDiagnostic1 )}, { Ignition out 1: bitStringValue(outputDiagErrorList, ignitorDiagnostic1 )}, green, black, red, black ; indicator = { ignitorDiagnostic2 > 1 }, { Ignition out 2: bitStringValue(outputDiagErrorList, ignitorDiagnostic2 )}, { Ignition out 2: bitStringValue(outputDiagErrorList, ignitorDiagnostic2 )}, green, black, red, black ; indicator = { ignitorDiagnostic3 > 1 }, { Ignition out 3: bitStringValue(outputDiagErrorList, ignitorDiagnostic3 )}, { Ignition out 3: bitStringValue(outputDiagErrorList, ignitorDiagnostic3 )}, green, black, red, black ; indicator = { ignitorDiagnostic4 > 1 }, { Ignition out 4: bitStringValue(outputDiagErrorList, ignitorDiagnostic4 )}, { Ignition out 4: bitStringValue(outputDiagErrorList, ignitorDiagnostic4 )}, green, black, red, black ; indicator = { ignitorDiagnostic5 > 1 }, { Ignition out 5: bitStringValue(outputDiagErrorList, ignitorDiagnostic5 )}, { Ignition out 5: bitStringValue(outputDiagErrorList, ignitorDiagnostic5 )}, green, black, red, black ; indicator = { ignitorDiagnostic6 > 1 }, { Ignition out 6: bitStringValue(outputDiagErrorList, ignitorDiagnostic6 )}, { Ignition out 6: bitStringValue(outputDiagErrorList, ignitorDiagnostic6 )}, green, black, red, black ; indicator = { ignitorDiagnostic7 > 1 }, { Ignition out 7: bitStringValue(outputDiagErrorList, ignitorDiagnostic7 )}, { Ignition out 7: bitStringValue(outputDiagErrorList, ignitorDiagnostic7 )}, green, black, red, black ; indicator = { ignitorDiagnostic8 > 1 }, { Ignition out 8: bitStringValue(outputDiagErrorList, ignitorDiagnostic8 )}, { Ignition out 8: bitStringValue(outputDiagErrorList, ignitorDiagnostic8 )}, green, black, red, black ; ; ;indicatorPanel = InjectionDiagPanel, 1, { 1 } ; indicator = { injectorDiagnostic1 > 1 }, { Injector out 1: bitStringValue(outputDiagErrorList, injectorDiagnostic1 )}, { Injector out 1: bitStringValue(outputDiagErrorList, injectorDiagnostic1 )}, green, black, red, black ; indicator = { injectorDiagnostic2 > 1 }, { Injector out 2: bitStringValue(outputDiagErrorList, injectorDiagnostic2 )}, { Injector out 2: bitStringValue(outputDiagErrorList, injectorDiagnostic2 )}, green, black, red, black ; indicator = { injectorDiagnostic3 > 1 }, { Injector out 3: bitStringValue(outputDiagErrorList, injectorDiagnostic3 )}, { Injector out 3: bitStringValue(outputDiagErrorList, injectorDiagnostic3 )}, green, black, red, black ; indicator = { injectorDiagnostic4 > 1 }, { Injector out 4: bitStringValue(outputDiagErrorList, injectorDiagnostic4 )}, { Injector out 4: bitStringValue(outputDiagErrorList, injectorDiagnostic4 )}, green, black, red, black ; indicator = { injectorDiagnostic5 > 1 }, { Injector out 5: bitStringValue(outputDiagErrorList, injectorDiagnostic5 )}, { Injector out 5: bitStringValue(outputDiagErrorList, injectorDiagnostic5 )}, green, black, red, black ; indicator = { injectorDiagnostic6 > 1 }, { Injector out 6: bitStringValue(outputDiagErrorList, injectorDiagnostic6 )}, { Injector out 6: bitStringValue(outputDiagErrorList, injectorDiagnostic6 )}, green, black, red, black ; indicator = { injectorDiagnostic7 > 1 }, { Injector out 7: bitStringValue(outputDiagErrorList, injectorDiagnostic7 )}, { Injector out 7: bitStringValue(outputDiagErrorList, injectorDiagnostic7 )}, green, black, red, black ; indicator = { injectorDiagnostic8 > 1 }, { Injector out 8: bitStringValue(outputDiagErrorList, injectorDiagnostic8 )}, { Injector out 8: bitStringValue(outputDiagErrorList, injectorDiagnostic8 )}, green, black, red, black ; ; dialog = OutputDiagDialog, "Output diagnostic", xAxis ; panel = IgnitionDiagPanel ; panel = InjectionDiagPanel dialog = wotTpsDialog, "", yAxis field = "This curve specifies the TPS needed to reach equivalent of wide open throttle at rpm" field = "this is used to adjust tpsdot for the purposes of acceleration enrichment" field = "no TPS acceleration enrichment above this value" panel = wotTpsCurve dialog = canButtonList1 field = "ID FUNCTION" field = "0 = ETB_MAP_UP next map " field = "1 = ETB_MAP_DOWN previous map " field = "2 = ETB_MAP_RESET reset to default " field = "3 = ETB_MAP_1 #1 " field = "4 = ETB_MAP_2 #2 " field = "5 = ETB_MAP_3 #3 " field = "6 = ETB_MAP_4 #4 " field = "7 = AFR_TRIM_UP (leaner) " field = "8 = AFR_TRIM_DOWN (richer) " field = "9 = AFR_TRIM_RESET reset " field = "10 = AFR_TRIM_MAX (leanest) " field = "11 = AFR_TRIM_MIN (richest) " field = "12 = ALL_TRIM_RESET ( reset ALL trims and toggles except ones marked below ) " field = "13 = CAN_BUTTON_TOGGLE1 - launch control override " field = "14 = CAN_BUTTON_TOGGLE2 - dfco invert " field = "15 = CAN_BUTTON_TOGGLE3 - canbox idleup " field = "16 = CAN_BUTTON_TOGGLE4 - air conditioning " field = "17 = CAN_BUTTON_TOGGLE5 - antilag " field = "18 = CAN_BUTTON_TOGGLE6 - traction control invert " field = "19 = CAN_BUTTON_TOGGLE7 " field = "20 = CAN_BUTTON_TOGGLE8 " field = "21 = CAN_LUA_COMMAND_1 " field = "22 = CAN_LUA_COMMAND_2 " field = "23 = CAN_LUA_COMMAND_3 " field = "24 = CAN_LUA_COMMAND_4 " field = "55 = CANBUS_KB_1_D0 " field = "56 = CANBUS_KB_1_D1 " field = "57 = CANBUS_KB_1_D2 " field = "58 = CANBUS_KB_1_D3 " field = "59 = CANBUS_KB_1_D4 " field = "60 = CANBUS_KB_1_D5 " field = "61 = CANBUS_KB_1_D6 " field = "62 = CANBUS_KB_1_D7 " field = "63 = CANBUS_KB_1_D8 " field = "64 = CANBUS_KB_1_D9 " field = "65 = CANBUS_KB_1_D10 " field = "66 = CANBUS_KB_1_D11 " field = "67 = CANBUS_KB_1_D12 " field = "68 = CANBUS_KB_1_D13 " field = "69 = CANBUS_KB_1_D14 " field = "70 = CANBUS_KB_1_D15 " dialog = canButtonList2 field = "25 = TRAC_TRIM_UP - make slip higher = more traction control intervention " field = "26 = TRAC_TRIM_DOWN - make slip lower = LESS traction control intervention " field = "27 = TRAC_TRIM_RESET - reset trac trim " field = "28 = TRAC_TRIM_MAX - make slip highest = MAX traction control intervention " field = "29 = TRAC_TRIM_MIN - make slip lowest = MIN traction control intervention (not off)" field = "30 = TRAC_TRIM_PRESET_1 - trac preset 1 adjustment" field = "31 = TRAC_TRIM_PRESET_2 - trac preset 2 adjustment" field = "32 = TRAC_TRIM_PRESET_3 - trac preset 3 adjustment" field = "33 = TRAC_TRIM_PRESET_4 - trac preset 4 adjustment" field = "34 = CAN_BUTTON_TOGGLE9 " field = "35 = CAN_BUTTON_TOGGLE10 " field = "36 = CAN_BUTTON_TOGGLE11 " field = "37 = CAN_BUTTON_TOGGLE12 " field = "38 = CAN_BUTTON_TOGGLE13 " field = "39 = CAN_BUTTON_TOGGLE14 " field = "40 = CAN_BUTTON_TOGGLE15 " field = "41 = CAN_BUTTON_TOGGLE16 " field = "42 = BLEND_VE_1_TOGGLE " field = "43 = BLEND_VE_2_TOGGLE " field = "44 = BLEND_IGN_1_TOGGLE " field = "45 = BLEND_IGN_2_TOGGLE " field = "46 = BLEND_AFR_1_TOGGLE " field = "47 = BLEND_CLBOOST_1_TOGGLE " field = "48 = BLEND_OLBOOST_1_TOGGLE " field = "49 = CRUISE_CONTROL_ENABLE " field = "50 = CRUISE_CONTROL_ON_SET_SPEED " field = "51 = CRUISE_CONTROL_OFF " field = "52 = CRUISE_CONTROL_RESUME " field = "53 = CRUISE_CONTROL_INC " field = "54 = CRUISE_CONTROL_DEC " dialog = canButtonList3 field = "" dialog = canButtonList0 runtimeValue = "Last button ID lookup", lastCanButtonFoundIdx runtimeValue = "Last button pressed", lastCanButtonSeen field = "Do not reset LAUNCH OVERRIDE", resetCanToggleInhibit2 field = "Do not reset DFCO INVERT", resetCanToggleInhibit1 field = "Do not reset CAN box idle-up", resetCanToggleInhibit3 field = "Do not reset AIR CONDITIONING", resetCanToggleInhibit4 field = "Do not reset ANTILAG", resetCanToggleInhibit5 field = "Do not reset TRAC", resetCanToggleInhibit6 field = "Do not reset TOGGLE7", resetCanToggleInhibit7 field = "Do not reset TOGGLE8", resetCanToggleInhibit8 field = "" field = "" field = "" field = "" field = "" field = "" field = "" dialog = buttonBoxCmdCurvePanel, "", yAxis panel = buttonBoxCmdCurve dialog = canButtonConfig, "Can Button Config", xAxis panel = canButtonList0 panel = canButtonList1 panel = canButtonList2 panel = canButtonList3 panel = buttonBoxCmdCurvePanel dialog = mcp3208setup, "MCP3208 ADC devices" field = "SPI Device", mcp3208spidevice field = "SPI Chip Select1", mcp3208spidevice_1cs field = "SPI Chip Select2", mcp3208spidevice_2cs field = "SPI Chip Select3", mcp3208spidevice_3cs field = "voltage divider", mcp3208divider field = "vref", mcp3208vref dialog = deadtimetune, "Injector Deadtime Tuning" field = "Enable deadtime tuning cycle", dtTuneCycleFuel field = "Use sequential", dtTuneSequential field = "Use batch", dtTuneBatch field = "Use simultaneous", dtTuneSimultaneous field = "Cycles", dtTuneCycles field = "Min RPM", dtTuneMinRpm #if LAMBDA #else dialog = afrTableTblDlg, "AFR target table" field = "14.7 here actually means 1 lambda. Please switch to lambda display mode in project properties for better experience" runtimeValue = "calculated stoichiometric air fuel ratio, 14.7 in this table means this AFR ------>", stoichiometricRatio panel = afrTableTbl #endif dialog = IdleTimingTargetErrorDialog panel = idleTimingTargetErrorCRV ;dialog = ltftBank1TblDLG, "Long Term Fuel Trim Bank 1 - ACTIVE" ; field = "This is Bank1 ACTIVE long term fuel trim. Corrections come from this table" ; commandButton = "Save Active LTFT to Backup", cmd_backup_ltft ; panel = ltftBank1Tbl ; ;dialog = ltftBank2TblDLG, "Long Term Fuel Trim Bank 2 - ACTIVE" ; field = "This is Bank2 ACTIVE long term fuel trim. Corrections come from this table" ; commandButton = "Save Active LTFT to Backup", cmd_backup_ltft ; panel = ltftBank2Tbl dialog = ltftBank1TblBKDLG, "Long Term Fuel Trim Bank 1 - BACKUP" field = "This is Bank1 BACKUP Long Term Fuel Trim. On ECU boot, this is copied into ACTIVE table." commandButton = "Save Active LTFT to Backup", cmd_backup_ltft panel = ltftBank1TblBK dialog = ltftBank2TblBKDLG, "Long Term Fuel Trim Bank 2 - BACKUP" field = "This is Bank2 BACKUP Long Term Fuel Trim. On ECU boot, this is copied into ACTIVE table." commandButton = "Save Active LTFT to Backup", cmd_backup_ltft panel = ltftBank2TblBK dialog = IgnitionTableDialog, "" ; panel = ignitionTableIndicators panel = ignitionTableTbl dialog = sparkHardwareLatencyCorrectionCurveCurveDialog field = "This is correction in DEGREES by RPM, this is directly added to ignition advance, this is dangerous" panel = sparkHardwareLatencyCorrectionCurveCurve indicatorPanel = cruiseControlIndicatorsPanel, 5 indicator = { !cc_unsafe }, "Unsafe", "Safe", red, black, green, black indicator = { !cc_warning }, "Warning", "No Warning", yellow, black, green, black indicator = { !cc_disabled }, "Disabled", "Enabled" , red, black, green, black indicator = { !cc_off }, "Off", "On" , red, black, green, black ; indicator = { !cc_armed && cc_engaged }, "On", "Disarmed", green, black, red, black indicator = { !cc_engaged }, "Engaged", "Disengaged", green, black, yellow, black indicator = { !cc_dfcoinhibit }, "DFCO Inhibit", "DFCO Not Inhibit", green, black, green, black indicator = { !cc_overspeed }, "Overspeed", "Safe Speed Over", red, black, green, black indicator = { !cc_underspeed }, "Underspeed", "Safe Speed Under", red, black, green, black indicator = { !cc_overrpm }, "Overrpm", "Safe RPM Over", red, black, green, black indicator = { !cc_underrpm }, "Underrpm", "Safe RPM Under", red, black, green, black indicator = { !cc_overtps }, "Overtps", "Safe TPS", red, black, green, black indicator = { !cc_badtps }, "Badtps", "Good TPS", red, black, green, black indicator = { !cc_badpedal }, "Badpedal", "Good Pedal", red, black, green, black indicator = { !cc_overpedal }, "Overpedal", "Safe Pedal Keep", red, black, green, black indicator = { !cc_maxpedal }, "Maxpedal", "Safe Pedal Max", red, black, green, black indicator = { !cc_overspeedband }, "Overspeedband", "Safe Band Speed Over", red, black, green, black indicator = { !cc_underspeedband }, "Underspeedband", "Safe Band Speed Under", red, black, green, black indicator = { !cc_overrpmband }, "Overrpmband", "Safe RPM Over", red, black, green, black indicator = { !cc_underrpmband }, "Underrpmband", "Safe RPM Under", red, black, green, black indicator = { !cc_accdec_period }, "Acc/dec pending", "Acc/dec Not pending", red, black, green, black indicator = { !cc_disarm_pending }, "Disarm Pending", "Disarm Not Pending", red, black, green, black indicator = { !cc_pedal_release_pending }, "Pedal release pending", "Pedal release Not pending", red, black, green, black indicator = { !cc_close_to_limit }, "Close to ETB limit", "Not close to ETB limit", yellow, black, green, black indicator = { !cc_pedal_latched }, "Pedal latched", "Pedal not latched", green, black, yellow, black indicator = { !cc_in_deadband }, "In deadband", "Not in deadband", green, black, yellow, black indicator = { !cc_recent_cut }, "Recent Cut", "Not recent cut", red, black, green, black indicator = { !cc_noetb }, "No ETB", "ETB Available", red, black, green, black indicator = { !cc_brake }, "Brake", "Not Brake", red, black, green, black indicator = { !cc_clutch_down }, "Clutch Down", "Not Clutch Down", red, black, green, black indicator = { !cc_clutch_up }, "Not Clutch Up", "Clutch Up", red, black, green, black readoutPanel = cruiseControlReadoutPanel, 1 readout = cc_cruiseState, "Cruise Control State", "", 0, 0, 0, 0, 9999999999, 9999999999, 0, 0 readout = cc_error_speed, "Speed Error", "", 0, 0, 0, 0, 9999999999, 9999999999, 3, 2 readout = cc_error_rpm, "RPM Error", "", 0, 0, 0, 0, 9999999999, 9999999999, 0, 0 readout = cc_etb_target, "ETB Target", "", 0, 0, 0, 0, 9999999999, 9999999999, 3, 2 readout = cc_etb_from_engine, "ETB from Pedal -> ETB ", "", 0, 0, 0, 0, 9999999999, 9999999999, 2, 2 readout = cc_adjustment, "ETB Adjustment", "", 0, 0, 0, 0, 9999999999, 9999999999, 3, 2 readout = cc_pedalAtEngagePct, "Cruise Control Pedal At Engage Pct", "", 0, 0, 0, 0, 9999999999, 9999999999, 3, 2 readout = cc_tpsSetpoint, "Cruise Control TPS Setpoint", "", 0, 0, 0, 0, 9999999999, 9999999999, 3, 2 readout = cc_setpoint_speed, "Cruise Control Setpoint Speed", "", 0, 0, 0, 0, 9999999999, 9999999999, 3, 2 dialog = cruiseControlStateDialog, "Cruise Control State" panel = cruiseControlReadoutPanel panel = cruiseControlIndicatorsPanel ; runtimeValue = "Cruise Control State", cc_cruiseState ; runtimeValue = "Cruise Control Error Speed", cc_error_speed ; runtimeValue = "Cruise Control Error RPM", cc_error_rpm ; runtimeValue = "Cruise Control ETB Target", cc_etb_target ; runtimeValue = "Cruise Control ETB Adjustment", cc_adjustment ; runtimeValue = "Cruise Control Pedal At Engage Pct", cc_pedalAtEngagePct ; runtimeValue = "Cruise Control TPS Setpoint", cc_tpsSetpoint ; runtimeValue = "Cruise Control Setpoint Speed", cc_setpoint_speed dialog = cruise_control_buttons, "Cruise Control Buttons (GPIO)" field = "Enable Button Pin", cruiseControlEnablePin field = "Enable Button Mode", cruiseControlEnablePinMode, {cruiseControlEnablePin} field = "Enable Pin Inverted", cruiseControlEnablePinInverted, {cruiseControlEnablePin} field = "" field = "Set/Engage Button Pin", cruiseControlSetPin field = "Set Button Mode", cruiseControlSetPinMode, {cruiseControlSetPin} field = "Set Pin Inverted", cruiseControlSetPinInverted, {cruiseControlSetPin} field = "" field = "Resume Button Pin", cruiseControlResumePin field = "Resume Button Mode", cruiseControlResumePinMode, {cruiseControlResumePin} field = "Resume Pin Inverted", cruiseControlResumePinInverted, {cruiseControlResumePin} field = "" field = "Increase Button Pin", cruiseControlIncPin field = "Inc Button Mode", cruiseControlIncPinMode, {cruiseControlIncPin} field = "Inc Pin Inverted", cruiseControlIncPinInverted, {cruiseControlIncPin} field = "" field = "Decrease Button Pin", cruiseControlDecPin field = "Dec Button Mode", cruiseControlDecPinMode, {cruiseControlDecPin} field = "Dec Pin Inverted", cruiseControlDecPinInverted, {cruiseControlDecPin} field = "" field = "Off/Cancel Button Pin", cruiseControlOffPin field = "Off Button Mode", cruiseControlOffPinMode, {cruiseControlOffPin} field = "Off Pin Inverted", cruiseControlOffPinInverted, {cruiseControlOffPin} dialog = cruiseControlSettingsDialog, "Settings" field = "Cruise Control Enabled", cruiseControlEnabled field = "Use Vehicle Speed", cruiseControlUseVehicleSpeed, {cruiseControlEnabled} field = "'Enable' Toggles ON/OFF", cruiseControlEnableTogglesState, {cruiseControlEnabled} field = "Inhibit DFCO", cruiseControlInhibitDFCO, {cruiseControlEnabled} field = "Smooth ETB Adjustment", cruiseControlAverageAdjustment, {cruiseControlEnabled} field = "Smooth ETB average factor (0.1 probably best to start)", cc_smooth_exp_average, {cruiseControlEnabled && cruiseControlAverageAdjustment == 1} field = "Allow pedal up to Engage Pedal Level in Cruise", cruiseControlAllowPedalUpToEngage, {cruiseControlEnabled} field = "Use Clutch Down Pedal to cancel cruise", cruiseControlReadClutchPedal, {cruiseControlEnabled} field = "Use Clutch Up to cancel cruise", cruiseControlReadClutchUp, {cruiseControlEnabled} field = "Use Brake Pedal to cancel cruise", cruiseControlReadBrakePedal, {cruiseControlEnabled} dialog = cruiseControlDisengageConditionsDialog, "Safety Conditions" field = "MAX ETB will be ever commanded to open to match setpoint", cc_max_soft_etb, {cruiseControlEnabled} field = "Max Accelerator Pedal allowed (50% recommended)", cc_maxThrottlePedalAllowedToEngage, {cruiseControlEnabled} field = "Max accelerator pedal once CC active and pedal released (5% recommended)", cc_maxThrottlePedalAllowedToStayEngaged, {cruiseControlEnabled} field = "Time to release pedal to keep safety true (2 seconds recommended)", cc_pedal_release_seconds, {cruiseControlEnabled} field = "HARD Max Throttle Opening (75% recommended)", cc_unsafeTps, {cruiseControlEnabled} field = "Max Engine RPM (4000 recommended)", cc_maxRpm, {cruiseControlEnabled} field = "Min Engine RPM (1000 recommended)", cc_minRpm, {cruiseControlEnabled} field = "Max Vehicle Speed (120 recommended)", cc_maxSpeed, {cruiseControlEnabled && cruiseControlUseVehicleSpeed} field = "Min Vehicle Speed (10 recommended)", cc_minSpeed, {cruiseControlEnabled && cruiseControlUseVehicleSpeed} field = "Acceleration/Deceleration request timeout (INC/DEC/RESUME)", cc_accdec_request_timeout, {cruiseControlEnabled} field = "Engine RPM Over Target (350 recommended)", cc_rpmBandHigh, {cruiseControlEnabled} field = "Engine RPM Under Target (350 recommended)", cc_rpmBandLow, {cruiseControlEnabled} field = "Vehicle Speed Over Target (5 recommended)", cc_speedBandHigh, {cruiseControlEnabled && cruiseControlUseVehicleSpeed} field = "Vehicle Speed Under Target (5 recommended)", cc_speedBandLow, {cruiseControlEnabled && cruiseControlUseVehicleSpeed} dialog = cruiseControlAdjustmentConditionsDialog, "Adjustment Conditions" field = "Proportional gain for RPM error - 0.0000 to 10 (0.1 recommended)", cc_proportionalGainRPM, {cruiseControlEnabled} field = "Proportional gain for SPEED error - 0.0000 to 10 (1 recommended)", cc_proportionalGainSPEED, {cruiseControlEnabled && cruiseControlUseVehicleSpeed} field = "Max ETB adjustment from setpoint (open) - 0 to 100 (30 recommended)", cc_maxEtbAdjustmentOpen, {cruiseControlEnabled} field = "Max ETB adjustment from setpoint (close) - 0 to 100 (30 recommended)", cc_maxEtbAdjustmentClose, {cruiseControlEnabled} field = "RPM deadband high (40 recommended)", cc_rpmDeadBandHigh, {cruiseControlEnabled} field = "RPM deadband low (40 recommended)", cc_rpmDeadBandLow, {cruiseControlEnabled} field = "Speed deadband high (0.9 recommended)", cc_speedDeadBandHigh, {cruiseControlEnabled && cruiseControlUseVehicleSpeed} field = "Speed deadband low (0.9 recommended)", cc_speedDeadBandLow, {cruiseControlEnabled && cruiseControlUseVehicleSpeed} field = "KMH step (INC/DEC) (1 recommended)", cc_kmhstep, {cruiseControlEnabled && cruiseControlUseVehicleSpeed} field = "RPM step (INC/DEC) (100 recommended)", cc_rpmstep, {cruiseControlEnabled} field = "Setpoint adjust rate 0.000001 to 0.000255, 0 to disable (0.000020 recommended)", cc_setpoint_adjust_rate, {cruiseControlEnabled} dialog = cruiseControlDialogLeft, "", yAxis panel = cruiseControlSettingsDialog panel = cruiseControlDisengageConditionsDialog panel = cruiseControlAdjustmentConditionsDialog dialog = cruiseControlDialog, "Cruise Control", xAxis panel = cruiseControlDialogLeft panel = cruiseControlStateDialog ; Injector Advance Assist dialog dialog = injAdvAssistDialog, "Injector Advance Assist" field = "since these values are ATDC, -360 is previous TDC to ignition events, and so is 360, -360 and 360 are the same position for injection advance settings" field = "Enable", injAdvAssistEnabled field = "Degrees per step", injAdvAssistStepDeg, {injAdvAssistEnabled} field = "Cycles per step", injAdvAssistStepCycles, {injAdvAssistEnabled} field = "Min RPM", injAdvAssistMinRpm, {injAdvAssistEnabled} field = "Max RPM", injAdvAssistMaxRpm, {injAdvAssistEnabled} field = "Ranges for these are -720 to 720 give flexibility to testing" field = "Start Retard (deg)", injAdvAssistStartDeg, {injAdvAssistEnabled} field = "End Retard (deg)", injAdvAssistEndDeg, {injAdvAssistEnabled} dialog = assistedEtbTuningDialog, "Assisted ETB Tuning" field = "Enable", assistedEtbTuningEnabled field = "Wave Type", assistedEtbWaveType field = "Rotate wave", assistedEtbRotate field = "Minimum ETB target", assistedEtbMinPct field = "Maximum ETB target", assistedEtbMaxPct field = "Wave period", assistedEtbPeriodSec field = "Iterations before rotation", assistedEtbRotateIterations field = "Abort if driver PPS exceeds", assistedEtbMaxAllowedPpsPct field = "Abort if VBatt below", assistedEtbMinBatteryVoltage field = "Window to consider settled", assistedEtbSettleWindowSec field = "Window to measure rise time", assistedEtbRiseWindowSec dialog = hondaKDialog, "Honda K" field = "CLT Gauge Adder", hondaKcltGaugeAdder field = "Use Honda K for AC switch", use_honda_k_ac field = "K line AC debounce time", klineAcDebounceTime field = "K-Line Do Honda Send", kLineDoHondaSend field = "K-Line Baud Rate", kLineBaudRate field = "K-Line Period Us", kLinePeriodUs field = "K-Line Verbose", verboseKLine field = "K-Line Honda", hondaK field = "Send different kvalue[0] / kvalue[1] every X sends", hondaK_blipSends field = "K-Line battery light on kvalue[2]", hondaK_batLightOn field = "K-Line battery light off kvalue[2]", hondaK_batLightOff field = "K-Line battery light on below V, engine off", hondaK_battery_threshold field = "K-Line battery light on below V, engine on", hondaK_battery_thresholdEngineOn field = "K-Line battery V hysteresis", hondaK_battery_hysteresis field = "K-Line battery V average exp", batteryAverageExp field = "Kline value overrides for testing, overridden if > 0" field = "K-Line kvalues[0]", hondaK_kvalues0 field = "K-Line kvalues[1]", hondaK_kvalues1 field = "K-Line kvalues[2] battery light", hondaK_kvalues2 field = "K-Line kvalues[3] clt ", hondaK_kvalues3 field = "K-Line kvalues[4]", hondaK_kvalues4 field = "K-Line kvalues[5]", hondaK_kvalues5 field = "K-Line kvalues[6]", hondaK_kvalues6 field = "K-Line kvalues[7]", hondaK_kvalues7 dialog = checkEngineLightDialog1, "", yAxis field = "Output", malfunctionIndicatorPin field = "Output mode", malfunctionIndicatorPinMode, {malfunctionIndicatorPin != 0} runtimeValue = "Main Check Engine", checkEngine commandButton = "Test Check Engine Indicator", cmd_test_check_engine_light, {malfunctionIndicatorPin != 0} field = "Error Codes Checking", cel_error_codes_checking runtimeValue = "Error Codes", cel_error_codes runtimeValue = "Total Error Codes", cel_error_codes_count field = "Sensor Checking", cel_sensor_checking field = "Light When Engine Is Not Running", cel_on_not_running runtimeValue = "Engine Not Running", cel_engine_not_running field = "Time after start to turn off CEL", cel_time_after_start, {cel_on_not_running} runtimeValue = "Engine Started", cel_engine_started, {cel_on_not_running} field = "#MAP Sensor Check", cel_map_sensor_checking runtimeValue = "RAW MAP", rawMap runtimeValue = "CEL MAP", cel_map field = "Minimum Voltage", cel_map_min_v field = "Maximum Voltage", cel_map_max_v field = "#IAT Sensor Check", cel_iat_sensor_checking runtimeValue = "RAW IAT", rawIat runtimeValue = "CEL IAT", cel_iat2 field = "Minimum Voltage", cel_iat_min_v field = "Maximum Voltage", cel_iat_max_v field = "Maximum IAT C", cel_iat_max_c field = "#CLT Sensor Check", cel_clt_sensor_checking runtimeValue = "RAW CLT", rawClt runtimeValue = "CEL CLT", cel_clt field = "Minimum Voltage", cel_clt_min_v field = "Maximum Voltage", cel_clt_max_v field = "Maximum CLT C", cel_clt_max_c dialog = checkEngineLightDialog2, "", yAxis field = "#TPS Check", cel_tps_sensor_checking runtimeValue = "RAW TPS", rawTps1Primary runtimeValue = "CEL TPS", cel_tps field = "Minimum Voltage", cel_tps_min_v field = "Maximum Voltage", cel_tps_max_v field = "#Battery Check", cel_battery_sensor_checking runtimeValue = "RAW BATT", VBatt runtimeValue = "CEL BATT", cel_batv field = "Minimum Voltage", cel_battery_minv field = "Maximum Voltage", cel_battery_maxv field = "#Analog EGO1 Sensor Check", cel_afr0_sensor_checking runtimeValue = "RAW AFR", rawAfr runtimeValue = "CEL AFR", cel_afr field = "Minimum Voltage", cel_afr_min_v field = "Maximum Voltage", cel_afr_max_v field = "#Sync-Loss Check", cel_sync_loss_sensor_checking field = "No. Sync Losses Allowed", cel_sync_loss_tolerance runtimeValue = "Total Trigger Error Counter", totalTriggerErrorCounter runtimeValue = "Trigger Error", cel_trigger_error field = "#Fuel Pump Prime Check", cel_fuel_pump_prime_checking runtimeValue = "Fuel Pump Prime", cel_fuel_pump_prime dialog = checkEngineLightDialog3, "", yAxis field = "#Oil Temp Sensor Check", cel_oil_temp_sensor_checking runtimeValue = "RAW Oil Temp", rawOilTemperature runtimeValue = "CEL Oil Temp", cel_oil_temp field = "Minimum Voltage", cel_oil_temp_min_v field = "Maximum Voltage", cel_oil_temp_max_v field = "Maximum Oil Temp C", cel_oil_temp_max_c field = "#Oil Pressure Sensor Check", cel_oil_pressure_sensor_checking runtimeValue = "RAW Oil Pressure", rawOilPressure runtimeValue = "CEL Oil Pressure", cel_oil_pressure field = "Minimum Voltage", cel_oil_pressure_min_v field = "Maximum Voltage", cel_oil_pressure_max_v field = "Minimum Oil Pressure(kpa)", cel_oil_pressure_min_kpa field = "#Fuel Pressure Sensor Check", cel_fuel_pressure_sensor_checking runtimeValue = "RAW Fuel Pressure", rawLowFuelPressure runtimeValue = "CEL Fuel Pressure", cel_fuel_pressure field = "Minimum Voltage", cel_fuel_pressure_min_v field = "Maximum Voltage", cel_fuel_pressure_max_v field = "#MAF Sensor Check", cel_maf_sensor_checking runtimeValue = "RAW MAF", rawMaf runtimeValue = "CEL MAF", cel_maf field = "Minimum Voltage", cel_maf_min_v field = "Maximum Voltage", cel_maf_max_v field = "#Any Cut Check (fuel/spark) ", cel_any_cut_checking field = "Time after cut to turn off CEL", cel_any_cut_time runtimeValue = "Any Cut", cel_any_cut field = "#Shift Light Check", cel_shiftlight_checking field = "Turn on CEL as a shift light at this RPM", cel_shiftlight_threshold field = "Hysteresis for the CEL As Shift Light", cel_shiftlight_threshold_hysteresis field = "Only activate CEL as shiftlight above this TPS", cel_shiftlight_tps_threshold field = "Flash Mode", cel_shiftlight_flash, {cel_shiftlight_checking} field = "Flash Frequency", cel_shiftlight_flash_freq, {cel_shiftlight_checking && cel_shiftlight_flash} runtimeValue = "Shift Light", cel_shiftlight dialog = checkEngineLightDialog, "Check Engine Light", xAxis panel = checkEngineLightDialog1, West panel = checkEngineLightDialog2, Center panel = checkEngineLightDialog3, East dialog = can_frame_matcher_left, "CAN Frame Matcher" ; Configuration field = "Enable CAN Matcher", canMatchEnabled field = "Keycode Offset", canMatchKeycodeOffset, {canMatchEnabled} field = "" field = "Negative Filter ID 1", canMatchNegFilterId1 field = "Negative Filter ID 2", canMatchNegFilterId2 field = "Negative Filter ID 3", canMatchNegFilterId3 field = "Negative Filter ID 4", canMatchNegFilterId4 field = "Positive Filter ID 1", canMatchPosFilterId1 ; Last frame display (always updating) field = "=== Last CAN Frame Captured ===" runtimeValue = "CAN ID (dec)", lastCanFrameId runtimeValue = "Byte 0", lastCanFrameData0 runtimeValue = "Byte 1", lastCanFrameData1 runtimeValue = "Byte 2", lastCanFrameData2 runtimeValue = "Byte 3", lastCanFrameData3 runtimeValue = "Byte 4", lastCanFrameData4 runtimeValue = "Byte 5", lastCanFrameData5 runtimeValue = "Byte 6", lastCanFrameData6 runtimeValue = "Byte 7", lastCanFrameData7 runtimeValue = "DLC", lastCanFrameDlc ; Match status field = "=== Last Match Status ===" runtimeValue = "Matched Row ID", lastCanMatchedRow runtimeValue = "Generated Keycode", lastCanMatchedKeycode runtimeValue = "Matches", canMatches field = "" dialog = can_frame_matcher_right, "" field = "0-7 are bytes, 8 is DLC (length)" field = "0 data is ignored" field = "0 ROW ID is ignored" field = "row id is CAN ADDRESS" panel = canMatchTbl, {canMatchEnabled} dialog = can_frame_matcher, "", xAxis panel = can_frame_matcher_left panel = can_frame_matcher_right dialog = universalCamSettings, "Universal Cam", yAxis panel = universalCam1RiseEventsCurve panel = universalCam1FallEventsCurve panel = universalCam2RiseEventsCurve panel = universalCam2FallEventsCurve panel = universalCam1GapFromCurve panel = universalCam1GapToCurve panel = universalCam2GapFromCurve panel = universalCam2GapToCurve field = "Universal Cam1 Teeth Count", universal_cam1_teeth_count field = "Enable trigger synchronization for universal cam 1", universalCam1SyncNeeded field = "Universal Cam2 Teeth Count", universal_cam2_teeth_count field = "Enable trigger synchronization for universal cam 2", universalCam2SyncNeeded field = "Universal Cam1 Gaps", universal_cam1_gaps field = "Universal Cam2 Gaps", universal_cam2_gaps field = "Universal Trigger 1 TDC", universalTrigger1TDC field = "Universal Trigger 2 TDC", universalTrigger2TDC field = "Universal Trigger 1 Sync Edge (see tooltip)", universalTrigger1SyncEdge field = "Universal Trigger 2 Sync Edge (see tooltip)", universalTrigger2SyncEdge dialog = rotIdleDialog, "Rotational Idle" field = "Experimental for now, need more feedback on this, no idle air adder for now" field = "Enable", rotIdleEnabled field = "Pin", rotationalIdlePin field = "Pin Mode", rotationalIdlePinMode field = "Enable automatic engagement", rot_idle_auto_engage field = "Engage rotational idle below this Driver Intent(TPS/PPS)", rot_idle_max_tps field = "Disengage rotational idle above this Driver Intent(TPS/PPS) (0 to disable)", rot_idle_max_tps_global field = "Stop STFT for rotational idle (no fuel trim)", rot_idle_zero_stft field = "Minimum CLT", rot_idle_min_clt field = "Add idle % idle output", rot_idle_add_air field = "Add/Remove air percentage", rot_idle_add_air_percent field = "Override ETB Idle Authority (0 to disable)", rot_idle_override_etb_authority field = "Minimum RPM", rot_idle_min_rpm field = "Maximum RPM", rot_idle_max_rpm field = "adder added to accumulator on each ignition, reset to 0 if max is reached and skip ignition" field = "Accumulator Max 1", rot_idle_acc_max1 field = "Accumulator Adder 1", rot_idle_acc_adder1 field = "Accumulator Max 2", rot_idle_acc_max2 field = "Accumulator Adder 2", rot_idle_acc_adder2 field = "Accumulator Max 3", rot_idle_acc_max3 field = "Accumulator Adder 3", rot_idle_acc_adder3 [Tools] ;addTool = toolName, PanelName addTool = veTableGenerator, "VE Table Generator", veTableTbl #if LAMBDA #else addTool = afrTableGenerator, "AFR Table Generator", afrTableTbl #endif [EventTriggers] triggeredPageRefresh = 1, { triggerPageRefreshFlag } ; timedPageRefresh = 3, { 5000 && LTFTUpdatePage3 } [PortEditor] ; map the arrays and supply the labels. ; all arrays are expected to be the same length in the first dimension ; thus a [ 7] array will be 7 ports in length and expect 7 labels ; The second dimension will drive the number of conditions per array. ; thus a [7x2] array will have 2 conditions joined by the conditionRelationship. ; a [7x3] will have up to 3 conditions. ; 1st the array constant, then the labels in the index order. ; new CAN id, optional if psCanId is set to a valid array equal in size to ;outputOffset, it will be in the UI. ; operator will be sent to the controller ; optional CAN ID of the target controller. ; the actual ASCII value of the ; outputCanId = psCanId portEditor = std_port_edit, "Output port Settings" topicHelp = "http://www.megamanual.com/mt28.htm#sp" enabledPorts = portsEnabled, "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15" operators = prtCnd, "<", "=", ">", "&", "!" threshold = portsThreshold hysteresis = portsHysteresis powerOnValue = portsPowerOnValue triggerValue = portsTriggerValue outputOffset = portsReadOffset outputSize = portsSize portActiveDelay = portsActiveDelay portInactiveDelay = portsInactiveDelay outputName = portsOutputName conditionRelationship = prtCon, " ", "|", "&" activateOption = extendedDataInSize ; Will place sign and type flags in upper nibble of outputSize