diff --git a/firmware/config/boards/subaru_eg33/config/controllers/algo/auto_generated_enums.cpp b/firmware/config/boards/subaru_eg33/config/controllers/algo/auto_generated_enums.cpp deleted file mode 100644 index 66fdf2b9dc..0000000000 --- a/firmware/config/boards/subaru_eg33/config/controllers/algo/auto_generated_enums.cpp +++ /dev/null @@ -1,495 +0,0 @@ -#include "global.h" -#include "rusefi_hw_enums.h" -const char *getGpio(Gpio value){ -switch(value) { -case Gpio::A0: - return "A0"; -case Gpio::A1: - return "A1"; -case Gpio::A10: - return "A10"; -case Gpio::A11: - return "A11"; -case Gpio::A12: - return "A12"; -case Gpio::A13: - return "A13"; -case Gpio::A14: - return "A14"; -case Gpio::A15: - return "A15"; -case Gpio::A2: - return "A2"; -case Gpio::A3: - return "A3"; -case Gpio::A4: - return "A4"; -case Gpio::A5: - return "A5"; -case Gpio::A6: - return "A6"; -case Gpio::A7: - return "A7"; -case Gpio::A8: - return "A8"; -case Gpio::A9: - return "A9"; -case Gpio::B0: - return "B0"; -case Gpio::B1: - return "B1"; -case Gpio::B10: - return "B10"; -case Gpio::B11: - return "B11"; -case Gpio::B12: - return "B12"; -case Gpio::B13: - return "B13"; -case Gpio::B14: - return "B14"; -case Gpio::B15: - return "B15"; -case Gpio::B2: - return "B2"; -case Gpio::B3: - return "B3"; -case Gpio::B4: - return "B4"; -case Gpio::B5: - return "B5"; -case Gpio::B6: - return "B6"; -case Gpio::B7: - return "B7"; -case Gpio::B8: - return "B8"; -case Gpio::B9: - return "B9"; -case Gpio::C0: - return "C0"; -case Gpio::C1: - return "C1"; -case Gpio::C10: - return "C10"; -case Gpio::C11: - return "C11"; -case Gpio::C12: - return "C12"; -case Gpio::C13: - return "C13"; -case Gpio::C14: - return "C14"; -case Gpio::C15: - return "C15"; -case Gpio::C2: - return "C2"; -case Gpio::C3: - return "C3"; -case Gpio::C4: - return "C4"; -case Gpio::C5: - return "C5"; -case Gpio::C6: - return "C6"; -case Gpio::C7: - return "C7"; -case Gpio::C8: - return "C8"; -case Gpio::C9: - return "C9"; -case Gpio::CAN_PIN_0: - return "CAN_PIN_0"; -case Gpio::CAN_PIN_1: - return "CAN_PIN_1"; -case Gpio::CAN_PIN_2: - return "CAN_PIN_2"; -case Gpio::CAN_PIN_3: - return "CAN_PIN_3"; -case Gpio::CAN_PIN_4: - return "CAN_PIN_4"; -case Gpio::CAN_PIN_5: - return "CAN_PIN_5"; -case Gpio::CAN_PIN_6: - return "CAN_PIN_6"; -case Gpio::CAN_PIN_7: - return "CAN_PIN_7"; -case Gpio::D0: - return "D0"; -case Gpio::D1: - return "D1"; -case Gpio::D10: - return "D10"; -case Gpio::D11: - return "D11"; -case Gpio::D12: - return "D12"; -case Gpio::D13: - return "D13"; -case Gpio::D14: - return "D14"; -case Gpio::D15: - return "D15"; -case Gpio::D2: - return "D2"; -case Gpio::D3: - return "D3"; -case Gpio::D4: - return "D4"; -case Gpio::D5: - return "D5"; -case Gpio::D6: - return "D6"; -case Gpio::D7: - return "D7"; -case Gpio::D8: - return "D8"; -case Gpio::D9: - return "D9"; -case Gpio::E0: - return "E0"; -case Gpio::E1: - return "E1"; -case Gpio::E10: - return "E10"; -case Gpio::E11: - return "E11"; -case Gpio::E12: - return "E12"; -case Gpio::E13: - return "E13"; -case Gpio::E14: - return "E14"; -case Gpio::E15: - return "E15"; -case Gpio::E2: - return "E2"; -case Gpio::E3: - return "E3"; -case Gpio::E4: - return "E4"; -case Gpio::E5: - return "E5"; -case Gpio::E6: - return "E6"; -case Gpio::E7: - return "E7"; -case Gpio::E8: - return "E8"; -case Gpio::E9: - return "E9"; -case Gpio::F0: - return "F0"; -case Gpio::F1: - return "F1"; -case Gpio::F10: - return "F10"; -case Gpio::F11: - return "F11"; -case Gpio::F12: - return "F12"; -case Gpio::F13: - return "F13"; -case Gpio::F14: - return "F14"; -case Gpio::F15: - return "F15"; -case Gpio::F2: - return "F2"; -case Gpio::F3: - return "F3"; -case Gpio::F4: - return "F4"; -case Gpio::F5: - return "F5"; -case Gpio::F6: - return "F6"; -case Gpio::F7: - return "F7"; -case Gpio::F8: - return "F8"; -case Gpio::F9: - return "F9"; -case Gpio::G0: - return "G0"; -case Gpio::G1: - return "G1"; -case Gpio::G10: - return "G10"; -case Gpio::G11: - return "G11"; -case Gpio::G12: - return "G12"; -case Gpio::G13: - return "G13"; -case Gpio::G14: - return "G14"; -case Gpio::G15: - return "G15"; -case Gpio::G2: - return "G2"; -case Gpio::G3: - return "G3"; -case Gpio::G4: - return "G4"; -case Gpio::G5: - return "G5"; -case Gpio::G6: - return "G6"; -case Gpio::G7: - return "G7"; -case Gpio::G8: - return "G8"; -case Gpio::G9: - return "G9"; -case Gpio::H0: - return "H0"; -case Gpio::H1: - return "H1"; -case Gpio::H10: - return "H10"; -case Gpio::H11: - return "H11"; -case Gpio::H12: - return "H12"; -case Gpio::H13: - return "H13"; -case Gpio::H14: - return "H14"; -case Gpio::H15: - return "H15"; -case Gpio::H2: - return "H2"; -case Gpio::H3: - return "H3"; -case Gpio::H4: - return "H4"; -case Gpio::H5: - return "H5"; -case Gpio::H6: - return "H6"; -case Gpio::H7: - return "H7"; -case Gpio::H8: - return "H8"; -case Gpio::H9: - return "H9"; -case Gpio::I0: - return "I0"; -case Gpio::I1: - return "I1"; -case Gpio::I10: - return "I10"; -case Gpio::I11: - return "I11"; -case Gpio::I12: - return "I12"; -case Gpio::I13: - return "I13"; -case Gpio::I14: - return "I14"; -case Gpio::I15: - return "I15"; -case Gpio::I2: - return "I2"; -case Gpio::I3: - return "I3"; -case Gpio::I4: - return "I4"; -case Gpio::I5: - return "I5"; -case Gpio::I6: - return "I6"; -case Gpio::I7: - return "I7"; -case Gpio::I8: - return "I8"; -case Gpio::I9: - return "I9"; -case Gpio::Invalid: - return "Invalid"; -case Gpio::MC33810_0_GD_0: - return "MC33810_0_GD_0"; -case Gpio::MC33810_0_GD_1: - return "MC33810_0_GD_1"; -case Gpio::MC33810_0_GD_2: - return "MC33810_0_GD_2"; -case Gpio::MC33810_0_GD_3: - return "MC33810_0_GD_3"; -case Gpio::MC33810_0_OUT_0: - return "MC33810_0_OUT_0"; -case Gpio::MC33810_0_OUT_1: - return "MC33810_0_OUT_1"; -case Gpio::MC33810_0_OUT_2: - return "MC33810_0_OUT_2"; -case Gpio::MC33810_0_OUT_3: - return "MC33810_0_OUT_3"; -case Gpio::MC33810_1_GD_0: - return "MC33810_1_GD_0"; -case Gpio::MC33810_1_GD_1: - return "MC33810_1_GD_1"; -case Gpio::MC33810_1_GD_2: - return "MC33810_1_GD_2"; -case Gpio::MC33810_1_GD_3: - return "MC33810_1_GD_3"; -case Gpio::MC33810_1_OUT_0: - return "MC33810_1_OUT_0"; -case Gpio::MC33810_1_OUT_1: - return "MC33810_1_OUT_1"; -case Gpio::MC33810_1_OUT_2: - return "MC33810_1_OUT_2"; -case Gpio::MC33810_1_OUT_3: - return "MC33810_1_OUT_3"; -case Gpio::MC33972_PIN_1: - return "MC33972_PIN_1"; -case Gpio::MC33972_PIN_10: - return "MC33972_PIN_10"; -case Gpio::MC33972_PIN_11: - return "MC33972_PIN_11"; -case Gpio::MC33972_PIN_12: - return "MC33972_PIN_12"; -case Gpio::MC33972_PIN_13: - return "MC33972_PIN_13"; -case Gpio::MC33972_PIN_14: - return "MC33972_PIN_14"; -case Gpio::MC33972_PIN_15: - return "MC33972_PIN_15"; -case Gpio::MC33972_PIN_16: - return "MC33972_PIN_16"; -case Gpio::MC33972_PIN_17: - return "MC33972_PIN_17"; -case Gpio::MC33972_PIN_18: - return "MC33972_PIN_18"; -case Gpio::MC33972_PIN_19: - return "MC33972_PIN_19"; -case Gpio::MC33972_PIN_2: - return "MC33972_PIN_2"; -case Gpio::MC33972_PIN_20: - return "MC33972_PIN_20"; -case Gpio::MC33972_PIN_21: - return "MC33972_PIN_21"; -case Gpio::MC33972_PIN_22: - return "MC33972_PIN_22"; -case Gpio::MC33972_PIN_3: - return "MC33972_PIN_3"; -case Gpio::MC33972_PIN_4: - return "MC33972_PIN_4"; -case Gpio::MC33972_PIN_5: - return "MC33972_PIN_5"; -case Gpio::MC33972_PIN_6: - return "MC33972_PIN_6"; -case Gpio::MC33972_PIN_7: - return "MC33972_PIN_7"; -case Gpio::MC33972_PIN_8: - return "MC33972_PIN_8"; -case Gpio::MC33972_PIN_9: - return "MC33972_PIN_9"; -case Gpio::TLE6240_PIN_1: - return "TLE6240_PIN_1"; -case Gpio::TLE6240_PIN_10: - return "TLE6240_PIN_10"; -case Gpio::TLE6240_PIN_11: - return "TLE6240_PIN_11"; -case Gpio::TLE6240_PIN_12: - return "TLE6240_PIN_12"; -case Gpio::TLE6240_PIN_13: - return "TLE6240_PIN_13"; -case Gpio::TLE6240_PIN_14: - return "TLE6240_PIN_14"; -case Gpio::TLE6240_PIN_15: - return "TLE6240_PIN_15"; -case Gpio::TLE6240_PIN_16: - return "TLE6240_PIN_16"; -case Gpio::TLE6240_PIN_2: - return "TLE6240_PIN_2"; -case Gpio::TLE6240_PIN_3: - return "TLE6240_PIN_3"; -case Gpio::TLE6240_PIN_4: - return "TLE6240_PIN_4"; -case Gpio::TLE6240_PIN_5: - return "TLE6240_PIN_5"; -case Gpio::TLE6240_PIN_6: - return "TLE6240_PIN_6"; -case Gpio::TLE6240_PIN_7: - return "TLE6240_PIN_7"; -case Gpio::TLE6240_PIN_8: - return "TLE6240_PIN_8"; -case Gpio::TLE6240_PIN_9: - return "TLE6240_PIN_9"; -case Gpio::Unassigned: - return "Unassigned"; - } - return NULL; -} -const char *getAdc_channel_e(adc_channel_e value){ -switch(value) { -case EFI_ADC3_14: - return "EFI_ADC3_14"; -case EFI_ADC3_15: - return "EFI_ADC3_15"; -case EFI_ADC3_4: - return "EFI_ADC3_4"; -case EFI_ADC3_5: - return "EFI_ADC3_5"; -case EFI_ADC3_6: - return "EFI_ADC3_6"; -case EFI_ADC3_7: - return "EFI_ADC3_7"; -case EFI_ADC3_8: - return "EFI_ADC3_8"; -case EFI_ADC3_9: - return "EFI_ADC3_9"; -case EFI_ADC_0: - return "EFI_ADC_0"; -case EFI_ADC_1: - return "EFI_ADC_1"; -case EFI_ADC_10: - return "EFI_ADC_10"; -case EFI_ADC_11: - return "EFI_ADC_11"; -case EFI_ADC_12: - return "EFI_ADC_12"; -case EFI_ADC_13: - return "EFI_ADC_13"; -case EFI_ADC_14: - return "EFI_ADC_14"; -case EFI_ADC_15: - return "EFI_ADC_15"; -case EFI_ADC_2: - return "EFI_ADC_2"; -case EFI_ADC_3: - return "EFI_ADC_3"; -case EFI_ADC_4: - return "EFI_ADC_4"; -case EFI_ADC_5: - return "EFI_ADC_5"; -case EFI_ADC_6: - return "EFI_ADC_6"; -case EFI_ADC_7: - return "EFI_ADC_7"; -case EFI_ADC_8: - return "EFI_ADC_8"; -case EFI_ADC_9: - return "EFI_ADC_9"; -case EFI_ADC_ERROR: - return "EFI_ADC_ERROR"; -case EFI_ADC_LAST_CHANNEL: - return "EFI_ADC_LAST_CHANNEL"; -case EFI_ADC_NONE: - return "EFI_ADC_NONE"; - } - return NULL; -} -const char *getPin_mode_e(pin_mode_e value){ -switch(value) { -case PO_DEFAULT: - return "PO_DEFAULT"; -case PO_OPENDRAIN: - return "PO_OPENDRAIN"; -case PO_PULLDOWN: - return "PO_PULLDOWN"; -case PO_PULLUP: - return "PO_PULLUP"; - } - return NULL; -} diff --git a/firmware/config/boards/subaru_eg33/config/controllers/algo/auto_generated_enums.h b/firmware/config/boards/subaru_eg33/config/controllers/algo/auto_generated_enums.h deleted file mode 100644 index 6f0b4b3b6c..0000000000 --- a/firmware/config/boards/subaru_eg33/config/controllers/algo/auto_generated_enums.h +++ /dev/null @@ -1,7 +0,0 @@ -#include "rusefi_hw_enums.h" -#pragma once -#if __cplusplus -const char *getGpio(Gpio value); -#endif //__cplusplus -const char *getAdc_channel_e(adc_channel_e value); -const char *getPin_mode_e(pin_mode_e value); diff --git a/firmware/config/boards/subaru_eg33/config/controllers/algo/engine_configuration_generated_structures.h b/firmware/config/boards/subaru_eg33/config/controllers/algo/engine_configuration_generated_structures.h deleted file mode 100644 index b7422ea62b..0000000000 --- a/firmware/config/boards/subaru_eg33/config/controllers/algo/engine_configuration_generated_structures.h +++ /dev/null @@ -1,2904 +0,0 @@ -#pragma once -#include "rusefi_types.h" -struct stft_cell_cfg_s { - // % - // offset 0 - int8_t maxAdd; - // % - // offset 1 - int8_t maxRemove; - // Time 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. - // sec - // offset 2 - scaled_channel timeConstant; -}; -static_assert(sizeof(stft_cell_cfg_s) == 4); - -struct stft_s { - // Below this RPM, the idle region is active - // RPM - // offset 0 - scaled_channel maxIdleRegionRpm; - // Below this engine load, the overrun region is active - // load - // offset 1 - uint8_t maxOverrunLoad; - // Above this engine load, the power region is active - // load - // offset 2 - uint8_t minPowerLoad; - // 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. - // % - // offset 3 - scaled_channel deadband; - // Below this temperature, correction is disabled. - // C - // offset 4 - int8_t minClt; - // Below this AFR, correction is paused - // afr - // offset 5 - scaled_channel minAfr; - // Above this AFR, correction is paused - // afr - // offset 6 - scaled_channel maxAfr; - // Delay after starting the engine before beginning closed loop correction. - // seconds - // offset 7 - uint8_t startupDelay; - // offset 8 - stft_cell_cfg_s cellCfgs[STFT_CELL_COUNT]; -}; -static_assert(sizeof(stft_s) == 24); - -struct pid_s { - // offset 0 - float pFactor; - // offset 4 - float iFactor; - // offset 8 - float dFactor; - // Linear addition to PID logic - // offset 12 - int16_t offset; - // PID dTime - // ms - // offset 14 - int16_t periodMs; - // Output Min Duty Cycle - // offset 16 - int16_t minValue; - // Output Max Duty Cycle - // offset 18 - int16_t maxValue; -}; -static_assert(sizeof(pid_s) == 20); - -struct cranking_parameters_s { - // Base mass of the per-cylinder fuel injected during cranking. This is then modified by the multipliers for CLT, IAT, TPS ect, to give the final cranking pulse width. - // A reasonable starting point is 60mg per liter per cylinder. - // ex: 2 liter 4 cyl = 500cc/cyl, so 30mg cranking fuel. - // mg - // offset 0 - float baseFuel; - // This sets the RPM limit below which the ECU will use cranking fuel and ignition logic, typically this is around 350-450rpm. - // RPM - // offset 4 - int16_t rpm; - // offset 6 - uint8_t alignmentFill_at_6[2]; -}; -static_assert(sizeof(cranking_parameters_s) == 8); - -struct gppwm_channel { - // Select a pin to use for PWM or on-off output. - // offset 0 - output_pin_e pin; - // If an error (with a sensor, etc) is detected, this value is used instead of reading from the table. - // This should be a safe value for whatever hardware is connected to prevent damage. - // % - // offset 2 - uint8_t dutyIfError; - // offset 3 - uint8_t alignmentFill_at_3[1]; - // Select a frequency to run PWM at. - // Set this to 0hz to enable on-off mode. - // hz - // offset 4 - uint16_t pwmFrequency; - // Hysteresis: in on-off mode, turn the output on when the table value is above this duty. - // % - // offset 6 - uint8_t onAboveDuty; - // Hysteresis: in on-off mode, turn the output off when the table value is below this duty. - // % - // offset 7 - uint8_t offBelowDuty; - // Selects the Y axis to use for the table. - // offset 8 - gppwm_channel_e loadAxis; - // Selects the X axis to use for the table. - // offset 9 - gppwm_channel_e rpmAxis; - // load - // offset 10 - scaled_channel loadBins[GPPWM_LOAD_COUNT]; - // RPM - // offset 26 - int16_t rpmBins[GPPWM_RPM_COUNT]; - // duty - // offset 42 - scaled_channel table[GPPWM_RPM_COUNT][GPPWM_LOAD_COUNT]; - // offset 106 - uint8_t alignmentFill_at_106[2]; -}; -static_assert(sizeof(gppwm_channel) == 108); - -struct air_pressure_sensor_config_s { - // kPa value at low volts - // kpa - // offset 0 - float lowValue; - // kPa value at high volts - // kpa - // offset 4 - float highValue; - // offset 8 - air_pressure_sensor_type_e type; - // offset 9 - adc_channel_e hwChannel; - // offset 10 - uint8_t alignmentFill_at_10[2]; -}; -static_assert(sizeof(air_pressure_sensor_config_s) == 12); - -struct MAP_sensor_config_s { - // offset 0 - float samplingAngleBins[MAP_ANGLE_SIZE]; - // MAP averaging sampling start crank degree angle - // deg - // offset 32 - float samplingAngle[MAP_ANGLE_SIZE]; - // offset 64 - float samplingWindowBins[MAP_WINDOW_SIZE]; - // MAP averaging angle crank degree duration - // deg - // offset 96 - float samplingWindow[MAP_WINDOW_SIZE]; - // offset 128 - air_pressure_sensor_config_s sensor; -}; -static_assert(sizeof(MAP_sensor_config_s) == 140); - -struct thermistor_conf_s { - // these values are in Celcius - // *C - // offset 0 - scaled_channel tempC_1; - // *C - // offset 4 - scaled_channel tempC_2; - // *C - // offset 8 - scaled_channel tempC_3; - // Ohm - // offset 12 - scaled_channel resistance_1; - // Ohm - // offset 16 - scaled_channel resistance_2; - // Ohm - // offset 20 - scaled_channel resistance_3; - // Pull-up resistor value on your board - // Ohm - // offset 24 - scaled_channel bias_resistor; -}; -static_assert(sizeof(thermistor_conf_s) == 28); - -struct linear_sensor_s { - // offset 0 - adc_channel_e hwChannel; - // offset 1 - uint8_t alignmentFill_at_1[3]; - // volts - // offset 4 - float v1; - // kPa - // offset 8 - float value1; - // volts - // offset 12 - float v2; - // kPa - // offset 16 - float value2; -}; -static_assert(sizeof(linear_sensor_s) == 20); - -struct ThermistorConf { - // offset 0 - thermistor_conf_s config; - // offset 28 - adc_channel_e adcChannel; - // offset 29 - uint8_t alignmentFill_at_29[3]; -}; -static_assert(sizeof(ThermistorConf) == 32); - -struct injector_s { - // This is your injector flow at the fuel pressure used in the vehicle. cc/min, cubic centimetre per minute - // By the way, g/s = 0.125997881 * (lb/hr) - // g/s = 0.125997881 * (cc/min)/10.5 - // g/s = 0.0119997981 * cc/min - // cm3/min - // offset 0 - float flow; - // volts - // offset 4 - scaled_channel battLagCorrBins[VBAT_INJECTOR_CURVE_SIZE]; - // ms delay between injector open and close dead times - // ms - // offset 20 - scaled_channel battLagCorr[VBAT_INJECTOR_CURVE_SIZE]; -}; -static_assert(sizeof(injector_s) == 36); - -struct trigger_config_s { - // https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers - // offset 0 - trigger_type_e type; - // number - // offset 4 - int customTotalToothCount; - // number - // offset 8 - int customSkippedToothCount; -}; -static_assert(sizeof(trigger_config_s) == 12); - -struct afr_sensor_s { - // offset 0 - adc_channel_e hwChannel; - // offset 1 - adc_channel_e hwChannel2; - // volts - // offset 2 - scaled_channel v1; - // AFR - // offset 4 - scaled_channel value1; - // volts - // offset 6 - scaled_channel v2; - // AFR - // offset 8 - scaled_channel value2; - // offset 10 - uint8_t alignmentFill_at_10[2]; -}; -static_assert(sizeof(afr_sensor_s) == 12); - -struct idle_hardware_s { - // Hz - // offset 0 - int solenoidFrequency; - // offset 4 - output_pin_e solenoidPin; - // offset 6 - Gpio stepperDirectionPin; - // offset 8 - Gpio stepperStepPin; - // offset 10 - pin_output_mode_e solenoidPinMode; - // offset 11 - uint8_t alignmentFill_at_11[1]; -}; -static_assert(sizeof(idle_hardware_s) == 12); - -struct dc_io { - // offset 0 - Gpio directionPin1; - // offset 2 - Gpio directionPin2; - // Acts as EN pin in two-wire mode - // offset 4 - Gpio controlPin; - // offset 6 - Gpio disablePin; -}; -static_assert(sizeof(dc_io) == 8); - -struct vr_threshold_s { - // rpm - // offset 0 - scaled_channel rpmBins[6]; - // volts - // offset 6 - scaled_channel values[6]; - // offset 12 - Gpio pin; - // offset 14 - uint8_t alignmentFill_at_14[2]; -}; -static_assert(sizeof(vr_threshold_s) == 16); - -struct engine_configuration_s { - // http://rusefi.com/wiki/index.php?title=Manual:Engine_Type - // offset 0 - engine_type_e engineType; - // Disable sensor sniffer above this rpm - // RPM - // offset 4 - uint16_t sensorSnifferRpmThreshold; - // A secondary Rev limit engaged by the driver to help launch the vehicle faster - // rpm - // offset 6 - uint16_t launchRpm; - // rpm - // offset 8 - uint16_t rpmHardLimit; - // Engine sniffer would be disabled above this rpm - // RPM - // offset 10 - uint16_t engineSnifferRpmThreshold; - // Disable multispark above this engine speed. - // rpm - // offset 12 - scaled_channel multisparkMaxRpm; - // Above this RPM, disable AC. Set to 0 to disable check. - // rpm - // offset 13 - scaled_channel maxAcRpm; - // Above this TPS, disable AC. Set to 0 to disable check. - // % - // offset 14 - uint8_t maxAcTps; - // Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check. - // deg C - // offset 15 - uint8_t maxAcClt; - // 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. - // deg - // offset 16 - uint8_t multisparkMaxSparkingAngle; - // Configures the maximum number of extra sparks to fire (does not include main spark) - // count - // offset 17 - uint8_t multisparkMaxExtraSparkCount; - // Single coil = distributor - // Individual coils = one coil per cylinder (COP, coil-near-plug), requires sequential mode - // Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder - // Two distributors = A pair of distributors, found on some BMW, Toyota and other engines - // offset 18 - ignition_mode_e ignitionMode; - // offset 19 - can_nbc_e canNbcType; - // offset 20 - injector_s injector; - // offset 56 - injector_s injectorSecondary; - // Does the vehicle have a turbo or supercharger? - // offset 92 bit 0 - bool isForcedInduction : 1 {}; - // 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. - // offset 92 bit 1 - bool useFordRedundantTps : 1 {}; - // offset 92 bit 2 - bool lambdaProtectionEnable : 1 {}; - // offset 92 bit 3 - bool overrideTriggerGaps : 1 {}; - // Turn on this fan when AC is on. - // offset 92 bit 4 - bool enableFan1WithAc : 1 {}; - // Turn on this fan when AC is on. - // offset 92 bit 5 - bool enableFan2WithAc : 1 {}; - // Inhibit operation of this fan while the engine is not running. - // offset 92 bit 6 - bool disableFan1WhenStopped : 1 {}; - // Inhibit operation of this fan while the engine is not running. - // offset 92 bit 7 - bool disableFan2WhenStopped : 1 {}; - // Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - // offset 92 bit 8 - bool enableTrailingSparks : 1 {}; - // TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - // offset 92 bit 9 - bool etb_use_two_wires : 1 {}; - // 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. - // offset 92 bit 10 - bool isDoubleSolenoidIdle : 1 {}; - // offset 92 bit 11 - bool enableStagedInjection : 1 {}; - // offset 92 bit 12 - bool useTLE8888_cranking_hack : 1 {}; - // offset 92 bit 13 - bool kickStartCranking : 1 {}; - // This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - // offset 92 bit 14 - bool useSeparateIdleTablesForCrankingTaper : 1 {}; - // offset 92 bit 15 - bool launchControlEnabled : 1 {}; - // "Detect double trigger edges" - // offset 92 bit 16 - bool doNotFilterTriggerEdgeNoise : 1 {}; - // offset 92 bit 17 - bool antiLagEnabled : 1 {}; - // For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - // offset 92 bit 18 - bool useRunningMathForCranking : 1 {}; - // offset 92 bit 19 - bool useTLE8888_stepper : 1 {}; - // offset 92 bit 20 - bool usescriptTableForCanSniffingFiltering : 1 {}; - // Print incoming and outgoing first bus CAN messages in FOME console - // offset 92 bit 21 - bool verboseCan : 1 {}; - // Experimental setting that will cause a misfire - // DO NOT ENABLE. - // offset 92 bit 22 - bool artificialTestMisfire : 1 {}; - // 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. - // offset 92 bit 23 - bool useFordRedundantPps : 1 {}; - // offset 92 bit 24 - bool cltSensorPulldown : 1 {}; - // offset 92 bit 25 - bool iatSensorPulldown : 1 {}; - // offset 92 bit 26 - bool allowIdenticalPps : 1 {}; - // offset 92 bit 27 - bool is_enabled_spi_5 : 1 {}; - // offset 92 bit 28 - bool is_enabled_spi_6 : 1 {}; - // offset 92 bit 29 - bool unusedBit_44_29 : 1 {}; - // offset 92 bit 30 - bool unusedBit_44_30 : 1 {}; - // offset 92 bit 31 - bool unusedBit_44_31 : 1 {}; - // Closed throttle, 1 volt = 200 units - // ADC - // offset 96 - int16_t tpsMin; - // Full throttle, 1 volt = 200 units - // ADC - // offset 98 - int16_t tpsMax; - // TPS error detection: what throttle % is unrealistically low? - // Also used for accelerator pedal error detection if so equiped. - // % - // offset 100 - int16_t tpsErrorDetectionTooLow; - // TPS error detection: what throttle % is unrealistically high? - // Also used for accelerator pedal error detection if so equiped. - // % - // offset 102 - int16_t tpsErrorDetectionTooHigh; - // offset 104 - cranking_parameters_s cranking; - // Dwell duration while cranking - // ms - // offset 112 - float ignitionDwellForCrankingMs; - // Once engine speed passes this value, start reducing ETB angle. - // rpm - // offset 116 - uint16_t etbRevLimitStart; - // 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. - // rpm - // offset 118 - uint16_t etbRevLimitRange; - // offset 120 - MAP_sensor_config_s map; - // todo: merge with channel settings, use full-scale Thermistor here! - // offset 260 - ThermistorConf clt; - // offset 292 - ThermistorConf iat; - // deg - // offset 324 - int launchTimingRetard; - // We calculate knock band based of cylinderBore - // Use this to override - kHz knock band override - // Requires power cycling to effect - // kHz - // offset 328 - float knockBandCustom; - // Engine displacement in litres - // L - // offset 332 - scaled_channel displacement; - // RPM - // offset 334 - uint16_t triggerSimulatorRpm; - // Number of cylinder the engine has. - // offset 336 - uint32_t cylindersCount; - // offset 340 - firing_order_e firingOrder; - // deg - // offset 341 - uint8_t vvtBumpAmount; - // Duration of each test pulse - // ms - // offset 342 - scaled_channel benchTestOnTime; - // Cylinder diameter in mm. - // mm - // offset 344 - float cylinderBore; - // This setting controls which fuel quantity control algorithm is used. - // Alpha-N means drive by TPS commonly only used for NA engines - // Speed Density requires MAP sensor and is the default choice for may installs - // MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - // offset 348 - engine_load_mode_e fuelAlgorithm; - // % - // offset 349 - uint8_t ALSMaxTPS; - // offset 350 - Gpio binarySerialTxPin; - // offset 352 - Gpio binarySerialRxPin; - // This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - // offset 354 - injection_mode_e crankingInjectionMode; - // 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. If your injectors are individually wired you will also need to enable "Two wire batch emulation". - // offset 355 - injection_mode_e injectionMode; - // Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - // offset 356 - uint16_t boostControlMinRpm; - // Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - // offset 358 - uint8_t boostControlMinTps; - // Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - // offset 359 - uint8_t boostControlMinMap; - // Dynamic uses the timing map to decide the ignition timing, Static timing fixes the timing to the value set below (only use for checking static timing with a timing light). - // offset 360 - timing_mode_e timingMode; - // offset 361 - adc_channel_e mafAdcChannel; - // How many test bench pulses do you want - // offset 362 - uint16_t benchTestCount; - // Ignition advance angle used during engine cranking, 5-10 degrees will work as a base setting for most engines. - // There is tapering towards running timing advance - // deg - // offset 364 - angle_t crankingTimingAngle; - // How many consecutive gap rations have to match expected ranges for sync to happen - // count - // offset 368 - int8_t gapTrackingLengthOverride; - // Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). - // kph - // offset 369 - uint8_t maxIdleVss; - // 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. - // kPa - // offset 370 - uint16_t minOilPressureAfterStart; - // This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing - // This mode is useful when adjusting distributor location. - // RPM - // offset 372 - angle_t fixedModeTiming; - // Angle between Top Dead Center (TDC) and the first trigger event. - // Positive value in case of synchnization point before TDC and negative in case of synchnization point after TDC - // .Knowing this angle allows us to control timing and other angles in reference to TDC. - // deg btdc - // offset 376 - angle_t globalTriggerAngleOffset; - // 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. - // coef - // offset 380 - float analogInputDividerCoefficient; - // 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. - // coef - // offset 384 - float vbattDividerCoeff; - // Cooling fan turn-on temperature threshold, in Celsius - // deg C - // offset 388 - uint8_t fanOnTemperature; - // Cooling fan turn-off temperature threshold, in Celsius - // deg C - // offset 389 - uint8_t fanOffTemperature; - // offset 390 - output_pin_e acrPin; - // 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. - // revs/km - // offset 392 - float driveWheelRevPerKm; - // CANbus thread period in ms - // ms - // offset 396 - int canSleepPeriodMs; - // index - // offset 400 - int byFirmwareVersion; - // First throttle body, first sensor - // offset 404 - adc_channel_e tps1_1AdcChannel; - // 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. - // offset 405 - adc_channel_e vbattAdcChannel; - // 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. - // offset 406 - adc_channel_e fuelLevelSensor; - // Second throttle body, first sensor - // offset 407 - adc_channel_e tps2_1AdcChannel; - // 0.1 is a good default value - // x - // offset 408 - float idle_derivativeFilterLoss; - // just a temporary solution - // angle - // offset 412 - int trailingSparkAngle; - // offset 416 - trigger_config_s trigger; - // Extra air taper amount - // % - // offset 428 - float airByRpmTaper; - // 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. - // % - // offset 432 - uint8_t boostControlSafeDutyCycle; - // Throttle pedal position first channel - // offset 433 - adc_channel_e throttlePedalPositionAdcChannel; - // offset 434 - pin_output_mode_e tle6240_csPinMode; - // offset 435 - uint8_t acrRevolutions; - // coef - // offset 436 - float globalFuelCorrection; - // volts - // offset 440 - float adcVcc; - // Deg - // offset 444 - float mapCamDetectionAnglePosition; - // 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. - // offset 448 - brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; - // offset 456 - afr_sensor_s afr; - // offset 468 - Gpio tle6240_cs; - // Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - // offset 470 - switch_input_pin_e throttlePedalUpPin; - // offset 472 - air_pressure_sensor_config_s baroSensor; - // offset 484 - idle_hardware_s idle; - // Value between 0 and 100 used in Manual mode - // % - // offset 496 - float manIdlePosition; - // Ignition timing to remove when a knock event occurs. - // % - // offset 500 - scaled_channel knockRetardAggression; - // After a knock event, reapply timing at this rate. - // deg/s - // offset 501 - scaled_channel knockRetardReapplyRate; - // Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - // offset 502 - engineSyncCam_e engineSyncCam; - // Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - // offset 503 - uint8_t vssFilterReciprocal; - // 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. - // ratio - // offset 504 - scaled_channel vssGearRatio; - // 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. - // count - // offset 506 - uint8_t vssToothCount; - // Override the Y axis (load) value used for only the Idle VE table. - // Advanced users only: If you aren't sure you need this, you probably don't need this. - // offset 507 - ve_override_e idleVeOverrideMode; - // offset 508 - Gpio l9779_cs; - // On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - // offset 510 - output_pin_e o2heaterPin; - // offset 512 - output_pin_e injectionPins[MAX_CYLINDER_COUNT]; - // offset 536 - output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; - // offset 560 - output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; - // offset 584 - pin_output_mode_e injectionPinMode; - // offset 585 - pin_output_mode_e ignitionPinMode; - // offset 586 - output_pin_e fuelPumpPin; - // offset 588 - pin_output_mode_e fuelPumpPinMode; - // Throttle pedal, secondary channel. - // offset 589 - adc_channel_e throttlePedalPositionSecondAdcChannel; - // Check engine light, also malfunction indicator light. Always blinks once on boot. - // offset 590 - output_pin_e malfunctionIndicatorPin; - // offset 592 - pin_output_mode_e malfunctionIndicatorPinMode; - // offset 593 - pin_output_mode_e fanPinMode; - // offset 594 - output_pin_e fanPin; - // Some cars have a switch to indicate that clutch pedal is all the way down - // offset 596 - switch_input_pin_e clutchDownPin; - // offset 598 - output_pin_e alternatorControlPin; - // offset 600 - pin_output_mode_e alternatorControlPinMode; - // offset 601 - pin_input_mode_e clutchDownPinMode; - // offset 602 - pin_output_mode_e electronicThrottlePin1Mode; - // offset 603 - spi_device_e max31855spiDevice; - // offset 604 - Gpio debugTriggerSync; - // offset 606 - Gpio mc33972_cs; - // offset 608 - pin_output_mode_e mc33972_csPinMode; - // Useful in Research&Development phase - // offset 609 - adc_channel_e auxFastSensor1_adcChannel; - // First throttle body, second sensor. - // offset 610 - adc_channel_e tps1_2AdcChannel; - // Second throttle body, second sensor. - // offset 611 - adc_channel_e tps2_2AdcChannel; - // 0.1 is a good default value - // x - // offset 612 - float idle_antiwindupFreq; - // offset 616 - brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; - // 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. - // us - // offset 620 - uint16_t mc33_t_min_boost; - // offset 622 - output_pin_e tachOutputPin; - // offset 624 - pin_output_mode_e tachOutputPinMode; - // offset 625 - adc_channel_e maf2AdcChannel; - // offset 626 - output_pin_e mainRelayPin; - // offset 628 - Gpio sdCardCsPin; - // set_can_tx_pin X - // offset 630 - Gpio canTxPin; - // set_can_rx_pin X - // offset 632 - Gpio canRxPin; - // offset 634 - pin_input_mode_e throttlePedalUpPinMode; - // Additional idle % while A/C is active - // % - // offset 635 - uint8_t acIdleExtraOffset; - // Ratio between the wheels and your transmission output. - // ratio - // offset 636 - scaled_channel finalGearRatio; - // offset 638 - brain_input_pin_e tcuInputSpeedSensorPin; - // offset 640 - uint8_t tcuInputSpeedSensorTeeth; - // offset 641 - pin_output_mode_e mainRelayPinMode; - // Voltage when the wastegate is closed. - // You probably don't have one of these! - // mv - // offset 642 - uint16_t wastegatePositionMin; - // Voltage when the wastegate is fully open. - // You probably don't have one of these! - // 1 volt = 1000 units - // mv - // offset 644 - uint16_t wastegatePositionMax; - // Some Subaru and some Mazda use double-solenoid idle air valve - // offset 646 - output_pin_e secondSolenoidPin; - // Secondary TTL channel baud rate - // BPs - // offset 648 - uint32_t tunerStudioSerialSpeed; - // Just for reference really, not taken into account by any logic at this point - // CR - // offset 652 - float compressionRatio; - // Generate a synthetic trigger signal for an external ECU - // offset 656 - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - // g/s - // offset 660 - scaled_channel fordInjectorSmallPulseSlope; - // RPM - // offset 662 - scaled_channel lambdaProtectionMinRpm; - // % - // offset 663 - scaled_channel lambdaProtectionMinLoad; - // offset 664 bit 0 - bool is_enabled_spi_1 : 1 {}; - // offset 664 bit 1 - bool is_enabled_spi_2 : 1 {}; - // offset 664 bit 2 - bool is_enabled_spi_3 : 1 {}; - // enable sd/disable sd - // offset 664 bit 3 - bool isSdCardEnabled : 1 {}; - // Use 11 bit (standard) or 29 bit (extended) IDs for FOME verbose CAN format. - // offset 664 bit 4 - bool rusefiVerbose29b : 1 {}; - // offset 664 bit 5 - bool unused644b5 : 1 {}; - // This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - // offset 664 bit 6 - bool useStepperIdle : 1 {}; - // offset 664 bit 7 - bool enabledStep1Limiter : 1 {}; - // offset 664 bit 8 - bool verboseTLE8888 : 1 {}; - // CAN broadcast using custom FOME protocol - // enable can_broadcast/disable can_broadcast - // offset 664 bit 9 - bool enableVerboseCanTx : 1 {}; - // offset 664 bit 10 - bool etb1configured : 1 {}; - // offset 664 bit 11 - bool etb2configured : 1 {}; - // Useful for individual intakes - // offset 664 bit 12 - bool measureMapOnlyInOneCylinder : 1 {}; - // offset 664 bit 13 - bool stepperForceParkingEveryRestart : 1 {}; - // 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. - // offset 664 bit 14 - bool isFasterEngineSpinUpEnabled : 1 {}; - // This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - // offset 664 bit 15 - bool coastingFuelCutEnabled : 1 {}; - // 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. - // offset 664 bit 16 - bool useIacTableForCoasting : 1 {}; - // offset 664 bit 17 - bool useIdleTimingPidControl : 1 {}; - // 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. - // offset 664 bit 18 - bool disableEtbWhenEngineStopped : 1 {}; - // offset 664 bit 19 - bool is_enabled_spi_4 : 1 {}; - // Disable the electronic throttle motor and DC idle motor for testing. - // This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - // offset 664 bit 20 - bool pauseEtbControl : 1 {}; - // offset 664 bit 21 - bool alignEngineSnifferAtTDC : 1 {}; - // AEM X-Series or rusEFI Wideband - // offset 664 bit 22 - bool enableAemXSeries : 1 {}; - // offset 664 bit 23 - bool unusedBit_196_23 : 1 {}; - // offset 664 bit 24 - bool unusedBit_196_24 : 1 {}; - // offset 664 bit 25 - bool unusedBit_196_25 : 1 {}; - // offset 664 bit 26 - bool unusedBit_196_26 : 1 {}; - // offset 664 bit 27 - bool unusedBit_196_27 : 1 {}; - // offset 664 bit 28 - bool unusedBit_196_28 : 1 {}; - // offset 664 bit 29 - bool unusedBit_196_29 : 1 {}; - // offset 664 bit 30 - bool unusedBit_196_30 : 1 {}; - // offset 664 bit 31 - bool unusedBit_196_31 : 1 {}; - // offset 668 - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - // offset 676 - uint32_t verboseCanBaseAddress; - // Boost Voltage - // v - // offset 680 - uint8_t mc33_hvolt; - // Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. - // kPa - // offset 681 - uint8_t minimumBoostClosedLoopMap; - // Optional Radiator Fan used with A/C - // offset 682 - output_pin_e acFanPin; - // offset 684 - pin_output_mode_e acFanPinMode; - // offset 685 - spi_device_e l9779spiDevice; - // kg - // offset 686 - uint16_t vehicleWeight; - // How far above idle speed do we consider idling? - // For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. - // RPM - // offset 688 - int16_t idlePidRpmUpperLimit; - // Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. - // ms - // offset 690 - scaled_channel applyNonlinearBelowPulse; - // offset 692 - Gpio lps25BaroSensorScl; - // offset 694 - Gpio lps25BaroSensorSda; - // offset 696 - brain_input_pin_e vehicleSpeedSensorInputPin; - // Some vehicles have a switch to indicate that clutch pedal is all the way up - // offset 698 - switch_input_pin_e clutchUpPin; - // offset 700 - InjectorNonlinearMode injectorNonlinearMode; - // offset 701 - pin_input_mode_e clutchUpPinMode; - // offset 702 - Gpio max31855_cs[EGT_CHANNEL_COUNT]; - // Continental/GM flex fuel sensor, 50-150hz type - // offset 718 - brain_input_pin_e flexSensorPin; - // offset 720 - Gpio test557pin; - // offset 722 - pin_output_mode_e stepperDirectionPinMode; - // offset 723 - spi_device_e mc33972spiDevice; - // Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 - // :1 - // offset 724 - scaled_channel stoichRatioSecondary; - // Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. - // % - // offset 725 - uint8_t etbMaximumPosition; - // Rate the ECU will log to the SD card, in hz (log lines per second). - // hz - // offset 726 - uint16_t sdCardLogFrequency; - // offset 728 - Gpio debugMapAveraging; - // offset 730 - output_pin_e starterRelayDisablePin; - // On some vehicles we can disable starter once engine is already running - // offset 732 - pin_output_mode_e starterRelayDisablePinMode; - // offset 733 - imu_type_e imuType; - // offset 734 - switch_input_pin_e startStopButtonPin; - // 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. - // count - // offset 736 - int mapMinBufferLength; - // 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%. - // % - // offset 740 - int16_t idlePidDeactivationTpsThreshold; - // % - // offset 742 - int16_t stepperParkingExtraSteps; - // ADC - // offset 744 - uint16_t tps1SecondaryMin; - // ADC - // offset 746 - uint16_t tps1SecondaryMax; - // rpm - // offset 748 - int16_t antiLagRpmTreshold; - // Maximum time to crank starter when start/stop button is pressed - // Seconds - // offset 750 - uint16_t startCrankingDuration; - // % - // offset 752 - uint8_t lambdaProtectionMinTps; - // Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed - // s - // offset 753 - scaled_channel lambdaProtectionTimeout; - // RPM - // offset 754 - scaled_channel lambdaProtectionRestoreRpm; - // offset 755 - pin_output_mode_e acRelayPinMode; - // offset 756 - output_pin_e acRelayPin; - // offset 758 - uint8_t unused754; - // offset 759 - spi_device_e drv8860spiDevice; - // offset 760 - script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; - // offset 792 - Gpio spi1mosiPin; - // offset 794 - Gpio spi1misoPin; - // offset 796 - Gpio spi1sckPin; - // offset 798 - Gpio spi2mosiPin; - // offset 800 - Gpio spi2misoPin; - // offset 802 - Gpio spi2sckPin; - // offset 804 - Gpio spi3mosiPin; - // offset 806 - Gpio spi3misoPin; - // offset 808 - Gpio spi3sckPin; - // offset 810 - uart_device_e consoleUartDevice; - // rusEFI console Sensor Sniffer mode - // offset 811 - sensor_chart_e sensorChartMode; - // offset 812 bit 0 - bool clutchUpPinInverted : 1 {}; - // offset 812 bit 1 - bool clutchDownPinInverted : 1 {}; - // If enabled we use two H-bridges to drive stepper idle air valve - // offset 812 bit 2 - bool useHbridgesToDriveIdleStepper : 1 {}; - // offset 812 bit 3 - bool multisparkEnable : 1 {}; - // offset 812 bit 4 - bool enableLaunchRetard : 1 {}; - // Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - // offset 812 bit 5 - bool enableCanVss : 1 {}; - // offset 812 bit 6 - bool enableInnovateLC2 : 1 {}; - // offset 812 bit 7 - bool unused808b7 : 1 {}; - // 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. - // offset 812 bit 8 - bool stftIgnoreErrorMagnitude : 1 {}; - // offset 812 bit 9 - bool enableSoftwareKnock : 1 {}; - // Verbose info in console below engineSnifferRpmThreshold - // enable vvt_details - // offset 812 bit 10 - bool verboseVVTDecoding : 1 {}; - // get invertCamVVTSignal - // offset 812 bit 11 - bool invertCamVVTSignal : 1 {}; - // In Alpha-N mode, compensate for air temperature. - // offset 812 bit 12 - bool alphaNUseIat : 1 {}; - // offset 812 bit 13 - bool knockBankCyl1 : 1 {}; - // offset 812 bit 14 - bool knockBankCyl2 : 1 {}; - // offset 812 bit 15 - bool knockBankCyl3 : 1 {}; - // offset 812 bit 16 - bool knockBankCyl4 : 1 {}; - // offset 812 bit 17 - bool knockBankCyl5 : 1 {}; - // offset 812 bit 18 - bool knockBankCyl6 : 1 {}; - // offset 812 bit 19 - bool knockBankCyl7 : 1 {}; - // offset 812 bit 20 - bool knockBankCyl8 : 1 {}; - // offset 812 bit 21 - bool knockBankCyl9 : 1 {}; - // offset 812 bit 22 - bool knockBankCyl10 : 1 {}; - // offset 812 bit 23 - bool knockBankCyl11 : 1 {}; - // offset 812 bit 24 - bool knockBankCyl12 : 1 {}; - // offset 812 bit 25 - bool tcuEnabled : 1 {}; - // offset 812 bit 26 - bool canBroadcastUseChannelTwo : 1 {}; - // If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - // offset 812 bit 27 - bool useRawOutputToDriveIdleStepper : 1 {}; - // Print incoming and outgoing second bus CAN messages in FOME console - // offset 812 bit 28 - bool verboseCan2 : 1 {}; - // offset 812 bit 29 - bool unusedBit_289_29 : 1 {}; - // offset 812 bit 30 - bool unusedBit_289_30 : 1 {}; - // offset 812 bit 31 - bool unusedBit_289_31 : 1 {}; - // offset 816 - dc_io etbIo[ETB_COUNT]; - // Wastegate control Solenoid - // offset 832 - output_pin_e boostControlPin; - // offset 834 - pin_output_mode_e boostControlPinMode; - // offset 835 - boostType_e boostType; - // offset 836 - switch_input_pin_e ALSActivatePin; - // offset 838 - switch_input_pin_e launchActivatePin; - // offset 840 - pid_s boostPid; - // Hz - // offset 860 - int boostPwmFrequency; - // offset 864 - launchActivationMode_e launchActivationMode; - // offset 865 - antiLagActivationMode_e antiLagActivationMode; - // offset 866 - Gpio mc33816_flag0; - // Disabled above this speed - // Kph - // offset 868 - int launchSpeedThreshold; - // Range from Launch RPM for Timing Retard to activate - // RPM - // offset 872 - int launchTimingRpmRange; - // Extra Fuel Added - // % - // offset 876 - int launchFuelAdded; - // Duty Cycle for the Boost Solenoid - // % - // offset 880 - int launchBoostDuty; - // Range from Launch RPM to activate Hard Cut - // RPM - // offset 884 - int hardCutRpmRange; - // offset 888 - float turbochargerFilter; - // offset 892 - int launchTpsThreshold; - // offset 896 - float launchActivateDelay; - // offset 900 - stft_s stft; - // offset 924 - dc_io stepperDcIo[DC_PER_STEPPER]; - // For example, BMW, GM or Chevrolet - // offset 940 - vehicle_info_t engineMake; - // For example, LS1 or NB2 - // offset 972 - vehicle_info_t engineCode; - // For example, Hunchback or Orange Miata - // Vehicle name has to be unique between your vehicles. - // offset 1004 - vehicle_info_t vehicleName; - // offset 1036 - output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; - // offset 1048 - dc_function_e etbFunctions[ETB_COUNT]; - // offset 1050 - Gpio drv8860_cs; - // offset 1052 - pin_output_mode_e drv8860_csPinMode; - // offset 1053 - idle_mode_e idleMode; - // offset 1054 - Gpio drv8860_miso; - // offset 1056 - output_pin_e luaOutputPins[LUA_PWM_COUNT]; - // Angle between cam sensor and VVT zero position - // value - // offset 1072 - scaled_channel vvtOffsets[CAM_INPUTS_COUNT]; - // offset 1080 - vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; - // offset 1112 - gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; - // ADC - // offset 1176 - uint16_t tps2SecondaryMin; - // ADC - // offset 1178 - uint16_t tps2SecondaryMax; - // Select which bus the wideband controller is attached to. - // offset 1180 bit 0 - bool widebandOnSecondBus : 1 {}; - // Enables lambda sensor closed loop feedback for fuelling. - // offset 1180 bit 1 - bool fuelClosedLoopCorrectionEnabled : 1 {}; - // offset 1180 bit 2 - bool unused1192b2 : 1 {}; - // offset 1180 bit 3 - bool boardUseTachPullUp : 1 {}; - // offset 1180 bit 4 - bool boardUseTempPullUp : 1 {}; - // offset 1180 bit 5 - bool yesUnderstandLocking : 1 {}; - // Sometimes we have a performance issue while printing error - // offset 1180 bit 6 - bool silentTriggerError : 1 {}; - // offset 1180 bit 7 - bool useLinearCltSensor : 1 {}; - // enable can_read/disable can_read - // offset 1180 bit 8 - bool canReadEnabled : 1 {}; - // enable can_write/disable can_write - // offset 1180 bit 9 - bool canWriteEnabled : 1 {}; - // offset 1180 bit 10 - bool useLinearIatSensor : 1 {}; - // offset 1180 bit 11 - bool boardUse2stepPullDown : 1 {}; - // Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - // offset 1180 bit 12 - bool tachPulseDurationAsDutyCycle : 1 {}; - // This enables smart alternator control and activates the extra alternator settings. - // offset 1180 bit 13 - bool isAlternatorControlEnabled : 1 {}; - // Invert the signal from the primary trigger sensor. - // offset 1180 bit 14 - bool invertPrimaryTriggerSignal : 1 {}; - // Invert the signal from the secondary trigger sensor. - // offset 1180 bit 15 - bool invertSecondaryTriggerSignal : 1 {}; - // offset 1180 bit 16 - bool cutFuelOnHardLimit : 1 {}; - // Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - // offset 1180 bit 17 - bool cutSparkOnHardLimit : 1 {}; - // offset 1180 bit 18 - bool launchFuelCutEnable : 1 {}; - // This is the Cut Mode normally used - // offset 1180 bit 19 - bool launchSparkCutEnable : 1 {}; - // offset 1180 bit 20 - bool boardUseCrankPullUp : 1 {}; - // offset 1180 bit 21 - bool boardUseCamPullDown : 1 {}; - // offset 1180 bit 22 - bool boardUseCamVrPullUp : 1 {}; - // offset 1180 bit 23 - bool boardUseD2PullDown : 1 {}; - // offset 1180 bit 24 - bool boardUseD3PullDown : 1 {}; - // offset 1180 bit 25 - bool boardUseD4PullDown : 1 {}; - // offset 1180 bit 26 - bool boardUseD5PullDown : 1 {}; - // offset 1180 bit 27 - bool verboseIsoTp : 1 {}; - // offset 1180 bit 28 - bool engineSnifferFocusOnInputs : 1 {}; - // offset 1180 bit 29 - bool launchActivateInverted : 1 {}; - // offset 1180 bit 30 - bool twoStroke : 1 {}; - // Where is your primary skipped wheel located? - // offset 1180 bit 31 - bool skippedWheelOnCam : 1 {}; - // A/C button input - // offset 1184 - switch_input_pin_e acSwitch; - // offset 1186 - adc_channel_e vRefAdcChannel; - // Expected neutral position - // % - // offset 1187 - uint8_t etbNeutralPosition; - // offset 1188 bit 0 - bool isInjectionEnabled : 1 {}; - // offset 1188 bit 1 - bool isIgnitionEnabled : 1 {}; - // When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - // offset 1188 bit 2 - bool isCylinderCleanupEnabled : 1 {}; - // Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - // offset 1188 bit 3 - bool complexWallModel : 1 {}; - // offset 1188 bit 4 - bool alwaysInstantRpm : 1 {}; - // offset 1188 bit 5 - bool isMapAveragingEnabled : 1 {}; - // If enabled, use separate temperature multiplier table for cranking taper duration. - // offset 1188 bit 6 - bool useCrankingIdleTaperTableSetting : 1 {}; - // If enabled, use separate temperature multiplier table for cranking idle position. - // If disabled, use normal running multiplier table applied to the cranking base position. - // offset 1188 bit 7 - bool overrideCrankingIacSetting : 1 {}; - // 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 retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed. - // offset 1188 bit 8 - bool useSeparateAdvanceForIdle : 1 {}; - // offset 1188 bit 9 - bool isWaveAnalyzerEnabled : 1 {}; - // This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - // offset 1188 bit 10 - bool useSeparateVeForIdle : 1 {}; - // Verbose info in console below engineSnifferRpmThreshold - // enable trigger_details - // offset 1188 bit 11 - bool verboseTriggerSynchDetails : 1 {}; - // Usually if we have no trigger events that means engine is stopped - // Unless we are troubleshooting and spinning the engine by hand - this case a longer - // delay is needed - // offset 1188 bit 12 - bool isManualSpinningMode : 1 {}; - // offset 1188 bit 13 - bool unused1200b12 : 1 {}; - // offset 1188 bit 14 - bool neverInstantRpm : 1 {}; - // offset 1188 bit 15 - bool unused1200b14 : 1 {}; - // offset 1188 bit 16 - bool useFixedBaroCorrFromMap : 1 {}; - // In Constant mode, timing is automatically tapered to running as RPM increases. - // In Table mode, the "Cranking ignition advance" table is used directly. - // offset 1188 bit 17 - bool useSeparateAdvanceForCranking : 1 {}; - // This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). - // You probably don't need this. - // offset 1188 bit 18 - bool useAdvanceCorrectionsForCranking : 1 {}; - // Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - // offset 1188 bit 19 - bool flexCranking : 1 {}; - // This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - // offset 1188 bit 20 - bool useIacPidMultTable : 1 {}; - // offset 1188 bit 21 - bool isBoostControlEnabled : 1 {}; - // Interpolates the Ignition Retard from 0 to 100% within the RPM Range - // offset 1188 bit 22 - bool launchSmoothRetard : 1 {}; - // Some engines are OK running semi-random sequential while other engine require phase synchronization - // offset 1188 bit 23 - bool isPhaseSyncRequiredForIgnition : 1 {}; - // If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - // offset 1188 bit 24 - bool useCltBasedRpmLimit : 1 {}; - // If enabled, don't wait for engine start to heat O2 sensors. WARNING: this will reduce the life of your sensor, as condensation in the exhaust from a cold start can crack the sensing element. - // offset 1188 bit 25 - bool forceO2Heating : 1 {}; - // 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'. - // offset 1188 bit 26 - bool invertVvtControlIntake : 1 {}; - // 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'. - // offset 1188 bit 27 - bool invertVvtControlExhaust : 1 {}; - // offset 1188 bit 28 - bool useBiQuadOnAuxSpeedSensors : 1 {}; - // '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. - // offset 1188 bit 29 - bool sdTriggerLog : 1 {}; - // offset 1188 bit 30 - bool ALSActivateInverted : 1 {}; - // offset 1188 bit 31 - bool unusedBit_394_31 : 1 {}; - // count - // offset 1192 - uint32_t engineChartSize; - // mult - // offset 1196 - float turboSpeedSensorMultiplier; - // offset 1200 - Gpio camInputsDebug[CAM_INPUTS_COUNT]; - // Extra idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. - // RPM - // offset 1208 - int16_t acIdleRpmBump; - // seconds - // offset 1210 - int16_t warningPeriod; - // angle - // offset 1212 - float knockDetectionWindowStart; - // angle - // offset 1216 - float knockDetectionWindowEnd; - // ms - // offset 1220 - float idleStepperReactionTime; - // count - // offset 1224 - int idleStepperTotalSteps; - // TODO: finish this #413 - // sec - // offset 1228 - float noAccelAfterHardLimitPeriodSecs; - // At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. - // index - // offset 1232 - int mapAveragingSchedulingAtIndex; - // Duration in ms or duty cycle depending on selected mode - // offset 1236 - float tachPulseDuractionMs; - // Length of time the deposited wall fuel takes to dissipate after the start of acceleration. - // Seconds - // offset 1240 - float wwaeTau; - // offset 1244 - pid_s alternatorControl; - // offset 1264 - pid_s etb; - // offset 1284 - Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; - // RPM range above upper limit for extra air taper - // RPM - // offset 1288 - int16_t airTaperRpmRange; - // offset 1290 - brain_input_pin_e turboSpeedSensorInputPin; - // ADC - // offset 1292 - int16_t tps2Min; - // ADC - // offset 1294 - int16_t tps2Max; - // offset 1296 - output_pin_e starterControlPin; - // offset 1298 - pin_input_mode_e startStopButtonMode; - // Pulse - // offset 1299 - uint8_t tachPulsePerRev; - // kPa value which is too low to be true - // kPa - // offset 1300 - float mapErrorDetectionTooLow; - // kPa value which is too high to be true - // kPa - // offset 1304 - float mapErrorDetectionTooHigh; - // How long to wait for the spark to fire before recharging the coil for another spark. - // ms - // offset 1308 - scaled_channel multisparkSparkDuration; - // This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. - // ms - // offset 1310 - scaled_channel multisparkDwell; - // offset 1312 - pid_s idleRpmPid; - // 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. - // Fraction - // offset 1332 - float wwaeBeta; - // offset 1336 - Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; - // offset 1340 - switch_input_pin_e tcuUpshiftButtonPin; - // offset 1342 - switch_input_pin_e tcuDownshiftButtonPin; - // voltage - // offset 1344 - float throttlePedalUpVoltage; - // Pedal in the floor - // voltage - // offset 1348 - float throttlePedalWOTVoltage; - // on IGN voltage detection turn fuel pump on to build fuel pressure - // seconds - // offset 1352 - int16_t startUpFuelPumpDuration; - // If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation - // RPM - // offset 1354 - int16_t idlePidRpmDeadZone; - // This is the target battery voltage the alternator PID control will attempt to maintain - // Volts - // offset 1356 - float targetVBatt; - // offset 1360 - uint32_t unused1372; - // This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup. - // cycles - // offset 1364 - int16_t afterCrankingIACtaperDuration; - // Extra IAC, in percent between 0 and 100, tapered between zero and idle deactivation TPS value - // percent - // offset 1366 - int16_t iacByTpsTaper; - // Auxiliary sensor serial, not to be confused with secondary calibration serial - // offset 1368 - Gpio auxSerialTxPin; - // Auxiliary sensor serial, not to be confused with secondary calibration serial - // offset 1370 - Gpio auxSerialRxPin; - // offset 1372 - Gpio LIS302DLCsPin; - // How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. - // sec - // offset 1374 - scaled_channel tpsAccelLookback; - // Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. - // kph - // offset 1375 - uint8_t coastingFuelCutVssLow; - // Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. - // kph - // offset 1376 - uint8_t coastingFuelCutVssHigh; - // 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. - // sec - // offset 1377 - scaled_channel noFuelTrimAfterDfcoTime; - // Duration of each test pulse - // ms - // offset 1378 - scaled_channel ignTestOnTime; - // offset 1379 - uint8_t alignmentFill_at_1379[1]; - // 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. - // roc - // offset 1380 - float tpsAccelEnrichmentThreshold; - // offset 1384 - brain_input_pin_e auxSpeedSensorInputPin[2]; - // offset 1388 - uint8_t totalGearsCount; - // Sets what part of injection's is controlled by the injection phase table. - // offset 1389 - InjectionTimingMode injectionTimingMode; - // See https://wiki.fome.tech/r/debugmode - // offset 1390 - debug_mode_e debugMode; - // Additional idle % when fan #1 is active - // % - // offset 1391 - uint8_t fan1ExtraIdle; - // Band rate for primary TTL - // BPs - // offset 1392 - uint32_t uartConsoleSerialSpeed; - // For decel we simply multiply delta of TPS and tFor decel we do not use table?! - // roc - // offset 1396 - float tpsDecelEnleanmentThreshold; - // Magic multiplier, we multiply delta of TPS and get fuel squirt duration - // coeff - // offset 1400 - float tpsDecelEnleanmentMultiplier; - // BPs - // offset 1404 - uint32_t auxSerialSpeed; - // voltage - // offset 1408 - float throttlePedalSecondaryUpVoltage; - // Pedal in the floor - // voltage - // offset 1412 - float throttlePedalSecondaryWOTVoltage; - // set can_baudrate - // offset 1416 - can_baudrate_e canBaudRate; - // Override the Y axis (load) value used for the VE table. - // Advanced users only: If you aren't sure you need this, you probably don't need this. - // offset 1417 - ve_override_e veOverrideMode; - // offset 1418 - can_baudrate_e can2BaudRate; - // Override the Y axis (load) value used for the AFR table. - // Advanced users only: If you aren't sure you need this, you probably don't need this. - // offset 1419 - load_override_e afrOverrideMode; - // A - // offset 1420 - scaled_channel mc33_hpfp_i_peak; - // A - // offset 1421 - scaled_channel mc33_hpfp_i_hold; - // How long to deactivate power when hold current is reached before applying power again - // us - // offset 1422 - uint8_t mc33_hpfp_i_hold_off; - // Maximum amount of time the solenoid can be active before assuming a programming error - // ms - // offset 1423 - uint8_t mc33_hpfp_max_hold; - // Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - // offset 1424 bit 0 - bool stepperDcInvertedPins : 1 {}; - // Allow OpenBLT on Primary CAN - // offset 1424 bit 1 - bool canOpenBLT : 1 {}; - // Allow OpenBLT on Secondary CAN - // offset 1424 bit 2 - bool can2OpenBLT : 1 {}; - // Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - // offset 1424 bit 3 - bool injectorFlowAsMassFlow : 1 {}; - // offset 1424 bit 4 - bool unusedBit_468_4 : 1 {}; - // offset 1424 bit 5 - bool unusedBit_468_5 : 1 {}; - // offset 1424 bit 6 - bool unusedBit_468_6 : 1 {}; - // offset 1424 bit 7 - bool unusedBit_468_7 : 1 {}; - // offset 1424 bit 8 - bool unusedBit_468_8 : 1 {}; - // offset 1424 bit 9 - bool unusedBit_468_9 : 1 {}; - // offset 1424 bit 10 - bool unusedBit_468_10 : 1 {}; - // offset 1424 bit 11 - bool unusedBit_468_11 : 1 {}; - // offset 1424 bit 12 - bool unusedBit_468_12 : 1 {}; - // offset 1424 bit 13 - bool unusedBit_468_13 : 1 {}; - // offset 1424 bit 14 - bool unusedBit_468_14 : 1 {}; - // offset 1424 bit 15 - bool unusedBit_468_15 : 1 {}; - // offset 1424 bit 16 - bool unusedBit_468_16 : 1 {}; - // offset 1424 bit 17 - bool unusedBit_468_17 : 1 {}; - // offset 1424 bit 18 - bool unusedBit_468_18 : 1 {}; - // offset 1424 bit 19 - bool unusedBit_468_19 : 1 {}; - // offset 1424 bit 20 - bool unusedBit_468_20 : 1 {}; - // offset 1424 bit 21 - bool unusedBit_468_21 : 1 {}; - // offset 1424 bit 22 - bool unusedBit_468_22 : 1 {}; - // offset 1424 bit 23 - bool unusedBit_468_23 : 1 {}; - // offset 1424 bit 24 - bool unusedBit_468_24 : 1 {}; - // offset 1424 bit 25 - bool unusedBit_468_25 : 1 {}; - // offset 1424 bit 26 - bool unusedBit_468_26 : 1 {}; - // offset 1424 bit 27 - bool unusedBit_468_27 : 1 {}; - // offset 1424 bit 28 - bool unusedBit_468_28 : 1 {}; - // offset 1424 bit 29 - bool unusedBit_468_29 : 1 {}; - // offset 1424 bit 30 - bool unusedBit_468_30 : 1 {}; - // offset 1424 bit 31 - bool unusedBit_468_31 : 1 {}; - // Time between bench test pulses - // ms - // offset 1428 - scaled_channel benchTestOffTime; - // % - // offset 1429 - uint8_t lambdaProtectionRestoreTps; - // % - // offset 1430 - scaled_channel lambdaProtectionRestoreLoad; - // offset 1431 - pin_input_mode_e launchActivatePinMode; - // set_can2_tx_pin X - // offset 1432 - Gpio can2TxPin; - // set_can2_rx_pin X - // offset 1434 - Gpio can2RxPin; - // offset 1436 - pin_output_mode_e starterControlPinMode; - // offset 1437 - adc_channel_e wastegatePositionSensor; - // Override the Y axis (load) value used for the ignition table. - // Advanced users only: If you aren't sure you need this, you probably don't need this. - // offset 1438 - load_override_e ignOverrideMode; - // Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - // offset 1439 - injector_pressure_type_e injectorPressureType; - // offset 1440 - output_pin_e hpfpValvePin; - // offset 1442 - pin_output_mode_e hpfpValvePinMode; - // offset 1443 - spi_device_e accelerometerSpiDevice; - // MAP value above which fuel is cut in case of overboost. - // Set to 0 to disable overboost cut. - // kPa (absolute) - // offset 1444 - float boostCutPressure; - // kg/h - // offset 1448 - scaled_channel tchargeBins[16]; - // ratio - // offset 1464 - scaled_channel tchargeValues[16]; - // Fixed timing, useful for TDC testing - // deg - // offset 1480 - float fixedTiming; - // MAP voltage for low point - // v - // offset 1484 - float mapLowValueVoltage; - // MAP voltage for low point - // v - // offset 1488 - float mapHighValueVoltage; - // EGO value correction - // value - // offset 1492 - float egoValueShift; - // VVT output solenoid pin for this cam - // offset 1496 - output_pin_e vvtPins[CAM_INPUTS_COUNT]; - // This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. - // percent - // offset 1504 - int crankingIACposition; - // offset 1508 - float tChargeMinRpmMinTps; - // offset 1512 - float tChargeMinRpmMaxTps; - // offset 1516 - float tChargeMaxRpmMinTps; - // offset 1520 - float tChargeMaxRpmMaxTps; - // offset 1524 - pwm_freq_t vvtOutputFrequency; - // 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. - // deg BTDC - // offset 1526 - int8_t minimumIgnitionTiming; - // 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 - // deg BTDC - // offset 1527 - int8_t maximumIgnitionTiming; - // Hz - // offset 1528 - int alternatorPwmFrequency; - // offset 1532 - vvt_mode_e vvtMode[CAMS_PER_BANK]; - // Additional idle % when fan #2 is active - // % - // offset 1534 - uint8_t fan2ExtraIdle; - // Delay to allow fuel pressure to build before firing the priming pulse. - // sec - // offset 1535 - scaled_channel primingDelay; - // offset 1536 - adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; - // offset 1544 - output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; - // offset 1568 - tle8888_mode_e tle8888mode; - // offset 1569 - pin_output_mode_e LIS302DLCsPinMode; - // None = I have a MAP-referenced fuel pressure regulator - // Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) - // Sensed rail pressure = I have a fuel pressure sensor - // offset 1570 - injector_compensation_mode_e injectorCompensationMode; - // offset 1571 - pin_output_mode_e fan2PinMode; - // This is the pressure at which your injector flow is known. - // For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. - // kPa - // offset 1572 - float fuelReferencePressure; - // Fuel multiplier (enrichment) immediately after engine start - // mult - // offset 1576 - float postCrankingFactor; - // Time over which to taper out after start enrichment - // seconds - // offset 1580 - float postCrankingDurationSec; - // offset 1584 - ThermistorConf auxTempSensor1; - // offset 1616 - ThermistorConf auxTempSensor2; - // Deg - // offset 1648 - int16_t knockSamplingDuration; - // Hz - // offset 1650 - int16_t etbFreq; - // offset 1652 - pid_s etbWastegatePid; - // For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - // offset 1672 - stepper_num_micro_steps_e stepperNumMicroSteps; - // Use to limit the current when the stepper motor is idle, not moving (100% = no limit) - // % - // offset 1673 - uint8_t stepperMinDutyCycle; - // Use to limit the max.current through the stepper motor (100% = no limit) - // % - // offset 1674 - uint8_t stepperMaxDutyCycle; - // offset 1675 - spi_device_e sdCardSpiDevice; - // per-cylinder timing correction - // deg - // offset 1676 - angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; - // seconds - // offset 1724 - float idlePidActivationTime; - // offset 1728 - uint8_t unused1800[9]; - // offset 1737 - pin_output_mode_e stepperEnablePinMode; - // ResetB - // offset 1738 - Gpio mc33816_rstb; - // offset 1740 - Gpio mc33816_driven; - // Brake pedal switch - // offset 1742 - switch_input_pin_e brakePedalPin; - // offset 1744 - pin_input_mode_e brakePedalPinMode; - // offset 1745 - tChargeMode_e tChargeMode; - // offset 1746 - pin_input_mode_e tcuUpshiftButtonPinMode; - // offset 1747 - pin_input_mode_e tcuDownshiftButtonPinMode; - // VVT output PID - // TODO: rename to vvtPid - // offset 1748 - pid_s auxPid[CAMS_PER_BANK]; - // offset 1788 - float injectorCorrectionPolynomial[8]; - // C - // offset 1820 - int8_t primeBins[8]; - // offset 1828 - linear_sensor_s oilPressure; - // offset 1848 - output_pin_e fan2Pin; - // Cooling fan turn-on temperature threshold, in Celsius - // deg C - // offset 1850 - uint8_t fan2OnTemperature; - // Cooling fan turn-off temperature threshold, in Celsius - // deg C - // offset 1851 - uint8_t fan2OffTemperature; - // offset 1852 - Gpio stepperEnablePin; - // offset 1854 - Gpio tle8888_cs; - // offset 1856 - pin_output_mode_e tle8888_csPinMode; - // offset 1857 - uint8_t alignmentFill_at_1857[1]; - // offset 1858 - can_vss_nbc_e canVssNbcType; - // offset 1860 - Gpio mc33816_cs; - // offset 1862 - uint8_t alignmentFill_at_1862[2]; - // hz - // offset 1864 - float auxFrequencyFilter; - // RPM - // offset 1868 - int16_t vvtControlMinRpm; - // offset 1870 - brain_input_pin_e sentInputPins[SENT_INPUT_COUNT]; - // % - // offset 1872 - int8_t launchFuelAdderPercent; - // Time required to detect a stuck throttle. - // sec - // offset 1873 - scaled_channel etbJamTimeout; - // By the way ETB PID runs at 500hz, length in 1/500 of second here. - // offset 1874 - uint16_t etbExpAverageLength; - // This sets the RPM above which fuel cut is active. - // rpm - // offset 1876 - int16_t coastingFuelCutRpmHigh; - // This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle - // rpm - // offset 1878 - int16_t coastingFuelCutRpmLow; - // Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. - // % - // offset 1880 - int16_t coastingFuelCutTps; - // Fuel cutoff is disabled when the engine is cold. - // C - // offset 1882 - int16_t coastingFuelCutClt; - // Increases PID reaction for RPM stoichRatioPrimary; - // iTerm max value - // offset 2274 - int16_t idlerpmpid_iTermMax; - // This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. - // % - // offset 2276 - float etbIdleThrottleRange; - // Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - // offset 2280 - uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; - // mg - // offset 2292 - scaled_channel primeValues[8]; - // Trigger comparator center point voltage - // V - // offset 2300 - scaled_channel triggerCompCenterVolt; - // Trigger comparator hysteresis voltage (Min) - // V - // offset 2301 - scaled_channel triggerCompHystMin; - // Trigger comparator hysteresis voltage (Max) - // V - // offset 2302 - scaled_channel triggerCompHystMax; - // VR-sensor saturation RPM - // RPM - // offset 2303 - scaled_channel triggerCompSensorSatRpm; - // offset 2304 - gppwm_channel gppwm[GPPWM_CHANNELS]; - // Boost Current - // mA - // offset 2736 - uint16_t mc33_i_boost; - // Peak Current - // mA - // offset 2738 - uint16_t mc33_i_peak; - // Hold Current - // mA - // offset 2740 - uint16_t mc33_i_hold; - // Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. - // us - // offset 2742 - uint16_t mc33_t_max_boost; - // us - // offset 2744 - uint16_t mc33_t_peak_off; - // Peak phase duration - // us - // offset 2746 - uint16_t mc33_t_peak_tot; - // us - // offset 2748 - uint16_t mc33_t_bypass; - // us - // offset 2750 - uint16_t mc33_t_hold_off; - // Hold phase duration - // us - // offset 2752 - uint16_t mc33_t_hold_tot; - // offset 2754 - pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; - // ratio - // offset 2760 - scaled_channel triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; - // ratio - // offset 2796 - scaled_channel triggerGapOverrideTo[GAP_TRACKING_LENGTH]; - // Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. - // rpm - // offset 2832 - scaled_channel maxCamPhaseResolveRpm; - // Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... - // sec - // offset 2833 - scaled_channel dfcoDelay; - // Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. - // sec - // offset 2834 - scaled_channel acDelay; - // offset 2835 - pin_input_mode_e acSwitchMode; - // mg - // offset 2836 - scaled_channel fordInjectorSmallPulseBreakPoint; - // % - // offset 2838 - uint8_t etbJamIntegratorLimit; - // lobes/cam - // offset 2839 - uint8_t hpfpCamLobes; - // offset 2840 - hpfp_cam_e hpfpCam; - // Crank angle ATDC of first lobe peak - // deg - // offset 2841 - uint8_t hpfpPeakPos; - // If the requested activation time is below this angle, don't bother running the pump - // deg - // offset 2842 - uint8_t hpfpMinAngle; - // offset 2843 - vin_number_t vinNumber; - // Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. - // cc - // offset 2860 - scaled_channel hpfpPumpVolume; - // How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) - // deg - // offset 2862 - uint8_t hpfpActivationAngle; - // offset 2863 - uint8_t issFilterReciprocal; - // %/kPa - // offset 2864 - scaled_channel hpfpPidP; - // %/kPa/lobe - // offset 2866 - scaled_channel hpfpPidI; - // The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. - // kPa/s - // offset 2868 - uint16_t hpfpTargetDecay; - // offset 2870 - output_pin_e stepper_raw_output[4]; - // ratio - // offset 2878 - scaled_channel gearRatio[GEARS_COUNT]; - // We need to give engine time to build oil pressure without diverting it to VVT - // ms - // offset 2894 - uint16_t vvtActivationDelayMs; - // offset 2896 - GearControllerMode gearControllerMode; - // offset 2897 - TransmissionControllerMode transmissionControllerMode; - // deg - // offset 2898 - uint16_t acrDisablePhase; - // offset 2900 - linear_sensor_s auxLinear1; - // offset 2920 - linear_sensor_s auxLinear2; - // offset 2940 - output_pin_e tcu_tcc_onoff_solenoid; - // offset 2942 - pin_output_mode_e tcu_tcc_onoff_solenoid_mode; - // offset 2943 - pin_output_mode_e tcu_tcc_pwm_solenoid_mode; - // offset 2944 - output_pin_e tcu_tcc_pwm_solenoid; - // offset 2946 - pwm_freq_t tcu_tcc_pwm_solenoid_freq; - // offset 2948 - output_pin_e tcu_pc_solenoid_pin; - // offset 2950 - pin_output_mode_e tcu_pc_solenoid_pin_mode; - // offset 2951 - pin_output_mode_e tcu_32_solenoid_pin_mode; - // offset 2952 - pwm_freq_t tcu_pc_solenoid_freq; - // offset 2954 - output_pin_e tcu_32_solenoid_pin; - // offset 2956 - pwm_freq_t tcu_32_solenoid_freq; - // offset 2958 - output_pin_e acrPin2; - // % - // offset 2960 - float etbMinimumPosition; - // offset 2964 - uint16_t tuneHidingKey; - // offset 2966 - SentEtbType sentEtbType; - // offset 2967 - fuel_pressure_sensor_mode_e fuelPressureSensorMode; - // offset 2968 - switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; - // rpm - // offset 2984 - int16_t ALSMinRPM; - // rpm - // offset 2986 - int16_t ALSMaxRPM; - // sec - // offset 2988 - int16_t ALSMaxDuration; - // C - // offset 2990 - int8_t ALSMinCLT; - // C - // offset 2991 - int8_t ALSMaxCLT; - // offset 2992 - uint8_t alsMinTimeBetween; - // offset 2993 - uint8_t alsEtbPosition; - // % - // offset 2994 - uint8_t acRelayAlternatorDutyAdder; - // deg - // offset 2995 - uint8_t instantRpmRange; - // % - // offset 2996 - int ALSIdleAdd; - // % - // offset 3000 - int ALSEtbAdd; - // offset 3004 - int ALSSkipRatio; - // % - // offset 3008 - uint8_t ALSMaxDriverThrottleIntent; - // offset 3009 - pin_input_mode_e ALSActivatePinMode; - // For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% - // % - // offset 3010 - scaled_channel tpsSecondaryMaximum; - // For Toyota ETCS-i, use ~69% - // % - // offset 3011 - scaled_channel ppsSecondaryMaximum; - // offset 3012 - pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; - // If the hard limit is 7200rpm and hysteresis is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached - // RPM - // offset 3020 - scaled_channel rpmHardLimitHyst; - // How many test bench pulses do you want - // offset 3021 - uint8_t ignTestCount; - // Time between bench test pulses - // ms - // offset 3022 - scaled_channel ignTestOffTime; - // offset 3023 - uint8_t alignmentFill_at_3023[1]; - // Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. - // ratio - // offset 3024 - scaled_channel canVssScaling; - // offset 3026 - uint8_t alignmentFill_at_3026[2]; - // offset 3028 - ThermistorConf oilTempSensor; - // offset 3060 - ThermistorConf fuelTempSensor; - // offset 3092 - ThermistorConf ambientTempSensor; - // offset 3124 - ThermistorConf compressorDischargeTemperature; - // Place the sensor before the throttle, but after any turbocharger/supercharger and intercoolers if fitted. Uses the same calibration as the MAP sensor. - // offset 3156 - adc_channel_e throttleInletPressureChannel; - // Place the sensor after the turbocharger/supercharger, but before any intercoolers if fitted. Uses the same calibration as the MAP sensor. - // offset 3157 - adc_channel_e compressorDischargePressureChannel; - // If injector duty cycle hits this value, instantly cut fuel. - // % - // offset 3158 - uint8_t maxInjectorDutyInstant; - // If injector duty cycle hits this value for the specified delay time, cut fuel. - // % - // offset 3159 - uint8_t maxInjectorDutySustained; - // Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. - // sec - // offset 3160 - scaled_channel maxInjectorDutySustainedTimeout; - // offset 3161 - uint8_t alignmentFill_at_3161[1]; - // offset 3162 - output_pin_e speedometerOutputPin; - // Number of speedometer pulses per kilometer travelled. - // offset 3164 - uint16_t speedometerPulsePerKm; - // offset 3166 - Gpio spi4mosiPin; - // offset 3168 - Gpio spi4misoPin; - // offset 3170 - Gpio spi4sckPin; - // offset 3172 - Gpio spi5mosiPin; - // offset 3174 - Gpio spi5misoPin; - // offset 3176 - Gpio spi5sckPin; - // offset 3178 - Gpio spi6mosiPin; - // offset 3180 - Gpio spi6misoPin; - // offset 3182 - Gpio spi6sckPin; - // units - // offset 3184 - uint8_t mainUnusedEnd[237]; - // offset 3421 - uint8_t alignmentFill_at_3421[3]; -}; -static_assert(sizeof(engine_configuration_s) == 3424); - -struct cyl_trim_s { - // offset 0 - scaled_channel table[TRIM_SIZE][TRIM_SIZE]; -}; -static_assert(sizeof(cyl_trim_s) == 16); - -struct blend_table_s { - // offset 0 - scaled_channel table[8][8]; - // Load - // offset 128 - uint16_t loadBins[8]; - // RPM - // offset 144 - uint16_t rpmBins[8]; - // offset 160 - gppwm_channel_e blendParameter; - // offset 161 - gppwm_channel_e yAxisOverride; - // offset 162 - scaled_channel blendBins[8]; - // % - // offset 178 - scaled_channel blendValues[8]; - // offset 186 - uint8_t alignmentFill_at_186[2]; -}; -static_assert(sizeof(blend_table_s) == 188); - -struct persistent_config_s { - // offset 0 - engine_configuration_s engineConfiguration; - // target TPS value, 0 to 100% - // target TPS position - // offset 3424 - scaled_channel etbBiasBins[ETB_BIAS_CURVE_LENGTH]; - // PWM bias, 0 to 100% - // ETB duty cycle bias - // offset 3432 - scaled_channel etbBiasValues[ETB_BIAS_CURVE_LENGTH]; - // % - // offset 3448 - scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; - // Load - // offset 3512 - uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; - // RPM - // offset 3520 - scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; - // On Single Coil or Wasted Spark setups you have to lower dwell at high RPM - // RPM - // offset 3528 - uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; - // ms - // offset 3544 - scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; - // CLT-based target RPM for automatic idle controller - // C - // offset 3560 - scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; - // See idleRpmPid - // RPM - // offset 3576 - scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; - // CLT-based timing correction - // C - // offset 3592 - float cltTimingBins[CLT_TIMING_CURVE_SIZE]; - // degree - // offset 3624 - float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; - // x - // offset 3656 - scaled_channel scriptCurve1Bins[SCRIPT_CURVE_16]; - // y - // offset 3688 - scaled_channel scriptCurve1[SCRIPT_CURVE_16]; - // x - // offset 3720 - scaled_channel scriptCurve2Bins[SCRIPT_CURVE_16]; - // y - // offset 3752 - scaled_channel scriptCurve2[SCRIPT_CURVE_16]; - // x - // offset 3784 - scaled_channel scriptCurve3Bins[SCRIPT_CURVE_8]; - // y - // offset 3800 - scaled_channel scriptCurve3[SCRIPT_CURVE_8]; - // x - // offset 3816 - scaled_channel scriptCurve4Bins[SCRIPT_CURVE_8]; - // y - // offset 3832 - scaled_channel scriptCurve4[SCRIPT_CURVE_8]; - // x - // offset 3848 - scaled_channel scriptCurve5Bins[SCRIPT_CURVE_8]; - // y - // offset 3864 - scaled_channel scriptCurve5[SCRIPT_CURVE_8]; - // x - // offset 3880 - scaled_channel scriptCurve6Bins[SCRIPT_CURVE_8]; - // y - // offset 3896 - scaled_channel scriptCurve6[SCRIPT_CURVE_8]; - // kPa - // offset 3912 - scaled_channel baroCorrPressureBins[BARO_CORR_SIZE]; - // RPM - // offset 3920 - uint16_t baroCorrRpmBins[BARO_CORR_SIZE]; - // ratio - // offset 3928 - scaled_channel baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; - // Cranking fuel correction coefficient based on TPS - // Ratio - // offset 3960 - float crankingTpsCoef[CRANKING_CURVE_SIZE]; - // % - // offset 3992 - float crankingTpsBins[CRANKING_CURVE_SIZE]; - // Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) - // RPM - // offset 4024 - uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; - // Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) - // deg - // offset 4032 - scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; - // RPM-based idle position for coasting - // RPM - // offset 4040 - scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; - // RPM-based idle position for coasting - // % - // offset 4056 - scaled_channel iacCoasting[CLT_CURVE_SIZE]; - // offset 4072 - scaled_channel boostTableOpenLoop[BOOST_RPM_COUNT][BOOST_LOAD_COUNT]; - // RPM - // offset 4136 - scaled_channel boostRpmBins[BOOST_RPM_COUNT]; - // offset 4144 - scaled_channel boostTableClosedLoop[BOOST_RPM_COUNT][BOOST_LOAD_COUNT]; - // % - // offset 4208 - uint8_t boostTpsBins[BOOST_LOAD_COUNT]; - // % - // offset 4216 - uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; - // % - // offset 4280 - uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; - // RPM - // offset 4288 - scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; - // CLT-based cranking position multiplier for simple manual idle controller - // C - // offset 4296 - float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; - // CLT-based cranking position multiplier for simple manual idle controller - // % - // offset 4328 - float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; - // CLT-based taper duration multiplier for simple manual idle controller - // C - // offset 4360 - int8_t cltCrankingTaperCorrBins[CLT_CRANKING_CURVE_SIZE]; - // CLT-based taper duration multiplier for simple manual idle controller - // % - // offset 4368 - scaled_channel cltCrankingTaperCorr[CLT_CRANKING_CURVE_SIZE]; - // Optional timing advance table for Idle (see useSeparateAdvanceForIdle) - // RPM - // offset 4376 - scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; - // Optional timing advance table for Idle (see useSeparateAdvanceForIdle) - // deg - // offset 4384 - float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; - // RPM - // offset 4416 - scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; - // load - // offset 4420 - uint8_t idleVeLoadBins[IDLE_VE_SIZE]; - // % - // offset 4424 - scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; - // offset 4456 - lua_script_t luaScript; - // C - // offset 12456 - float cltFuelCorrBins[CLT_CURVE_SIZE]; - // ratio - // offset 12520 - float cltFuelCorr[CLT_CURVE_SIZE]; - // C - // offset 12584 - float iatFuelCorrBins[IAT_CURVE_SIZE]; - // ratio - // offset 12648 - float iatFuelCorr[IAT_CURVE_SIZE]; - // ratio - // offset 12712 - float crankingFuelCoef[CRANKING_CURVE_SIZE]; - // C - // offset 12744 - float crankingFuelBins[CRANKING_CURVE_SIZE]; - // ratio - // offset 12776 - float crankingCycleCoef[CRANKING_CURVE_SIZE]; - // counter - // offset 12808 - float crankingCycleBins[CRANKING_CURVE_SIZE]; - // CLT-based idle position multiplier for simple manual idle controller - // C - // offset 12840 - float cltIdleCorrBins[CLT_CURVE_SIZE]; - // CLT-based idle position multiplier for simple manual idle controller - // ratio - // offset 12904 - float cltIdleCorr[CLT_CURVE_SIZE]; - // Also known as MAF transfer function. - // kg/hour value. - // By the way 2.081989116 kg/h = 1 ft3/m - // kg/hour - // offset 12968 - float mafDecoding[MAF_DECODING_COUNT]; - // V - // offset 13992 - float mafDecodingBins[MAF_DECODING_COUNT]; - // deg - // offset 15016 - scaled_channel ignitionIatCorrTable[8][8]; - // C - // offset 15080 - int8_t ignitionIatCorrTempBins[8]; - // Load - // offset 15088 - scaled_channel ignitionIatCorrLoadBins[8]; - // deg - // offset 15096 - int16_t injectionPhase[IGN_RPM_COUNT][IGN_LOAD_COUNT]; - // Load - // offset 15608 - uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; - // RPM - // offset 15640 - uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; - // onoff - // offset 15672 - uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; - // kPa - // offset 15732 - scaled_channel mapEstimateTable[FUEL_RPM_COUNT][FUEL_LOAD_COUNT]; - // % TPS - // offset 16244 - scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; - // RPM - // offset 16276 - uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; - // value - // offset 16308 - int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; - // L - // offset 16372 - uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; - // RPM - // offset 16388 - uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; - // value - // offset 16404 - int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; - // L - // offset 16468 - uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; - // RPM - // offset 16484 - uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; - // deg - // offset 16500 - scaled_channel ignitionTable[IGN_RPM_COUNT][IGN_LOAD_COUNT]; - // Load - // offset 17012 - uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; - // RPM - // offset 17044 - uint16_t ignitionRpmBins[IGN_RPM_COUNT]; - // % - // offset 17076 - scaled_channel veTable[FUEL_RPM_COUNT][FUEL_LOAD_COUNT]; - // kPa - // offset 17588 - uint16_t veLoadBins[FUEL_LOAD_COUNT]; - // RPM - // offset 17620 - uint16_t veRpmBins[FUEL_RPM_COUNT]; - // lambda - // offset 17652 - scaled_channel lambdaTable[FUEL_RPM_COUNT][FUEL_LOAD_COUNT]; - // offset 17908 - uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; - // RPM - // offset 17940 - uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; - // value - // offset 17972 - float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; - // from - // offset 18228 - float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; - // to - // offset 18260 - float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; - // value - // offset 18292 - scaled_channel scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; - // L - // offset 18420 - int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; - // RPM - // offset 18436 - int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; - // value - // offset 18452 - scaled_channel scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; - // L - // offset 18580 - int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; - // RPM - // offset 18596 - int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; - // value - // offset 18612 - scaled_channel scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; - // L - // offset 18740 - int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; - // RPM - // offset 18756 - int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; - // value - // offset 18772 - scaled_channel scriptTable4[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; - // L - // offset 18900 - int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; - // RPM - // offset 18916 - int16_t scriptTable4RpmBins[SCRIPT_TABLE_8]; - // offset 18932 - uint16_t ignTrimLoadBins[TRIM_SIZE]; - // rpm - // offset 18940 - uint16_t ignTrimRpmBins[TRIM_SIZE]; - // offset 18948 - cyl_trim_s ignTrims[12]; - // offset 19140 - uint16_t fuelTrimLoadBins[TRIM_SIZE]; - // rpm - // offset 19148 - uint16_t fuelTrimRpmBins[TRIM_SIZE]; - // offset 19156 - cyl_trim_s fuelTrims[12]; - // ratio - // offset 19348 - scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; - // Airmass - // offset 19364 - scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; - // % - // offset 19372 - uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; - // % - // offset 19380 - uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; - // % - // offset 19388 - uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; - // % - // offset 19396 - uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; - // % - // offset 19404 - uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; - // % - // offset 19412 - uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; - // % - // offset 19420 - uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; - // % - // offset 19428 - uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; - // % - // offset 19436 - uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; - // % - // offset 19444 - uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; - // % - // offset 19452 - uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; - // % - // offset 19460 - uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; - // TPS - // offset 19468 - uint8_t tcu_tccTpsBins[8]; - // MPH - // offset 19476 - uint8_t tcu_tccLockSpeed[8]; - // MPH - // offset 19484 - uint8_t tcu_tccUnlockSpeed[8]; - // KPH - // offset 19492 - uint8_t tcu_32SpeedBins[8]; - // % - // offset 19500 - uint8_t tcu_32Vals[8]; - // % - // offset 19508 - scaled_channel throttle2TrimTable[6][6]; - // % - // offset 19544 - uint8_t throttle2TrimTpsBins[6]; - // RPM - // offset 19550 - scaled_channel throttle2TrimRpmBins[6]; - // deg - // offset 19556 - scaled_channel maxKnockRetardTable[6][6]; - // % - // offset 19592 - uint8_t maxKnockRetardLoadBins[6]; - // RPM - // offset 19598 - scaled_channel maxKnockRetardRpmBins[6]; - // deg - // offset 19604 - scaled_channel ALSTimingRetardTable[4][4]; - // TPS - // offset 19636 - uint16_t alsIgnRetardLoadBins[4]; - // RPM - // offset 19644 - uint16_t alsIgnRetardrpmBins[4]; - // percent - // offset 19652 - scaled_channel ALSFuelAdjustment[4][4]; - // TPS - // offset 19684 - uint16_t alsFuelAdjustmentLoadBins[4]; - // RPM - // offset 19692 - uint16_t alsFuelAdjustmentrpmBins[4]; - // offset 19700 - blend_table_s ignBlends[IGN_BLEND_COUNT]; - // offset 20452 - blend_table_s veBlends[VE_BLEND_COUNT]; - // % - // offset 21204 - scaled_channel throttleEstimateEffectiveAreaBins[12]; - // In units of g/s normalized to choked flow conditions - // g/s - // offset 21228 - scaled_channel throttleEstimateEffectiveAreaValues[12]; - // offset 21252 - blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; - // offset 21628 - blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; - // lambda - // offset 22004 - scaled_channel lambdaMaxDeviationTable[4][4]; - // offset 22020 - uint16_t lambdaMaxDeviationLoadBins[4]; - // RPM - // offset 22028 - uint16_t lambdaMaxDeviationRpmBins[4]; - // % - // offset 22036 - uint8_t injectorStagingTable[6][6]; - // offset 22072 - uint16_t injectorStagingLoadBins[6]; - // RPM - // offset 22084 - uint16_t injectorStagingRpmBins[6]; - // deg C - // offset 22096 - int8_t wwCltBins[WWAE_TABLE_SIZE]; - // offset 22104 - scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; - // offset 22112 - scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; - // kPa - // offset 22120 - int8_t wwMapBins[WWAE_TABLE_SIZE]; - // offset 22128 - scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; - // offset 22136 - scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; - // % - // offset 22144 - scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; - // deg - // offset 22160 - scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; - // volts - // offset 22176 - uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; - // ms - // offset 22184 - scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; - // kPa - // offset 22200 - uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; - // load - // offset 22400 - scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; - // RPM - // offset 22420 - scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; - // % - // offset 22430 - int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; - // cc/lobe - // offset 22530 - scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; - // RPM - // offset 22550 - scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; - // RPM - // offset 22560 - uint16_t knockNoiseRpmBins[ENGINE_NOISE_CURVE_SIZE]; - // Knock sensor output knock detection threshold depending on current RPM. - // dB - // offset 22592 - scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; - // RPM - // offset 22608 - scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; - // multiplier - // offset 22612 - scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; - // C - // offset 22616 - int8_t cltRevLimitRpmBins[CLT_LIMITER_CURVE_SIZE]; - // RPM - // offset 22620 - uint16_t cltRevLimitRpm[CLT_LIMITER_CURVE_SIZE]; - // volt - // offset 22628 - scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; - // % - // offset 22644 - uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; - // volts - // offset 22652 - scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; - // multiplier - // offset 22660 - scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; -}; -static_assert(sizeof(persistent_config_s) == 22668); - diff --git a/firmware/config/boards/subaru_eg33/config/controllers/algo/rusefi_generated.h b/firmware/config/boards/subaru_eg33/config/controllers/algo/rusefi_generated.h deleted file mode 100644 index 8ffb197298..0000000000 --- a/firmware/config/boards/subaru_eg33/config/controllers/algo/rusefi_generated.h +++ /dev/null @@ -1,1319 +0,0 @@ -#define adc_channel_e_auto_enum 0="EFI_ADC_NONE",23="EFI_ADC3_14",24="EFI_ADC3_15",17="EFI_ADC3_4",18="EFI_ADC3_5",19="EFI_ADC3_6",20="EFI_ADC3_7",21="EFI_ADC3_8",22="EFI_ADC3_9",1="EFI_ADC_0",2="EFI_ADC_1",11="EFI_ADC_10",12="EFI_ADC_11",13="EFI_ADC_12",14="EFI_ADC_13",15="EFI_ADC_14",16="EFI_ADC_15",3="EFI_ADC_2",4="EFI_ADC_3",5="EFI_ADC_4",6="EFI_ADC_5",7="EFI_ADC_6",8="EFI_ADC_7",9="EFI_ADC_8",10="EFI_ADC_9",50="EFI_ADC_ERROR",25="EFI_ADC_LAST_CHANNEL" -#define adc_channel_e_EFI_ADC3_14 23 -#define adc_channel_e_EFI_ADC3_15 24 -#define adc_channel_e_EFI_ADC3_4 17 -#define adc_channel_e_EFI_ADC3_5 18 -#define adc_channel_e_EFI_ADC3_6 19 -#define adc_channel_e_EFI_ADC3_7 20 -#define adc_channel_e_EFI_ADC3_8 21 -#define adc_channel_e_EFI_ADC3_9 22 -#define adc_channel_e_EFI_ADC_0 1 -#define adc_channel_e_EFI_ADC_1 2 -#define adc_channel_e_EFI_ADC_10 11 -#define adc_channel_e_EFI_ADC_11 12 -#define adc_channel_e_EFI_ADC_12 13 -#define adc_channel_e_EFI_ADC_13 14 -#define adc_channel_e_EFI_ADC_14 15 -#define adc_channel_e_EFI_ADC_15 16 -#define adc_channel_e_EFI_ADC_2 3 -#define adc_channel_e_EFI_ADC_3 4 -#define adc_channel_e_EFI_ADC_4 5 -#define adc_channel_e_EFI_ADC_5 6 -#define adc_channel_e_EFI_ADC_6 7 -#define adc_channel_e_EFI_ADC_7 8 -#define adc_channel_e_EFI_ADC_8 9 -#define adc_channel_e_EFI_ADC_9 10 -#define adc_channel_e_EFI_ADC_ERROR 50 -#define adc_channel_e_EFI_ADC_LAST_CHANNEL 25 -#define adc_channel_e_EFI_ADC_NONE 0 -#define adc_channel_e_enum 0="NONE",7="A02 - VBat",15="A03 - Coolant t Ain",10="A04 - EGR t Ain",16="A06 - Oxyg 1 Ain",9="A06 - Oxyg 2 Ain",12="A18 - AUX0 Ain",1="AUX0_18 - MAP Ain",6="AUX0_19 - IAT Ain",13="B02 - TPS Ain",4="B05 - MAF Ain" -#define adc_channel_e_fullenum "NONE","AUX0_18 - MAP Ain","INVALID","INVALID","B05 - MAF Ain","INVALID","AUX0_19 - IAT Ain","A02 - VBat","INVALID","A06 - Oxyg 2 Ain","A04 - EGR t Ain","INVALID","A18 - AUX0 Ain","B02 - TPS Ain","INVALID","A03 - Coolant t Ain","A06 - Oxyg 1 Ain" -#define ADC_CHANNEL_NONE 0 -#define afr_sensor_s_size 12 -#define air_pressure_sensor_config_s_size 12 -#define air_pressure_sensor_type_e_auto_enum 0="MT_CUSTOM",10="MT_BOSCH_2_5",1="MT_DENSO183",4="MT_DODGE_NEON_2003",13="MT_GM_1_BAR",12="MT_GM_2_BAR",6="MT_GM_3_BAR",3="MT_HONDA3BAR",11="MT_MAZDA_1_BAR",7="MT_MPX4100",2="MT_MPX4250",9="MT_MPX4250A",14="MT_MPXH6400",5="MT_SUBY_DENSO",8="MT_TOYOTA_89420_02010" -#define air_pressure_sensor_type_e_MT_BOSCH_2_5 10 -#define air_pressure_sensor_type_e_MT_CUSTOM 0 -#define air_pressure_sensor_type_e_MT_DENSO183 1 -#define air_pressure_sensor_type_e_MT_DODGE_NEON_2003 4 -#define air_pressure_sensor_type_e_MT_GM_1_BAR 13 -#define air_pressure_sensor_type_e_MT_GM_2_BAR 12 -#define air_pressure_sensor_type_e_MT_GM_3_BAR 6 -#define air_pressure_sensor_type_e_MT_HONDA3BAR 3 -#define air_pressure_sensor_type_e_MT_MAZDA_1_BAR 11 -#define air_pressure_sensor_type_e_MT_MPX4100 7 -#define air_pressure_sensor_type_e_MT_MPX4250 2 -#define air_pressure_sensor_type_e_MT_MPX4250A 9 -#define air_pressure_sensor_type_e_MT_MPXH6400 14 -#define air_pressure_sensor_type_e_MT_SUBY_DENSO 5 -#define air_pressure_sensor_type_e_MT_TOYOTA_89420_02010 8 -#define antiLagActivationMode_e_ALWAYS_ON_ANTILAG 1 -#define antiLagActivationMode_e_auto_enum 0="SWITCH_INPUT_ANTILAG",1="ALWAYS_ON_ANTILAG" -#define antiLagActivationMode_e_enum "Switch Input", "Always Active" -#define antiLagActivationMode_e_SWITCH_INPUT_ANTILAG 0 -#define AUX_DIGITAL_VALVE_COUNT 2 -#define BANKS_COUNT 2 -#define BARO_CORR_SIZE 4 -#define bench_mode_e_BENCH_AC_COMPRESSOR_RELAY 5 -#define bench_mode_e_BENCH_CANCEL 14 -#define bench_mode_e_BENCH_CHECK_ENGINE_LIGHT 6 -#define bench_mode_e_BENCH_FAN_RELAY 3 -#define bench_mode_e_BENCH_FAN_RELAY_2 4 -#define bench_mode_e_BENCH_FUEL_PUMP_OFF 16 -#define bench_mode_e_BENCH_FUEL_PUMP_ON 15 -#define bench_mode_e_BENCH_GPPWM1_VALVE 9 -#define bench_mode_e_BENCH_GPPWM2_VALVE 10 -#define bench_mode_e_BENCH_GPPWM3_VALVE 11 -#define bench_mode_e_BENCH_GPPWM4_VALVE 12 -#define bench_mode_e_BENCH_HPFP_VALVE 8 -#define bench_mode_e_BENCH_IDLE_VALVE 7 -#define bench_mode_e_BENCH_MAIN_RELAY 0 -#define bench_mode_e_BENCH_SECOND_IDLE_VALVE 13 -#define bench_mode_e_BENCH_STARTER_DISABLE_RELAY 2 -#define bench_mode_e_BENCH_STARTER_ENABLE_RELAY 1 -#define bench_mode_e_BENCH_VVT_1_TARGET_BUMP 17 -#define bench_mode_e_BENCH_VVT_2_TARGET_BUMP 18 -#define bench_mode_e_BENCH_VVT_3_TARGET_BUMP 19 -#define bench_mode_e_BENCH_VVT_4_TARGET_BUMP 20 -#define blend_table_s_size 188 -#define BLOCKING_FACTOR 750 -#define BOOST_BLEND_COUNT 2 -#define BOOST_LOAD_COUNT 8 -#define BOOST_RPM_COUNT 8 -#define boostType_e_auto_enum 0="OPEN_LOOP",1="CLOSED_LOOP" -#define boostType_e_CLOSED_LOOP 1 -#define boostType_e_OPEN_LOOP 0 -#define brain_input_pin_e_enum 0="NONE",126="A07 - Cam VR+",124="A08 - Crank 1 VR+",75="A08 - Crank 2 VR+",64="B11 - Speed Din" -#define brain_input_pin_e_fullenum "NONE","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","B11 - Speed Din","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","A08 - Crank 2 VR+","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","A08 - Crank 1 VR+","INVALID","A07 - Cam VR+" -#define brain_pin_diag_e_PIN_DRIVER_OFF 0x20 -#define brain_pin_diag_e_PIN_DRIVER_OVERTEMP 0x10 -#define brain_pin_diag_e_PIN_INVALID 0x80 -#define brain_pin_diag_e_PIN_OK 0 -#define brain_pin_diag_e_PIN_OPEN 0x01 -#define brain_pin_diag_e_PIN_OVERLOAD 0x08 -#define brain_pin_diag_e_PIN_SHORT_TO_BAT 0x04 -#define brain_pin_diag_e_PIN_SHORT_TO_GND 0x02 -#define CAM_INPUTS_COUNT 4 -#define CAMS_PER_BANK 2 -#define can_baudrate_e_auto_enum 0="B50KBPS",2="B100KBPS",3="B125KBPS",6="B1MBPS",4="B250KBPS",5="B500KBPS",1="B83KBPS" -#define can_baudrate_e_B100KBPS 2 -#define can_baudrate_e_B125KBPS 3 -#define can_baudrate_e_B1MBPS 6 -#define can_baudrate_e_B250KBPS 4 -#define can_baudrate_e_B500KBPS 5 -#define can_baudrate_e_B50KBPS 0 -#define can_baudrate_e_B83KBPS 1 -#define can_baudrate_e_enum "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -#define CAN_DEFAULT_BASE 0x200 -#define CAN_ECU_HW_META 0xAB1234 -#define CAN_ECU_SERIAL_RX_ID 0x100 -#define CAN_ECU_SERIAL_TX_ID 0x102 -#define can_nbc_e_auto_enum 0="CAN_BUS_NBC_NONE",12="CAN_AIM_DASH",6="CAN_BUS_BMW_E90",10="CAN_BUS_GENESIS_COUPE",11="CAN_BUS_HONDA_K",7="CAN_BUS_Haltech",3="CAN_BUS_MAZDA_RX8",8="CAN_BUS_MQB",4="CAN_BUS_NBC_BMW",1="CAN_BUS_NBC_FIAT",2="CAN_BUS_NBC_VAG",9="CAN_BUS_NISSAN_VQ",5="CAN_BUS_W202_C180" -#define can_nbc_e_CAN_AIM_DASH 12 -#define can_nbc_e_CAN_BUS_BMW_E90 6 -#define can_nbc_e_CAN_BUS_GENESIS_COUPE 10 -#define can_nbc_e_CAN_BUS_Haltech 7 -#define can_nbc_e_CAN_BUS_HONDA_K 11 -#define can_nbc_e_CAN_BUS_MAZDA_RX8 3 -#define can_nbc_e_CAN_BUS_MQB 8 -#define can_nbc_e_CAN_BUS_NBC_BMW 4 -#define can_nbc_e_CAN_BUS_NBC_FIAT 1 -#define can_nbc_e_CAN_BUS_NBC_NONE 0 -#define can_nbc_e_CAN_BUS_NBC_VAG 2 -#define can_nbc_e_CAN_BUS_NISSAN_VQ 9 -#define can_nbc_e_CAN_BUS_W202_C180 5 -#define CAN_RX_PREFIX "CAN_rx" -#define can_vss_nbc_e_auto_enum 0="BMW_e46",2="BMW_e90",1="W202" -#define can_vss_nbc_e_BMW_e46 0 -#define can_vss_nbc_e_BMW_e90 2 -#define can_vss_nbc_e_W202 1 -#define CLT_CRANKING_CURVE_SIZE 8 -#define CLT_CURVE_SIZE 16 -#define CLT_LIMITER_CURVE_SIZE 4 -#define CLT_TIMING_CURVE_SIZE 8 -#define CMD_AC_RELAY_BENCH "acrelaybench" -#define CMD_ALTERNATOR_PIN "set_alternator_pin" -#define CMD_BOOST_PIN "set_boost_pin" -#define CMD_BURNCONFIG "burnconfig" -#define CMD_DATE "date" -#define CMD_DISABLE "disable" -#define CMD_ECU_UNLOCK "unlock" -#define CMD_ENABLE "enable" -#define CMD_ENGINE_TYPE "engine_type" -#define CMD_ENGINESNIFFERRPMTHRESHOLD "engineSnifferRpmThreshold" -#define CMD_ETB_DUTY "set_etb_duty" -#define CMD_EXTERNAL_STIMULATION "ext_stimulation" -#define CMD_FAN2_BENCH "fan2bench" -#define CMD_FAN_BENCH "fanbench" -#define CMD_FUEL_BENCH "fuelbench" -#define CMD_FUEL_PUMP_BENCH "fuelpumpbench" -#define CMD_FUNCTIONAL_TEST_MODE "test_mode" -#define CMD_GET "get" -#define CMD_HPFP_BENCH "hpfpbench" -#define CMD_IDLE_BENCH "idlebench" -#define CMD_IDLE_PIN "set_idle_pin" -#define CMD_IGNITION "ignition" -#define CMD_IGNITION_PIN "set_ignition_pin" -#define CMD_INJECTION "injection" -#define CMD_INJECTION_PIN "set_injection_pin" -#define CMD_LOGIC_PIN "set_logic_input_pin" -#define CMD_MIL_BENCH "milbench" -#define CMD_PINS "pins" -#define CMD_PWM "pwm" -#define CMD_REBOOT "reboot" -#define CMD_REBOOT_DFU "reboot_dfu" -#define CMD_REBOOT_OPENBLT "reboot_openblt" -#define CMD_RESET_ENGINE_SNIFFER "reset_engine_chart" -#define CMD_RPM "rpm" -#define CMD_SELF_STIMULATION "self_stimulation" -#define CMD_SET "set" -#define CMD_SPARK_BENCH "sparkbench" -#define CMD_STARTER_BENCH "starterbench" -#define CMD_TRIGGER_HW_INPUT "trigger_hw_input" -#define CMD_TRIGGER_PIN "set_trigger_input_pin" -#define CMD_TRIGGER_SIMULATOR_PIN "set_trigger_simulator_pin" -#define CMD_TRIGGERINFO "triggerinfo" -#define CMD_VSS_PIN "vss_pin" -#define CMD_WRITECONFIG "writeconfig" -#define COMPOSITE_PACKET_SIZE 5 -#define CONSOLE_DATA_PROTOCOL_TAG " @" -#define CRANKING_ADVANCE_CURVE_SIZE 4 -#define CRANKING_CLT_IDLE_CURVE_SIZE 8 -#define CRANKING_CURVE_SIZE 8 -#define cranking_parameters_s_size 8 -#define CRITICAL_PREFIX "CRITICAL" -#define cyl_trim_s_size 16 -#define dc_function_e_auto_enum 0="DC_None",1="DC_Throttle1",2="DC_Throttle2",3="DC_Wastegate" -#define dc_function_e_DC_None 0 -#define dc_function_e_DC_Throttle1 1 -#define dc_function_e_DC_Throttle2 2 -#define dc_function_e_DC_Wastegate 3 -#define dc_io_size 8 -#define DC_PER_STEPPER 2 -#define debug_mode_e_auto_enum 0="DBG_0",10="DBG_10",11="DBG_11",12="DBG_12",13="DBG_13",15="DBG_15",16="DBG_16",19="DBG_19",2="DBG_2",20="DBG_20",21="DBG_21",24="DBG_24",25="DBG_25",26="DBG_26",29="DBG_29",32="DBG_32",34="DBG_34",35="DBG_35",36="DBG_36",37="DBG_37",38="DBG_38",43="DBG_43",46="DBG_46",6="DBG_6",7="DBG_7",8="DBG_8",9="DBG_9",40="DBG_COMPOSITE_LOG",33="DBG_DWELL_METRIC",44="DBG_DYNO_VIEW",17="DBG_ELECTRONIC_THROTTLE_PID",4="DBG_EL_ACCEL",39="DBG_ETB_AUTOTUNE",18="DBG_EXECUTOR",22="DBG_INSTANT_RPM",30="DBG_ION",45="DBG_LOGIC_ANALYZER",48="DBG_LUA",27="DBG_MAP",28="DBG_METRICS",14="DBG_SR5_PROTOCOL",3="DBG_STEPPER_IDLE_CONTROL",47="DBG_TCU",31="DBG_TLE8888",1="DBG_TPS_ACCEL",5="DBG_TRIGGER_COUNTERS",41="DBG_UNUSED41",42="DBG_UNUSED_42",23="UNUSED23" -#define debug_mode_e_DBG_0 0 -#define debug_mode_e_DBG_10 10 -#define debug_mode_e_DBG_11 11 -#define debug_mode_e_DBG_12 12 -#define debug_mode_e_DBG_13 13 -#define debug_mode_e_DBG_15 15 -#define debug_mode_e_DBG_16 16 -#define debug_mode_e_DBG_19 19 -#define debug_mode_e_DBG_2 2 -#define debug_mode_e_DBG_20 20 -#define debug_mode_e_DBG_21 21 -#define debug_mode_e_DBG_24 24 -#define debug_mode_e_DBG_25 25 -#define debug_mode_e_DBG_26 26 -#define debug_mode_e_DBG_29 29 -#define debug_mode_e_DBG_32 32 -#define debug_mode_e_DBG_34 34 -#define debug_mode_e_DBG_35 35 -#define debug_mode_e_DBG_36 36 -#define debug_mode_e_DBG_37 37 -#define debug_mode_e_DBG_38 38 -#define debug_mode_e_DBG_43 43 -#define debug_mode_e_DBG_46 46 -#define debug_mode_e_DBG_6 6 -#define debug_mode_e_DBG_7 7 -#define debug_mode_e_DBG_8 8 -#define debug_mode_e_DBG_9 9 -#define debug_mode_e_DBG_COMPOSITE_LOG 40 -#define debug_mode_e_DBG_DWELL_METRIC 33 -#define debug_mode_e_DBG_DYNO_VIEW 44 -#define debug_mode_e_DBG_EL_ACCEL 4 -#define debug_mode_e_DBG_ELECTRONIC_THROTTLE_PID 17 -#define debug_mode_e_DBG_ETB_AUTOTUNE 39 -#define debug_mode_e_DBG_EXECUTOR 18 -#define debug_mode_e_DBG_INSTANT_RPM 22 -#define debug_mode_e_DBG_ION 30 -#define debug_mode_e_DBG_LOGIC_ANALYZER 45 -#define debug_mode_e_DBG_LUA 48 -#define debug_mode_e_DBG_MAP 27 -#define debug_mode_e_DBG_METRICS 28 -#define debug_mode_e_DBG_SR5_PROTOCOL 14 -#define debug_mode_e_DBG_STEPPER_IDLE_CONTROL 3 -#define debug_mode_e_DBG_TCU 47 -#define debug_mode_e_DBG_TLE8888 31 -#define debug_mode_e_DBG_TPS_ACCEL 1 -#define debug_mode_e_DBG_TRIGGER_COUNTERS 5 -#define debug_mode_e_DBG_UNUSED41 41 -#define debug_mode_e_DBG_UNUSED_42 42 -#define debug_mode_e_enum "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" -#define debug_mode_e_UNUSED23 23 -#define DWELL_CURVE_SIZE 8 -#define ego_sensor_e_ES_14Point7_Free 2 -#define ego_sensor_e_ES_AEM 6 -#define ego_sensor_e_ES_BPSX_D1 0 -#define ego_sensor_e_ES_Custom 5 -#define ego_sensor_e_ES_Innovate_MTX_L 1 -#define ego_sensor_e_ES_PLX 4 -#define EGT_CHANNEL_COUNT 8 -#define engine_configuration_s_size 3424 -#define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" -#define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -#define engine_load_mode_e_LM_ALPHA_N 2 -#define engine_load_mode_e_LM_LUA 3 -#define engine_load_mode_e_LM_MOCK 100 -#define engine_load_mode_e_LM_REAL_MAF 1 -#define engine_load_mode_e_LM_SPEED_DENSITY 0 -#define ENGINE_MAKE_BMW "BMW" -#define ENGINE_MAKE_GM "GM" -#define ENGINE_MAKE_HONDA "Honda" -#define ENGINE_MAKE_Hyundai "Hyundai" -#define ENGINE_MAKE_LADA "Lada" -#define ENGINE_MAKE_MAZDA "Mazda" -#define ENGINE_MAKE_MERCEDES "Mercedes" -#define ENGINE_MAKE_NISSAN "Nissan" -#define ENGINE_MAKE_SUBARU "Subaru" -#define ENGINE_MAKE_TOYOTA "Toyota" -#define ENGINE_MAKE_VAG "VAG" -#define ENGINE_NOISE_CURVE_SIZE 16 -#define ENGINE_SNIFFER_UNIT_US 10 -#define engine_type_e_auto_enum 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",20="ET_UNUSED_20",21="ET_UNUSED_21",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",66="ET_UNUSED_66",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",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",77="HELLEN_121_VAG_5_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",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",12="POLYGONUS_MIATA_MSM",4="POLYGONUS_MIATA_NA6",11="POLYGONUS_MIATA_NB1",67="POLYGONUS_MIATA_NB2",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",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",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" -#define engine_type_e_BMW_M73_M 24 -#define engine_type_e_BMW_M73_MRE 50 -#define engine_type_e_BMW_M73_MRE_SLAVE 51 -#define engine_type_e_CAMARO_4 35 -#define engine_type_e_CITROEN_TU3JP 65 -#define engine_type_e_DEFAULT_FRANKENSO 0 -#define engine_type_e_DISCOVERY_PDM 38 -#define engine_type_e_DODGE_NEON_1995 2 -#define engine_type_e_DODGE_NEON_2003_CRANK 46 -#define engine_type_e_DODGE_RAM 64 -#define engine_type_e_ET_UNUSED_13 13 -#define engine_type_e_ET_UNUSED_15 15 -#define engine_type_e_ET_UNUSED_17 17 -#define engine_type_e_ET_UNUSED_20 20 -#define engine_type_e_ET_UNUSED_21 21 -#define engine_type_e_ET_UNUSED_33 33 -#define engine_type_e_ET_UNUSED_43 43 -#define engine_type_e_ET_UNUSED_57 57 -#define engine_type_e_ET_UNUSED_61 61 -#define engine_type_e_ET_UNUSED_66 66 -#define engine_type_e_ET_UNUSED_92 92 -#define engine_type_e_ET_UNUSED_93 93 -#define engine_type_e_ET_UNUSED_97 97 -#define engine_type_e_ET_UNUSED_98 98 -#define engine_type_e_ETB_BENCH_ENGINE 58 -#define engine_type_e_FORD_ASPIRE_1996 3 -#define engine_type_e_FORD_ESCORT_GT 14 -#define engine_type_e_FORD_INLINE_6_1995 7 -#define engine_type_e_FRANKENSO_BMW_M73_F 40 -#define engine_type_e_FRANKENSO_MAZDA_MIATA_2003 47 -#define engine_type_e_FRANKENSO_MAZDA_MIATA_NA8 56 -#define engine_type_e_FRANKENSO_MIATA_NA6_MAP 41 -#define engine_type_e_FRANKENSO_QA_ENGINE 49 -#define engine_type_e_GY6_139QMB 8 -#define engine_type_e_HELLEN_121_NISSAN_4_CYL 84 -#define engine_type_e_HELLEN_121_NISSAN_6_CYL 72 -#define engine_type_e_HELLEN_121_NISSAN_8_CYL 85 -#define engine_type_e_HELLEN_121_NISSAN_ALMERA_N16 87 -#define engine_type_e_HELLEN_121_VAG_4_CYL 71 -#define engine_type_e_HELLEN_121_VAG_5_CYL 77 -#define engine_type_e_HELLEN_121_VAG_8_CYL 81 -#define engine_type_e_HELLEN_121_VAG_V6_CYL 78 -#define engine_type_e_HELLEN_121_VAG_VR6_CYL 79 -#define engine_type_e_HELLEN_128_MERCEDES_4_CYL 36 -#define engine_type_e_HELLEN_128_MERCEDES_6_CYL 88 -#define engine_type_e_HELLEN_128_MERCEDES_8_CYL 89 -#define engine_type_e_HELLEN_134_BMW 75 -#define engine_type_e_HELLEN_154_HYUNDAI_COUPE_BK1 82 -#define engine_type_e_HELLEN_154_HYUNDAI_COUPE_BK2 95 -#define engine_type_e_HELLEN_154_VAG 76 -#define engine_type_e_HELLEN_55_BMW 73 -#define engine_type_e_HELLEN_88_BMW 74 -#define engine_type_e_HELLEN_NA6 34 -#define engine_type_e_HELLEN_NA8_96 10 -#define engine_type_e_HELLEN_NA94 80 -#define engine_type_e_HELLEN_NB1 83 -#define engine_type_e_HELLEN_NB1_36 94 -#define engine_type_e_HELLEN_NB2 69 -#define engine_type_e_HELLEN_NB2_36 86 -#define engine_type_e_L9779_BENCH_ENGINE 60 -#define engine_type_e_MAZDA_MIATA_2003_BOARD_TEST 55 -#define engine_type_e_MAZDA_MIATA_2003_NA_RAIL 54 -#define engine_type_e_MIATA_PROTEUS_TCU 1 -#define engine_type_e_MINIMAL_PINS 99 -#define engine_type_e_MITSU_4G93 16 -#define engine_type_e_MRE_BOARD_NEW_TEST 31 -#define engine_type_e_MRE_BODY_CONTROL 23 -#define engine_type_e_MRE_M111 68 -#define engine_type_e_MRE_SUBARU_EJ18 37 -#define engine_type_e_MRE_VW_B6 62 -#define engine_type_e_NISSAN_PRIMERA 5 -#define engine_type_e_POLYGONUS_MIATA_MSM 12 -#define engine_type_e_POLYGONUS_MIATA_NA6 4 -#define engine_type_e_POLYGONUS_MIATA_NB1 11 -#define engine_type_e_POLYGONUS_MIATA_NB2 67 -#define engine_type_e_PROTEUS_ANALOG_PWM_TEST 30 -#define engine_type_e_PROTEUS_BMW_M73 63 -#define engine_type_e_PROTEUS_E65_6H_MAN_IN_THE_MIDDLE 9 -#define engine_type_e_PROTEUS_GM_LS_4 27 -#define engine_type_e_PROTEUS_HARLEY 6 -#define engine_type_e_PROTEUS_HONDA_K 90 -#define engine_type_e_PROTEUS_HONDA_OBD2A 91 -#define engine_type_e_PROTEUS_LUA_DEMO 25 -#define engine_type_e_PROTEUS_QC_TEST_BOARD 42 -#define engine_type_e_PROTEUS_VW_B6 39 -#define engine_type_e_SACHS 29 -#define engine_type_e_SUBARU_2003_WRX 22 -#define engine_type_e_SUBARUEG33_DEFAULTS 70 -#define engine_type_e_TEST_100 100 -#define engine_type_e_TEST_101 101 -#define engine_type_e_TEST_102 102 -#define engine_type_e_TEST_33816 18 -#define engine_type_e_TEST_CRANK_ENGINE 28 -#define engine_type_e_TEST_DC_WASTEGATE_DISCOVERY 48 -#define engine_type_e_TEST_ENGINE 26 -#define engine_type_e_TEST_ENGINE_VVT 45 -#define engine_type_e_TEST_ISSUE_366_BOTH 52 -#define engine_type_e_TEST_ISSUE_366_RISE 53 -#define engine_type_e_TEST_ROTARY 19 -#define engine_type_e_TLE8888_BENCH_ENGINE 59 -#define engine_type_e_TOYOTA_2JZ_GTE_VVTi 44 -#define engine_type_e_VW_ABA 32 -#define engine_type_e_WASTEGATE_PROTEUS_TEST 96 -#define engineSyncCam_enum "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -#define ERROR_BUFFER_SIZE 120 -#define ETB_BIAS_CURVE_LENGTH 8 -#define ETB_COUNT 2 -#define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 20015 -#define FUEL_LEVEL_TABLE_COUNT 8 -#define FUEL_LOAD_COUNT 16 -#define fuel_pressure_sensor_mode_e_auto_enum 0="FPM_Absolute",2="FPM_Differential",1="FPM_Gauge" -#define fuel_pressure_sensor_mode_e_enum "Absolute", "Gauge", "Differential", "INVALID" -#define fuel_pressure_sensor_mode_e_FPM_Absolute 0 -#define fuel_pressure_sensor_mode_e_FPM_Differential 2 -#define fuel_pressure_sensor_mode_e_FPM_Gauge 1 -#define FUEL_RPM_COUNT 16 -#define GAP_TRACKING_LENGTH 18 -#define GAUGE_CATEGORY_ETB "ETB more" -#define GAUGE_COIL_DWELL_TIME "Ign: Dwell" -#define GAUGE_NAME_ACCEL_LAT "Accel: Lateral" -#define GAUGE_NAME_ACCEL_LON "Accel: Longitudinal" -#define GAUGE_NAME_ACCEL_VERT "Accel: Vertical" -#define GAUGE_NAME_AFR "Air/Fuel Ratio" -#define GAUGE_NAME_AFR2 "Air/Fuel Ratio 2" -#define GAUGE_NAME_AFR2_GAS_SCALE "Air/Fuel Ratio 2 (Gas Scale)" -#define GAUGE_NAME_AFR_GAS_SCALE "Air/Fuel Ratio (Gas Scale)" -#define GAUGE_NAME_AIR_FLOW_ESTIMATE "Air: Flow estimate" -#define GAUGE_NAME_AIR_FLOW_MEASURED "MAF" -#define GAUGE_NAME_AIR_FLOW_MEASURED_2 "MAF #2" -#define GAUGE_NAME_AIR_MASS "Air: Cylinder airmass" -#define GAUGE_NAME_AUX_LINEAR_1 "Aux linear #1" -#define GAUGE_NAME_AUX_LINEAR_2 "Aux linear #2" -#define GAUGE_NAME_AUX_TEMP1 "Aux temp 1" -#define GAUGE_NAME_AUX_TEMP2 "Aux temp 2" -#define GAUGE_NAME_BARO_PRESSURE "Barometric pressure" -#define GAUGE_NAME_BOOST_CLOSED_LOOP "Boost: Closed loop" -#define GAUGE_NAME_BOOST_OPEN_LOOP "Boost: Open loop" -#define GAUGE_NAME_BOOST_OUTPUT "Boost: Output" -#define GAUGE_NAME_BOOST_TARGET "Boost: Target" -#define GAUGE_NAME_CLT "CLT" -#define GAUGE_NAME_CURRENT_GEAR "Current Gear" -#define GAUGE_NAME_DEBUG_F1 "debug f1" -#define GAUGE_NAME_DEBUG_F2 "debug f2: iTerm" -#define GAUGE_NAME_DEBUG_F3 "debug f3: prevError" -#define GAUGE_NAME_DEBUG_F4 "debug f4: iParam" -#define GAUGE_NAME_DEBUG_F5 "debug f5: dParam" -#define GAUGE_NAME_DEBUG_F6 "debug f6: dTerm" -#define GAUGE_NAME_DEBUG_F7 "debug f7" -#define GAUGE_NAME_DEBUG_I1 "debug i1: pParam" -#define GAUGE_NAME_DEBUG_I2 "debug i2: offset" -#define GAUGE_NAME_DEBUG_I3 "debug i3" -#define GAUGE_NAME_DEBUG_I4 "debug i4" -#define GAUGE_NAME_DEBUG_I5 "debug i5" -#define GAUGE_NAME_DESIRED_GEAR "TCU: Desired Gear" -#define GAUGE_NAME_DETECTED_GEAR "Detected Gear" -#define GAUGE_NAME_DWELL_DUTY "Ign: Coil duty cycle" -#define GAUGE_NAME_ECU_TEMPERATURE "ECU temperature" -#define GAUGE_NAME_ENGINE_CRC16 "Engine CRC16" -#define GAUGE_NAME_ETB_DUTY "ETB: Duty" -#define GAUGE_NAME_ETB_ERROR "ETB: position error" -#define GAUGE_NAME_ETB_TARGET "ETB: position target" -#define GAUGE_NAME_FLEX "Flex Ethanol %" -#define GAUGE_NAME_FUEL_BARO_CORR "Fuel: Barometric pressure mult" -#define GAUGE_NAME_FUEL_BASE "Fuel: base cycle mass" -#define GAUGE_NAME_FUEL_CHARGE_TEMP "Fuel: Estimated charge temperature" -#define GAUGE_NAME_FUEL_CLT_CORR "Fuel: CLT correction" -#define GAUGE_NAME_FUEL_CONSUMPTION "Fuel: Total consumed" -#define GAUGE_NAME_FUEL_CRANKING "Fuel: cranking" -#define GAUGE_NAME_FUEL_FLOW "Fuel: Flow rate" -#define GAUGE_NAME_FUEL_IAT_CORR "Fuel: IAT correction" -#define GAUGE_NAME_FUEL_INJ_DUTY "Fuel: injector duty cycle" -#define GAUGE_NAME_FUEL_INJ_DUTY_STAGE_2 "Fuel: injector duty cycle stage 2" -#define GAUGE_NAME_FUEL_INJECTION_TIMING "Fuel: Injection timing SOI" -#define GAUGE_NAME_FUEL_LAST_INJECTION "Fuel: Last inj pulse width" -#define GAUGE_NAME_FUEL_LAST_INJECTION_STAGE_2 "Fuel: Last inj pulse width stg 2" -#define GAUGE_NAME_FUEL_LEVEL "Fuel level" -#define GAUGE_NAME_FUEL_LOAD "Fuel: Load" -#define GAUGE_NAME_FUEL_PRESSURE_HIGH "Fuel pressure (high)" -#define GAUGE_NAME_FUEL_PRESSURE_HIGH_UNITS "bar" -#define GAUGE_NAME_FUEL_PRESSURE_LOW "Fuel pressure (low)" -#define GAUGE_NAME_FUEL_PRESSURE_LOW_UNITS "kPa" -#define GAUGE_NAME_FUEL_RUNNING "Fuel: running" -#define GAUGE_NAME_FUEL_TPS_EXTRA "Fuel: TPS AE add fuel ms" -#define GAUGE_NAME_FUEL_TRIM "Fuel: fuel trim" -#define GAUGE_NAME_FUEL_TRIM_2 "Fuel: fuel trim 2" -#define GAUGE_NAME_FUEL_VE "Fuel: VE" -#define GAUGE_NAME_FUEL_WALL_AMOUNT "Fuel: wall amount" -#define GAUGE_NAME_FUEL_WALL_CORRECTION "Fuel: wall correction" -#define GAUGE_NAME_FW_VERSION "ECU Software Version" -#define GAUGE_NAME_GEAR_RATIO "Gearbox Ratio" -#define GAUGE_NAME_GYRO_YAW "Gyro: Yaw rate" -#define GAUGE_NAME_IAC "Idle: Position" -#define GAUGE_NAME_IAT "IAT" -#define GAUGE_NAME_IDLE_POSITION "Idle: Position sensor" -#define GAUGE_NAME_IDLE_RPM_TARGET "Idle: Target RPM" -#define GAUGE_NAME_IGNITION_LOAD "Ign: Load" -#define GAUGE_NAME_IGNITION_MODE "Ign: Mode" -#define GAUGE_NAME_INJECTION_MODE "Fuel: Injection mode" -#define GAUGE_NAME_INJECTOR_LAG "Fuel: injector lag" -#define GAUGE_NAME_ISS "TCU: Input Shaft Speed" -#define GAUGE_NAME_KNOCK_COUNTER "Knock: Count" -#define GAUGE_NAME_KNOCK_LEVEL "Knock: Current level" -#define GAUGE_NAME_KNOCK_RETARD "Knock: Retard" -#define GAUGE_NAME_LAMBDA "Lambda" -#define GAUGE_NAME_LAMBDA2 "Lambda 2" -#define GAUGE_NAME_LAST_ERROR "Last error" -#define GAUGE_NAME_MAF "MAF" -#define GAUGE_NAME_MAP "MAP" -#define GAUGE_NAME_OIL_PRESSURE "Oil Pressure" -#define GAUGE_NAME_OIL_TEMPERATURE "Oil Temperature" -#define GAUGE_NAME_RAW_FUEL_PRESSURE_HIGH "Fuel pressure raw (high)" -#define GAUGE_NAME_RAW_FUEL_PRESSURE_LOW "Fuel pressure raw (low)" -#define GAUGE_NAME_RPM "RPM" -#define GAUGE_NAME_TARGET_AFR "Fuel: target AFR" -#define GAUGE_NAME_TARGET_LAMBDA "Fuel: target lambda" -#define GAUGE_NAME_TC_RATIO "TCU: Torque Converter Ratio" -#define GAUGE_NAME_TCHARGE "Air: SD tCharge" -#define GAUGE_NAME_THROTTLE_PEDAL "Throttle pedal position" -#define GAUGE_NAME_TIME "Time" -#define GAUGE_NAME_TIMING_ADVANCE "Ign: Timing Base" -#define GAUGE_NAME_TPS "TPS" -#define GAUGE_NAME_TPS2 "TPS2" -#define GAUGE_NAME_TRG_ERR "Trigger Error Counter" -#define GAUGE_NAME_TRG_GAP "Trigger Sync Latest Ratio" -#define GAUGE_NAME_TUNE_CRC16 "Tune CRC16" -#define GAUGE_NAME_TURBO_SPEED "Turbocharger Speed" -#define GAUGE_NAME_UPTIME "Uptime" -#define GAUGE_NAME_VBAT "VBatt" -#define GAUGE_NAME_VERSION "firmware" -#define GAUGE_NAME_VVS "Vehicle Speed" -#define GAUGE_NAME_VVT_B1E "VVT: bank 1 exhaust" -#define GAUGE_NAME_VVT_B1I "VVT: bank 1 intake" -#define GAUGE_NAME_VVT_B2E "VVT: bank 2 exhaust" -#define GAUGE_NAME_VVT_B2I "VVT: bank 2 intake" -#define GAUGE_NAME_VVT_TARGET_B1E "VVT: bank 1 exhaust target" -#define GAUGE_NAME_VVT_TARGET_B1I "VVT: bank 1 intake target" -#define GAUGE_NAME_VVT_TARGET_B2E "VVT: bank 2 exhaust target" -#define GAUGE_NAME_VVT_TARGET_B2I "VVT: bank 2 intake target" -#define GAUGE_NAME_WARNING_COUNTER "Warning: counter" -#define GAUGE_NAME_WARNING_LAST "Warning: last" -#define GAUGE_NAME_WG_POSITION "Wastegate position sensor" -#define gear_controller_e_enum "None", "Button Shift" -#define gear_e_GEAR_1 1 -#define gear_e_GEAR_2 2 -#define gear_e_GEAR_3 3 -#define gear_e_GEAR_4 4 -#define gear_e_NEUTRAL 0 -#define gear_e_REVERSE -1 -#define GearControllerMode_auto_enum 0="None",1="ButtonShift",2="Generic" -#define GearControllerMode_ButtonShift 1 -#define GearControllerMode_Generic 2 -#define GearControllerMode_None 0 -#define GEARS_COUNT 8 -#define Gpio_A0 2 -#define Gpio_A1 3 -#define Gpio_A10 12 -#define Gpio_A11 13 -#define Gpio_A12 14 -#define Gpio_A13 15 -#define Gpio_A14 16 -#define Gpio_A15 17 -#define Gpio_A2 4 -#define Gpio_A3 5 -#define Gpio_A4 6 -#define Gpio_A5 7 -#define Gpio_A6 8 -#define Gpio_A7 9 -#define Gpio_A8 10 -#define Gpio_A9 11 -#define Gpio_auto_enum 0="Unassigned",2="A0",3="A1",12="A10",13="A11",14="A12",15="A13",16="A14",17="A15",4="A2",5="A3",6="A4",7="A5",8="A6",9="A7",10="A8",11="A9",18="B0",19="B1",28="B10",29="B11",30="B12",31="B13",32="B14",33="B15",20="B2",21="B3",22="B4",23="B5",24="B6",25="B7",26="B8",27="B9",34="C0",35="C1",44="C10",45="C11",46="C12",47="C13",48="C14",49="C15",36="C2",37="C3",38="C4",39="C5",40="C6",41="C7",42="C8",43="C9",250="CAN_PIN_0",251="CAN_PIN_1",252="CAN_PIN_2",253="CAN_PIN_3",254="CAN_PIN_4",255="CAN_PIN_5",256="CAN_PIN_6",257="CAN_PIN_7",50="D0",51="D1",60="D10",61="D11",62="D12",63="D13",64="D14",65="D15",52="D2",53="D3",54="D4",55="D5",56="D6",57="D7",58="D8",59="D9",66="E0",67="E1",76="E10",77="E11",78="E12",79="E13",80="E14",81="E15",68="E2",69="E3",70="E4",71="E5",72="E6",73="E7",74="E8",75="E9",82="F0",83="F1",92="F10",93="F11",94="F12",95="F13",96="F14",97="F15",84="F2",85="F3",86="F4",87="F5",88="F6",89="F7",90="F8",91="F9",98="G0",99="G1",108="G10",109="G11",110="G12",111="G13",112="G14",113="G15",100="G2",101="G3",102="G4",103="G5",104="G6",105="G7",106="G8",107="G9",114="H0",115="H1",124="H10",125="H11",126="H12",127="H13",128="H14",129="H15",116="H2",117="H3",118="H4",119="H5",120="H6",121="H7",122="H8",123="H9",130="I0",131="I1",140="I10",141="I11",142="I12",143="I13",144="I14",145="I15",132="I2",133="I3",134="I4",135="I5",136="I6",137="I7",138="I8",139="I9",1="Invalid",188="MC33810_0_GD_0",189="MC33810_0_GD_1",190="MC33810_0_GD_2",191="MC33810_0_GD_3",184="MC33810_0_OUT_0",185="MC33810_0_OUT_1",186="MC33810_0_OUT_2",187="MC33810_0_OUT_3",196="MC33810_1_GD_0",197="MC33810_1_GD_1",198="MC33810_1_GD_2",199="MC33810_1_GD_3",192="MC33810_1_OUT_0",193="MC33810_1_OUT_1",194="MC33810_1_OUT_2",195="MC33810_1_OUT_3",162="MC33972_PIN_1",171="MC33972_PIN_10",172="MC33972_PIN_11",173="MC33972_PIN_12",174="MC33972_PIN_13",175="MC33972_PIN_14",176="MC33972_PIN_15",177="MC33972_PIN_16",178="MC33972_PIN_17",179="MC33972_PIN_18",180="MC33972_PIN_19",163="MC33972_PIN_2",181="MC33972_PIN_20",182="MC33972_PIN_21",183="MC33972_PIN_22",164="MC33972_PIN_3",165="MC33972_PIN_4",166="MC33972_PIN_5",167="MC33972_PIN_6",168="MC33972_PIN_7",169="MC33972_PIN_8",170="MC33972_PIN_9",146="TLE6240_PIN_1",155="TLE6240_PIN_10",156="TLE6240_PIN_11",157="TLE6240_PIN_12",158="TLE6240_PIN_13",159="TLE6240_PIN_14",160="TLE6240_PIN_15",161="TLE6240_PIN_16",147="TLE6240_PIN_2",148="TLE6240_PIN_3",149="TLE6240_PIN_4",150="TLE6240_PIN_5",151="TLE6240_PIN_6",152="TLE6240_PIN_7",153="TLE6240_PIN_8",154="TLE6240_PIN_9" -#define Gpio_B0 18 -#define Gpio_B1 19 -#define Gpio_B10 28 -#define Gpio_B11 29 -#define Gpio_B12 30 -#define Gpio_B13 31 -#define Gpio_B14 32 -#define Gpio_B15 33 -#define Gpio_B2 20 -#define Gpio_B3 21 -#define Gpio_B4 22 -#define Gpio_B5 23 -#define Gpio_B6 24 -#define Gpio_B7 25 -#define Gpio_B8 26 -#define Gpio_B9 27 -#define Gpio_C0 34 -#define Gpio_C1 35 -#define Gpio_C10 44 -#define Gpio_C11 45 -#define Gpio_C12 46 -#define Gpio_C13 47 -#define Gpio_C14 48 -#define Gpio_C15 49 -#define Gpio_C2 36 -#define Gpio_C3 37 -#define Gpio_C4 38 -#define Gpio_C5 39 -#define Gpio_C6 40 -#define Gpio_C7 41 -#define Gpio_C8 42 -#define Gpio_C9 43 -#define Gpio_CAN_PIN_0 250 -#define Gpio_CAN_PIN_1 251 -#define Gpio_CAN_PIN_2 252 -#define Gpio_CAN_PIN_3 253 -#define Gpio_CAN_PIN_4 254 -#define Gpio_CAN_PIN_5 255 -#define Gpio_CAN_PIN_6 256 -#define Gpio_CAN_PIN_7 257 -#define Gpio_D0 50 -#define Gpio_D1 51 -#define Gpio_D10 60 -#define Gpio_D11 61 -#define Gpio_D12 62 -#define Gpio_D13 63 -#define Gpio_D14 64 -#define Gpio_D15 65 -#define Gpio_D2 52 -#define Gpio_D3 53 -#define Gpio_D4 54 -#define Gpio_D5 55 -#define Gpio_D6 56 -#define Gpio_D7 57 -#define Gpio_D8 58 -#define Gpio_D9 59 -#define Gpio_E0 66 -#define Gpio_E1 67 -#define Gpio_E10 76 -#define Gpio_E11 77 -#define Gpio_E12 78 -#define Gpio_E13 79 -#define Gpio_E14 80 -#define Gpio_E15 81 -#define Gpio_E2 68 -#define Gpio_E3 69 -#define Gpio_E4 70 -#define Gpio_E5 71 -#define Gpio_E6 72 -#define Gpio_E7 73 -#define Gpio_E8 74 -#define Gpio_E9 75 -#define Gpio_enum "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 Gpio_F0 82 -#define Gpio_F1 83 -#define Gpio_F10 92 -#define Gpio_F11 93 -#define Gpio_F12 94 -#define Gpio_F13 95 -#define Gpio_F14 96 -#define Gpio_F15 97 -#define Gpio_F2 84 -#define Gpio_F3 85 -#define Gpio_F4 86 -#define Gpio_F5 87 -#define Gpio_F6 88 -#define Gpio_F7 89 -#define Gpio_F8 90 -#define Gpio_F9 91 -#define Gpio_G0 98 -#define Gpio_G1 99 -#define Gpio_G10 108 -#define Gpio_G11 109 -#define Gpio_G12 110 -#define Gpio_G13 111 -#define Gpio_G14 112 -#define Gpio_G15 113 -#define Gpio_G2 100 -#define Gpio_G3 101 -#define Gpio_G4 102 -#define Gpio_G5 103 -#define Gpio_G6 104 -#define Gpio_G7 105 -#define Gpio_G8 106 -#define Gpio_G9 107 -#define Gpio_H0 114 -#define Gpio_H1 115 -#define Gpio_H10 124 -#define Gpio_H11 125 -#define Gpio_H12 126 -#define Gpio_H13 127 -#define Gpio_H14 128 -#define Gpio_H15 129 -#define Gpio_H2 116 -#define Gpio_H3 117 -#define Gpio_H4 118 -#define Gpio_H5 119 -#define Gpio_H6 120 -#define Gpio_H7 121 -#define Gpio_H8 122 -#define Gpio_H9 123 -#define Gpio_I0 130 -#define Gpio_I1 131 -#define Gpio_I10 140 -#define Gpio_I11 141 -#define Gpio_I12 142 -#define Gpio_I13 143 -#define Gpio_I14 144 -#define Gpio_I15 145 -#define Gpio_I2 132 -#define Gpio_I3 133 -#define Gpio_I4 134 -#define Gpio_I5 135 -#define Gpio_I6 136 -#define Gpio_I7 137 -#define Gpio_I8 138 -#define Gpio_I9 139 -#define Gpio_Invalid 1 -#define Gpio_MC33810_0_GD_0 188 -#define Gpio_MC33810_0_GD_1 189 -#define Gpio_MC33810_0_GD_2 190 -#define Gpio_MC33810_0_GD_3 191 -#define Gpio_MC33810_0_OUT_0 184 -#define Gpio_MC33810_0_OUT_1 185 -#define Gpio_MC33810_0_OUT_2 186 -#define Gpio_MC33810_0_OUT_3 187 -#define Gpio_MC33810_1_GD_0 196 -#define Gpio_MC33810_1_GD_1 197 -#define Gpio_MC33810_1_GD_2 198 -#define Gpio_MC33810_1_GD_3 199 -#define Gpio_MC33810_1_OUT_0 192 -#define Gpio_MC33810_1_OUT_1 193 -#define Gpio_MC33810_1_OUT_2 194 -#define Gpio_MC33810_1_OUT_3 195 -#define Gpio_MC33972_PIN_1 162 -#define Gpio_MC33972_PIN_10 171 -#define Gpio_MC33972_PIN_11 172 -#define Gpio_MC33972_PIN_12 173 -#define Gpio_MC33972_PIN_13 174 -#define Gpio_MC33972_PIN_14 175 -#define Gpio_MC33972_PIN_15 176 -#define Gpio_MC33972_PIN_16 177 -#define Gpio_MC33972_PIN_17 178 -#define Gpio_MC33972_PIN_18 179 -#define Gpio_MC33972_PIN_19 180 -#define Gpio_MC33972_PIN_2 163 -#define Gpio_MC33972_PIN_20 181 -#define Gpio_MC33972_PIN_21 182 -#define Gpio_MC33972_PIN_22 183 -#define Gpio_MC33972_PIN_3 164 -#define Gpio_MC33972_PIN_4 165 -#define Gpio_MC33972_PIN_5 166 -#define Gpio_MC33972_PIN_6 167 -#define Gpio_MC33972_PIN_7 168 -#define Gpio_MC33972_PIN_8 169 -#define Gpio_MC33972_PIN_9 170 -#define Gpio_TLE6240_PIN_1 146 -#define Gpio_TLE6240_PIN_10 155 -#define Gpio_TLE6240_PIN_11 156 -#define Gpio_TLE6240_PIN_12 157 -#define Gpio_TLE6240_PIN_13 158 -#define Gpio_TLE6240_PIN_14 159 -#define Gpio_TLE6240_PIN_15 160 -#define Gpio_TLE6240_PIN_16 161 -#define Gpio_TLE6240_PIN_2 147 -#define Gpio_TLE6240_PIN_3 148 -#define Gpio_TLE6240_PIN_4 149 -#define Gpio_TLE6240_PIN_5 150 -#define Gpio_TLE6240_PIN_6 151 -#define Gpio_TLE6240_PIN_7 152 -#define Gpio_TLE6240_PIN_8 153 -#define Gpio_TLE6240_PIN_9 154 -#define Gpio_Unassigned 0 -#define gppwm_channel_e_auto_enum 0="GPPWM_Zero",9="GPPWM_AccelPedal",16="GPPWM_AuxLinear1",17="GPPWM_AuxLinear2",7="GPPWM_AuxTemp1",8="GPPWM_AuxTemp2",26="GPPWM_BaroPressure",3="GPPWM_Clt",25="GPPWM_DetectedGear",15="GPPWM_EthanolPercent",5="GPPWM_FuelLoad",18="GPPWM_GppwmOutput1",19="GPPWM_GppwmOutput2",20="GPPWM_GppwmOutput3",21="GPPWM_GppwmOutput4",4="GPPWM_Iat",6="GPPWM_IgnLoad",22="GPPWM_LuaGauge1",23="GPPWM_LuaGauge2",2="GPPWM_Map",24="GPPWM_Rpm",1="GPPWM_Tps",12="GPPWM_VVT_1E",11="GPPWM_VVT_1I",14="GPPWM_VVT_2E",13="GPPWM_VVT_2I",10="GPPWM_Vbatt" -#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 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "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" -#define gppwm_channel_e_GPPWM_AccelPedal 9 -#define gppwm_channel_e_GPPWM_AuxLinear1 16 -#define gppwm_channel_e_GPPWM_AuxLinear2 17 -#define gppwm_channel_e_GPPWM_AuxTemp1 7 -#define gppwm_channel_e_GPPWM_AuxTemp2 8 -#define gppwm_channel_e_GPPWM_BaroPressure 26 -#define gppwm_channel_e_GPPWM_Clt 3 -#define gppwm_channel_e_GPPWM_DetectedGear 25 -#define gppwm_channel_e_GPPWM_EthanolPercent 15 -#define gppwm_channel_e_GPPWM_FuelLoad 5 -#define gppwm_channel_e_GPPWM_GppwmOutput1 18 -#define gppwm_channel_e_GPPWM_GppwmOutput2 19 -#define gppwm_channel_e_GPPWM_GppwmOutput3 20 -#define gppwm_channel_e_GPPWM_GppwmOutput4 21 -#define gppwm_channel_e_GPPWM_Iat 4 -#define gppwm_channel_e_GPPWM_IgnLoad 6 -#define gppwm_channel_e_GPPWM_LuaGauge1 22 -#define gppwm_channel_e_GPPWM_LuaGauge2 23 -#define gppwm_channel_e_GPPWM_Map 2 -#define gppwm_channel_e_GPPWM_Rpm 24 -#define gppwm_channel_e_GPPWM_Tps 1 -#define gppwm_channel_e_GPPWM_Vbatt 10 -#define gppwm_channel_e_GPPWM_VVT_1E 12 -#define gppwm_channel_e_GPPWM_VVT_1I 11 -#define gppwm_channel_e_GPPWM_VVT_2E 14 -#define gppwm_channel_e_GPPWM_VVT_2I 13 -#define gppwm_channel_e_GPPWM_Zero 0 -#define gppwm_channel_size 108 -#define GPPWM_CHANNELS 4 -#define gppwm_compare_mode_e_GPPWM_GreaterThan 0 -#define gppwm_compare_mode_e_GPPWM_LessThan 1 -#define GPPWM_LOAD_COUNT 8 -#define GPPWM_NOTE_SIZE 16 -#define GPPWM_RPM_COUNT 8 -#define hpfp_cam_e_auto_enum 0="HPFP_CAM_NONE",2="HPFP_CAM_EX1",4="HPFP_CAM_EX2",1="HPFP_CAM_IN1",3="HPFP_CAM_IN2" -#define hpfp_cam_e_enum "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -#define hpfp_cam_e_HPFP_CAM_EX1 2 -#define hpfp_cam_e_HPFP_CAM_EX2 4 -#define hpfp_cam_e_HPFP_CAM_IN1 1 -#define hpfp_cam_e_HPFP_CAM_IN2 3 -#define hpfp_cam_e_HPFP_CAM_NONE 0 -#define HPFP_COMPENSATION_SIZE 10 -#define HPFP_DEADTIME_SIZE 8 -#define HPFP_LOBE_PROFILE_SIZE 16 -#define HPFP_TARGET_SIZE 10 -#define HW_EVENT_TYPES 6 -#define HW_MAX_ADC_INDEX 17 -#define IAC_PID_MULT_SIZE 8 -#define IAT_CURVE_SIZE 16 -#define IDLE_ADVANCE_CURVE_SIZE 8 -#define idle_hardware_s_size 12 -#define idle_mode_e_auto_enum 0="IM_AUTO",1="IM_MANUAL" -#define idle_mode_e_IM_AUTO 0 -#define idle_mode_e_IM_MANUAL 1 -#define idle_state_e_BLIP 64 -#define idle_state_e_INIT 0 -#define idle_state_e_PID_UPPER 16 -#define idle_state_e_PID_VALUE 4 -#define idle_state_e_RPM_DEAD_ZONE 2 -#define idle_state_e_TPS_THRESHOLD 1 -#define IDLE_VE_SIZE 4 -#define IGN_BLEND_COUNT 4 -#define IGN_LOAD_COUNT 16 -#define IGN_RPM_COUNT 16 -#define ignition_mode_e_auto_enum 0="IM_ONE_COIL",1="IM_INDIVIDUAL_COILS",3="IM_TWO_COILS",2="IM_WASTED_SPARK" -#define ignition_mode_e_IM_INDIVIDUAL_COILS 1 -#define ignition_mode_e_IM_ONE_COIL 0 -#define ignition_mode_e_IM_TWO_COILS 3 -#define ignition_mode_e_IM_WASTED_SPARK 2 -#define imu_type_e_auto_enum 0="IMU_NONE",2="IMU_MM5_10",3="IMU_TYPE_3",4="IMU_TYPE_4",5="IMU_TYPE_MB_A0065422618",1="IMU_VAG" -#define imu_type_e_IMU_MM5_10 2 -#define imu_type_e_IMU_NONE 0 -#define imu_type_e_IMU_TYPE_3 3 -#define imu_type_e_IMU_TYPE_4 4 -#define imu_type_e_IMU_TYPE_MB_A0065422618 5 -#define imu_type_e_IMU_VAG 1 -#define INDICATOR_NAME_AC_SWITCH "AC switch" -#define INDICATOR_NAME_BRAKE_DOWN "Brake switch" -#define INDICATOR_NAME_CLUTCH_DOWN "Clutch: down" -#define INDICATOR_NAME_CLUTCH_UP "Clutch: up" -#define injection_mode_e_auto_enum 0="IM_SIMULTANEOUS",2="IM_BATCH",1="IM_SEQUENTIAL",3="IM_SINGLE_POINT" -#define injection_mode_e_IM_BATCH 2 -#define injection_mode_e_IM_SEQUENTIAL 1 -#define injection_mode_e_IM_SIMULTANEOUS 0 -#define injection_mode_e_IM_SINGLE_POINT 3 -#define InjectionTimingMode_auto_enum 0="End",2="Center",1="Start" -#define InjectionTimingMode_Center 2 -#define InjectionTimingMode_End 0 -#define InjectionTimingMode_Start 1 -#define injector_compensation_mode_e_auto_enum 0="ICM_None",1="ICM_FixedRailPressure",2="ICM_SensedRailPressure" -#define injector_compensation_mode_e_ICM_FixedRailPressure 1 -#define injector_compensation_mode_e_ICM_None 0 -#define injector_compensation_mode_e_ICM_SensedRailPressure 2 -#define injector_pressure_type_e_auto_enum 0="IPT_Low",1="IPT_High" -#define injector_pressure_type_e_IPT_High 1 -#define injector_pressure_type_e_IPT_Low 0 -#define injector_s_size 36 -#define InjectorNonlinearMode_auto_enum 0="INJ_None",2="INJ_FordModel",1="INJ_PolynomialAdder" -#define InjectorNonlinearMode_INJ_FordModel 2 -#define InjectorNonlinearMode_INJ_None 0 -#define InjectorNonlinearMode_INJ_PolynomialAdder 1 -#define launchActivationMode_e_ALWAYS_ACTIVE_LAUNCH 2 -#define launchActivationMode_e_auto_enum 0="SWITCH_INPUT_LAUNCH",2="ALWAYS_ACTIVE_LAUNCH",1="CLUTCH_INPUT_LAUNCH" -#define launchActivationMode_e_CLUTCH_INPUT_LAUNCH 1 -#define launchActivationMode_e_enum "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -#define launchActivationMode_e_SWITCH_INPUT_LAUNCH 0 -#define linear_sensor_s_size 20 -#define load_override_e_AFR_AccPedal 3 -#define load_override_e_AFR_CylFilling 4 -#define load_override_e_AFR_MAP 1 -#define load_override_e_AFR_None 0 -#define load_override_e_AFR_Tps 2 -#define load_override_e_auto_enum 0="AFR_None",3="AFR_AccPedal",4="AFR_CylFilling",1="AFR_MAP",2="AFR_Tps" -#define load_override_e_enum "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -#define LOG_DELIMITER "`" -#define LOGIC_ANALYZER_CHANNEL_COUNT 4 -#define LUA_ANALOG_INPUT_COUNT 8 -#define LUA_DIGITAL_INPUT_COUNT 8 -#define LUA_GAUGE_COUNT 2 -#define LUA_PWM_COUNT 8 -#define LUA_SCRIPT_SIZE 8000 -#define MAF_DECODING_COUNT 256 -#define MAIN_HELP_URL "https://wiki.fome.tech/" -#define MAP_ANGLE_SIZE 8 -#define MAP_sensor_config_s_size 140 -#define MAP_WINDOW_SIZE 8 -#define MAX_CYLINDER_COUNT 12 -#define MLQ_FIELD_HEADER_SIZE 89 -#define MLQ_HEADER_SIZE 24 -#define MOCK_PPS_POSITION_COMMAND "mock_pps_position" -#define MOCK_PPS_VOLTAGE_COMMAND "mock_pps_voltage" -#define operation_mode_e_FOUR_STROKE_CAM_SENSOR 2 -#define operation_mode_e_FOUR_STROKE_CRANK_SENSOR 1 -#define operation_mode_e_FOUR_STROKE_SYMMETRICAL_CRANK_SENSOR 4 -#define operation_mode_e_FOUR_STROKE_THREE_TIMES_CRANK_SENSOR 5 -#define operation_mode_e_FOUR_STROKE_TWELVE_TIMES_CRANK_SENSOR 6 -#define operation_mode_e_OM_NONE 0 -#define operation_mode_e_TWO_STROKE 3 -#define output_pin_e_enum 0="NONE",186="A01 - Injector 5",194="A12 - Injector 6",159="AUX0_14 - AUX0 OD output 1",158="AUX0_17 - AUX0 OD output 0",160="B08 - AC clutch",149="C14 - FPump modulator",153="C15 - AUX1 OD out",148="C16 - Tacho out",157="D01 - IDLE close",156="D02 - IDLE open",147="D03 - FAN 2 relay",121="D05 - Self Shutdown",155="D06 - Absorber purge valve",188="D07 - Ignition Cyl 4",198="D08 - Ignition Cyl 2",189="D09 - Ignition Cyl 3",199="D10 - Ignition Cyl 1",185="D11 - Injector 3",192="D12 - Injector 2",184="D13 - Injector 1",197="D16 - Ignition Cyl 6",146="D17 - FAN 1 relay",154="D18 - Auxillary air valve",152="D19 - Check Engine indicator",161="D20 - Inertia-Resonance Super-Charger control",191="D21 - Ignition Cyl 5",151="D22 - EGR control",150="D23 - Fuel Pump relay",193="D26 - Injector 4" -#define output_pin_e_fullenum "NONE","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","D05 - Self Shutdown","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","D17 - FAN 1 relay","D03 - FAN 2 relay","C16 - Tacho out","C14 - FPump modulator","D23 - Fuel Pump relay","D22 - EGR control","D19 - Check Engine indicator","C15 - AUX1 OD out","D18 - Auxillary air valve","D06 - Absorber purge valve","D02 - IDLE open","D01 - IDLE close","AUX0_17 - AUX0 OD output 0","AUX0_14 - AUX0 OD output 1","B08 - AC clutch","D20 - Inertia-Resonance Super-Charger control","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","D13 - Injector 1","D11 - Injector 3","A01 - Injector 5","INVALID","D07 - Ignition Cyl 4","D09 - Ignition Cyl 3","INVALID","D21 - Ignition Cyl 5","D12 - Injector 2","D26 - Injector 4","A12 - Injector 6","INVALID","INVALID","D16 - Ignition Cyl 6","D08 - Ignition Cyl 2","D10 - Ignition Cyl 1" -#define PACK_ADD_TEMPERATURE 40 -#define PACK_MULT_AFR 1000 -#define PACK_MULT_AFR_CFG 10 -#define PACK_MULT_ANGLE 50 -#define PACK_MULT_FUEL_FLOW 200 -#define PACK_MULT_FUEL_MASS 100 -#define PACK_MULT_HIGH_PRESSURE 10 -#define PACK_MULT_LAMBDA 10000 -#define PACK_MULT_LAMBDA_CFG 147 -#define PACK_MULT_MASS_FLOW 10 -#define PACK_MULT_MS 300 -#define PACK_MULT_PERCENT 100 -#define PACK_MULT_PRESSURE 30 -#define PACK_MULT_TEMPERATURE 100 -#define PACK_MULT_VOLTAGE 1000 -#define PACK_PERCENT_BYTE_MULT 100.0 -#define PEDAL_TO_TPS_SIZE 8 -#define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 22668 -#define pid_s_size 20 -#define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" -#define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" -#define pin_input_mode_e_PI_DEFAULT 0 -#define pin_input_mode_e_PI_PULLDOWN 2 -#define pin_input_mode_e_PI_PULLUP 1 -#define pin_mode_e_auto_enum 0="PO_DEFAULT",4="PO_OPENDRAIN",64="PO_PULLDOWN",32="PO_PULLUP" -#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_mode_e_PO_DEFAULT 0 -#define pin_mode_e_PO_OPENDRAIN 4 -#define pin_mode_e_PO_PULLDOWN 64 -#define pin_mode_e_PO_PULLUP 32 -#define pin_output_mode_e_auto_enum 0="OM_DEFAULT",1="OM_INVERTED",2="OM_OPENDRAIN",3="OM_OPENDRAIN_INVERTED" -#define pin_output_mode_e_enum "default", "default inverted", "open collector", "open collector inverted" -#define pin_output_mode_e_OM_DEFAULT 0 -#define pin_output_mode_e_OM_INVERTED 1 -#define pin_output_mode_e_OM_OPENDRAIN 2 -#define pin_output_mode_e_OM_OPENDRAIN_INVERTED 3 -#define PROTOCOL_ANALOG_CHART "analog_chart" -#define PROTOCOL_COIL1_SHORT_NAME "c1" -#define PROTOCOL_CRANK1 "t1" -#define PROTOCOL_CRANK2 "t2" -#define PROTOCOL_ENGINE_SNIFFER "wave_chart" -#define PROTOCOL_ES_DOWN "d" -#define PROTOCOL_ES_UP "u" -#define PROTOCOL_HELLO_PREFIX "***" -#define PROTOCOL_HPFP_NAME "hpfp" -#define PROTOCOL_INJ1_SHORT_NAME "i1" -#define PROTOCOL_INJ1_STAGE2_SHORT_NAME "j1" -#define PROTOCOL_MSG "msg" -#define PROTOCOL_OUTPIN "outpin" -#define PROTOCOL_SIGNATURE_PREFIX "rusEFI " -#define PROTOCOL_TEST_RESPONSE_TAG "ts_p_alive" -#define PROTOCOL_VERSION_TAG "fomeVersion" -#define PROTOCOL_VVT1_NAME "VVT1" -#define PROTOCOL_VVT2_NAME "VVT2" -#define PROTOCOL_VVT3_NAME "VVT3" -#define PROTOCOL_VVT4_NAME "VVT4" -#define PROTOCOL_WA_CHANNEL_1 "input1" -#define PROTOCOL_WA_CHANNEL_2 "input2" -#define PROTOCOL_WA_CHANNEL_3 "input3" -#define PROTOCOL_WA_CHANNEL_4 "input4" -#define SCRIPT_CURVE_16 16 -#define SCRIPT_CURVE_8 8 -#define SCRIPT_CURVE_COUNT 6 -#define SCRIPT_SETTING_COUNT 8 -#define SCRIPT_TABLE_8 8 -#define SCRIPT_TABLE_COUNT 4 -#define SelectedGear_Drive 6 -#define SelectedGear_Invalid 0 -#define SelectedGear_Low 11 -#define SelectedGear_Manual 7 -#define SelectedGear_Manual1 10 -#define SelectedGear_Manual2 9 -#define SelectedGear_Manual3 8 -#define SelectedGear_ManualMinus 2 -#define SelectedGear_ManualPlus 1 -#define SelectedGear_Neutral 5 -#define SelectedGear_Park 3 -#define SelectedGear_Reverse 4 -#define sensor_chart_e_auto_enum 0="SC_OFF",5="SC_AUX_FAST1",4="SC_DETAILED_RPM",3="SC_RPM_ACCEL",1="SC_TRIGGER" -#define sensor_chart_e_enum "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -#define sensor_chart_e_SC_AUX_FAST1 5 -#define sensor_chart_e_SC_DETAILED_RPM 4 -#define sensor_chart_e_SC_OFF 0 -#define sensor_chart_e_SC_RPM_ACCEL 3 -#define sensor_chart_e_SC_TRIGGER 1 -#define SENT_INPUT_COUNT 1 -#define SentEtbType_auto_enum 0="NONE",2="FORD_TYPE_1",1="GM_TYPE_1" -#define SentEtbType_enum "None", "GM type 1", "Ford type 1" -#define SentEtbType_FORD_TYPE_1 2 -#define SentEtbType_GM_TYPE_1 1 -#define SentEtbType_NONE 0 -#define show_Frankenso_presets false -#define show_Proteus_presets false -#define show_test_presets false -#define SIGNATURE_HASH 2472749217 -#define spi_device_e_auto_enum 0="SPI_NONE",1="SPI_DEVICE_1",2="SPI_DEVICE_2",3="SPI_DEVICE_3",4="SPI_DEVICE_4",5="SPI_DEVICE_5",6="SPI_DEVICE_6" -#define spi_device_e_SPI_DEVICE_1 1 -#define spi_device_e_SPI_DEVICE_2 2 -#define spi_device_e_SPI_DEVICE_3 3 -#define spi_device_e_SPI_DEVICE_4 4 -#define spi_device_e_SPI_DEVICE_5 5 -#define spi_device_e_SPI_DEVICE_6 6 -#define spi_device_e_SPI_NONE 0 -#define spi_speed_e__150KHz 3 -#define spi_speed_e__1_25MHz 2 -#define spi_speed_e__2_5MHz 1 -#define spi_speed_e__5MHz 0 -#define stepper_num_micro_steps_e_auto_enum 0="STEPPER_FULL",8="STEPPER_EIGHTH",4="STEPPER_FOURTH",2="STEPPER_HALF" -#define stepper_num_micro_steps_e_enum "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -#define stepper_num_micro_steps_e_STEPPER_EIGHTH 8 -#define stepper_num_micro_steps_e_STEPPER_FOURTH 4 -#define stepper_num_micro_steps_e_STEPPER_FULL 0 -#define stepper_num_micro_steps_e_STEPPER_HALF 2 -#define STFT_BANK_COUNT 2 -#define stft_cell_cfg_s_size 4 -#define STFT_CELL_COUNT 4 -#define stft_s_size 24 -#define switch_input_pin_e_enum 0="NONE",183="A19 - AC Ctrl Din",182="A20 - Torque Ctrl Din",181="B09 - P pos Din",180="B10 - N pos Din",178="B12 - IGN Din",177="C09 - Air Condition request Din",166="C10 - Starter Din",167="C12 - Memory SW Din",168="C13 - Test SW Din",169="D04 - California ID Din" -#define switch_input_pin_e_fullenum "NONE","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","C10 - Starter Din","C12 - Memory SW Din","C13 - Test SW Din","D04 - California ID Din","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","C09 - Air Condition request Din","B12 - IGN Din","INVALID","B10 - N pos Din","B09 - P pos Din","A20 - Torque Ctrl Din","A19 - AC Ctrl Din" -#define tChargeMode_e_auto_enum 0="TCHARGE_MODE_RPM_TPS",1="TCHARGE_MODE_AIR_INTERP",2="TCHARGE_MODE_AIR_INTERP_TABLE" -#define tChargeMode_e_enum "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -#define tChargeMode_e_TCHARGE_MODE_AIR_INTERP 1 -#define tChargeMode_e_TCHARGE_MODE_AIR_INTERP_TABLE 2 -#define tChargeMode_e_TCHARGE_MODE_RPM_TPS 0 -#define TCU_GEAR_COUNT 10 -#define TCU_MAGIC_SIZE 8 -#define TCU_SOLENOID_COUNT 6 -#define thermistor_conf_s_size 28 -#define ThermistorConf_size 32 -#define timing_mode_e_auto_enum 0="TM_DYNAMIC",1="TM_FIXED" -#define timing_mode_e_TM_DYNAMIC 0 -#define timing_mode_e_TM_FIXED 1 -#define tle8888_mode_e_auto_enum 0="TL_AUTO",3="TL_HALL",2="TL_MANUAL",1="TL_SEMI_AUTO" -#define tle8888_mode_e_TL_AUTO 0 -#define tle8888_mode_e_TL_HALL 3 -#define tle8888_mode_e_TL_MANUAL 2 -#define tle8888_mode_e_TL_SEMI_AUTO 1 -#define TOOTH_DATA_LENGTH 2000 -#define TOOTH_PACKET_COUNT 1000 -#define TOOTH_PACKET_SIZE 2 -#define TOP_DEAD_CENTER_MESSAGE "r" -#define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 22668 -#define TPS_2_BYTE_PACKING_MULT 100 -#define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 -#define TPS_TPS_ACCEL_TABLE 8 -#define transmission_controller_e_enum "None", "Simple Transmission", "GM 4L6X" -#define TransmissionControllerMode_auto_enum 0="None",2="Gm4l6x",1="SimpleTransmissionController" -#define TransmissionControllerMode_Gm4l6x 2 -#define TransmissionControllerMode_None 0 -#define TransmissionControllerMode_SimpleTransmissionController 1 -#define TRIGGER_COMMENT "#" -#define trigger_config_s_size 12 -#define TRIGGER_CRANK_BASED 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 -#define TRIGGER_CYCLE_DURATION "cycleDuration" -#define TRIGGER_GAP_FROM "gapFrom" -#define TRIGGER_GAP_TO "gapTo" -#define TRIGGER_GAPS_COUNT "gapsCount" -#define TRIGGER_HARDCODED_OPERATION_MODE "knownOperationMode" -#define TRIGGER_HAS_SECOND_CHANNEL "hasSecondChannel" -#define TRIGGER_INPUT_PIN_COUNT 2 -#define TRIGGER_IS_CRANK_KEY "crankBased" -#define TRIGGER_IS_SECOND_WHEEL_CAM "isSecondWheelCam" -#define TRIGGER_SIMULATOR_PIN_COUNT 2 -#define trigger_type_e_auto_enum 0="TT_TOOTHED_WHEEL",38="TT_12_TOOTH_CRANK",50="TT_1_16",25="TT_2JZ_3_34",70="TT_36_2_1",71="TT_36_2_1_1",23="TT_36_2_2_2",31="TT_3_1_CAM",20="TT_60_2_VW",21="TT_BENELLI_TRE",30="TT_CHRYSLER_NGC_36_2_2",6="TT_DAIHATSU",2="TT_DODGE_NEON_1995",39="TT_DODGE_NEON_1995_ONLY_CRANK",14="TT_DODGE_NEON_2003_CAM",32="TT_DODGE_NEON_2003_CRANK",19="TT_DODGE_RAM",22="TT_DODGE_STRATUS",41="TT_FIAT_IAW_P8",1="TT_FORD_ASPIRE",42="TT_FORD_ST170",65="TT_FORD_TFI_PIP",27="TT_GM_24x",74="TT_GM_24x_2",54="TT_GM_60_2_2_2",5="TT_GM_7X",28="TT_HONDA_CBR_600",67="TT_HONDA_K_CAM_4_1",46="TT_HONDA_K_CRANK_12_1",37="TT_JEEP_18_2_2_2",40="TT_JEEP_4_CYL",57="TT_KAWA_KX450F",15="TT_MAZDA_DOHC_1_4",3="TT_MAZDA_MIATA_NA",35="TT_MAZDA_MIATA_VVT_TEST",7="TT_MAZDA_SOHC_4",10="TT_MERCEDES_2_SEGMENT",33="TT_MIATA_VVT",11="TT_MITSUBISHI_4G93",4="TT_MITSUBISHI_MESS",34="TT_MITSU_4G63_CAM",29="TT_MITSU_4G9x_CAM",52="TT_NISSAN_MR18_CAM_VVT",68="TT_NISSAN_MR18_CRANK",61="TT_NISSAN_QR25",24="TT_NISSAN_SR20VE",60="TT_NISSAN_VQ30",58="TT_NISSAN_VQ35",18="TT_ONE",16="TT_ONE_PLUS_ONE",44="TT_RENIX_44_2_2",45="TT_RENIX_66_2_2_2",26="TT_ROVER_K",55="TT_SKODA_FAVORIT",36="TT_SUBARU_7_6",51="TT_SUBARU_7_WITHOUT_6",12="TT_SUBARU_EZ30",49="TT_SUBARU_SVX",64="TT_SUBARU_SVX_CAM_VVT",63="TT_SUBARU_SVX_CRANK_1",66="TT_SUZUKI_G13B",69="TT_TOOTHED_WHEEL_32_2",9="TT_TOOTHED_WHEEL_36_1",48="TT_TOOTHED_WHEEL_36_2",8="TT_TOOTHED_WHEEL_60_2",53="TT_TRI_TACH",75="TT_UNUSED",56="TT_VVT_BARRA_3_PLUS_1",47="TT_VVT_BOSCH_QUICK_START",13="TT_VVT_MAZDA_SKYACTIV",43="TT_VVT_MIATA_NB",62="TT_VVT_MITSUBISHI_3A92",72="TT_VVT_MITSUBISHI_6G75",59="TT_VVT_NISSAN_VQ35",17="TT_VVT_TOYOTA_3_TOOTH",73="TT_VVT_TOYOTA_4_1" -#define trigger_type_e_enum "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "Mitsubishi Mess 4", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Mitsubishi 4G93 11", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Single Tooth", "Dodge Ram 1+16", "60/2 VW", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600", "Mitsubishi 4G92/93/94 Cam 29", "Honda CBR 600 custom", "3/1 skipped", "Dodge Neon 2003 crank", "Miata NB", "Mitsubishi 4G63 Cam 34", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12 tooth crank", "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", "1+16", "Subaru 7 without 6", "INVALID", "TriTach", "GM 60/2/2/2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "Mitsubishi 3A92", "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", "INVALID", "INVALID", "GM 24x 3 degree", "trg75" -#define trigger_type_e_TT_12_TOOTH_CRANK 38 -#define trigger_type_e_TT_1_16 50 -#define trigger_type_e_TT_2JZ_3_34 25 -#define trigger_type_e_TT_36_2_1 70 -#define trigger_type_e_TT_36_2_1_1 71 -#define trigger_type_e_TT_36_2_2_2 23 -#define trigger_type_e_TT_3_1_CAM 31 -#define trigger_type_e_TT_60_2_VW 20 -#define trigger_type_e_TT_BENELLI_TRE 21 -#define trigger_type_e_TT_CHRYSLER_NGC_36_2_2 30 -#define trigger_type_e_TT_DAIHATSU 6 -#define trigger_type_e_TT_DODGE_NEON_1995 2 -#define trigger_type_e_TT_DODGE_NEON_1995_ONLY_CRANK 39 -#define trigger_type_e_TT_DODGE_NEON_2003_CAM 14 -#define trigger_type_e_TT_DODGE_NEON_2003_CRANK 32 -#define trigger_type_e_TT_DODGE_RAM 19 -#define trigger_type_e_TT_DODGE_STRATUS 22 -#define trigger_type_e_TT_FIAT_IAW_P8 41 -#define trigger_type_e_TT_FORD_ASPIRE 1 -#define trigger_type_e_TT_FORD_ST170 42 -#define trigger_type_e_TT_FORD_TFI_PIP 65 -#define trigger_type_e_TT_GM_24x 27 -#define trigger_type_e_TT_GM_24x_2 74 -#define trigger_type_e_TT_GM_60_2_2_2 54 -#define trigger_type_e_TT_GM_7X 5 -#define trigger_type_e_TT_HONDA_CBR_600 28 -#define trigger_type_e_TT_HONDA_K_CAM_4_1 67 -#define trigger_type_e_TT_HONDA_K_CRANK_12_1 46 -#define trigger_type_e_TT_JEEP_18_2_2_2 37 -#define trigger_type_e_TT_JEEP_4_CYL 40 -#define trigger_type_e_TT_KAWA_KX450F 57 -#define trigger_type_e_TT_MAZDA_DOHC_1_4 15 -#define trigger_type_e_TT_MAZDA_MIATA_NA 3 -#define trigger_type_e_TT_MAZDA_MIATA_VVT_TEST 35 -#define trigger_type_e_TT_MAZDA_SOHC_4 7 -#define trigger_type_e_TT_MERCEDES_2_SEGMENT 10 -#define trigger_type_e_TT_MIATA_VVT 33 -#define trigger_type_e_TT_MITSU_4G63_CAM 34 -#define trigger_type_e_TT_MITSU_4G9x_CAM 29 -#define trigger_type_e_TT_MITSUBISHI_4G93 11 -#define trigger_type_e_TT_MITSUBISHI_MESS 4 -#define trigger_type_e_TT_NISSAN_MR18_CAM_VVT 52 -#define trigger_type_e_TT_NISSAN_MR18_CRANK 68 -#define trigger_type_e_TT_NISSAN_QR25 61 -#define trigger_type_e_TT_NISSAN_SR20VE 24 -#define trigger_type_e_TT_NISSAN_VQ30 60 -#define trigger_type_e_TT_NISSAN_VQ35 58 -#define trigger_type_e_TT_ONE 18 -#define trigger_type_e_TT_ONE_PLUS_ONE 16 -#define trigger_type_e_TT_RENIX_44_2_2 44 -#define trigger_type_e_TT_RENIX_66_2_2_2 45 -#define trigger_type_e_TT_ROVER_K 26 -#define trigger_type_e_TT_SKODA_FAVORIT 55 -#define trigger_type_e_TT_SUBARU_7_6 36 -#define trigger_type_e_TT_SUBARU_7_WITHOUT_6 51 -#define trigger_type_e_TT_SUBARU_EZ30 12 -#define trigger_type_e_TT_SUBARU_SVX 49 -#define trigger_type_e_TT_SUBARU_SVX_CAM_VVT 64 -#define trigger_type_e_TT_SUBARU_SVX_CRANK_1 63 -#define trigger_type_e_TT_SUZUKI_G13B 66 -#define trigger_type_e_TT_TOOTHED_WHEEL 0 -#define trigger_type_e_TT_TOOTHED_WHEEL_32_2 69 -#define trigger_type_e_TT_TOOTHED_WHEEL_36_1 9 -#define trigger_type_e_TT_TOOTHED_WHEEL_36_2 48 -#define trigger_type_e_TT_TOOTHED_WHEEL_60_2 8 -#define trigger_type_e_TT_TRI_TACH 53 -#define trigger_type_e_TT_UNUSED 75 -#define trigger_type_e_TT_VVT_BARRA_3_PLUS_1 56 -#define trigger_type_e_TT_VVT_BOSCH_QUICK_START 47 -#define trigger_type_e_TT_VVT_MAZDA_SKYACTIV 13 -#define trigger_type_e_TT_VVT_MIATA_NB 43 -#define trigger_type_e_TT_VVT_MITSUBISHI_3A92 62 -#define trigger_type_e_TT_VVT_MITSUBISHI_6G75 72 -#define trigger_type_e_TT_VVT_NISSAN_VQ35 59 -#define trigger_type_e_TT_VVT_TOYOTA_3_TOOTH 17 -#define trigger_type_e_TT_VVT_TOYOTA_4_1 73 -#define TRIGGER_TYPE_WITH_SECOND_WHEEL trigger_type == 1 || trigger_type == 3 || trigger_type == 11 || trigger_type == 15 || trigger_type == 16 || trigger_type == 19 || trigger_type == 25 || trigger_type == 28 || trigger_type == 31 || trigger_type == 35 || trigger_type == 36 || trigger_type == 37 || trigger_type == 40 || trigger_type == 49 || trigger_type == 50 || trigger_type == 53 || trigger_type == 54 || trigger_type == 63 || trigger_type == 64 -#define TRIGGER_TYPE_WITHOUT_KNOWN_LOCATION trigger_type == 8 || trigger_type == 9 || trigger_type == 17 || trigger_type == 18 || trigger_type == 23 || trigger_type == 48 || trigger_type == 69 || trigger_type == 73 -#define TRIGGER_WITH_SYNC "isSynchronizationNeeded" -#define TRIGGERS_FILE_NAME "triggers.txt" -#define TRIM_SIZE 4 -#define TS_BLOCK_READ_TIMEOUT 300 -#define TS_BURN_COMMAND 'B' -#define TS_BURN_COMMAND_char B -#define TS_CHUNK_WRITE_COMMAND 'C' -#define TS_CHUNK_WRITE_COMMAND_char C -#define ts_command_e_TS_BENCH_CATEGORY 22 -#define ts_command_e_TS_CLEAR_WARNINGS 17 -#define ts_command_e_TS_COMMAND_1 1 -#define ts_command_e_TS_COMMAND_11 11 -#define ts_command_e_TS_COMMAND_12 12 -#define ts_command_e_TS_COMMAND_13 13 -#define ts_command_e_TS_COMMAND_14 14 -#define ts_command_e_TS_COMMAND_15 15 -#define ts_command_e_TS_COMMAND_16 16 -#define ts_command_e_TS_COMMAND_4 4 -#define ts_command_e_TS_COMMAND_5 5 -#define ts_command_e_TS_COMMAND_9 9 -#define ts_command_e_TS_DEBUG_MODE 0 -#define ts_command_e_TS_GRAB_PEDAL_UP 6 -#define ts_command_e_TS_GRAB_PEDAL_WOT 7 -#define ts_command_e_TS_GRAB_TPS_CLOSED 2 -#define ts_command_e_TS_GRAB_TPS_WOT 3 -#define ts_command_e_TS_IGNITION_CATEGORY 18 -#define ts_command_e_TS_INJECTOR_CATEGORY 19 -#define ts_command_e_TS_LUA_OUTPUT_CATEGORY 32 -#define ts_command_e_TS_RESET_TLE8888 8 -#define ts_command_e_TS_SET_DEFAULT_ENGINE 31 -#define ts_command_e_TS_SET_ENGINE_TYPE 30 -#define ts_command_e_TS_SOLENOID_CATEGORY 25 -#define ts_command_e_TS_UNUSED_23 23 -#define ts_command_e_TS_UNUSED_24 24 -#define ts_command_e_TS_UNUSED_26 26 -#define ts_command_e_TS_UNUSED_27 27 -#define ts_command_e_TS_UNUSED_28 28 -#define ts_command_e_TS_UNUSED_29 29 -#define ts_command_e_TS_WIDEBAND 21 -#define ts_command_e_TS_WRITE_FLASH 10 -#define ts_command_e_TS_X14 20 -#define TS_COMMAND_F 'F' -#define TS_COMMAND_F_char F -#define TS_COMPOSITE_DISABLE 2 -#define TS_COMPOSITE_ENABLE 1 -#define TS_COMPOSITE_READ 3 -#define TS_CRC_CHECK_COMMAND 'k' -#define TS_CRC_CHECK_COMMAND_char k -#define TS_EXECUTE 'E' -#define TS_EXECUTE_char E -#define TS_FILE_VERSION 20210312 -#define TS_FILE_VERSION_OFFSET 124 -#define TS_GET_CONFIG_ERROR 'e' -#define TS_GET_CONFIG_ERROR_char e -#define TS_GET_FIRMWARE_VERSION 'V' -#define TS_GET_FIRMWARE_VERSION_char V -#define TS_GET_PROTOCOL_VERSION_COMMAND_F 'F' -#define TS_GET_PROTOCOL_VERSION_COMMAND_F_char F -#define TS_GET_TEXT 'G' -#define TS_GET_TEXT_char G -#define TS_HELLO_COMMAND 'S' -#define TS_HELLO_COMMAND_char S -#define TS_IO_TEST_COMMAND 'Z' -#define TS_IO_TEST_COMMAND_char Z -#define TS_ONLINE_PROTOCOL 'z' -#define TS_ONLINE_PROTOCOL_char z -#define TS_OUTPUT_COMMAND 'O' -#define TS_OUTPUT_COMMAND_char O -#define TS_PAGE_COMMAND 'P' -#define TS_PAGE_COMMAND_char P -#define TS_PERF_TRACE_BEGIN '_' -#define TS_PERF_TRACE_BEGIN_char _ -#define TS_PERF_TRACE_GET_BUFFER 'b' -#define TS_PERF_TRACE_GET_BUFFER_char b -#define TS_PROTOCOL "001" -#define TS_QUERY_BOOTLOADER 'L' -#define TS_QUERY_BOOTLOADER_char L -#define TS_QUERY_BOOTLOADER_NONE 0 -#define TS_QUERY_BOOTLOADER_OPENBLT 1 -#define TS_QUERY_COMMAND 'Q' -#define TS_QUERY_COMMAND_char Q -#define TS_READ_COMMAND 'R' -#define TS_READ_COMMAND_char R -#define TS_RESPONSE_BURN_OK 4 -#define TS_RESPONSE_COMMAND_OK 7 -#define TS_RESPONSE_CRC_FAILURE 0x82 -#define TS_RESPONSE_FRAMING_ERROR 0x8D -#define TS_RESPONSE_OK 0 -#define TS_RESPONSE_OUT_OF_RANGE 0x84 -#define TS_RESPONSE_UNDERRUN 0x80 -#define TS_RESPONSE_UNRECOGNIZED_COMMAND 0x83 -#define TS_SET_LOGGER_SWITCH 'l' -#define TS_SET_LOGGER_SWITCH_char l -#define ts_show_acSettings true -#define ts_show_analog_divider false -#define ts_show_auxserial_pins true -#define ts_show_boost true -#define ts_show_cam_inputs true -#define ts_show_can2 true -#define ts_show_can_pins true -#define ts_show_clt_iat_pullup true -#define ts_show_egt false -#define ts_show_energySystems true -#define ts_show_etb true -#define ts_show_etb_pins true -#define ts_show_full_pinout true -#define ts_show_hardware_simulator true -#define ts_show_idle true -#define ts_show_ign_fault false -#define ts_show_ignition_mode true -#define ts_show_ignition_pins true -#define ts_show_ignitionPinMode true -#define ts_show_inj_fault false -#define ts_show_injection_mode true -#define ts_show_injectionPinMode true -#define ts_show_injector_pins true -#define ts_show_maf true -#define ts_show_main_relay true -#define ts_show_main_relay_microRusEFI_message false -#define ts_show_pedal true -#define ts_show_sd_card true -#define ts_show_sd_pins false -#define ts_show_software_knock false -#define ts_show_spi true -#define ts_show_trigger_comparator false -#define ts_show_trigger_pins true -#define ts_show_tunerstudio_port false -#define ts_show_vbatt true -#define ts_show_vr_threshold_2 true -#define ts_show_vr_threshold_all true -#define ts_show_vvt true -#define TS_SIGNATURE "rusEFI (FOME) master.2024.03.18.subaru_eg33_f7.2472749217" -#define TS_SINGLE_WRITE_COMMAND 'W' -#define TS_SINGLE_WRITE_COMMAND_char W -#define TS_TEST_COMMAND 't' -#define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1384 -#define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" -#define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" -#define TS_TRIGGER_SCOPE_DISABLE 5 -#define TS_TRIGGER_SCOPE_ENABLE 4 -#define TS_TRIGGER_SCOPE_READ 6 -#define TsCalMode_EtbKd 5 -#define TsCalMode_EtbKi 4 -#define TsCalMode_EtbKp 3 -#define TsCalMode_None 0 -#define TsCalMode_PedalMax 13 -#define TsCalMode_PedalMin 12 -#define TsCalMode_Tps1Max 1 -#define TsCalMode_Tps1Min 2 -#define TsCalMode_Tps1SecondaryMax 6 -#define TsCalMode_Tps1SecondaryMin 7 -#define TsCalMode_Tps2Max 8 -#define TsCalMode_Tps2Min 9 -#define TsCalMode_Tps2SecondaryMax 10 -#define TsCalMode_Tps2SecondaryMin 11 -#define uart_device_e_auto_enum 0="UART_NONE",1="UART_DEVICE_1",2="UART_DEVICE_2",3="UART_DEVICE_3",4="UART_DEVICE_4" -#define uart_device_e_UART_DEVICE_1 1 -#define uart_device_e_UART_DEVICE_2 2 -#define uart_device_e_UART_DEVICE_3 3 -#define uart_device_e_UART_DEVICE_4 4 -#define uart_device_e_UART_NONE 0 -#define VBAT_INJECTOR_CURVE_SIZE 8 -#define VE_BLEND_COUNT 4 -#define ve_override_e_auto_enum 0="VE_None",1="VE_MAP",2="VE_TPS" -#define ve_override_e_enum "None", "MAP", "TPS" -#define ve_override_e_VE_MAP 1 -#define ve_override_e_VE_None 0 -#define ve_override_e_VE_TPS 2 -#define VEHICLE_INFO_SIZE 32 -#define VIN_NUMBER_SIZE 17 -#define VOLTAGE_1_BYTE_PACKING_DIV 0.02 -#define VR_THRESHOLD_COUNT 2 -#define vr_threshold_s_size 16 -#define vvt_mode_e_auto_enum 0="VVT_INACTIVE",8="VVT_BARRA_3_PLUS_1",5="VVT_BOSCH_QUICK_START",7="VVT_FORD_ST170",16="VVT_HONDA_K_EXHAUST",10="VVT_HONDA_K_INTAKE",13="VVT_MAP_V_TWIN",15="VVT_MAZDA_SKYACTIV",3="VVT_MIATA_NB",12="VVT_MITSUBISHI_3A92",18="VVT_MITSUBISHI_4G63",17="VVT_MITSUBISHI_4G9x",14="VVT_MITSUBISHI_6G75",11="VVT_NISSAN_MR",9="VVT_NISSAN_VQ",1="VVT_SINGLE_TOOTH",2="VVT_TOYOTA_3_TOOTH",6="VVT_TOYOTA_4_1" -#define vvt_mode_e_enum "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" -#define vvt_mode_e_VVT_BARRA_3_PLUS_1 8 -#define vvt_mode_e_VVT_BOSCH_QUICK_START 5 -#define vvt_mode_e_VVT_FORD_ST170 7 -#define vvt_mode_e_VVT_HONDA_K_EXHAUST 16 -#define vvt_mode_e_VVT_HONDA_K_INTAKE 10 -#define vvt_mode_e_VVT_INACTIVE 0 -#define vvt_mode_e_VVT_MAP_V_TWIN 13 -#define vvt_mode_e_VVT_MAZDA_SKYACTIV 15 -#define vvt_mode_e_VVT_MIATA_NB 3 -#define vvt_mode_e_VVT_MITSUBISHI_3A92 12 -#define vvt_mode_e_VVT_MITSUBISHI_4G63 18 -#define vvt_mode_e_VVT_MITSUBISHI_4G9x 17 -#define vvt_mode_e_VVT_MITSUBISHI_6G75 14 -#define vvt_mode_e_VVT_NISSAN_MR 11 -#define vvt_mode_e_VVT_NISSAN_VQ 9 -#define vvt_mode_e_VVT_SINGLE_TOOTH 1 -#define vvt_mode_e_VVT_TOYOTA_3_TOOTH 2 -#define vvt_mode_e_VVT_TOYOTA_4_1 6 -#define WWAE_TABLE_SIZE 8 diff --git a/firmware/config/boards/subaru_eg33/config/gen_enum_to_string.sh b/firmware/config/boards/subaru_eg33/config/gen_enum_to_string.sh deleted file mode 100755 index 71344501cd..0000000000 --- a/firmware/config/boards/subaru_eg33/config/gen_enum_to_string.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash - -echo This batch files reads rusefi_enums.h and produces auto_generated_enums.* files - -#cd ../../../.. -#cd .. - -BOARD=subaru_eg33 - -java -DSystemOut.name=logs/gen_enum_to_string \ - -jar ../java_tools/enum2string.jar \ - -inputPath . \ - -outputPath config/boards/${BOARD}/config/controllers/algo \ - -enumInputFile config/boards/${BOARD}/rusefi_hw_enums.h diff --git a/firmware/config/boards/subaru_eg33/config/gen_subaru_config.sh b/firmware/config/boards/subaru_eg33/config/gen_subaru_config.sh deleted file mode 100755 index b40a1ebd18..0000000000 --- a/firmware/config/boards/subaru_eg33/config/gen_subaru_config.sh +++ /dev/null @@ -1,42 +0,0 @@ -#/!bin/sh -# This batch files reads rusefi_config.txt and produces firmware persistent configuration headers -# the storage section of rusefi.ini is updated as well - -BOARDNAME=subaru_eg33 -SHORT_BOARDNAME=${BOARDNAME}_f7 -BOARD_DIR=config/boards/${BOARDNAME} - - - - - - - - - - - - - - - - INI="fome_${SHORT_BOARDNAME}.ini" - - - - -bash gen_signature.sh ${SHORT_BOARDNAME} - -source gen_config_common.sh -echo "Using COMMON_GEN_CONFIG [$COMMON_GEN_CONFIG]" - -java \ - $COMMON_GEN_CONFIG_PREFIX \ - $COMMON_GEN_CONFIG \ - -c_defines ${BOARD_DIR}/config/controllers/algo/rusefi_generated.h \ - -c_destination ${BOARD_DIR}/config/controllers/algo/engine_configuration_generated_structures.h \ - -enumInputFile ${BOARD_DIR}/rusefi_hw_enums.h - -[ $? -eq 0 ] || { echo "ERROR generating TunerStudio config for ${BOARDNAME}"; exit 1; } - -# EG33 does not get fancy mass storage device since it does not have create_ini_image.sh etc invocations like gen_config_board.sh does \ No newline at end of file diff --git a/firmware/gen_config.sh b/firmware/gen_config.sh index 272ca01656..9f6df1c201 100755 --- a/firmware/gen_config.sh +++ b/firmware/gen_config.sh @@ -11,11 +11,6 @@ rm -f gen_config_board.log # todo: who is the consumer of this folder? shall we move that 'mkdir' command closer to usage? mkdir build - -# todo: we have a bit of code duplication with build-firmware.yaml here :( -config/boards/subaru_eg33/config/gen_subaru_config.sh -[ $? -eq 0 ] || { echo "ERROR generating board subaru_eg33 subaru_eg33_f7"; exit 1; } - # # see also build-firmware where we compile all versions of firmware #