diff --git a/firmware/config/boards/hellen/cypress/board.mk b/firmware/config/boards/hellen/cypress/board.mk index 20318a24a2..ba581499a6 100644 --- a/firmware/config/boards/hellen/cypress/board.mk +++ b/firmware/config/boards/hellen/cypress/board.mk @@ -22,6 +22,6 @@ BOARDSRC_CPP += $(CONTROLLERS_ALGO_AUTO_GENERATED_ENUMS) # Define linker script file here LDSCRIPT= $(STARTUPLD)/cypress_S6E2CxAH.ld -PLATFORMSRC += $(PLATFORMSRC_CONTRIB) -PLATFORMINC += $(PLATFORMINC_CONTRIB) +#PLATFORMSRC += $(PLATFORMSRC_CONTRIB) +#PLATFORMINC += $(PLATFORMINC_CONTRIB) diff --git a/firmware/config/boards/hellen/cypress/board_configuration.cpp b/firmware/config/boards/hellen/cypress/board_configuration.cpp index 76ed5be667..2eff6d746e 100644 --- a/firmware/config/boards/hellen/cypress/board_configuration.cpp +++ b/firmware/config/boards/hellen/cypress/board_configuration.cpp @@ -28,8 +28,6 @@ void setBoardConfigurationOverrides(void) { engineConfiguration->isEngineChartEnabled = false; - engineConfiguration->consoleLoopPeriodMs = 200; - setAlgorithm(LM_SPEED_DENSITY PASS_CONFIG_PARAMETER_SUFFIX); engineConfiguration->specs.cylindersCount = 4; diff --git a/firmware/config/boards/hellen/cypress/chconf.h b/firmware/config/boards/hellen/cypress/chconf.h index 309547bc28..0cffa17abd 100644 --- a/firmware/config/boards/hellen/cypress/chconf.h +++ b/firmware/config/boards/hellen/cypress/chconf.h @@ -58,41 +58,7 @@ #endif /* EFI_CLOCK_LOCKS */ -#ifdef __cplusplus -extern "C" -{ -#endif /* __cplusplus */ - #ifndef __ASSEMBLER__ - #if EFI_CLOCK_LOCKS - void irqEnterHook(void); - void irqExitHook(void); - #else /* EFI_CLOCK_LOCKS */ - #define irqEnterHook() {} - #define irqExitHook() {} - #endif /*EFI_CLOCK_LOCKS */ - #endif /* __ASSEMBLER__ */ -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#if EFI_CLOCK_LOCKS -#ifdef __cplusplus -extern "C" -{ -#endif /* __cplusplus */ -#ifndef __ASSEMBLER__ - void onLockHook(void); - void onUnlockHook(void); -#endif /* __ASSEMBLER__ */ -#ifdef __cplusplus -} -#endif /* __cplusplus */ - #define ON_LOCK_HOOK onLockHook() - #define ON_UNLOCK_HOOK onUnlockHook() -#else /* EFI_CLOCK_LOCKS */ - #define ON_LOCK_HOOK - #define ON_UNLOCK_HOOK -#endif /* EFI_CLOCK_LOCKS */ +#include "chconf_common.h" /*===========================================================================*/ /** @@ -676,26 +642,6 @@ extern "C" /* Add threads initialization code here.*/ \ } -/** - * @brief Threads descriptor structure extension. - * @details User fields added to the end of the @p thread_t structure. - */ -#define CH_CFG_THREAD_EXTRA_FIELDS \ - void *activeStack; \ - int remainingStack; \ - /* Add threads custom fields here.*/ - -/** - * @brief Threads initialization hook. - * @details User initialization code added to the @p chThdInit() API. - * - * @note It is invoked from within @p chThdInit() and implicitly from all - * the threads creation APIs. - */ -#define CH_CFG_THREAD_INIT_HOOK(tp) { \ - /* Add threads initialization code here.*/ \ -} - /** * @brief Threads finalization hook. * @details User finalization code added to the @p chThdExit() API. @@ -708,30 +654,6 @@ extern "C" /* Add threads finalization code here.*/ \ } -/** - * @brief Context switch hook. - * @details This hook is invoked just before switching between threads. - */ -#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \ - /* Context switch code here.*/ \ -} - -/** - * @brief ISR enter hook. - */ -#define CH_CFG_IRQ_PROLOGUE_HOOK() { \ - /* IRQ prologue code here.*/ \ - irqEnterHook(); \ -} - -/** - * @brief ISR exit hook. - */ -#define CH_CFG_IRQ_EPILOGUE_HOOK() { \ - /* IRQ epilogue code here.*/ \ - irqExitHook(); \ -} - /** * @brief Idle thread enter hook. * @note This hook is invoked within a critical zone, no OS functions @@ -807,9 +729,9 @@ void chDbgPanic3(const char *msg, const char * file, int line); * so that it would not crash the error handler in case of stack issues */ #if CH_DBG_SYSTEM_STATE_CHECK -#define hasFatalError() (ch.dbg.panic_msg != NULL) +#define hasOsPanicError() (ch.dbg.panic_msg != NULL) #else -#define hasFatalError() (FALSE) +#define hasOsPanicError() (FALSE) #endif diff --git a/firmware/config/boards/hellen/cypress/config/!gen_config.bat b/firmware/config/boards/hellen/cypress/config/!gen_config.bat index d608a21c7f..84f2acabc2 100644 --- a/firmware/config/boards/hellen/cypress/config/!gen_config.bat +++ b/firmware/config/boards/hellen/cypress/config/!gen_config.bat @@ -1,36 +1,3 @@ @echo off -rem This batch files reads rusefi_config.txt and produses firmware persistent configuration headers -rem the storage section of rusefi.ini is updated as well - -cd ../../../../.. - -pwd - -java ^ - -DSystemOut.name=gen_config ^ - -cp ../java_tools/ConfigDefinition.jar;../java_tools/configuration_definition/lib/snakeyaml.jar ^ - com.rusefi.board_generator.BoardReader ^ - -board hellen/cypress ^ - -firmware_path . ^ - -out config/boards/hellen/cypress/config/tunerstudio ^ - -enumInputFile controllers/algo/rusefi_enums.h ^ - -enumInputFile config/boards/hellen/cypress/rusefi_hw_enums.h - -mkdir build_cypress - -java ^ - -DSystemOut.name=gen_config ^ - -Drusefi.generator.lazyfile.enabled=true ^ - -jar ../java_tools/ConfigDefinition.jar ^ - -definition integration/rusefi_config.txt ^ - -ts_destination tunerstudio ^ - -with_c_defines false ^ - -initialize_to_zero false ^ - -ts_output_name rusefi_cypress.ini ^ - -c_defines config/boards/hellen/cypress/config/controllers/algo/rusefi_generated.h ^ - -c_destination config/boards/hellen/cypress/config/controllers/algo/engine_configuration_generated_structures.h ^ - -prepend config/boards/hellen/cypress/config/rusefi_config_cypress.txt ^ - -prepend config/boards/hellen/cypress/config/tunerstudio/cypress_prefix.txt ^ - -skip build_cypress/config.gen - +sh.exe gen_config.sh \ No newline at end of file diff --git a/firmware/config/boards/hellen/cypress/config/!gen_enum_to_string.bat b/firmware/config/boards/hellen/cypress/config/!gen_enum_to_string.bat deleted file mode 100644 index 6975e27026..0000000000 --- a/firmware/config/boards/hellen/cypress/config/!gen_enum_to_string.bat +++ /dev/null @@ -1,12 +0,0 @@ -@echo off - -rem This batch files reads rusefi_enums.h and produses auto_generated_enums.* files - -cd ../../../../.. - -java -jar ../java_tools/enum2string.jar ^ - -inputPath . ^ - -outputPath config/boards/hellen/cypress/config/controllers/algo ^ - -enumInputFile controllers/algo/rusefi_enums.h ^ - -enumInputFile config/boards/hellen/cypress/rusefi_hw_enums.h ^ - diff --git a/firmware/config/boards/hellen/cypress/config/controllers/algo/auto_generated_enums.cpp b/firmware/config/boards/hellen/cypress/config/controllers/algo/auto_generated_enums.cpp index 621caa4da1..ed2fad05ab 100644 --- a/firmware/config/boards/hellen/cypress/config/controllers/algo/auto_generated_enums.cpp +++ b/firmware/config/boards/hellen/cypress/config/controllers/algo/auto_generated_enums.cpp @@ -1,10 +1,7 @@ #include "global.h" #include "rusefi_enums.h" #include "rusefi_hw_enums.h" -// was generated automatically by rusEfi tool from rusefi_hw_enums.h -// was generated automatically by rusEfi tool from rusefi_enums.h -// by enum2string.jar tool -// on Sun May 10 15:34:04 EEST 2020 +// was generated automatically by rusEfi tool from rusefi_hw_enums.h // was generated automatically by rusEfi tool from rusefi_enums.h // by enum2string.jar tool on Thu Sep 17 10:01:50 EEST 2020 // see also gen_config_and_enums.bat @@ -125,10 +122,27 @@ case Force_4_bytes_size_adc_channel_mode: } return NULL; } +const char *getAfr_override_e(afr_override_e value){ +switch(value) { +case AFR_AccPedal: + return "AFR_AccPedal"; +case AFR_CylFilling: + return "AFR_CylFilling"; +case AFR_MAP: + return "AFR_MAP"; +case AFR_None: + return "AFR_None"; +case AFR_Tps: + return "AFR_Tps"; + } + return NULL; +} const char *getAir_pressure_sensor_type_e(air_pressure_sensor_type_e value){ switch(value) { case Force_4_bytes_size_cranking_map_type: return "Force_4_bytes_size_cranking_map_type"; +case MT_BOSCH_2_5: + return "MT_BOSCH_2_5"; case MT_CUSTOM: return "MT_CUSTOM"; case MT_DENSO183: @@ -139,6 +153,8 @@ case MT_GM_3_BAR: return "MT_GM_3_BAR"; case MT_HONDA3BAR: return "MT_HONDA3BAR"; +case MT_MAZDA_1_BAR: + return "MT_MAZDA_1_BAR"; case MT_MPX4100: return "MT_MPX4100"; case MT_MPX4250: @@ -152,6 +168,47 @@ case MT_TOYOTA_89420_02010: } return NULL; } +const char *getAntiLagActivationMode_e(antiLagActivationMode_e value){ +switch(value) { +case ALWAYS_ON_ANTILAG: + return "ALWAYS_ON_ANTILAG"; +case Force_4bytes_size_antiLagActivationMode_e: + return "Force_4bytes_size_antiLagActivationMode_e"; +case SWITCH_INPUT_ANTILAG: + return "SWITCH_INPUT_ANTILAG"; + } + return NULL; +} +const char *getBoostType_e(boostType_e value){ +switch(value) { +case CLOSED_LOOP: + return "CLOSED_LOOP"; +case Force_4bytes_size_boostType_e: + return "Force_4bytes_size_boostType_e"; +case OPEN_LOOP: + return "OPEN_LOOP"; + } + return NULL; +} +const char *getBrain_pin_diag_e(brain_pin_diag_e value){ +switch(value) { +case PIN_DRIVER_OVERTEMP: + return "PIN_DRIVER_OVERTEMP"; +case PIN_INVALID: + return "PIN_INVALID"; +case PIN_OK: + return "PIN_OK"; +case PIN_OPEN: + return "PIN_OPEN"; +case PIN_OVERLOAD: + return "PIN_OVERLOAD"; +case PIN_SHORT_TO_BAT: + return "PIN_SHORT_TO_BAT"; +case PIN_SHORT_TO_GND: + return "PIN_SHORT_TO_GND"; + } + return NULL; +} const char *getBrain_pin_e(brain_pin_e value){ switch(value) { case DRV8860_PIN_1: @@ -545,34 +602,51 @@ case GPIO_UNASSIGNED: } return NULL; } -const char *getCan_device_mode_e(can_device_mode_e value){ +const char *getCan_baudrate_e(can_baudrate_e value){ switch(value) { -case CD_OFF: - return "CD_OFF"; -case CD_USE_CAN1: - return "CD_USE_CAN1"; -case CD_USE_CAN2: - return "CD_USE_CAN2"; -case Internal_ForceMyEnumIntSize_can_device_mode: - return "Internal_ForceMyEnumIntSize_can_device_mode"; +case B100KBPS: + return "B100KBPS"; +case B1MBPS: + return "B1MBPS"; +case B250KBPS: + return "B250KBPS"; +case B500KBPS: + return "B500KBPS"; } return NULL; } const char *getCan_nbc_e(can_nbc_e value){ switch(value) { +case CAN_BUS_BMW_E90: + return "CAN_BUS_BMW_E90"; case CAN_BUS_MAZDA_RX8: return "CAN_BUS_MAZDA_RX8"; case CAN_BUS_NBC_BMW: return "CAN_BUS_NBC_BMW"; case CAN_BUS_NBC_FIAT: return "CAN_BUS_NBC_FIAT"; +case CAN_BUS_NBC_NONE: + return "CAN_BUS_NBC_NONE"; case CAN_BUS_NBC_VAG: return "CAN_BUS_NBC_VAG"; +case CAN_BUS_W202_C180: + return "CAN_BUS_W202_C180"; case Internal_ForceMyEnumIntSize_can_nbc: return "Internal_ForceMyEnumIntSize_can_nbc"; } return NULL; } +const char *getCan_vss_nbc_e(can_vss_nbc_e value){ +switch(value) { +case BMW_e46: + return "BMW_e46"; +case Force_4_bytes_size_can_vss_nbc_e: + return "Force_4_bytes_size_can_vss_nbc_e"; +case W202: + return "W202"; + } + return NULL; +} const char *getChamber_style_e(chamber_style_e value){ switch(value) { case CS_CLOSED: @@ -599,12 +673,16 @@ case Force_4_bytes_size_cranking_ignition_mode: } const char *getDebug_mode_e(debug_mode_e value){ switch(value) { +case DBG_16: + return "DBG_16"; case DBG_2: return "DBG_2"; -case DBG_36: - return "DBG_36"; -case DBG_37: - return "DBG_37"; +case DBG_34: + return "DBG_34"; +case DBG_43: + return "DBG_43"; +case DBG_44: + return "DBG_44"; case DBG_ALTERNATOR_PID: return "DBG_ALTERNATOR_PID"; case DBG_ANALOG_INPUTS: @@ -613,16 +691,18 @@ case DBG_ANALOG_INPUTS2: return "DBG_ANALOG_INPUTS2"; case DBG_AUX_PID_1: return "DBG_AUX_PID_1"; -case DBG_AUX_TEMPERATURE: - return "DBG_AUX_TEMPERATURE"; case DBG_AUX_VALVES: return "DBG_AUX_VALVES"; case DBG_BENCH_TEST: return "DBG_BENCH_TEST"; +case DBG_BOOST: + return "DBG_BOOST"; case DBG_CAN: return "DBG_CAN"; case DBG_CJ125: return "DBG_CJ125"; +case DBG_COMPOSITE_LOG: + return "DBG_COMPOSITE_LOG"; case DBG_CRANKING_DETAILS: return "DBG_CRANKING_DETAILS"; case DBG_DWELL_METRIC: @@ -633,14 +713,20 @@ case DBG_ELECTRONIC_THROTTLE_PID: return "DBG_ELECTRONIC_THROTTLE_PID"; case DBG_EL_ACCEL: return "DBG_EL_ACCEL"; +case DBG_ETB_AUTOTUNE: + return "DBG_ETB_AUTOTUNE"; case DBG_ETB_LOGIC: return "DBG_ETB_LOGIC"; case DBG_EXECUTOR: return "DBG_EXECUTOR"; case DBG_FSIO_ADC: return "DBG_FSIO_ADC"; -case DBG_FSIO_EXPRESSION: - return "DBG_FSIO_EXPRESSION"; +case DBG_FSIO_EXPRESSION_1_7: + return "DBG_FSIO_EXPRESSION_1_7"; +case DBG_FSIO_EXPRESSION_8_14: + return "DBG_FSIO_EXPRESSION_8_14"; +case DBG_FSIO_SPECIAL: + return "DBG_FSIO_SPECIAL"; case DBG_FUEL_PID_CORRECTION: return "DBG_FUEL_PID_CORRECTION"; case DBG_IDLE_CONTROL: @@ -653,6 +739,8 @@ case DBG_ION: return "DBG_ION"; case DBG_KNOCK: return "DBG_KNOCK"; +case DBG_LAUNCH: + return "DBG_LAUNCH"; case DBG_MAP: return "DBG_MAP"; case DBG_METRICS: @@ -661,6 +749,8 @@ case DBG_SD_CARD: return "DBG_SD_CARD"; case DBG_SR5_PROTOCOL: return "DBG_SR5_PROTOCOL"; +case DBG_START_STOP: + return "DBG_START_STOP"; case DBG_STATUS: return "DBG_STATUS"; case DBG_TLE8888: @@ -669,8 +759,6 @@ case DBG_TPS_ACCEL: return "DBG_TPS_ACCEL"; case DBG_TRIGGER_COUNTERS: return "DBG_TRIGGER_COUNTERS"; -case DBG_TRIGGER_SYNC: - return "DBG_TRIGGER_SYNC"; case DBG_VEHICLE_SPEED_SENSOR: return "DBG_VEHICLE_SPEED_SENSOR"; case DBG_VVT: @@ -718,12 +806,10 @@ const char *getEngine_load_mode_e(engine_load_mode_e value){ switch(value) { case Force_4_bytes_size_engine_load_mode: return "Force_4_bytes_size_engine_load_mode"; -case LM_ALPHA_N: - return "LM_ALPHA_N"; -case LM_MAP: - return "LM_MAP"; -case LM_PLAIN_MAF: - return "LM_PLAIN_MAF"; +case LM_ALPHA_N_2: + return "LM_ALPHA_N_2"; +case LM_MOCK: + return "LM_MOCK"; case LM_REAL_MAF: return "LM_REAL_MAF"; case LM_SPEED_DENSITY: @@ -741,6 +827,12 @@ case BMW_M73_F: return "BMW_M73_F"; case BMW_M73_M: return "BMW_M73_M"; +case BMW_M73_MRE: + return "BMW_M73_MRE"; +case BMW_M73_MRE_SLAVE: + return "BMW_M73_MRE_SLAVE"; +case BMW_M73_PROTEUS: + return "BMW_M73_PROTEUS"; case CAMARO_4: return "CAMARO_4"; case CHEVY_C20_1973: @@ -753,8 +845,6 @@ case DEFAULT_FRANKENSO: return "DEFAULT_FRANKENSO"; case DODGE_NEON_1995: return "DODGE_NEON_1995"; -case DODGE_NEON_2003_CAM: - return "DODGE_NEON_2003_CAM"; case DODGE_NEON_2003_CRANK: return "DODGE_NEON_2003_CRANK"; case DODGE_RAM: @@ -819,14 +909,22 @@ case MINIMAL_PINS: return "MINIMAL_PINS"; case MITSU_4G93: return "MITSU_4G93"; -case MRE_BOARD_TEST: - return "MRE_BOARD_TEST"; -case MRE_MIATA_NA6: - return "MRE_MIATA_NA6"; -case MRE_MIATA_NB2: - return "MRE_MIATA_NB2"; -case MRE_MIATA_NB2_MTB: - return "MRE_MIATA_NB2_MTB"; +case MRE_BOARD_NEW_TEST: + return "MRE_BOARD_NEW_TEST"; +case MRE_BOARD_OLD_TEST: + return "MRE_BOARD_OLD_TEST"; +case MRE_BODY_CONTROL: + return "MRE_BODY_CONTROL"; +case MRE_MIATA_NA6_MAP: + return "MRE_MIATA_NA6_MAP"; +case MRE_MIATA_NA6_VAF: + return "MRE_MIATA_NA6_VAF"; +case MRE_MIATA_NB2_ETB: + return "MRE_MIATA_NB2_ETB"; +case MRE_MIATA_NB2_MAF: + return "MRE_MIATA_NB2_MAF"; +case MRE_MIATA_NB2_MAP: + return "MRE_MIATA_NB2_MAP"; case NISSAN_PRIMERA: return "NISSAN_PRIMERA"; case PROMETHEUS_DEFAULTS: @@ -843,6 +941,8 @@ case SUBARU_2003_WRX: return "SUBARU_2003_WRX"; case SUZUKI_VITARA: return "SUZUKI_VITARA"; +case TEST_33816: + return "TEST_33816"; case TEST_CIVIC_4_0_BOTH: return "TEST_CIVIC_4_0_BOTH"; case TEST_CIVIC_4_0_RISE: @@ -884,6 +984,34 @@ case GEAR_4: return "GEAR_4"; case NEUTRAL: return "NEUTRAL"; +case REVERSE: + return "REVERSE"; + } + return NULL; +} +const char *getGppwm_channel_e(gppwm_channel_e value){ +switch(value) { +case GPPWM_Clt: + return "GPPWM_Clt"; +case GPPWM_FuelLoad: + return "GPPWM_FuelLoad"; +case GPPWM_Iat: + return "GPPWM_Iat"; +case GPPWM_IgnLoad: + return "GPPWM_IgnLoad"; +case GPPWM_Map: + return "GPPWM_Map"; +case GPPWM_Tps: + return "GPPWM_Tps"; + } + return NULL; +} +const char *getGppwm_compare_mode_e(gppwm_compare_mode_e value){ +switch(value) { +case GPPWM_GreaterThan: + return "GPPWM_GreaterThan"; +case GPPWM_LessThan: + return "GPPWM_LessThan"; } return NULL; } @@ -917,8 +1045,6 @@ case IM_MANUAL: } const char *getIdle_state_e(idle_state_e value){ switch(value) { -case ADJUSTING: - return "ADJUSTING"; case BLIP: return "BLIP"; case Force_4bytes_size_idle_state_e: @@ -929,8 +1055,6 @@ case PID_UPPER: return "PID_UPPER"; case PID_VALUE: return "PID_VALUE"; -case PWM_PRETTY_CLOSE: - return "PWM_PRETTY_CLOSE"; case RPM_DEAD_ZONE: return "RPM_DEAD_ZONE"; case TPS_THRESHOLD: @@ -968,6 +1092,19 @@ case IM_SINGLE_POINT: } return NULL; } +const char *getLaunchActivationMode_e(launchActivationMode_e value){ +switch(value) { +case ALWAYS_ACTIVE_LAUNCH: + return "ALWAYS_ACTIVE_LAUNCH"; +case CLUTCH_INPUT_LAUNCH: + return "CLUTCH_INPUT_LAUNCH"; +case Force_4bytes_size_launchActivationMode_e: + return "Force_4bytes_size_launchActivationMode_e"; +case SWITCH_INPUT_LAUNCH: + return "SWITCH_INPUT_LAUNCH"; + } + return NULL; +} const char *getLog_format_e(log_format_e value){ switch(value) { case Force_4_bytes_size_log_format: @@ -1015,6 +1152,8 @@ case FOUR_STROKE_CRANK_SENSOR: return "FOUR_STROKE_CRANK_SENSOR"; case FOUR_STROKE_SYMMETRICAL_CRANK_SENSOR: return "FOUR_STROKE_SYMMETRICAL_CRANK_SENSOR"; +case FOUR_STROKE_THREE_TIMES_CRANK_SENSOR: + return "FOUR_STROKE_THREE_TIMES_CRANK_SENSOR"; case Force_4_bytes_size_operation_mode_e: return "Force_4_bytes_size_operation_mode_e"; case OM_NONE: @@ -1130,6 +1269,19 @@ case TM_FIXED: } return NULL; } +const char *getTle8888_mode_e(tle8888_mode_e value){ +switch(value) { +case TL_AUTO: + return "TL_AUTO"; +case TL_HALL: + return "TL_HALL"; +case TL_MANUAL: + return "TL_MANUAL"; +case TL_SEMI_AUTO: + return "TL_SEMI_AUTO"; + } + return NULL; +} const char *getTrigger_event_e(trigger_event_e value){ switch(value) { case SHAFT_3RD_FALLING: @@ -1195,6 +1347,8 @@ case TT_HONDA_CBR_600: return "TT_HONDA_CBR_600"; case TT_HONDA_CBR_600_CUSTOM: return "TT_HONDA_CBR_600_CUSTOM"; +case TT_HONDA_K_12_1: + return "TT_HONDA_K_12_1"; case TT_JEEP_18_2_2_2: return "TT_JEEP_18_2_2_2"; case TT_JEEP_4_CYL: @@ -1225,20 +1379,32 @@ case TT_ONE: return "TT_ONE"; case TT_ONE_PLUS_ONE: return "TT_ONE_PLUS_ONE"; -case TT_ONE_PLUS_TOOTHED_WHEEL_60_2: - return "TT_ONE_PLUS_TOOTHED_WHEEL_60_2"; +case TT_RENIX_44_2_2: + return "TT_RENIX_44_2_2"; +case TT_RENIX_66_2_2_2: + return "TT_RENIX_66_2_2_2"; case TT_ROVER_K: return "TT_ROVER_K"; case TT_SUBARU_7_6: return "TT_SUBARU_7_6"; +case TT_SUBARU_SVX: + return "TT_SUBARU_SVX"; case TT_TOOTHED_WHEEL: return "TT_TOOTHED_WHEEL"; case TT_TOOTHED_WHEEL_36_1: return "TT_TOOTHED_WHEEL_36_1"; +case TT_TOOTHED_WHEEL_36_2: + return "TT_TOOTHED_WHEEL_36_2"; case TT_TOOTHED_WHEEL_60_2: return "TT_TOOTHED_WHEEL_60_2"; case TT_UNUSED: return "TT_UNUSED"; +case TT_VVT_BOSCH_QUICK_START: + return "TT_VVT_BOSCH_QUICK_START"; +case TT_VVT_JZ: + return "TT_VVT_JZ"; +case TT_VVT_MIATA_NB2: + return "TT_VVT_MIATA_NB2"; } return NULL; } @@ -1279,16 +1445,31 @@ case UART_NONE: } return NULL; } +const char *getVe_override_e(ve_override_e value){ +switch(value) { +case VE_MAP: + return "VE_MAP"; +case VE_None: + return "VE_None"; +case VE_TPS: + return "VE_TPS"; + } + return NULL; +} const char *getVvt_mode_e(vvt_mode_e value){ switch(value) { case Force_4_bytes_size_vvt_mode: return "Force_4_bytes_size_vvt_mode"; case MIATA_NB2: return "MIATA_NB2"; -case VVT_2GZ: - return "VVT_2GZ"; +case VVT_2JZ: + return "VVT_2JZ"; +case VVT_BOSCH_QUICK_START: + return "VVT_BOSCH_QUICK_START"; case VVT_FIRST_HALF: return "VVT_FIRST_HALF"; +case VVT_INACTIVE: + return "VVT_INACTIVE"; case VVT_SECOND_HALF: return "VVT_SECOND_HALF"; } diff --git a/firmware/config/boards/hellen/cypress/config/controllers/algo/auto_generated_enums.h b/firmware/config/boards/hellen/cypress/config/controllers/algo/auto_generated_enums.h index feba74d6c8..393dea0295 100644 --- a/firmware/config/boards/hellen/cypress/config/controllers/algo/auto_generated_enums.h +++ b/firmware/config/boards/hellen/cypress/config/controllers/algo/auto_generated_enums.h @@ -1,24 +1,24 @@ -// was generated automatically by rusEfi tool from rusefi_hw_enums.h -// was generated automatically by rusEfi tool from rusefi_enums.h -// by enum2string.jar tool -// on Sun May 10 15:34:04 EEST 2020 +// was generated automatically by rusEfi tool from rusefi_hw_enums.h // was generated automatically by rusEfi tool from rusefi_enums.h // by enum2string.jar tool on Thu Sep 17 08:26:48 EEST 2020 // see also gen_config_and_enums.bat #include "rusefi_enums.h" #include "rusefi_hw_enums.h" -#ifndef _A_H_HEADER_ -#define _A_H_HEADER_ +#pragma once const char *getPidAutoTune_AutoTunerState(PidAutoTune_AutoTunerState value); const char *getPidAutoTune_Peak(PidAutoTune_Peak value); const char *getAdc_channel_e(adc_channel_e value); const char *getAdc_channel_mode_e(adc_channel_mode_e value); +const char *getAfr_override_e(afr_override_e value); const char *getAir_pressure_sensor_type_e(air_pressure_sensor_type_e value); +const char *getAntiLagActivationMode_e(antiLagActivationMode_e value); +const char *getBoostType_e(boostType_e value); const char *getBrain_pin_diag_e(brain_pin_diag_e value); const char *getBrain_pin_e(brain_pin_e value); -const char *getCan_device_mode_e(can_device_mode_e value); +const char *getCan_baudrate_e(can_baudrate_e value); const char *getCan_nbc_e(can_nbc_e value); +const char *getCan_vss_nbc_e(can_vss_nbc_e value); const char *getChamber_style_e(chamber_style_e value); const char *getCranking_ignition_mode_e(cranking_ignition_mode_e value); const char *getDebug_mode_e(debug_mode_e value); @@ -27,11 +27,14 @@ const char *getEgo_sensor_e(ego_sensor_e value); const char *getEngine_load_mode_e(engine_load_mode_e value); const char *getEngine_type_e(engine_type_e value); const char *getGear_e(gear_e value); +const char *getGppwm_channel_e(gppwm_channel_e value); +const char *getGppwm_compare_mode_e(gppwm_compare_mode_e value); const char *getHip_state_e(hip_state_e value); const char *getIdle_mode_e(idle_mode_e value); const char *getIdle_state_e(idle_state_e value); const char *getIgnition_mode_e(ignition_mode_e value); const char *getInjection_mode_e(injection_mode_e value); +const char *getLaunchActivationMode_e(launchActivationMode_e value); const char *getLog_format_e(log_format_e value); const char *getMaf_sensor_type_e(maf_sensor_type_e value); const char *getMass_storage_e(mass_storage_e value); @@ -44,10 +47,11 @@ const char *getSpi_device_e(spi_device_e value); const char *getSpi_speed_e(spi_speed_e value); const char *getTChargeMode_e(tChargeMode_e value); const char *getTiming_mode_e(timing_mode_e value); +const char *getTle8888_mode_e(tle8888_mode_e value); const char *getTrigger_event_e(trigger_event_e value); const char *getTrigger_type_e(trigger_type_e value); const char *getTrigger_value_e(trigger_value_e value); const char *getTrigger_wheel_e(trigger_wheel_e value); const char *getUart_device_e(uart_device_e value); +const char *getVe_override_e(ve_override_e value); const char *getVvt_mode_e(vvt_mode_e value); -#endif /*_A_H_HEADER_ */ diff --git a/firmware/config/boards/hellen/cypress/config/controllers/algo/engine_configuration_generated_structures.h b/firmware/config/boards/hellen/cypress/config/controllers/algo/engine_configuration_generated_structures.h index 9b7cf84a75..d6492f2af8 100644 --- a/firmware/config/boards/hellen/cypress/config/controllers/algo/engine_configuration_generated_structures.h +++ b/firmware/config/boards/hellen/cypress/config/controllers/algo/engine_configuration_generated_structures.h @@ -1,9 +1,78 @@ -// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on integration/rusefi_config.txt Sun May 10 18:01:52 EEST 2020 +// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Mon Sep 21 18:14:28 EEST 2020 // by class com.rusefi.output.CHeaderConsumer // begin -#ifndef CONFIG_BOARDS_HELLEN_CYPRESS_CONFIG_CONTROLLERS_ALGO_ENGINE_CONFIGURATION_GENERATED_STRUCTURES_H -#define CONFIG_BOARDS_HELLEN_CYPRESS_CONFIG_CONTROLLERS_ALGO_ENGINE_CONFIGURATION_GENERATED_STRUCTURES_H +#pragma once #include "rusefi_types.h" +// start of stft_cell_cfg_s +struct stft_cell_cfg_s { + /** + * offset 0 + */ + int8_t maxAdd; + /** + * offset 1 + */ + int8_t maxRemove; + /** + * offset 2 + */ + uint16_t timeConstant; + /** total size 4*/ +}; + +typedef struct stft_cell_cfg_s stft_cell_cfg_s; + +// start of stft_s +struct stft_s { + /** + * Below this RPM, the idle region is active + * offset 0 + */ + uint8_t maxIdleRegionRpm; + /** + * Below this engine load, the overrun region is active + * offset 1 + */ + uint8_t maxOverrunLoad; + /** + * Above this engine load, the power region is active + * 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 + */ + uint8_t deadband; + /** + * Below this temperature, correction is disabled. + * offset 4 + */ + int8_t minClt; + /** + * Below this AFR, correction is paused + * offset 5 + */ + uint8_t minAfr; + /** + * Above this AFR, correction is paused + * offset 6 + */ + uint8_t maxAfr; + /** + * Delay after starting the engine before beginning closed loop correction. + * offset 7 + */ + uint8_t startupDelay; + /** + * offset 8 + */ + stft_cell_cfg_s cellCfgs[STFT_CELL_COUNT]; + /** total size 24*/ +}; + +typedef struct stft_s stft_s; + // start of pid_s struct pid_s { /** @@ -60,7 +129,7 @@ struct cranking_parameters_s { * need 4 byte alignment * offset 6 */ - uint8_t alignmentFill[2]; + uint8_t alignmentFill_at_6[2]; /** total size 8*/ }; @@ -84,12 +153,67 @@ struct spi_pins { * need 4 byte alignment * offset 3 */ - uint8_t alignmentFill; + uint8_t alignmentFill_at_3; /** total size 4*/ }; typedef struct spi_pins spi_pins; +// start of gppwm_channel +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 1 + */ + uint8_t dutyIfError; + /** + * Select a frequency to run PWM at. + * Set this to 0hz to enable on-off mode. + * offset 2 + */ + uint16_t pwmFrequency; + /** + * In on-off mode, turn the output on when the table value is above this duty. + * offset 4 + */ + uint8_t onAboveDuty; + /** + * In on-off mode, turn the output off when the table value is below this duty. + * offset 5 + */ + uint8_t offBelowDuty; + /** + * Selects the load axis to use for the table. + * offset 6 + */ + gppwm_channel_e loadAxis; + /** + * offset 7 + */ + uint8_t alignmentFill_map; + /** + * offset 8 + */ + uint8_t loadBins[GPPWM_LOAD_COUNT]; + /** + * offset 16 + */ + uint8_t rpmBins[GPPWM_RPM_COUNT]; + /** + * offset 24 + */ + gppwm_table_t table; + /** total size 88*/ +}; + +typedef struct gppwm_channel gppwm_channel; + // start of air_pressure_sensor_config_s struct air_pressure_sensor_config_s { /** @@ -113,7 +237,7 @@ struct air_pressure_sensor_config_s { /** * offset 13 */ - uint8_t align[3]; + uint8_t alignmentFill[3]; /** total size 16*/ }; @@ -206,7 +330,7 @@ struct oil_pressure_config_s { /** * offset 1 */ - uint8_t align[3]; + uint8_t alignmentFill[3]; /** * offset 4 */ @@ -246,7 +370,7 @@ struct ThermistorConf { * need 4 byte alignment * offset 29 */ - uint8_t alignmentFill[3]; + uint8_t alignmentFill_at_29[3]; /** total size 32*/ }; @@ -278,33 +402,6 @@ struct injector_s { typedef struct injector_s injector_s; -// start of bi_quard_s -struct bi_quard_s { - /** - * offset 0 - */ - float a0; - /** - * offset 4 - */ - float a1; - /** - * offset 8 - */ - float a2; - /** - * offset 12 - */ - float b1; - /** - * offset 16 - */ - float b2; - /** total size 20*/ -}; - -typedef struct bi_quard_s bi_quard_s; - // start of specs_s struct specs_s { /** @@ -339,10 +436,10 @@ struct trigger_config_s { trigger_type_e type; /** offset 4 bit 0 */ - bool unusedTriggerBit0 : 1; + bool todoRemoveMeOneDay0 : 1; /** offset 4 bit 1 */ - bool unusedTriggerBit1 : 1; + bool todoRemoveMeOneDay1 : 1; /** * This option could be used if your second trigger channel is broken offset 4 bit 2 */ @@ -456,7 +553,7 @@ struct afr_sensor_s { /** * offset 1 */ - uint8_t alignAf[3]; + uint8_t alignmentFill_afr[3]; /** * offset 4 */ @@ -487,15 +584,15 @@ struct idle_hardware_s { /** * offset 4 */ - brain_pin_e solenoidPin; + output_pin_e solenoidPin; /** * offset 5 */ - brain_pin_e stepperDirectionPin; + output_pin_e stepperDirectionPin; /** * offset 6 */ - brain_pin_e stepperStepPin; + output_pin_e stepperStepPin; /** * offset 7 */ @@ -522,7 +619,7 @@ struct etb_io { /** * offset 3 */ - pin_output_mode_e controlPinMode; + brain_pin_e disablePin; /** total size 4*/ }; @@ -547,11 +644,8 @@ struct engine_configuration_s { */ injector_s injector; /** - * Should trigger emulator push data right into trigger handling logic, eliminating the need for physical jumper wires? - * See also triggerSimulatorPins - * PS: Funny name, right? :) offset 76 bit 0 */ - bool directSelfStimulation : 1; + bool isForcedInduction : 1; /** offset 76 bit 1 */ bool activateAuxPid1 : 1; @@ -577,30 +671,37 @@ struct engine_configuration_s { offset 76 bit 8 */ bool isVerboseAuxPid4 : 1; /** + * enable cj125verbose/disable cj125verbose offset 76 bit 9 */ - bool useBiQuadAnalogFiltering : 1; + bool isCJ125Verbose : 1; /** + * Is your UA CJ125 output wired to MCU via resistor divider? Ua can go over 3.3v but only at lambda >3, i.e very lean AFR above 44.1 + * When exposed to free air and 17x gain, Ua will be 4.17 volt offset 76 bit 10 */ bool cj125isUaDivided : 1; /** offset 76 bit 11 */ bool cj125isLsu49 : 1; /** + * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. offset 76 bit 12 */ bool etb_use_two_wires : 1; /** + * Subaru 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 76 bit 13 */ - bool unusedHereo_wires : 1; + bool isDoubleSolenoidIdle : 1; /** offset 76 bit 14 */ bool showSdCardWarning : 1; /** - * looks like 3v range should be enough, divider not needed + * Is your UR CJ125 output wired to MCU via resistor divider? + * Looks like 3v range should be enough, divider generally not needed. offset 76 bit 15 */ bool cj125isUrDivided : 1; /** + * Switch between Industrial and Cic PID implementation offset 76 bit 16 */ - bool useTLE8888_hall_mode : 1; + bool useCicPidForIdle : 1; /** offset 76 bit 17 */ bool useTLE8888_cranking_hack : 1; @@ -613,19 +714,19 @@ struct engine_configuration_s { bool absoluteFuelPressure : 1; /** offset 76 bit 20 */ - bool issue_294_21 : 1; + bool launchControlEnabled : 1; /** offset 76 bit 21 */ - bool issue_294_22 : 1; + bool rollingLaunchEnabled : 1; /** offset 76 bit 22 */ - bool issue_294_23 : 1; + bool antiLagEnabled : 1; /** offset 76 bit 23 */ - bool issue_294_24 : 1; + bool useRunningMathForCranking : 1; /** offset 76 bit 24 */ - bool issue_294_25 : 1; + bool displayLogicLevelsInEngineSniffer : 1; /** offset 76 bit 25 */ bool issue_294_26 : 1; @@ -662,12 +763,14 @@ struct engine_configuration_s { */ int16_t tpsMax; /** - * TPS error detection, what TPS % value is unrealistically low + * TPS error detection: what throttle % is unrealistically low? + * Also used for accelerator pedal error detection if so equiped. * offset 84 */ int16_t tpsErrorDetectionTooLow; /** - * TPS error detection, what TPS % value is unrealistically high + * TPS error detection: what throttle % is unrealistically high? + * Also used for accelerator pedal error detection if so equiped. * offset 86 */ int16_t tpsErrorDetectionTooHigh; @@ -710,11 +813,11 @@ struct engine_configuration_s { * A secondary Rev limit engaged by the driver to help launch the vehicle faster * offset 316 */ - int step1rpm; + int launchRpm; /** * offset 320 */ - int step1timing; + int launchTimingRetard; /** * value '6' for 8MHz hw osc * read hip9011 datasheet for details @@ -729,7 +832,7 @@ struct engine_configuration_s { */ float knockBandCustom; /** - * On single-coil or wasted spark setups you have to lower dwell at high RPM + * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * offset 332 */ float sparkDwellRpmBins[DWELL_CURVE_SIZE]; @@ -789,7 +892,7 @@ struct engine_configuration_s { */ angle_t crankingTimingAngle; /** - * "One Coil" is for use on distributed ignition system. "Individual Coils" is to be used when you have one coil per cylinder (COP or similar). "Wasted" means one coil is driving two spark plugs in two cylinders, with one of the sparks not doing anything since it's happening on the exhaust cycle + * "Single Coil" is for use on distributed ignition system. "Individual Coils" is to be used when you have one coil per cylinder (COP or similar). "Wasted Spark" means one coil is driving two spark plugs in two cylinders, with one of the sparks not doing anything since it's happening on the exhaust cycle * set ignition_mode X * offset 440 */ @@ -818,7 +921,7 @@ struct engine_configuration_s { */ angle_t globalTriggerAngleOffset; /** - * Coefficient of input voltage dividers on your PCB + * 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. * offset 460 */ float analogInputDividerCoefficient; @@ -896,13 +999,15 @@ struct engine_configuration_s { adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far + * set_analog_input_pin tps2 X * offset 515 */ adc_channel_e tps2_1AdcChannel; /** + * 0.1 is a good default value * offset 516 */ - int overrideCrankingIgnition; + float idle_derivativeFilterLoss; /** * offset 520 */ @@ -954,9 +1059,10 @@ struct engine_configuration_s { */ afr_sensor_s afr; /** - * Electronic throttle pedal position input - * First channel + * Electronic throttle pedal position first channel + * See throttlePedalPositionSecondAdcChannel for second channel * See also tps1_1AdcChannel + * set_analog_input_pin pps X * offset 580 */ adc_channel_e throttlePedalPositionAdcChannel; @@ -1101,10 +1207,12 @@ struct engine_configuration_s { */ pin_output_mode_e electronicThrottlePin1Mode; /** + * set_cj125_heater_pin XXX * offset 673 */ brain_pin_e wboHeaterPin; /** + * set_cj125_cs_pin XXX * offset 674 */ brain_pin_e cj125CsPin; @@ -1165,9 +1273,10 @@ struct engine_configuration_s { */ ego_sensor_e afr_type; /** + * 0.1 is a good default value * offset 696 */ - float fuelClosedLoopAfrLowThreshold; + float idle_antiwindupFreq; /** * offset 700 */ @@ -1177,7 +1286,6 @@ struct engine_configuration_s { */ pin_output_mode_e hip9011CsPinMode; /** - * This implementation produces one pulse per engine cycle. See also dizzySparkOutputPin. * offset 704 */ output_pin_e tachOutputPin; @@ -1194,10 +1302,12 @@ struct engine_configuration_s { */ brain_pin_e sdCardCsPin; /** + * set_can_tx_pin X * offset 708 */ brain_pin_e canTxPin; /** + * set_can_rx_pin X * offset 709 */ brain_pin_e canRxPin; @@ -1206,33 +1316,53 @@ struct engine_configuration_s { */ pin_input_mode_e throttlePedalUpPinMode; /** + * Additional idle PID offset while A/C is active * offset 711 */ - brain_pin_e debugTimerCallback; + uint8_t acIdleExtraOffset; /** + * CANbus thread period, ms * offset 712 */ - int idleThreadPeriodMs; + int can2SleepPeriodMs; /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! * offset 716 */ - int consoleLoopPeriodMs; + uint16_t wastegatePositionMin; /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * offset 718 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! * offset 720 */ - int lcdThreadPeriodMs; + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * offset 722 + */ + uint16_t idlePositionMax; /** * offset 724 */ - int generalPeriodicThreadPeriodMs; + int unusedAt724; /** + * Secondary TTL channel baud rate * offset 728 */ uint32_t tunerStudioSerialSpeed; /** + * Just for reference really, not taken into account by any logic at this point * offset 732 */ - can_device_mode_e canDeviceMode; + float compressionRatio; /** * Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board. * See also directSelfStimulation which is different. @@ -1262,6 +1392,7 @@ struct engine_configuration_s { offset 744 bit 2 */ bool is_enabled_spi_3 : 1; /** + * enable sd/disable sd offset 744 bit 3 */ bool isSdCardEnabled : 1; /** @@ -1294,19 +1425,23 @@ struct engine_configuration_s { bool useLcdScreen : 1; /** offset 744 bit 13 */ - bool unusedAnotherOne : 1; + bool verboseTLE8888 : 1; /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast offset 744 bit 14 */ - bool unusedOldWarmupAfr : 1; + bool enableVerboseCanTx : 1; /** - * +This will cause the alternator to be operated in a basic on or off mode, this is the simplest alternator control. + * This will cause the alternator to be operated in a basic on or off mode, this is the simplest alternator control. offset 744 bit 15 */ bool onOffAlternatorLogic : 1; /** + * enable cj125/disable cj125 offset 744 bit 16 */ bool isCJ125Enabled : 1; /** * Use rise or fall signal front + * get vvtCamSensorUseRise offset 744 bit 17 */ bool vvtCamSensorUseRise : 1; /** @@ -1326,7 +1461,7 @@ struct engine_configuration_s { offset 744 bit 21 */ bool coastingFuelCutEnabled : 1; /** - * This setting allows the ECU to open the IAC during overrun conditions to help reduce engine breaking, this can be helpful for large engines in light weight cars. + * This setting allows the ECU to open the IAC during overrun conditions to help reduce engine breaking, this can be helpful for large engines in light weight cars. Used in Auto-PID Idle mode. offset 744 bit 22 */ bool useIacTableForCoasting : 1; /** @@ -1337,11 +1472,13 @@ struct engine_configuration_s { bool useIdleTimingPidControl : 1; /** offset 744 bit 25 */ - bool useTPSBasedVeTable : 1; + bool unused744b25 : 1; /** offset 744 bit 26 */ 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 744 bit 27 */ bool pauseEtbControl : 1; /** @@ -1378,14 +1515,27 @@ struct engine_configuration_s { */ pin_output_mode_e hip9011IntHoldPinMode; /** - * default or inverted input * offset 756 */ - uint8_t logicAnalyzerMode[LOGIC_ANALYZER_CHANNEL_COUNT]; + uint32_t verboseCanBaseAddress; /** * offset 760 */ - int unrealisticRpmThreashold; + uint8_t mc33_hvolt; + /** + * Additional idle PID minValue while A/C is active + * offset 761 + */ + uint8_t acIdleExtraMin; + /** + * Optional Radiator Fan used with A/C + * offset 762 + */ + output_pin_e acFanPin; + /** + * offset 763 + */ + pin_output_mode_e acFanPinMode; /** * offset 764 */ @@ -1407,7 +1557,7 @@ struct engine_configuration_s { /** * offset 806 */ - brain_pin_e debugSetTimer; + adc_channel_e idlePositionSensor; /** * offset 807 */ @@ -1415,15 +1565,22 @@ struct engine_configuration_s { /** * offset 808 */ - brain_pin_e starterRelayPin; + output_pin_e starterRelayDisablePin; /** + * On some vehicles we can disable starter once engine is already running * offset 809 */ - pin_output_mode_e starterRelayPinMode; + pin_output_mode_e starterRelayDisableMode; /** + * Some Subaru and some Mazda use double-solenoid idle air valve * offset 810 */ - uint8_t unuseduartPadding1[2]; + brain_pin_e secondSolenoidPin; + /** + * See also starterControlPin + * offset 811 + */ + switch_input_pin_e startStopButtonPin; /** * offset 812 */ @@ -1437,15 +1594,22 @@ struct engine_configuration_s { */ int16_t stepperParkingExtraSteps; /** - * This magic property is specific to Mazda Miata NB2 * offset 820 */ - float miataNb2VVTRatioFrom; + uint16_t tps1SecondaryMin; + /** + * offset 822 + */ + uint16_t tps1SecondaryMax; /** - * This magic property is specific to Mazda Miata NB2 * offset 824 */ - float miataNb2VVTRatioTo; + int16_t antiLagRpmTreshold; + /** + * Maximum time to crank starter + * offset 826 + */ + efitimesec16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high * offset 828 @@ -1572,7 +1736,15 @@ struct engine_configuration_s { /** * offset 972 */ - float unused; + uint16_t multisparkMaxRpm; + /** + * offset 974 + */ + uint8_t multisparkMaxSparkingAngle; + /** + * offset 975 + */ + uint8_t multisparkMaxExtraSparkCount; /** offset 976 bit 0 */ bool todoClutchUpPinInverted : 1; @@ -1580,106 +1752,253 @@ struct engine_configuration_s { offset 976 bit 1 */ bool todoClutchDownPinInverted : 1; /** + * If enabled we use two H-bridges to drive stepper idle air valve offset 976 bit 2 */ - bool unusedBit_249_2 : 1; + bool useHbridges : 1; /** offset 976 bit 3 */ - bool unusedBit_249_3 : 1; + bool multisparkEnable : 1; /** offset 976 bit 4 */ - bool unusedBit_249_4 : 1; + bool enableLaunchRetard : 1; /** offset 976 bit 5 */ - bool unusedBit_249_5 : 1; + bool enableLaunchBoost : 1; /** offset 976 bit 6 */ - bool unusedBit_249_6 : 1; + bool launchDisableBySpeed : 1; /** offset 976 bit 7 */ - bool unusedBit_249_7 : 1; + bool enableCanVss : 1; /** offset 976 bit 8 */ - bool unusedBit_249_8 : 1; + bool enableInnovateLC2 : 1; /** offset 976 bit 9 */ - bool unusedBit_249_9 : 1; + bool showHumanReadableWarning : 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. Use of this mode is required if you have a narrowband O2 sensor.; offset 976 bit 10 */ - bool unusedBit_249_10 : 1; + bool stftIgnoreErrorMagnitude : 1; /** + * Used on some German vehicles around late 90s: cable-operated throttle and DC motor idle air valve. + * Set the primary TPS to the cable-operated throttle's sensor + * Set the secondary TPS to the mini ETB's position sensor(s). offset 976 bit 11 */ - bool unusedBit_249_11 : 1; + bool dcMotorIdleValve : 1; /** offset 976 bit 12 */ - bool unusedBit_249_12 : 1; + bool enableSoftwareKnock : 1; /** + * enable vvt_details offset 976 bit 13 */ - bool unusedBit_249_13 : 1; + bool verboseVVTDecoding : 1; /** + * get invertCamVVTSignal offset 976 bit 14 */ - bool unusedBit_249_14 : 1; + bool invertCamVVTSignal : 1; /** + * This property is useful if using rusEFI as TCM or BCM only + * enable consumeObdSensors offset 976 bit 15 */ - bool unusedBit_249_15 : 1; + bool consumeObdSensors : 1; /** offset 976 bit 16 */ - bool unusedBit_249_16 : 1; + bool knockBankCyl1 : 1; /** offset 976 bit 17 */ - bool unusedBit_249_17 : 1; + bool knockBankCyl2 : 1; /** offset 976 bit 18 */ - bool unusedBit_249_18 : 1; + bool knockBankCyl3 : 1; /** offset 976 bit 19 */ - bool unusedBit_249_19 : 1; + bool knockBankCyl4 : 1; /** offset 976 bit 20 */ - bool unusedBit_249_20 : 1; + bool knockBankCyl5 : 1; /** offset 976 bit 21 */ - bool unusedBit_249_21 : 1; + bool knockBankCyl6 : 1; /** offset 976 bit 22 */ - bool unusedBit_249_22 : 1; + bool knockBankCyl7 : 1; /** offset 976 bit 23 */ - bool unusedBit_249_23 : 1; + bool knockBankCyl8 : 1; /** offset 976 bit 24 */ - bool unusedBit_249_24 : 1; + bool knockBankCyl9 : 1; /** offset 976 bit 25 */ - bool unusedBit_249_25 : 1; + bool knockBankCyl10 : 1; /** offset 976 bit 26 */ - bool unusedBit_249_26 : 1; + bool knockBankCyl11 : 1; /** offset 976 bit 27 */ - bool unusedBit_249_27 : 1; + bool knockBankCyl12 : 1; /** offset 976 bit 28 */ - bool unusedBit_249_28 : 1; + bool tcuEnabled : 1; /** offset 976 bit 29 */ - bool unusedBit_249_29 : 1; + bool unusedBit_251_29 : 1; /** offset 976 bit 30 */ - bool unusedBit_249_30 : 1; + bool unusedBit_287_30 : 1; /** offset 976 bit 31 */ - bool unusedBit_249_31 : 1; + bool unusedBit_287_31 : 1; /** * offset 980 */ etb_io etbIo[ETB_COUNT]; /** + * Wastegate control Solenoid * offset 988 */ - int unusedAtOldBoardConfigurationEnd[119]; + output_pin_e boostControlPin; + /** + * offset 989 + */ + pin_output_mode_e boostControlPinMode; + /** + * offset 990 + */ + switch_input_pin_e antiLagActivatePin; + /** + * offset 991 + */ + switch_input_pin_e launchActivatePin; + /** + * offset 992 + */ + pid_s boostPid; + /** + * offset 1012 + */ + boostType_e boostType; + /** + * offset 1016 + */ + int boostPwmFrequency; + /** + * offset 1020 + */ + launchActivationMode_e launchActivationMode; + /** + * offset 1024 + */ + antiLagActivationMode_e antiLagActivationMode; + /** + * Disabled above this speed + * offset 1028 + */ + int launchSpeedTreshold; + /** + * Disabled below this rpm + * offset 1032 + */ + int launchRpmTreshold; + /** + * Range from Launch Rpm for Timing Retard to activate + * offset 1036 + */ + int launchTimingRpmRange; + /** + * Extra Fuel Added + * offset 1040 + */ + int launchFuelAdded; + /** + * Duty Cycle for the Boost Solenoid + * offset 1044 + */ + int launchBoostDuty; + /** + * RPM Range for Hard Cut + * offset 1048 + */ + int hardCutRpmRange; + /** + * offset 1052 + */ + int launchAdvanceRpmRange; + /** + * offset 1056 + */ + int launchTpsTreshold; + /** + * offset 1060 + */ + float launchActivateDelay; + /** + * offset 1064 + */ + stft_s stft; + /** + * offset 1088 + */ + etb_io etbIo2[ETB_COUNT]; + /** + * For example, BMW, GM or Chevrolet + * REQUIRED for rusEFI Online + * offset 1096 + */ + vehicle_info_t engineMake; + /** + * For example, LS1 or NB2 + * REQUIRED for rusEFI Online + * offset 1128 + */ + vehicle_info_t engineCode; + /** + * For example, Hunchback or Orange Miata + * Vehicle name has to be unique between your vehicles. + * REQUIRED for rusEFI Online + * offset 1160 + */ + vehicle_info_t vehicleName; + /** + * offset 1192 + */ + output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; + /** + * offset 1198 + */ + uint8_t solenoidPadding[2]; + /** + * offset 1200 + */ + spi_device_e drv8860spiDevice; + /** + * offset 1201 + */ + brain_pin_e drv8860_cs; + /** + * offset 1202 + */ + pin_output_mode_e drv8860_csPinMode; + /** + * offset 1203 + */ + brain_pin_e drv8860_miso; + /** + * offset 1204 + */ + int unusedAtOldBoardConfigurationEnd[64]; + /** + * offset 1460 + */ + uint16_t tps2SecondaryMin; + /** + * offset 1462 + */ + uint16_t tps2SecondaryMax; /** offset 1464 bit 0 */ - bool vvtDisplayInverted : 1; + bool unusedHereWeHave : 1; /** * Enables lambda sensor closed loop feedback for fuelling. offset 1464 bit 1 */ @@ -1708,9 +2027,11 @@ struct engine_configuration_s { offset 1464 bit 7 */ bool useLinearCltSensor : 1; /** + * enable can_read/disable can_read offset 1464 bit 8 */ bool canReadEnabled : 1; /** + * enable can_write/disable can_write offset 1464 bit 9 */ bool canWriteEnabled : 1; /** @@ -1743,10 +2064,11 @@ struct engine_configuration_s { bool cutSparkOnHardLimit : 1; /** offset 1464 bit 18 */ - bool step1fuelCutEnable : 1; + bool launchFuelCutEnable : 1; /** + * This is the Cut Mode normally used offset 1464 bit 19 */ - bool step1SparkCutEnable : 1; + bool launchSparkCutEnable : 1; /** offset 1464 bit 20 */ bool hasFrequencyReportingMapSensor : 1; @@ -1790,10 +2112,10 @@ struct engine_configuration_s { */ adc_channel_e hipOutputChannel; /** - * A/C button input handled as analogue input + * A/C button input * offset 1469 */ - adc_channel_e acSwitchAdc; + switch_input_pin_e acSwitch; /** * offset 1470 */ @@ -1868,7 +2190,7 @@ struct engine_configuration_s { offset 1476 bit 14 */ bool useOnlyRisingEdgeForTrigger : 1; /** - * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (wasted spark). + * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). offset 1476 bit 15 */ bool twoWireBatchIgnition : 1; /** @@ -1888,17 +2210,18 @@ struct engine_configuration_s { bool useTPSAdvanceTable : 1; /** offset 1476 bit 20 */ - bool etbCalibrationOnStart : 1; + bool unused1476b20 : 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 1476 bit 21 */ bool useIacPidMultTable : 1; /** offset 1476 bit 22 */ - bool unused_1484_bit_22 : 1; + bool isBoostControlEnabled : 1; /** + * Interpolates the Ignition Retard from 0 to 100% within the RPM Range offset 1476 bit 23 */ - bool unused_1484_bit_23 : 1; + bool launchSmoothRetard : 1; /** offset 1476 bit 24 */ bool unused_1484_bit_24 : 1; @@ -1928,7 +2251,7 @@ struct engine_configuration_s { */ uint32_t engineChartSize; /** - * Relative to the target idle RPM + * Relative to the target idle RPM - this limit is coupled with useIacTableForCoasting and iacCoasting parameters * offset 1484 */ int16_t idlePidRpmUpperLimit; @@ -2063,9 +2386,18 @@ struct engine_configuration_s { */ int16_t tps2Max; /** + * See also startStopButtonPin * offset 1772 */ - uint8_t unusedFormerWarmupAfrPid[3]; + output_pin_e starterControlPin; + /** + * offset 1773 + */ + pin_input_mode_e startStopButtonMode; + /** + * offset 1774 + */ + brain_pin_e mc33816_flag0; /** * offset 1775 */ @@ -2081,10 +2413,13 @@ struct engine_configuration_s { */ float mapErrorDetectionTooHigh; /** - * RPMs prior to step1rpm point where ignition advance is retarded * offset 1784 */ - int step1RpmWindow; + uint16_t multisparkSparkDuration; + /** + * offset 1786 + */ + uint16_t multisparkDwell; /** * See cltIdleRpmBins * offset 1788 @@ -2096,16 +2431,20 @@ struct engine_configuration_s { */ float wwaeBeta; /** - * blue LED on discovery by default + * blue LED on many rusEFI boards. + * Blue Communication LED which is expected to blink at 50% duty cycle during normal board operation. + * If USB communication cable is connected Blue LED starts to blink faster. * offset 1812 */ brain_pin_e communicationLedPin; /** - * green LED on discovery by default + * Green LED on many rusEFI boards. + * Off if engine is stopped, blinks if engine is cranking, solid if engine is running. * offset 1813 */ brain_pin_e runningLedPin; /** + * See also EFI_CONSOLE_RX_BRAIN_PIN * offset 1814 */ brain_pin_e binarySerialTxPin; @@ -2118,15 +2457,13 @@ struct engine_configuration_s { */ brain_pin_e auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * todo: finish pin migration from hard-coded to configurable? * offset 1818 */ - brain_pin_e consoleSerialTxPin; + switch_input_pin_e tcuUpshiftButtonPin; /** - * todo: finish pin migration from hard-coded to configurable? * offset 1819 */ - brain_pin_e consoleSerialRxPin; + switch_input_pin_e tcuDownshiftButtonPin; /** * Knock sensor output knock detection threshold depending on current RPM * offset 1820 @@ -2195,17 +2532,19 @@ struct engine_configuration_s { */ int16_t iacByTpsTaper; /** + * set_aux_tx_pin X * offset 2040 */ - brain_pin_e unusedErrorPin; + brain_pin_e auxSerialTxPin; /** * offset 2041 */ brain_pin_e warningLedPin; /** + * set_aux_rx_pin X * offset 2042 */ - brain_pin_e unused1234234; + brain_pin_e auxSerialRxPin; /** * offset 2043 */ @@ -2247,6 +2586,7 @@ struct engine_configuration_s { */ float engineLoadAccelEnrichmentMultiplier; /** + * Band rate for primary TTL * offset 2076 */ uint32_t uartConsoleSerialSpeed; @@ -2273,7 +2613,168 @@ struct engine_configuration_s { /** * offset 2096 */ - uint32_t unused_former_warmup_target_afr[9]; + uint32_t auxSerialSpeed; + /** + * offset 2100 + */ + float throttlePedalSecondaryUpVoltage; + /** + * Pedal in the floor + * offset 2104 + */ + float throttlePedalSecondaryWOTVoltage; + /** + * set can_baudrate + * offset 2108 + */ + 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 2109 + */ + ve_override_e veOverrideMode; + /** + * offset 2110 + */ + 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 2111 + */ + afr_override_e afrOverrideMode; + /** + * offset 2112 + */ + uint32_t verboseCan2BaseAddress; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 2116 bit 0 */ + bool enableVerboseCan2Tx : 1; + /** + * enable can_read/disable can_read + offset 2116 bit 1 */ + bool can2ReadEnabled : 1; + /** + * enable can_write/disable can_write + offset 2116 bit 2 */ + bool can2WriteEnabled : 1; + /** + offset 2116 bit 3 */ + bool unused1126 : 1; + /** + offset 2116 bit 4 */ + bool unused1127 : 1; + /** + offset 2116 bit 5 */ + bool unused1128 : 1; + /** + offset 2116 bit 6 */ + bool unused1129 : 1; + /** + offset 2116 bit 7 */ + bool unused1130 : 1; + /** + offset 2116 bit 8 */ + bool unusedBit_485_8 : 1; + /** + offset 2116 bit 9 */ + bool unusedBit_485_9 : 1; + /** + offset 2116 bit 10 */ + bool unusedBit_485_10 : 1; + /** + offset 2116 bit 11 */ + bool unusedBit_485_11 : 1; + /** + offset 2116 bit 12 */ + bool unusedBit_485_12 : 1; + /** + offset 2116 bit 13 */ + bool unusedBit_485_13 : 1; + /** + offset 2116 bit 14 */ + bool unusedBit_485_14 : 1; + /** + offset 2116 bit 15 */ + bool unusedBit_485_15 : 1; + /** + offset 2116 bit 16 */ + bool unusedBit_485_16 : 1; + /** + offset 2116 bit 17 */ + bool unusedBit_485_17 : 1; + /** + offset 2116 bit 18 */ + bool unusedBit_485_18 : 1; + /** + offset 2116 bit 19 */ + bool unusedBit_485_19 : 1; + /** + offset 2116 bit 20 */ + bool unusedBit_485_20 : 1; + /** + offset 2116 bit 21 */ + bool unusedBit_485_21 : 1; + /** + offset 2116 bit 22 */ + bool unusedBit_485_22 : 1; + /** + offset 2116 bit 23 */ + bool unusedBit_485_23 : 1; + /** + offset 2116 bit 24 */ + bool unusedBit_485_24 : 1; + /** + offset 2116 bit 25 */ + bool unusedBit_485_25 : 1; + /** + offset 2116 bit 26 */ + bool unusedBit_485_26 : 1; + /** + offset 2116 bit 27 */ + bool unusedBit_485_27 : 1; + /** + offset 2116 bit 28 */ + bool unusedBit_485_28 : 1; + /** + offset 2116 bit 29 */ + bool unusedBit_485_29 : 1; + /** + offset 2116 bit 30 */ + bool unusedBit_485_30 : 1; + /** + offset 2116 bit 31 */ + bool unusedBit_485_31 : 1; + /** + * set can_mode X + * offset 2120 + */ + can_nbc_e can2NbcType; + /** + * set_can2_tx_pin X + * offset 2124 + */ + brain_pin_e can2TxPin; + /** + * set_can2_rx_pin X + * offset 2125 + */ + brain_pin_e can2RxPin; + /** + * offset 2126 + */ + pin_output_mode_e starterControlPinMode; + /** + * offset 2127 + */ + adc_channel_e wastegatePositionSensor; + /** + * offset 2128 + */ + uint8_t unused_former_warmup_target_afr[4]; /** * kPa value at which we need to cut fuel and spark, 0 if not enabled * offset 2132 @@ -2325,14 +2826,14 @@ struct engine_configuration_s { */ pin_output_mode_e cj125CsPinMode; /** - * This implementation makes a pulse every time one of the coils is charged, using coil dwell for pulse width. See also tachOutputPin * offset 2226 */ - brain_pin_e dizzySparkOutputPin; + uint8_t unusedDizzy; /** + * need 4 byte alignment * offset 2227 */ - pin_output_mode_e dizzySparkOutputPinMode; + uint8_t alignmentFill_at_2227; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * offset 2228 @@ -2383,7 +2884,7 @@ struct engine_configuration_s { /** * offset 2332 */ - bi_quard_s biQuad; + uint8_t unusedOldBiquad[20]; /** * CLT-based timing correction * offset 2352 @@ -2396,30 +2897,34 @@ struct engine_configuration_s { /** * offset 2416 */ - int nbVvtIndex; + tle8888_mode_e tle8888mode; + /** + * offset 2417 + */ + uint8_t unusedSomethingWasHere[3]; /** * offset 2420 */ - float autoTuneCltThreshold; + float unused244_1; /** * offset 2424 */ - float autoTuneTpsRocThreshold; + float unused244_2; /** * offset 2428 */ - float autoTuneTpsQuietPeriod; + float unused244_3; /** * offset 2432 */ - float postCrankingTargetClt; + float unused2432; /** - * Fuel multiplier taper, see also postCrankingDurationSec + * Fuel multiplier (enrichment) immediately after engine start * offset 2436 */ float postCrankingFactor; /** - * See also postCrankingFactor + * Time over which to taper out after start enrichment * offset 2440 */ float postCrankingDurationSec; @@ -2436,15 +2941,7 @@ struct engine_configuration_s { /** * offset 2508 */ - int16_t fuelClosedLoopCltThreshold; - /** - * offset 2510 - */ - int16_t fuelClosedLoopTpsThreshold; - /** - * offset 2512 - */ - int16_t fuelClosedLoopRpmThreshold; + uint8_t unused2508[6]; /** * offset 2514 */ @@ -2452,11 +2949,7 @@ struct engine_configuration_s { /** * offset 2516 */ - pid_s fuelClosedLoopPid; - /** - * offset 2536 - */ - float fuelClosedLoopAfrHighThreshold; + uint8_t unused2516[24]; /** * per-cylinder timing correction * offset 2540 @@ -2479,6 +2972,7 @@ struct engine_configuration_s { */ pin_mode_e spi1SckMode; /** + * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. * offset 2597 */ pin_mode_e spi1MosiMode; @@ -2557,7 +3051,15 @@ struct engine_configuration_s { /** * offset 2713 */ - uint8_t unusedSpiPadding5[3]; + uint8_t unusedAuxVoltage1_TODO_332; + /** + * offset 2714 + */ + uint8_t unusedAuxVoltage2_TODO_332; + /** + * offset 2715 + */ + uint8_t unusedSpiPadding5; /** * offset 2716 */ @@ -2591,6 +3093,7 @@ struct engine_configuration_s { */ float fsioCurve4[FSIO_CURVE_8]; /** + * For pinout see https://rusefi.com/forum/viewtopic.php?f=5&t=1324 * offset 3100 */ uint8_t unusedFlexFuelSensor; @@ -2609,7 +3112,7 @@ struct engine_configuration_s { /** * offset 3104 */ - brain_pin_e stepperEnablePin; + output_pin_e stepperEnablePin; /** * offset 3105 */ @@ -2680,11 +3183,7 @@ struct engine_configuration_s { /** * offset 3288 */ - ignition_tps_table_t ignitionTpsTable; - /** - * offset 3800 - */ - float ignitionTpsBins[IGN_TPS_COUNT]; + uint8_t unused3288[576]; /** * offset 3864 */ @@ -2790,9 +3289,10 @@ struct engine_configuration_s { */ spi_device_e tle6240spiDevice; /** + * Stoichiometric ratio for your primary fuel. * offset 4005 */ - spi_device_e drv8860spiDevice; + uint8_t stoichRatioPrimary; /** * iTerm max value * offset 4006 @@ -2805,15 +3305,7 @@ struct engine_configuration_s { /** * offset 4009 */ - brain_pin_e drv8860_cs; - /** - * offset 4010 - */ - pin_output_mode_e drv8860_csPinMode; - /** - * offset 4011 - */ - brain_pin_e drv8860_miso; + uint8_t unusedSpiPadding8[3]; /** * ETB idle authority * offset 4012 @@ -2822,15 +3314,15 @@ struct engine_configuration_s { /** * offset 4016 */ - uint8_t unusuedvref[4]; + uint8_t unusedvref[4]; /** * offset 4020 */ - uint8_t unusuedsw[4]; + uint8_t unusedsw[4]; /** * offset 4024 */ - int alFIn[3]; + int unused_alFIn[3]; /** * Trigger comparator center point voltage * offset 4036 @@ -2868,10 +3360,72 @@ struct engine_configuration_s { */ uint8_t iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** + * set can_vss X * offset 4140 */ - int mainUnusedEnd[565]; - /** total size 6400*/ + can_vss_nbc_e canVssNbcType; + /** + * offset 4144 + */ + gppwm_channel gppwm[GPPWM_CHANNELS]; + /** + * offset 4496 + */ + uint16_t mc33_i_boost; + /** + * offset 4498 + */ + uint16_t mc33_i_peak; + /** + * offset 4500 + */ + uint16_t mc33_i_hold; + /** + * offset 4502 + */ + uint16_t mc33_t_max_boost; + /** + * offset 4504 + */ + uint16_t mc33_t_peak_off; + /** + * offset 4506 + */ + uint16_t mc33_t_peak_tot; + /** + * offset 4508 + */ + uint16_t mc33_t_bypass; + /** + * offset 4510 + */ + uint16_t mc33_t_hold_off; + /** + * offset 4512 + */ + uint16_t mc33_t_hold_tot; + /** + * offset 4514 + */ + pin_input_mode_e tcuUpshiftButtonPinMode; + /** + * offset 4515 + */ + pin_input_mode_e tcuDownshiftButtonPinMode; + /** + * offset 4516 + */ + pin_input_mode_e acSwitchMode; + /** + * need 4 byte alignment + * offset 4517 + */ + uint8_t alignmentFill_at_4517[3]; + /** + * offset 4520 + */ + int mainUnusedEnd[370]; + /** total size 6000*/ }; typedef struct engine_configuration_s engine_configuration_s; @@ -2882,6 +3436,46 @@ struct persistent_config_s { * offset 0 */ engine_configuration_s engineConfiguration; + /** + * offset 6000 + */ + error_message_t warning_message; + /** + * offset 6120 + */ + float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; + /** + * offset 6152 + */ + float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; + /** + * offset 6184 + */ + float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; + /** + * offset 6216 + */ + float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; + /** + * offset 6248 + */ + boost_table_t boostTableOpenLoop; + /** + * offset 6312 + */ + uint8_t unused6312[8]; + /** + * offset 6320 + */ + uint8_t boostRpmBins[BOOST_RPM_COUNT]; + /** + * offset 6328 + */ + boost_target_table_t boostTableClosedLoop; + /** + * offset 6392 + */ + uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * offset 6400 */ @@ -2979,6 +3573,7 @@ struct persistent_config_s { */ float cltIdleCorr[CLT_CURVE_SIZE]; /** + * Also known as MAF transfer function. * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * offset 10784 @@ -3015,16 +3610,11 @@ struct persistent_config_s { /** * offset 15136 */ - fuel_table_t fuelTable; + tcubinary_table_t tcuSolenoidTable; /** - * offset 16160 + * offset 15196 */ - float fuelLoadBins[FUEL_LOAD_COUNT]; - /** - * RPM is float and not integer in order to use unified methods for interpolation - * offset 16224 - */ - float fuelRpmBins[FUEL_RPM_COUNT]; + uint8_t unused15136[1092]; /** * offset 16288 */ @@ -3131,6 +3721,5 @@ struct persistent_config_s { typedef struct persistent_config_s persistent_config_s; -#endif // end -// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on integration/rusefi_config.txt Sun May 10 18:01:52 EEST 2020 +// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Mon Sep 21 18:14:28 EEST 2020 diff --git a/firmware/config/boards/hellen/cypress/config/controllers/algo/rusefi_generated.h b/firmware/config/boards/hellen/cypress/config/controllers/algo/rusefi_generated.h index 65b652c850..9c28e3752b 100644 --- a/firmware/config/boards/hellen/cypress/config/controllers/algo/rusefi_generated.h +++ b/firmware/config/boards/hellen/cypress/config/controllers/algo/rusefi_generated.h @@ -1,373 +1,248 @@ // -// was generated automatically by rusEfi tool ConfigDefinition.jar based on integration/rusefi_config.txt +// was generated automatically by rusEfi tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt // #define absoluteFuelPressure_offset 76 -#define absoluteFuelPressure_offset_hex 4c #define accelerometerSpiDevice_offset 2712 -#define accelerometerSpiDevice_offset_hex a98 #define acCutoffHighRpm_offset 1494 -#define acCutoffHighRpm_offset_hex 5d6 #define acCutoffLowRpm_offset 1492 -#define acCutoffLowRpm_offset_hex 5d4 +#define acFanPin_offset 762 +#define acFanPinMode_offset 763 +#define acIdleExtraMin_offset 761 +#define acIdleExtraOffset_offset 711 #define acIdleRpmBump_offset 1496 -#define acIdleRpmBump_offset_hex 5d8 #define acRelayPin_offset 830 -#define acRelayPin_offset_hex 33e #define acRelayPinMode_offset 831 -#define acRelayPinMode_offset_hex 33f -#define acSwitchAdc_offset 1469 -#define acSwitchAdc_offset_hex 5bd +#define acSwitch_offset 1469 +#define acSwitchMode_offset 4516 #define activateAuxPid1_offset 76 -#define activateAuxPid1_offset_hex 4c #define activateAuxPid2_offset 76 -#define activateAuxPid2_offset_hex 4c #define activateAuxPid3_offset 76 -#define activateAuxPid3_offset_hex 4c #define activateAuxPid4_offset 76 -#define activateAuxPid4_offset_hex 4c -#define adc_channel_e_enum "P10 (B_0)", "P11 (B_1)", "P12 (B_2)", "P13 (B_3)", "P14 (B_4)", "P15 (B_5)", "P16 (B_6)", "P17 (B_7)", "P18 (B_8)", "P19 (B_9)", "P1A (B_10)", "P1B (B_11)", "P1C (B_12)", "P1D (B_13)", "P1E (B_14)", "P1F (B_15)", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "P2A (C_10)", "P29 (C_9)", "P28 (C_8)", "P27 (C_7)", "P25 (C_5)", "P24 (C_4)", "P23 (C_3)", "P22 (C_2)", "Disabled", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID" +#define adc_channel_e_enum "Disabled", "P10 (B_0)", "P11 (B_1)", "P12 (B_2)", "P13 (B_3)", "P14 (B_4)", "P15 (B_5)", "P16 (B_6)", "P17 (B_7)", "P18 (B_8)", "P19 (B_9)", "P1A (B_10)", "P1B (B_11)", "P1C (B_12)", "P1D (B_13)", "P1E (B_14)", "P1F (B_15)", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "P2A (C_10)", "P29 (C_9)", "P28 (C_8)", "P27 (C_7)", "P25 (C_5)", "P24 (C_4)", "P23 (C_3)", "P22 (C_2)" +#define adc_channel_mode_e_auto_enum "ADC_OFF", "ADC_SLOW", "ADC_FAST" +#define ADC_CHANNEL_NONE 0 #define adcVcc_offset 548 -#define adcVcc_offset_hex 224 -#define afr_alignAf_offset 561 -#define afr_alignAf_offset_hex 231 +#define afr_alignmentFill_afr_offset 561 #define afr_hwChannel_offset 560 -#define afr_hwChannel_offset_hex 230 #define afr_offset 560 -#define afr_offset_hex 230 +#define afr_override_e_auto_enum "AFR_None", "AFR_MAP", "AFR_Tps", "AFR_AccPedal", "AFR_CylFilling" +#define afr_override_e_enum "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +#define afr_sensor_s_size 20 #define afr_type_offset 692 -#define afr_type_offset_hex 2b4 #define afr_v1_offset 564 -#define afr_v1_offset_hex 234 #define afr_v2_offset 572 -#define afr_v2_offset_hex 23c #define afr_value1_offset 568 -#define afr_value1_offset_hex 238 #define afr_value2_offset 576 -#define afr_value2_offset_hex 240 #define afrLoadBins_offset 18848 -#define afrLoadBins_offset_hex 49a0 +#define afrOverrideMode_offset 2111 #define afrRpmBins_offset 18912 -#define afrRpmBins_offset_hex 49e0 #define afrTable_offset 18592 -#define afrTable_offset_hex 48a0 #define afterCrankingIACtaperDuration_offset 2036 -#define afterCrankingIACtaperDuration_offset_hex 7f4 -#define alFIn_offset 4024 -#define alFIn_offset_hex fb8 +#define AFTERSTART_DECAY_CURVE_SIZE 8 +#define AFTERSTART_ENRICH_CURVE_SIZE 8 +#define AFTERSTART_HOLD_CURVE_SIZE 8 +#define afterstartCoolantBins_offset 6120 +#define afterstartDecayTime_offset 6216 +#define afterstartEnrich_offset 6184 +#define afterstartHoldTime_offset 6152 +#define air_pressure_sensor_config_s_size 16 +#define air_pressure_sensor_type_e_auto_enum "MT_CUSTOM", "MT_DENSO183", "MT_MPX4250", "MT_HONDA3BAR", "MT_DODGE_NEON_2003", "MT_SUBY_DENSO", "MT_GM_3_BAR", "MT_MPX4100", "MT_TOYOTA_89420_02010", "MT_MPX4250A", "MT_BOSCH_2_5", "MT_MAZDA_1_BAR" #define alignEngineSnifferAtTDC_offset 744 -#define alignEngineSnifferAtTDC_offset_hex 2e8 +#define alignmentFill_at_2227_offset 2227 +#define alignmentFill_at_4517_offset 4517 #define alternator_antiwindupFreq_offset 1764 -#define alternator_antiwindupFreq_offset_hex 6e4 #define alternator_derivativeFilterLoss_offset 1760 -#define alternator_derivativeFilterLoss_offset_hex 6e0 #define alternatorControl_dFactor_offset 1724 -#define alternatorControl_dFactor_offset_hex 6bc #define alternatorControl_iFactor_offset 1720 -#define alternatorControl_iFactor_offset_hex 6b8 #define alternatorControl_maxValue_offset 1734 -#define alternatorControl_maxValue_offset_hex 6c6 #define alternatorControl_minValue_offset 1732 -#define alternatorControl_minValue_offset_hex 6c4 #define alternatorControl_offset 1716 -#define alternatorControl_offset_hex 6b4 #define alternatorControl_offset_offset 1728 -#define alternatorControl_offset_offset_hex 6c0 #define alternatorControl_periodMs_offset 1730 -#define alternatorControl_periodMs_offset_hex 6c2 #define alternatorControl_pFactor_offset 1716 -#define alternatorControl_pFactor_offset_hex 6b4 #define alternatorControlPin_offset 665 -#define alternatorControlPin_offset_hex 299 #define alternatorControlPinMode_offset 666 -#define alternatorControlPinMode_offset_hex 29a #define alternatorOffAboveTps_offset 2028 -#define alternatorOffAboveTps_offset_hex 7ec #define alternatorPwmFrequency_offset 2256 -#define alternatorPwmFrequency_offset_hex 8d0 #define ambiguousOperationMode_offset 488 -#define ambiguousOperationMode_offset_hex 1e8 #define analogInputDividerCoefficient_offset 460 -#define analogInputDividerCoefficient_offset_hex 1cc -#define autoTuneCltThreshold_offset 2420 -#define autoTuneCltThreshold_offset_hex 974 -#define autoTuneTpsQuietPeriod_offset 2428 -#define autoTuneTpsQuietPeriod_offset_hex 97c -#define autoTuneTpsRocThreshold_offset 2424 -#define autoTuneTpsRocThreshold_offset_hex 978 +#define antiLagActivatePin_offset 990 +#define antiLagActivationMode_e_auto_enum "SWITCH_INPUT_ANTILAG", "ALWAYS_ON_ANTILAG" +#define antiLagActivationMode_e_enum "Always Active", "Switch Input" +#define antiLagActivationMode_offset 1024 +#define antiLagEnabled_offset 76 +#define antiLagRpmTreshold_offset 824 #define AUX_DIGITAL_VALVE_COUNT 2 #define AUX_PID_COUNT 4 #define auxFastSensor1_adcChannel_offset 680 -#define auxFastSensor1_adcChannel_offset_hex 2a8 #define auxPid1_dFactor_offset 2620 -#define auxPid1_dFactor_offset_hex a3c #define auxPid1_iFactor_offset 2616 -#define auxPid1_iFactor_offset_hex a38 #define auxPid1_maxValue_offset 2630 -#define auxPid1_maxValue_offset_hex a46 #define auxPid1_minValue_offset 2628 -#define auxPid1_minValue_offset_hex a44 #define auxPid1_offset 2612 -#define auxPid1_offset_hex a34 #define auxPid1_offset_offset 2624 -#define auxPid1_offset_offset_hex a40 #define auxPid1_periodMs_offset 2626 -#define auxPid1_periodMs_offset_hex a42 #define auxPid1_pFactor_offset 2612 -#define auxPid1_pFactor_offset_hex a34 #define auxPid2_dFactor_offset 2640 -#define auxPid2_dFactor_offset_hex a50 #define auxPid2_iFactor_offset 2636 -#define auxPid2_iFactor_offset_hex a4c #define auxPid2_maxValue_offset 2650 -#define auxPid2_maxValue_offset_hex a5a #define auxPid2_minValue_offset 2648 -#define auxPid2_minValue_offset_hex a58 #define auxPid2_offset 2632 -#define auxPid2_offset_hex a48 #define auxPid2_offset_offset 2644 -#define auxPid2_offset_offset_hex a54 #define auxPid2_periodMs_offset 2646 -#define auxPid2_periodMs_offset_hex a56 #define auxPid2_pFactor_offset 2632 -#define auxPid2_pFactor_offset_hex a48 #define auxPid3_dFactor_offset 2660 -#define auxPid3_dFactor_offset_hex a64 #define auxPid3_iFactor_offset 2656 -#define auxPid3_iFactor_offset_hex a60 #define auxPid3_maxValue_offset 2670 -#define auxPid3_maxValue_offset_hex a6e #define auxPid3_minValue_offset 2668 -#define auxPid3_minValue_offset_hex a6c #define auxPid3_offset 2652 -#define auxPid3_offset_hex a5c #define auxPid3_offset_offset 2664 -#define auxPid3_offset_offset_hex a68 #define auxPid3_periodMs_offset 2666 -#define auxPid3_periodMs_offset_hex a6a #define auxPid3_pFactor_offset 2652 -#define auxPid3_pFactor_offset_hex a5c #define auxPid4_dFactor_offset 2680 -#define auxPid4_dFactor_offset_hex a78 #define auxPid4_iFactor_offset 2676 -#define auxPid4_iFactor_offset_hex a74 #define auxPid4_maxValue_offset 2690 -#define auxPid4_maxValue_offset_hex a82 #define auxPid4_minValue_offset 2688 -#define auxPid4_minValue_offset_hex a80 #define auxPid4_offset 2672 -#define auxPid4_offset_hex a70 #define auxPid4_offset_offset 2684 -#define auxPid4_offset_offset_hex a7c #define auxPid4_periodMs_offset 2686 -#define auxPid4_periodMs_offset_hex a7e #define auxPid4_pFactor_offset 2672 -#define auxPid4_pFactor_offset_hex a70 #define auxPidFrequency1_offset 2248 -#define auxPidFrequency1_offset_hex 8c8 #define auxPidFrequency2_offset 2250 -#define auxPidFrequency2_offset_hex 8ca #define auxPidFrequency3_offset 2252 -#define auxPidFrequency3_offset_hex 8cc #define auxPidFrequency4_offset 2254 -#define auxPidFrequency4_offset_hex 8ce #define auxPidPins1_offset 2220 -#define auxPidPins1_offset_hex 8ac #define auxPidPins2_offset 2221 -#define auxPidPins2_offset_hex 8ad #define auxPidPins3_offset 2222 -#define auxPidPins3_offset_hex 8ae #define auxPidPins4_offset 2223 -#define auxPidPins4_offset_hex 8af +#define auxSerialRxPin_offset 2042 +#define auxSerialSpeed_offset 2096 +#define auxSerialTxPin_offset 2040 #define auxTempSensor1_adcChannel_offset 2472 -#define auxTempSensor1_adcChannel_offset_hex 9a8 -#define auxTempSensor1_alignmentFill_offset 2473 -#define auxTempSensor1_alignmentFill_offset_hex 9a9 +#define auxTempSensor1_alignmentFill_at_29_offset 2473 #define auxTempSensor1_bias_resistor_offset 2468 -#define auxTempSensor1_bias_resistor_offset_hex 9a4 #define auxTempSensor1_config_offset 2444 -#define auxTempSensor1_config_offset_hex 98c #define auxTempSensor1_offset 2444 -#define auxTempSensor1_offset_hex 98c #define auxTempSensor1_resistance_1_offset 2456 -#define auxTempSensor1_resistance_1_offset_hex 998 #define auxTempSensor1_resistance_2_offset 2460 -#define auxTempSensor1_resistance_2_offset_hex 99c #define auxTempSensor1_resistance_3_offset 2464 -#define auxTempSensor1_resistance_3_offset_hex 9a0 #define auxTempSensor1_tempC_1_offset 2444 -#define auxTempSensor1_tempC_1_offset_hex 98c #define auxTempSensor1_tempC_2_offset 2448 -#define auxTempSensor1_tempC_2_offset_hex 990 #define auxTempSensor1_tempC_3_offset 2452 -#define auxTempSensor1_tempC_3_offset_hex 994 #define auxTempSensor2_adcChannel_offset 2504 -#define auxTempSensor2_adcChannel_offset_hex 9c8 -#define auxTempSensor2_alignmentFill_offset 2505 -#define auxTempSensor2_alignmentFill_offset_hex 9c9 +#define auxTempSensor2_alignmentFill_at_29_offset 2505 #define auxTempSensor2_bias_resistor_offset 2500 -#define auxTempSensor2_bias_resistor_offset_hex 9c4 #define auxTempSensor2_config_offset 2476 -#define auxTempSensor2_config_offset_hex 9ac #define auxTempSensor2_offset 2476 -#define auxTempSensor2_offset_hex 9ac #define auxTempSensor2_resistance_1_offset 2488 -#define auxTempSensor2_resistance_1_offset_hex 9b8 #define auxTempSensor2_resistance_2_offset 2492 -#define auxTempSensor2_resistance_2_offset_hex 9bc #define auxTempSensor2_resistance_3_offset 2496 -#define auxTempSensor2_resistance_3_offset_hex 9c0 #define auxTempSensor2_tempC_1_offset 2476 -#define auxTempSensor2_tempC_1_offset_hex 9ac #define auxTempSensor2_tempC_2_offset 2480 -#define auxTempSensor2_tempC_2_offset_hex 9b0 #define auxTempSensor2_tempC_3_offset 2484 -#define auxTempSensor2_tempC_3_offset_hex 9b4 #define auxValves1_offset 1816 -#define auxValves1_offset_hex 718 #define auxValves2_offset 1817 -#define auxValves2_offset_hex 719 #define BARO_CORR_SIZE 4 #define baroCorrPressureBins_offset 1544 -#define baroCorrPressureBins_offset_hex 608 #define baroCorrRpmBins_offset 1560 -#define baroCorrRpmBins_offset_hex 618 #define baroCorrTable_offset 1576 -#define baroCorrTable_offset_hex 628 -#define baroSensor_align_offset 597 -#define baroSensor_align_offset_hex 255 +#define baroSensor_alignmentFill_offset 597 #define baroSensor_highValue_offset 588 -#define baroSensor_highValue_offset_hex 24c #define baroSensor_hwChannel_offset 596 -#define baroSensor_hwChannel_offset_hex 254 #define baroSensor_lowValue_offset 584 -#define baroSensor_lowValue_offset_hex 248 #define baroSensor_offset 584 -#define baroSensor_offset_hex 248 #define baroSensor_type_offset 592 -#define baroSensor_type_offset_hex 250 #define binarySerialRxPin_offset 1815 -#define binarySerialRxPin_offset_hex 717 #define binarySerialTxPin_offset 1814 -#define binarySerialTxPin_offset_hex 716 -#define biQuad_a0_offset 2332 -#define biQuad_a0_offset_hex 91c -#define biQuad_a1_offset 2336 -#define biQuad_a1_offset_hex 920 -#define biQuad_a2_offset 2340 -#define biQuad_a2_offset_hex 924 -#define biQuad_b1_offset 2344 -#define biQuad_b1_offset_hex 928 -#define biQuad_b2_offset 2348 -#define biQuad_b2_offset_hex 92c -#define biQuad_offset 2332 -#define biQuad_offset_hex 91c -#define BLOCKING_FACTOR 400 +#define BLOCKING_FACTOR 256 +#define BOOST_LOAD_COUNT 8 +#define BOOST_RPM_COUNT 8 +#define boostControlPin_offset 988 +#define boostControlPinMode_offset 989 #define boostCutPressure_offset 2132 -#define boostCutPressure_offset_hex 854 -#define brain_input_pin_e_enum "NONE", "INVALID", "P00 (A_0)", "P01 (A_1)", "P02 (A_2)", "P03 (A_3)", "P04 (A_4)", "P05 (A_5)", "P06 (A_6)", "P07 (A_7)", "P08 (A_8)", "P09 (A_9)", "P0A (A_10)", "P0B (A_11)", "P0C (A_12)", "P0D (A_13)", "P0E (A_14)", "P0F (A_15)", "P10 (B_0)", "P11 (B_1)", "P12 (B_2)", "P13 (B_3)", "P14 (B_4)", "P15 (B_5)", "P16 (B_6)", "P17 (B_7)", "P18 (B_8)", "P19 (B_9)", "P1A (B_10)", "P1B (B_11)", "P1C (B_12)", "P1D (B_13)", "P1E (B_14)", "P1F (B_15)", "P20 (C_0)", "P21 (C_1)", "P22 (C_2)", "P23 (C_3)", "P24 (C_4)", "P25 (C_5)", "P26 (C_6)", "P27 (C_7)", "P28 (C_8)", "P29 (C_9)", "P2A (C_10)", "P2B (C_11)", "P2C (C_12)", "P2D (C_13)", "P2E (C_14)", "P2F (C_15)", "P30 (D_0)", "P31 (D_1)", "P32 (D_2)", "P33 (D_3)", "P34 (D_4)", "P35 (D_5)", "P36 (D_6)", "P37 (D_7)", "P38 (D_8)", "P39 (D_9)", "P3A (D_10)", "P3B (D_11)", "P3C (D_12)", "P3D (D_13)", "P3E (D_14)", "P3F (D_15)", "P40 (E_0)", "P41 (E_1)", "P42 (E_2)", "P43 (E_3)", "P44 (E_4)", "P45 (E_5)", "P46 (E_6)", "P47 (E_7)", "P48 (E_8)", "P49 (E_9)", "P4A (E_10)", "P4B (E_11)", "P4C (E_12)", "P4D (E_13)", "P4E (E_14)", "P4F (E_15)", "P50 (F_0)", "P51 (F_1)", "P52 (F_2)", "P53 (F_3)", "P54 (F_4)", "P55 (F_5)", "P56 (F_6)", "P57 (F_7)", "P58 (F_8)", "P59 (F_9)", "P5A (F_10)", "P5B (F_11)", "P5C (F_12)", "P5D (F_13)", "P5E (F_14)", "P5F (F_15)", "P70 (G_0)", "P71 (G_1)", "P72 (G_2)", "P73 (G_3)", "P74 (G_4)", "P75 (G_5)", "P76 (G_6)", "P77 (G_7)", "P78 (G_8)", "P79 (G_9)", "P7A (G_10)", "P7B (G_11)", "P7C (G_12)", "P7D (G_13)", "P7E (G_14)", "P7F (G_15)", "PA0 (H_0)", "PA1 (H_1)", "PA2 (H_2)", "PA3 (H_3)", "PA4 (H_4)", "PA5 (H_5)", "PA6 (H_6)", "PA7 (H_7)", "PA8 (H_8)", "PA9 (H_9)", "PAA (H_10)", "PAB (H_11)", "PAC (H_12)", "PAD (H_13)", "PAE (H_14)", "PAF (H_15)", "PB0 (I_0)", "PB1 (I_1)", "PB2 (I_2)", "PB3 (I_3)", "PB4 (I_4)", "PB5 (I_5)", "PB6 (I_6)", "PB7 (I_7)", "PB8 (I_8)", "PB9 (I_9)", "PBA (I_10)", "PBB (I_11)", "PBC (I_12)", "PBD (I_13)", "PBE (I_14)", "PBF (I_15)", "PC0 (J_0)", "PC1 (J_1)", "PC2 (J_2)", "PC3 (J_3)", "PC4 (J_4)", "PC5 (J_5)", "PC6 (J_6)", "PC7 (J_7)", "PC8 (J_8)", "PC9 (J_9)", "PCA (J_10)", "PCB (J_11)", "PCC (J_12)", "PCD (J_13)", "PCE (J_14)", "PCF (J_15)", "PF0 (K_0)", "PF1 (K_1)", "PF2 (K_2)", "PF3 (K_3)", "PF4 (K_4)", "PF5 (K_5)", "PF6 (K_6)", "PF7 (K_7)", "PF8 (K_8)", "PF9 (K_9)", "PFA (K_10)", "PFB (K_11)", "PFC (K_12)", "PFD (K_13)", "PFE (K_14)", "PFF (K_15)", "DRV8860_1", "DRV8860_2", "DRV8860_3", "DRV8860_4", "DRV8860_5", "DRV8860_6", "DRV8860_7", "DRV8860_8", "DRV8860_9", "DRV8860_10", "DRV8860_11", "DRV8860_12", "DRV8860_13", "DRV8860_14", "DRV8860_15", "DRV8860_16", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID" -#define brain_pin_e_enum "NONE", "INVALID", "P00 (A_0)", "P01 (A_1)", "P02 (A_2)", "P03 (A_3)", "P04 (A_4)", "P05 (A_5)", "P06 (A_6)", "P07 (A_7)", "P08 (A_8)", "P09 (A_9)", "P0A (A_10)", "P0B (A_11)", "P0C (A_12)", "P0D (A_13)", "P0E (A_14)", "P0F (A_15)", "P10 (B_0)", "P11 (B_1)", "P12 (B_2)", "P13 (B_3)", "P14 (B_4)", "P15 (B_5)", "P16 (B_6)", "P17 (B_7)", "P18 (B_8)", "P19 (B_9)", "P1A (B_10)", "P1B (B_11)", "P1C (B_12)", "P1D (B_13)", "P1E (B_14)", "P1F (B_15)", "P20 (C_0)", "P21 (C_1)", "P22 (C_2)", "P23 (C_3)", "P24 (C_4)", "P25 (C_5)", "P26 (C_6)", "P27 (C_7)", "P28 (C_8)", "P29 (C_9)", "P2A (C_10)", "P2B (C_11)", "P2C (C_12)", "P2D (C_13)", "P2E (C_14)", "P2F (C_15)", "P30 (D_0)", "P31 (D_1)", "P32 (D_2)", "P33 (D_3)", "P34 (D_4)", "P35 (D_5)", "P36 (D_6)", "P37 (D_7)", "P38 (D_8)", "P39 (D_9)", "P3A (D_10)", "P3B (D_11)", "P3C (D_12)", "P3D (D_13)", "P3E (D_14)", "P3F (D_15)", "P40 (E_0)", "P41 (E_1)", "P42 (E_2)", "P43 (E_3)", "P44 (E_4)", "P45 (E_5)", "P46 (E_6)", "P47 (E_7)", "P48 (E_8)", "P49 (E_9)", "P4A (E_10)", "P4B (E_11)", "P4C (E_12)", "P4D (E_13)", "P4E (E_14)", "P4F (E_15)", "P50 (F_0)", "P51 (F_1)", "P52 (F_2)", "P53 (F_3)", "P54 (F_4)", "P55 (F_5)", "P56 (F_6)", "P57 (F_7)", "P58 (F_8)", "P59 (F_9)", "P5A (F_10)", "P5B (F_11)", "P5C (F_12)", "P5D (F_13)", "P5E (F_14)", "P5F (F_15)", "P70 (G_0)", "P71 (G_1)", "P72 (G_2)", "P73 (G_3)", "P74 (G_4)", "P75 (G_5)", "P76 (G_6)", "P77 (G_7)", "P78 (G_8)", "P79 (G_9)", "P7A (G_10)", "P7B (G_11)", "P7C (G_12)", "P7D (G_13)", "P7E (G_14)", "P7F (G_15)", "PA0 (H_0)", "PA1 (H_1)", "PA2 (H_2)", "PA3 (H_3)", "PA4 (H_4)", "PA5 (H_5)", "PA6 (H_6)", "PA7 (H_7)", "PA8 (H_8)", "PA9 (H_9)", "PAA (H_10)", "PAB (H_11)", "PAC (H_12)", "PAD (H_13)", "PAE (H_14)", "PAF (H_15)", "PB0 (I_0)", "PB1 (I_1)", "PB2 (I_2)", "PB3 (I_3)", "PB4 (I_4)", "PB5 (I_5)", "PB6 (I_6)", "PB7 (I_7)", "PB8 (I_8)", "PB9 (I_9)", "PBA (I_10)", "PBB (I_11)", "PBC (I_12)", "PBD (I_13)", "PBE (I_14)", "PBF (I_15)", "PC0 (J_0)", "PC1 (J_1)", "PC2 (J_2)", "PC3 (J_3)", "PC4 (J_4)", "PC5 (J_5)", "PC6 (J_6)", "PC7 (J_7)", "PC8 (J_8)", "PC9 (J_9)", "PCA (J_10)", "PCB (J_11)", "PCC (J_12)", "PCD (J_13)", "PCE (J_14)", "PCF (J_15)", "PF0 (K_0)", "PF1 (K_1)", "PF2 (K_2)", "PF3 (K_3)", "PF4 (K_4)", "PF5 (K_5)", "PF6 (K_6)", "PF7 (K_7)", "PF8 (K_8)", "PF9 (K_9)", "PFA (K_10)", "PFB (K_11)", "PFC (K_12)", "PFD (K_13)", "PFE (K_14)", "PFF (K_15)", "DRV8860_1", "DRV8860_2", "DRV8860_3", "DRV8860_4", "DRV8860_5", "DRV8860_6", "DRV8860_7", "DRV8860_8", "DRV8860_9", "DRV8860_10", "DRV8860_11", "DRV8860_12", "DRV8860_13", "DRV8860_14", "DRV8860_15", "DRV8860_16", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID" +#define boostPid_dFactor_offset 1000 +#define boostPid_iFactor_offset 996 +#define boostPid_maxValue_offset 1010 +#define boostPid_minValue_offset 1008 +#define boostPid_offset 992 +#define boostPid_offset_offset 1004 +#define boostPid_periodMs_offset 1006 +#define boostPid_pFactor_offset 992 +#define boostPwmFrequency_offset 1016 +#define boostRpmBins_offset 6320 +#define boostTableClosedLoop_offset 6328 +#define boostTableOpenLoop_offset 6248 +#define boostTpsBins_offset 6392 +#define boostType_e_auto_enum "OPEN_LOOP", "CLOSED_LOOP" +#define boostType_offset 1012 +#define brain_input_pin_e_enum "NONE", "INVALID", "P00 (A_0)", "P01 (A_1)", "P02 (A_2)", "P03 (A_3)", "P04 (A_4)", "P05 (A_5)", "P06 (A_6)", "P07 (A_7)", "P08 (A_8)", "P09 (A_9)", "P0A (A_10)", "P0B (A_11)", "P0C (A_12)", "P0D (A_13)", "P0E (A_14)", "P0F (A_15)", "P10 (B_0)", "P11 (B_1)", "P12 (B_2)", "P13 (B_3)", "P14 (B_4)", "P15 (B_5)", "P16 (B_6)", "P17 (B_7)", "P18 (B_8)", "P19 (B_9)", "P1A (B_10)", "P1B (B_11)", "P1C (B_12)", "P1D (B_13)", "P1E (B_14)", "P1F (B_15)", "P20 (C_0)", "P21 (C_1)", "P22 (C_2)", "P23 (C_3)", "P24 (C_4)", "P25 (C_5)", "P26 (C_6)", "P27 (C_7)", "P28 (C_8)", "P29 (C_9)", "P2A (C_10)", "P2B (C_11)", "P2C (C_12)", "P2D (C_13)", "P2E (C_14)", "P2F (C_15)", "P30 (D_0)", "P31 (D_1)", "P32 (D_2)", "P33 (D_3)", "P34 (D_4)", "P35 (D_5)", "P36 (D_6)", "P37 (D_7)", "P38 (D_8)", "P39 (D_9)", "P3A (D_10)", "P3B (D_11)", "P3C (D_12)", "P3D (D_13)", "P3E (D_14)", "P3F (D_15)", "P40 (E_0)", "P41 (E_1)", "P42 (E_2)", "P43 (E_3)", "P44 (E_4)", "P45 (E_5)", "P46 (E_6)", "P47 (E_7)", "P48 (E_8)", "P49 (E_9)", "P4A (E_10)", "P4B (E_11)", "P4C (E_12)", "P4D (E_13)", "P4E (E_14)", "P4F (E_15)", "P50 (F_0)", "P51 (F_1)", "P52 (F_2)", "P53 (F_3)", "P54 (F_4)", "P55 (F_5)", "P56 (F_6)", "P57 (F_7)", "P58 (F_8)", "P59 (F_9)", "P5A (F_10)", "P5B (F_11)", "P5C (F_12)", "P5D (F_13)", "P5E (F_14)", "P5F (F_15)", "P70 (G_0)", "P71 (G_1)", "P72 (G_2)", "P73 (G_3)", "P74 (G_4)", "P75 (G_5)", "P76 (G_6)", "P77 (G_7)", "P78 (G_8)", "P79 (G_9)", "P7A (G_10)", "P7B (G_11)", "P7C (G_12)", "P7D (G_13)", "P7E (G_14)", "P7F (G_15)", "PA0 (H_0)", "PA1 (H_1)", "PA2 (H_2)", "PA3 (H_3)", "PA4 (H_4)", "PA5 (H_5)", "PA6 (H_6)", "PA7 (H_7)", "PA8 (H_8)", "PA9 (H_9)", "PAA (H_10)", "PAB (H_11)", "PAC (H_12)", "PAD (H_13)", "PAE (H_14)", "PAF (H_15)", "PB0 (I_0)", "PB1 (I_1)", "PB2 (I_2)", "PB3 (I_3)", "PB4 (I_4)", "PB5 (I_5)", "PB6 (I_6)", "PB7 (I_7)", "PB8 (I_8)", "PB9 (I_9)", "PBA (I_10)", "PBB (I_11)", "PBC (I_12)", "PBD (I_13)", "PBE (I_14)", "PBF (I_15)", "PC0 (J_0)", "PC1 (J_1)", "PC2 (J_2)", "PC3 (J_3)", "PC4 (J_4)", "PC5 (J_5)", "PC6 (J_6)", "PC7 (J_7)", "PC8 (J_8)", "PC9 (J_9)", "PCA (J_10)", "PCB (J_11)", "PCC (J_12)", "PCD (J_13)", "PCE (J_14)", "PCF (J_15)", "PF0 (K_0)", "PF1 (K_1)", "PF2 (K_2)", "PF3 (K_3)", "PF4 (K_4)", "PF5 (K_5)", "PF6 (K_6)", "PF7 (K_7)", "PF8 (K_8)", "PF9 (K_9)", "PFA (K_10)", "PFB (K_11)", "PFC (K_12)", "PFD (K_13)", "PFE (K_14)", "PFF (K_15)", "DRV8860_1", "DRV8860_2", "DRV8860_3", "DRV8860_4", "DRV8860_5", "DRV8860_6", "DRV8860_7", "DRV8860_8", "DRV8860_9", "DRV8860_10", "DRV8860_11", "DRV8860_12", "DRV8860_13", "DRV8860_14", "DRV8860_15", "DRV8860_16" +#define brain_pin_e_enum "NONE", "INVALID", "P00 (A_0)", "P01 (A_1)", "P02 (A_2)", "P03 (A_3)", "P04 (A_4)", "P05 (A_5)", "P06 (A_6)", "P07 (A_7)", "P08 (A_8)", "P09 (A_9)", "P0A (A_10)", "P0B (A_11)", "P0C (A_12)", "P0D (A_13)", "P0E (A_14)", "P0F (A_15)", "P10 (B_0)", "P11 (B_1)", "P12 (B_2)", "P13 (B_3)", "P14 (B_4)", "P15 (B_5)", "P16 (B_6)", "P17 (B_7)", "P18 (B_8)", "P19 (B_9)", "P1A (B_10)", "P1B (B_11)", "P1C (B_12)", "P1D (B_13)", "P1E (B_14)", "P1F (B_15)", "P20 (C_0)", "P21 (C_1)", "P22 (C_2)", "P23 (C_3)", "P24 (C_4)", "P25 (C_5)", "P26 (C_6)", "P27 (C_7)", "P28 (C_8)", "P29 (C_9)", "P2A (C_10)", "P2B (C_11)", "P2C (C_12)", "P2D (C_13)", "P2E (C_14)", "P2F (C_15)", "P30 (D_0)", "P31 (D_1)", "P32 (D_2)", "P33 (D_3)", "P34 (D_4)", "P35 (D_5)", "P36 (D_6)", "P37 (D_7)", "P38 (D_8)", "P39 (D_9)", "P3A (D_10)", "P3B (D_11)", "P3C (D_12)", "P3D (D_13)", "P3E (D_14)", "P3F (D_15)", "P40 (E_0)", "P41 (E_1)", "P42 (E_2)", "P43 (E_3)", "P44 (E_4)", "P45 (E_5)", "P46 (E_6)", "P47 (E_7)", "P48 (E_8)", "P49 (E_9)", "P4A (E_10)", "P4B (E_11)", "P4C (E_12)", "P4D (E_13)", "P4E (E_14)", "P4F (E_15)", "P50 (F_0)", "P51 (F_1)", "P52 (F_2)", "P53 (F_3)", "P54 (F_4)", "P55 (F_5)", "P56 (F_6)", "P57 (F_7)", "P58 (F_8)", "P59 (F_9)", "P5A (F_10)", "P5B (F_11)", "P5C (F_12)", "P5D (F_13)", "P5E (F_14)", "P5F (F_15)", "P70 (G_0)", "P71 (G_1)", "P72 (G_2)", "P73 (G_3)", "P74 (G_4)", "P75 (G_5)", "P76 (G_6)", "P77 (G_7)", "P78 (G_8)", "P79 (G_9)", "P7A (G_10)", "P7B (G_11)", "P7C (G_12)", "P7D (G_13)", "P7E (G_14)", "P7F (G_15)", "PA0 (H_0)", "PA1 (H_1)", "PA2 (H_2)", "PA3 (H_3)", "PA4 (H_4)", "PA5 (H_5)", "PA6 (H_6)", "PA7 (H_7)", "PA8 (H_8)", "PA9 (H_9)", "PAA (H_10)", "PAB (H_11)", "PAC (H_12)", "PAD (H_13)", "PAE (H_14)", "PAF (H_15)", "PB0 (I_0)", "PB1 (I_1)", "PB2 (I_2)", "PB3 (I_3)", "PB4 (I_4)", "PB5 (I_5)", "PB6 (I_6)", "PB7 (I_7)", "PB8 (I_8)", "PB9 (I_9)", "PBA (I_10)", "PBB (I_11)", "PBC (I_12)", "PBD (I_13)", "PBE (I_14)", "PBF (I_15)", "PC0 (J_0)", "PC1 (J_1)", "PC2 (J_2)", "PC3 (J_3)", "PC4 (J_4)", "PC5 (J_5)", "PC6 (J_6)", "PC7 (J_7)", "PC8 (J_8)", "PC9 (J_9)", "PCA (J_10)", "PCB (J_11)", "PCC (J_12)", "PCD (J_13)", "PCE (J_14)", "PCF (J_15)", "PF0 (K_0)", "PF1 (K_1)", "PF2 (K_2)", "PF3 (K_3)", "PF4 (K_4)", "PF5 (K_5)", "PF6 (K_6)", "PF7 (K_7)", "PF8 (K_8)", "PF9 (K_9)", "PFA (K_10)", "PFB (K_11)", "PFC (K_12)", "PFD (K_13)", "PFE (K_14)", "PFF (K_15)", "DRV8860_1", "DRV8860_2", "DRV8860_3", "DRV8860_4", "DRV8860_5", "DRV8860_6", "DRV8860_7", "DRV8860_8", "DRV8860_9", "DRV8860_10", "DRV8860_11", "DRV8860_12", "DRV8860_13", "DRV8860_14", "DRV8860_15", "DRV8860_16" #define brakePedalPin_offset 2608 -#define brakePedalPin_offset_hex a30 #define brakePedalPinMode_offset 2611 -#define brakePedalPinMode_offset_hex a33 #define byFirmwareVersion_offset 500 -#define byFirmwareVersion_offset_hex 1f4 #define CAM_INPUTS_COUNT 4 #define camInputs1_offset 556 -#define camInputs1_offset_hex 22c #define camInputs2_offset 557 -#define camInputs2_offset_hex 22d #define camInputs3_offset 558 -#define camInputs3_offset_hex 22e #define camInputs4_offset 559 -#define camInputs4_offset_hex 22f -#define can_device_mode_e_enum "v0", "v1" -#define canDeviceMode_offset 732 -#define canDeviceMode_offset_hex 2dc +#define can2BaudRate_offset 2110 +#define can2NbcType_offset 2120 +#define can2ReadEnabled_offset 2116 +#define can2RxPin_offset 2125 +#define can2SleepPeriodMs_offset 712 +#define can2TxPin_offset 2124 +#define can2WriteEnabled_offset 2116 +#define can_baudrate_e_auto_enum "B100KBPS", "B250KBPS", "B500KBPS", "B1MBPS" +#define can_baudrate_e_enum "100kbps", "250kbps" , "500kbps", "1Mbps" +#define CAN_DEFAULT_BASE 0x200 +#define can_nbc_e_auto_enum "CAN_BUS_NBC_NONE", "CAN_BUS_NBC_FIAT", "CAN_BUS_NBC_VAG", "CAN_BUS_MAZDA_RX8", "CAN_BUS_NBC_BMW", "CAN_BUS_W202_C180", "CAN_BUS_BMW_E90" +#define can_vss_nbc_e_auto_enum "BMW_e46", "W202" +#define canBaudRate_offset 2108 #define canNbcType_offset 480 -#define canNbcType_offset_hex 1e0 #define canReadEnabled_offset 1464 -#define canReadEnabled_offset_hex 5b8 #define canRxPin_offset 709 -#define canRxPin_offset_hex 2c5 #define canSleepPeriodMs_offset 484 -#define canSleepPeriodMs_offset_hex 1e4 #define canTxPin_offset 708 -#define canTxPin_offset_hex 2c4 +#define canVssNbcType_offset 4140 #define canWriteEnabled_offset 1464 -#define canWriteEnabled_offset_hex 5b8 #define cdmInputPin_offset 937 -#define cdmInputPin_offset_hex 3a9 #define cj125CsPin_offset 674 -#define cj125CsPin_offset_hex 2a2 #define cj125CsPinMode_offset 2225 -#define cj125CsPinMode_offset_hex 8b1 #define cj125isLsu49_offset 76 -#define cj125isLsu49_offset_hex 4c #define cj125isUaDivided_offset 76 -#define cj125isUaDivided_offset_hex 4c #define cj125isUrDivided_offset 76 -#define cj125isUrDivided_offset_hex 4c #define cj125SpiDevice_offset 2224 -#define cj125SpiDevice_offset_hex 8b0 #define cj125ua_offset 2609 -#define cj125ua_offset_hex a31 #define cj125ur_offset 2610 -#define cj125ur_offset_hex a32 #define clt_adcChannel_offset 280 -#define clt_adcChannel_offset_hex 118 -#define clt_alignmentFill_offset 281 -#define clt_alignmentFill_offset_hex 119 +#define clt_alignmentFill_at_29_offset 281 #define clt_bias_resistor_offset 276 -#define clt_bias_resistor_offset_hex 114 #define clt_config_offset 252 -#define clt_config_offset_hex fc #define CLT_CRANKING_CURVE_SIZE 8 #define CLT_CURVE_SIZE 16 #define clt_offset 252 -#define clt_offset_hex fc #define clt_resistance_1_offset 264 -#define clt_resistance_1_offset_hex 108 #define clt_resistance_2_offset 268 -#define clt_resistance_2_offset_hex 10c #define clt_resistance_3_offset 272 -#define clt_resistance_3_offset_hex 110 #define clt_tempC_1_offset 252 -#define clt_tempC_1_offset_hex fc #define clt_tempC_2_offset 256 -#define clt_tempC_2_offset_hex 100 #define clt_tempC_3_offset 260 -#define clt_tempC_3_offset_hex 104 #define CLT_TIMING_CURVE_SIZE 8 #define cltCrankingCorr_offset 6512 -#define cltCrankingCorr_offset_hex 1970 #define cltCrankingCorrBins_offset 6480 -#define cltCrankingCorrBins_offset_hex 1950 #define cltFuelCorr_offset 10336 -#define cltFuelCorr_offset_hex 2860 #define cltFuelCorrBins_offset 10272 -#define cltFuelCorrBins_offset_hex 2820 #define cltIdleCorr_offset 10720 -#define cltIdleCorr_offset_hex 29e0 #define cltIdleCorrBins_offset 10656 -#define cltIdleCorrBins_offset_hex 29a0 #define cltIdleRpm_offset 1960 -#define cltIdleRpm_offset_hex 7a8 #define cltIdleRpmBins_offset 1896 -#define cltIdleRpmBins_offset_hex 768 #define cltTimingBins_offset 2352 -#define cltTimingBins_offset_hex 930 #define cltTimingExtra_offset 2384 -#define cltTimingExtra_offset_hex 950 #define clutchDownPin_offset 664 -#define clutchDownPin_offset_hex 298 #define clutchDownPinMode_offset 667 -#define clutchDownPinMode_offset_hex 29b #define clutchUpPin_offset 969 -#define clutchUpPin_offset_hex 3c9 #define clutchUpPinMode_offset 971 -#define clutchUpPinMode_offset_hex 3cb #define CMD_CALIBRATE_PEDAL_DOWN "calibrate_pedal_down" #define CMD_CALIBRATE_PEDAL_UP "calibrate_pedal_up" #define CMD_DATE "date" @@ -375,531 +250,361 @@ #define CMD_ENABLE "enable" #define CMD_ENGINE_TYPE "engine_type" #define CMD_ETB_DUTY "set_etb_duty" +#define CMD_FUEL_BENCH "fuelbench" #define CMD_FUNCTIONAL_TEST_MODE "test_mode" +#define CMD_IGNITION "ignition" +#define CMD_INJECTION "injection" +#define CMD_MIL_BENCH "milbench" #define CMD_PINS "pins" #define CMD_REBOOT "reboot" #define CMD_REBOOT_DFU "reboot_dfu" #define CMD_RESET_ENGINE_SNIFFER "reset_engine_chart" +#define CMD_RPM "rpm" +#define CMD_SELF_STIMULATION "self_stimulation" +#define CMD_STARTER_BENCH "starterbench" #define CMD_TRIGGER_HW_INPUT "trigger_hw_input" +#define CMD_TRIGGER_PIN "set_trigger_input_pin" #define CMD_TRIGGERINFO "triggerinfo" +#define CMD_TS_BENCH_AC_COMPRESSOR_RELAY 6 +#define CMD_TS_BENCH_AC_FAN_RELAY 5 +#define CMD_TS_BENCH_CATEGORY 22 +#define CMD_TS_BENCH_CHECK_ENGINE_LIGHT 7 +#define CMD_TS_BENCH_FAN_RELAY 4 +#define CMD_TS_BENCH_FUEL_PUMP 1 +#define CMD_TS_BENCH_IDLE_VALVE 8 +#define CMD_TS_BENCH_MAIN_RELAY 0 +#define CMD_TS_BENCH_STARTER_DISABLE_RELAY 3 +#define CMD_TS_BENCH_STARTER_ENABLE_RELAY 2 +#define CMD_TS_FSIO_CATEGORY 33 +#define CMD_TS_IGNITION_CATEGORY 18 +#define CMD_TS_INJECTOR_CATEGORY 19 +#define CMD_VSS_PIN "vss_pin" #define CMD_WRITECONFIG "writeconfig" #define coastingFuelCutClt_offset 3154 -#define coastingFuelCutClt_offset_hex c52 #define coastingFuelCutEnabled_offset 744 -#define coastingFuelCutEnabled_offset_hex 2e8 #define coastingFuelCutMap_offset 3158 -#define coastingFuelCutMap_offset_hex c56 #define coastingFuelCutRpmHigh_offset 3148 -#define coastingFuelCutRpmHigh_offset_hex c4c #define coastingFuelCutRpmLow_offset 3150 -#define coastingFuelCutRpmLow_offset_hex c4e #define coastingFuelCutTps_offset 3152 -#define coastingFuelCutTps_offset_hex c50 #define communicationLedPin_offset 1812 -#define communicationLedPin_offset_hex 714 +#define COMPOSITE_DATA_LENGTH 2500 +#define COMPOSITE_PACKET_COUNT 500 +#define COMPOSITE_PACKET_SIZE 5 +#define compressionRatio_offset 732 #define CONSOLE_DATA_PROTOCOL_TAG " @" -#define consoleLoopPeriodMs_offset 716 -#define consoleLoopPeriodMs_offset_hex 2cc -#define consoleSerialRxPin_offset 1819 -#define consoleSerialRxPin_offset_hex 71b -#define consoleSerialTxPin_offset 1818 -#define consoleSerialTxPin_offset_hex 71a #define consoleUartDevice_offset 943 -#define consoleUartDevice_offset_hex 3af +#define consumeObdSensors_offset 976 #define CRANKING_ADVANCE_CURVE_SIZE 4 -#define cranking_alignmentFill_offset 94 -#define cranking_alignmentFill_offset_hex 5e +#define cranking_alignmentFill_at_6_offset 94 #define cranking_baseFuel_offset 88 -#define cranking_baseFuel_offset_hex 58 #define CRANKING_CLT_IDLE_CURVE_SIZE 8 #define CRANKING_CURVE_SIZE 8 #define cranking_offset 88 -#define cranking_offset_hex 58 +#define cranking_parameters_s_size 8 #define cranking_rpm_offset 92 -#define cranking_rpm_offset_hex 5c #define crankingAdvance_offset 3124 -#define crankingAdvance_offset_hex c34 #define crankingAdvanceBins_offset 3108 -#define crankingAdvanceBins_offset_hex c24 #define crankingChargeAngle_offset 104 -#define crankingChargeAngle_offset_hex 68 #define crankingCycleBins_offset 10624 -#define crankingCycleBins_offset_hex 2980 #define crankingCycleCoef_offset 10592 -#define crankingCycleCoef_offset_hex 2960 #define crankingFuelBins_offset 10560 -#define crankingFuelBins_offset_hex 2940 #define crankingFuelCoef_offset 10528 -#define crankingFuelCoef_offset_hex 2920 #define crankingIACposition_offset 2228 -#define crankingIACposition_offset_hex 8b4 #define crankingInjectionMode_offset 424 -#define crankingInjectionMode_offset_hex 1a8 #define crankingTimingAngle_offset 436 -#define crankingTimingAngle_offset_hex 1b4 #define crankingTpsBins_offset 1672 -#define crankingTpsBins_offset_hex 688 #define crankingTpsCoef_offset 1640 -#define crankingTpsCoef_offset_hex 668 +#define CRITICAL_PREFIX "CRITICAL" #define cutFuelOnHardLimit_offset 1464 -#define cutFuelOnHardLimit_offset_hex 5b8 #define cutSparkOnHardLimit_offset 1464 -#define cutSparkOnHardLimit_offset_hex 5b8 #define cylinderBore_offset 408 -#define cylinderBore_offset_hex 198 #define cylindersCount_offset 400 -#define cylindersCount_offset_hex 190 -#define debug_mode_e_enum "Alternator PID", "TPS acceleration enrichment", "INVALID", "Idle Control", "Engine Load accl enrich", "Trigger Counters", "FSIO_ADC", "AUX_PID_1", "VVT input", "Cranking", "Timing", "Closed-loop fuel corr PID", "VSS", "SD card", "sr5", "Knock", "Trigger Sync", "Electronic Throttle", "Executor", "Bench Test / TS commands", "Aux Valves", "Analog inputs #1", "INSTANT_RPM", "FSIO_EXPRESSION", "Status", "CJ125", "CAN", "MAP", "Metrics", "ETB#2", "Ion Sense", "TLE8888", "Analog inputs #2", "Dwell Metric", "Aux Temperature", "ETB Logic" +#define dcMotorIdleValve_offset 976 +#define debug_mode_e_auto_enum "DBG_ALTERNATOR_PID", "DBG_TPS_ACCEL", "DBG_2", "DBG_IDLE_CONTROL", "DBG_EL_ACCEL", "DBG_TRIGGER_COUNTERS", "DBG_FSIO_ADC", "DBG_AUX_PID_1", "DBG_VVT", "DBG_CRANKING_DETAILS", "DBG_IGNITION_TIMING", "DBG_FUEL_PID_CORRECTION", "DBG_VEHICLE_SPEED_SENSOR", "DBG_SD_CARD", "DBG_SR5_PROTOCOL", "DBG_KNOCK", "DBG_16", "DBG_ELECTRONIC_THROTTLE_PID", "DBG_EXECUTOR", "DBG_BENCH_TEST", "DBG_AUX_VALVES", "DBG_ANALOG_INPUTS", "DBG_INSTANT_RPM", "DBG_FSIO_EXPRESSION_1_7", "DBG_STATUS", "DBG_CJ125", "DBG_CAN", "DBG_MAP", "DBG_METRICS", "DBG_ELECTRONIC_THROTTLE_EXTRA", "DBG_ION", "DBG_TLE8888", "DBG_ANALOG_INPUTS2", "DBG_DWELL_METRIC", "DBG_34", "DBG_ETB_LOGIC", "DBG_BOOST", "DBG_START_STOP", "DBG_LAUNCH", "DBG_ETB_AUTOTUNE", "DBG_COMPOSITE_LOG", "DBG_FSIO_EXPRESSION_8_14", "DBG_FSIO_SPECIAL", "DBG_43", "DBG_44" +#define debug_mode_e_enum "Alternator PID", "TPS acceleration enrichment", "INVALID", "Idle Control", "Engine Load accl enrich", "Trigger Counters", "FSIO_ADC", "AUX_PID_1", "VVT input", "Cranking", "Timing", "Closed-loop fuel corr PID", "VSS", "SD card", "sr5", "Knock", "mode16", "Electronic Throttle", "Executor", "Bench Test / TS commands", "Aux Valves", "Analog inputs #1", "INSTANT_RPM", "FSIO_EXPRESSION_1_7", "Status", "CJ125", "CAN", "MAP", "Metrics", "ETB#2", "Ion Sense", "TLE8888", "Analog inputs #2", "Dwell Metric", "INVALID", "ETB Logic", "Boost Control", "Start/Stop", "Launch", "ETB Autotune", "FSIO_COMPOSITE_LOG", "FSIO_EXPRESSION_8_14", "FSIO_SPECIAL", "Mode43", "Mode44" #define debugMapAveraging_offset 807 -#define debugMapAveraging_offset_hex 327 #define debugMode_offset 2092 -#define debugMode_offset_hex 82c -#define debugSetTimer_offset 806 -#define debugSetTimer_offset_hex 326 -#define debugTimerCallback_offset 711 -#define debugTimerCallback_offset_hex 2c7 #define debugTriggerSync_offset 676 -#define debugTriggerSync_offset_hex 2a4 #define DIGIPOT_COUNT 4 #define digitalPotentiometerChipSelect1_offset 668 -#define digitalPotentiometerChipSelect1_offset_hex 29c #define digitalPotentiometerChipSelect2_offset 669 -#define digitalPotentiometerChipSelect2_offset_hex 29d #define digitalPotentiometerChipSelect3_offset 670 -#define digitalPotentiometerChipSelect3_offset_hex 29e #define digitalPotentiometerChipSelect4_offset 671 -#define digitalPotentiometerChipSelect4_offset_hex 29f #define digitalPotentiometerSpiDevice_offset 677 -#define digitalPotentiometerSpiDevice_offset_hex 2a5 -#define directSelfStimulation_offset 76 -#define directSelfStimulation_offset_hex 4c #define displacement_offset 396 -#define displacement_offset_hex 18c +#define display_mode_e_auto_enum "DM_NONE", "DM_HD44780", "DM_HD44780_OVER_PCF8574" +#define displayLogicLevelsInEngineSniffer_offset 76 #define displayMode_offset 492 -#define displayMode_offset_hex 1ec -#define dizzySparkOutputPin_offset 2226 -#define dizzySparkOutputPin_offset_hex 8b2 -#define dizzySparkOutputPinMode_offset 2227 -#define dizzySparkOutputPinMode_offset_hex 8b3 -#define drv8860_cs_offset 4009 -#define drv8860_cs_offset_hex fa9 -#define drv8860_csPinMode_offset 4010 -#define drv8860_csPinMode_offset_hex faa -#define drv8860_miso_offset 4011 -#define drv8860_miso_offset_hex fab -#define drv8860spiDevice_offset 4005 -#define drv8860spiDevice_offset_hex fa5 +#define drv8860_cs_offset 1201 +#define drv8860_csPinMode_offset 1202 +#define drv8860_miso_offset 1203 +#define drv8860spiDevice_offset 1200 #define DWELL_CURVE_SIZE 8 -#define ego_sensor_e_enum "BPSX", "Innovate", "14Point7", "Narrow", "PLX", "Custom" +#define ego_sensor_e_auto_enum "ES_BPSX_D1", "ES_Innovate_MTX_L", "ES_14Point7_Free", "ES_NarrowBand", "ES_PLX", "ES_Custom", "ES_AEM" +#define ego_sensor_e_enum "BPSX", "Innovate", "14Point7", "Narrow", "PLX", "Custom", "INVALID", "INVALID" #define egoValueShift_offset 2216 -#define egoValueShift_offset_hex 8a8 #define EGT_CHANNEL_COUNT 8 #define electronicThrottlePin1Mode_offset 672 -#define electronicThrottlePin1Mode_offset_hex 2a0 #define enableAemXSeries_offset 744 -#define enableAemXSeries_offset_hex 2e8 +#define enableCanVss_offset 976 #define enabledStep1Limiter_offset 744 -#define enabledStep1Limiter_offset_hex 2e8 -#define engine_load_mode_e_enum "MAF", "Alpha-N/TPS", "MAP", "SPEED DENSITY", "MAF Air Charge" +#define enableInnovateLC2_offset 976 +#define enableLaunchBoost_offset 976 +#define enableLaunchRetard_offset 976 +#define enableSoftwareKnock_offset 976 +#define enableVerboseCan2Tx_offset 2116 +#define enableVerboseCanTx_offset 744 +#define engine_configuration_s_size 6000 +#define engine_load_mode_e_auto_enum "INVALID", "INVALID", "INVALID", "LM_SPEED_DENSITY", "LM_REAL_MAF", "LM_ALPHA_N_2", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "LM_MOCK" +#define engine_load_mode_e_enum "INVALID", "INVALID", "INVALID", "Speed Density", "MAF Air Charge", "Alpha-N", "INVALID" +#define ENGINE_MAKE_BMW "BMW" +#define ENGINE_MAKE_GM "GM" +#define ENGINE_MAKE_LADA "Lada" +#define ENGINE_MAKE_MAZDA "Mazda" +#define ENGINE_MAKE_MERCEDES "Mercedes" +#define ENGINE_MAKE_TOYOTA "Toyota" +#define ENGINE_MAKE_VAG "VAG" #define ENGINE_NOISE_CURVE_SIZE 8 +#define ENGINE_SNIFFER_UNIT_US 10 +#define engine_type_e_auto_enum "DEFAULT_FRANKENSO", "AUDI_AAN", "DODGE_NEON_1995", "FORD_ASPIRE_1996", "FORD_FIESTA", "NISSAN_PRIMERA", "HONDA_ACCORD_CD", "FORD_INLINE_6_1995", "GY6_139QMB", "MAZDA_MIATA_NB1", "ROVER_V8", "MRE_MIATA_NB2_MAP", "MRE_MIATA_NA6_VAF", "MRE_MIATA_NB2_ETB", "FORD_ESCORT_GT", "MRE_MIATA_NB2_MAF", "MITSU_4G93", "HONDA_ACCORD_CD_TWO_WIRES", "HONDA_ACCORD_CD_DIP", "MIATA_1990", "MIATA_1994_DEVIATOR", "MIATA_1996", "SUBARU_2003_WRX", "MRE_BODY_CONTROL", "BMW_M73_M", "BMW_E34", "TEST_ENGINE", "ISSUE_898", "MAZDA_626", "SACHS", "MRE_BOARD_OLD_TEST", "MRE_BOARD_NEW_TEST", "VW_ABA", "DODGE_STRATUS", "DAIHATSU", "CAMARO_4", "SUZUKI_VITARA", "CHEVY_C20_1973", "TOYOTA_JZS147", "LADA_KALINA", "BMW_M73_F", "MIATA_NA6_MAP", "ZIL_130", "HONDA_600", "TOYOTA_2JZ_GTE_VVTi", "TEST_ENGINE_VVT", "DODGE_NEON_2003_CRANK", "MAZDA_MIATA_2003", "HONDA_ACCORD_1_24_SHIFTED", "FRANKENSO_QA_ENGINE", "TEST_CIVIC_4_0_BOTH", "TEST_CIVIC_4_0_RISE", "TEST_ISSUE_366_BOTH", "TEST_ISSUE_366_RISE", "MAZDA_MIATA_2003_NA_RAIL", "MAZDA_MIATA_2003_BOARD_TEST", "MAZDA_MIATA_NA8", "MIATA_NA6_VAF", "ETB_BENCH_ENGINE", "TLE8888_BENCH_ENGINE", "MICRO_RUS_EFI", "PROTEUS", "VW_B6", "BMW_M73_PROTEUS", "DODGE_RAM", "CITROEN_TU3JP", "MRE_MIATA_NA6_MAP", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "MINIMAL_PINS", "PROMETHEUS_DEFAULTS", "SUBARUEJ20G_DEFAULTS", "VAG_18_TURBO", "TEST_33816", "BMW_M73_MRE", "BMW_M73_MRE_SLAVE" #define engineChartSize_offset 1480 -#define engineChartSize_offset_hex 5c8 +#define engineCode_offset 1128 #define engineConfiguration_offset 0 -#define engineConfiguration_offset_hex 0 #define engineLoadAccelEnrichmentMultiplier_offset 2072 -#define engineLoadAccelEnrichmentMultiplier_offset_hex 818 #define engineLoadAccelEnrichmentThreshold_offset 2068 -#define engineLoadAccelEnrichmentThreshold_offset_hex 814 #define engineLoadAccelLength_offset 2056 -#define engineLoadAccelLength_offset_hex 808 #define engineLoadDecelEnleanmentMultiplier_offset 2064 -#define engineLoadDecelEnleanmentMultiplier_offset_hex 810 #define engineLoadDecelEnleanmentThreshold_offset 2060 -#define engineLoadDecelEnleanmentThreshold_offset_hex 80c +#define engineMake_offset 1096 #define engineSnifferRpmThreshold_offset 4 -#define engineSnifferRpmThreshold_offset_hex 4 #define engineType_offset 0 -#define engineType_offset_hex 0 +#define ERROR_BUFFER_SIZE 120 +#define ET_BMW_E34 25 +#define ET_BMW_M73_F 40 +#define ET_BMW_M73_PROTEUS 63 +#define ET_CAMARO 35 +#define ET_CITROEN_TU3JP 65 +#define ET_DEFAULT_FRANKENSO 0 +#define ET_DODGE_NEON_1995 2 +#define ET_DODGE_NEON_2003_CRANK 46 +#define ET_FORD_ASPIRE 3 +#define ET_FORD_ESCORT_GT 14 +#define ET_FORD_FIESTA 4 +#define ET_FORD_INLINE_6 7 +#define ET_FRANKENSO_MIATA_NA6 41 +#define ET_FRANKENSO_MIATA_NA6_VAF 57 +#define ET_FRANKENSO_MIATA_NB2 47 +#define ET_MRE_BODY_CONTROL 23 +#define ET_MRE_DEFAULTS 60 +#define ET_MRE_MIATA_NA6_MAP 66 +#define ET_MRE_MIATA_NA6_VAF 12 +#define ET_MRE_MIATA_NB2_MAF 15 +#define ET_MRE_MIATA_NB2_MAP 11 +#define ET_MRE_NEW_TEST_BOARD 31 +#define ET_MRE_OLD_TEST_BOARD 30 +#define ET_ROVER_V8 10 +#define ET_SACHS 29 +#define ET_VW_ABA 32 +#define ET_VW_B6 62 #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define etb_dFactor_offset 1744 -#define etb_dFactor_offset_hex 6d0 #define etb_iFactor_offset 1740 -#define etb_iFactor_offset_hex 6cc +#define etb_io_size 4 #define etb_iTermMax_offset 3958 -#define etb_iTermMax_offset_hex f76 #define etb_iTermMin_offset 3956 -#define etb_iTermMin_offset_hex f74 #define etb_maxValue_offset 1754 -#define etb_maxValue_offset_hex 6da #define etb_minValue_offset 1752 -#define etb_minValue_offset_hex 6d8 #define etb_offset 1736 -#define etb_offset_hex 6c8 #define etb_offset_offset 1748 -#define etb_offset_offset_hex 6d4 #define etb_periodMs_offset 1750 -#define etb_periodMs_offset_hex 6d6 #define etb_pFactor_offset 1736 -#define etb_pFactor_offset_hex 6c8 #define etb_use_two_wires_offset 76 -#define etb_use_two_wires_offset_hex 4c #define etbBiasBins_offset 3888 -#define etbBiasBins_offset_hex f30 #define etbBiasValues_offset 3920 -#define etbBiasValues_offset_hex f50 -#define etbCalibrationOnStart_offset 1476 -#define etbCalibrationOnStart_offset_hex 5c4 #define etbDeadband_offset 3960 -#define etbDeadband_offset_hex f78 #define etbFreq_offset 2514 -#define etbFreq_offset_hex 9d2 #define etbIdleThrottleRange_offset 4012 -#define etbIdleThrottleRange_offset_hex fac #define etbIo1_controlPin1_offset 982 -#define etbIo1_controlPin1_offset_hex 3d6 -#define etbIo1_controlPinMode_offset 983 -#define etbIo1_controlPinMode_offset_hex 3d7 #define etbIo1_directionPin1_offset 980 -#define etbIo1_directionPin1_offset_hex 3d4 #define etbIo1_directionPin2_offset 981 -#define etbIo1_directionPin2_offset_hex 3d5 +#define etbIo1_disablePin_offset 983 #define etbIo1_offset 980 -#define etbIo1_offset_hex 3d4 +#define etbIo21_controlPin1_offset 1090 +#define etbIo21_directionPin1_offset 1088 +#define etbIo21_directionPin2_offset 1089 +#define etbIo21_disablePin_offset 1091 +#define etbIo21_offset 1088 +#define etbIo22_controlPin1_offset 1094 +#define etbIo22_directionPin1_offset 1092 +#define etbIo22_directionPin2_offset 1093 +#define etbIo22_disablePin_offset 1095 +#define etbIo22_offset 1092 #define etbIo2_controlPin1_offset 986 -#define etbIo2_controlPin1_offset_hex 3da -#define etbIo2_controlPinMode_offset 987 -#define etbIo2_controlPinMode_offset_hex 3db #define etbIo2_directionPin1_offset 984 -#define etbIo2_directionPin1_offset_hex 3d8 #define etbIo2_directionPin2_offset 985 -#define etbIo2_directionPin2_offset_hex 3d9 +#define etbIo2_disablePin_offset 987 #define etbIo2_offset 984 -#define etbIo2_offset_hex 3d8 #define etbNeutralPosition_offset 1471 -#define etbNeutralPosition_offset_hex 5bf #define externalKnockSenseAdc_offset 3103 -#define externalKnockSenseAdc_offset_hex c1f #define extraInjectionOffset_offset 432 -#define extraInjectionOffset_offset_hex 1b0 #define fanOffTemperature_offset 472 -#define fanOffTemperature_offset_hex 1d8 #define fanOnTemperature_offset 468 -#define fanOnTemperature_offset_hex 1d4 #define fanPin_offset 663 -#define fanPin_offset_hex 297 #define fanPinMode_offset 662 -#define fanPinMode_offset_hex 296 #define firingOrder_offset 404 -#define firingOrder_offset_hex 194 #define fixedModeTiming_offset 452 -#define fixedModeTiming_offset_hex 1c4 #define fixedTiming_offset 2204 -#define fixedTiming_offset_hex 89c +#define FLASH_DATA_VERSION 10002 #define frequencyReportingMapInputPin_offset 970 -#define frequencyReportingMapInputPin_offset_hex 3ca #define FSIO_ANALOG_INPUT_COUNT 4 #define FSIO_COMMAND_COUNT 16 #define FSIO_CURVE_16 16 #define FSIO_CURVE_8 8 +#define FSIO_METHOD_FSIO_ANALOG_INPUT "fsio_analog_input" +#define FSIO_METHOD_FSIO_DIGITAL_INPUT "fsio_digital_input" +#define FSIO_METHOD_FSIO_SETTING "fsio_setting" +#define FSIO_METHOD_FSIO_TABLE "fsio_table" #define fsio_setting10_offset 900 -#define fsio_setting10_offset_hex 384 #define fsio_setting11_offset 904 -#define fsio_setting11_offset_hex 388 #define fsio_setting12_offset 908 -#define fsio_setting12_offset_hex 38c #define fsio_setting13_offset 912 -#define fsio_setting13_offset_hex 390 #define fsio_setting14_offset 916 -#define fsio_setting14_offset_hex 394 #define fsio_setting15_offset 920 -#define fsio_setting15_offset_hex 398 #define fsio_setting16_offset 924 -#define fsio_setting16_offset_hex 39c #define fsio_setting1_offset 864 -#define fsio_setting1_offset_hex 360 #define fsio_setting2_offset 868 -#define fsio_setting2_offset_hex 364 #define fsio_setting3_offset 872 -#define fsio_setting3_offset_hex 368 #define fsio_setting4_offset 876 -#define fsio_setting4_offset_hex 36c #define fsio_setting5_offset 880 -#define fsio_setting5_offset_hex 370 #define fsio_setting6_offset 884 -#define fsio_setting6_offset_hex 374 #define fsio_setting7_offset 888 -#define fsio_setting7_offset_hex 378 #define fsio_setting8_offset 892 -#define fsio_setting8_offset_hex 37c #define fsio_setting9_offset 896 -#define fsio_setting9_offset_hex 380 #define FSIO_TABLE_8 8 #define fsioAdc1_offset 2200 -#define fsioAdc1_offset_hex 898 #define fsioAdc2_offset 2201 -#define fsioAdc2_offset_hex 899 #define fsioAdc3_offset 2202 -#define fsioAdc3_offset_hex 89a #define fsioAdc4_offset 2203 -#define fsioAdc4_offset_hex 89b #define fsioCurve1_offset 2780 -#define fsioCurve1_offset_hex adc #define fsioCurve1Bins_offset 2716 -#define fsioCurve1Bins_offset_hex a9c #define fsioCurve2_offset 2908 -#define fsioCurve2_offset_hex b5c #define fsioCurve2Bins_offset 2844 -#define fsioCurve2Bins_offset_hex b1c #define fsioCurve3_offset 3004 -#define fsioCurve3_offset_hex bbc #define fsioCurve3Bins_offset 2972 -#define fsioCurve3Bins_offset_hex b9c #define fsioCurve4_offset 3068 -#define fsioCurve4_offset_hex bfc #define fsioCurve4Bins_offset 3036 -#define fsioCurve4Bins_offset_hex bdc #define fsioDigitalInputs10_offset 961 -#define fsioDigitalInputs10_offset_hex 3c1 #define fsioDigitalInputs11_offset 962 -#define fsioDigitalInputs11_offset_hex 3c2 #define fsioDigitalInputs12_offset 963 -#define fsioDigitalInputs12_offset_hex 3c3 #define fsioDigitalInputs13_offset 964 -#define fsioDigitalInputs13_offset_hex 3c4 #define fsioDigitalInputs14_offset 965 -#define fsioDigitalInputs14_offset_hex 3c5 #define fsioDigitalInputs15_offset 966 -#define fsioDigitalInputs15_offset_hex 3c6 #define fsioDigitalInputs16_offset 967 -#define fsioDigitalInputs16_offset_hex 3c7 #define fsioDigitalInputs1_offset 952 -#define fsioDigitalInputs1_offset_hex 3b8 #define fsioDigitalInputs2_offset 953 -#define fsioDigitalInputs2_offset_hex 3b9 #define fsioDigitalInputs3_offset 954 -#define fsioDigitalInputs3_offset_hex 3ba #define fsioDigitalInputs4_offset 955 -#define fsioDigitalInputs4_offset_hex 3bb #define fsioDigitalInputs5_offset 956 -#define fsioDigitalInputs5_offset_hex 3bc #define fsioDigitalInputs6_offset 957 -#define fsioDigitalInputs6_offset_hex 3bd #define fsioDigitalInputs7_offset 958 -#define fsioDigitalInputs7_offset_hex 3be #define fsioDigitalInputs8_offset 959 -#define fsioDigitalInputs8_offset_hex 3bf #define fsioDigitalInputs9_offset 960 -#define fsioDigitalInputs9_offset_hex 3c0 #define fsioFormulas10_offset 8472 -#define fsioFormulas10_offset_hex 2118 #define fsioFormulas11_offset 8672 -#define fsioFormulas11_offset_hex 21e0 #define fsioFormulas12_offset 8872 -#define fsioFormulas12_offset_hex 22a8 #define fsioFormulas13_offset 9072 -#define fsioFormulas13_offset_hex 2370 #define fsioFormulas14_offset 9272 -#define fsioFormulas14_offset_hex 2438 #define fsioFormulas15_offset 9472 -#define fsioFormulas15_offset_hex 2500 #define fsioFormulas16_offset 9672 -#define fsioFormulas16_offset_hex 25c8 #define fsioFormulas1_offset 6672 -#define fsioFormulas1_offset_hex 1a10 #define fsioFormulas2_offset 6872 -#define fsioFormulas2_offset_hex 1ad8 #define fsioFormulas3_offset 7072 -#define fsioFormulas3_offset_hex 1ba0 #define fsioFormulas4_offset 7272 -#define fsioFormulas4_offset_hex 1c68 #define fsioFormulas5_offset 7472 -#define fsioFormulas5_offset_hex 1d30 #define fsioFormulas6_offset 7672 -#define fsioFormulas6_offset_hex 1df8 #define fsioFormulas7_offset 7872 -#define fsioFormulas7_offset_hex 1ec0 #define fsioFormulas8_offset 8072 -#define fsioFormulas8_offset_hex 1f88 #define fsioFormulas9_offset 8272 -#define fsioFormulas9_offset_hex 2050 #define fsioFrequency10_offset 850 -#define fsioFrequency10_offset_hex 352 #define fsioFrequency11_offset 852 -#define fsioFrequency11_offset_hex 354 #define fsioFrequency12_offset 854 -#define fsioFrequency12_offset_hex 356 #define fsioFrequency13_offset 856 -#define fsioFrequency13_offset_hex 358 #define fsioFrequency14_offset 858 -#define fsioFrequency14_offset_hex 35a #define fsioFrequency15_offset 860 -#define fsioFrequency15_offset_hex 35c #define fsioFrequency16_offset 862 -#define fsioFrequency16_offset_hex 35e #define fsioFrequency1_offset 832 -#define fsioFrequency1_offset_hex 340 #define fsioFrequency2_offset 834 -#define fsioFrequency2_offset_hex 342 #define fsioFrequency3_offset 836 -#define fsioFrequency3_offset_hex 344 #define fsioFrequency4_offset 838 -#define fsioFrequency4_offset_hex 346 #define fsioFrequency5_offset 840 -#define fsioFrequency5_offset_hex 348 #define fsioFrequency6_offset 842 -#define fsioFrequency6_offset_hex 34a #define fsioFrequency7_offset 844 -#define fsioFrequency7_offset_hex 34c #define fsioFrequency8_offset 846 -#define fsioFrequency8_offset_hex 34e #define fsioFrequency9_offset 848 -#define fsioFrequency9_offset_hex 350 #define fsioInputModes10_offset 1525 -#define fsioInputModes10_offset_hex 5f5 #define fsioInputModes11_offset 1526 -#define fsioInputModes11_offset_hex 5f6 #define fsioInputModes12_offset 1527 -#define fsioInputModes12_offset_hex 5f7 #define fsioInputModes13_offset 1528 -#define fsioInputModes13_offset_hex 5f8 #define fsioInputModes14_offset 1529 -#define fsioInputModes14_offset_hex 5f9 #define fsioInputModes15_offset 1530 -#define fsioInputModes15_offset_hex 5fa #define fsioInputModes16_offset 1531 -#define fsioInputModes16_offset_hex 5fb #define fsioInputModes1_offset 1516 -#define fsioInputModes1_offset_hex 5ec #define fsioInputModes2_offset 1517 -#define fsioInputModes2_offset_hex 5ed #define fsioInputModes3_offset 1518 -#define fsioInputModes3_offset_hex 5ee #define fsioInputModes4_offset 1519 -#define fsioInputModes4_offset_hex 5ef #define fsioInputModes5_offset 1520 -#define fsioInputModes5_offset_hex 5f0 #define fsioInputModes6_offset 1521 -#define fsioInputModes6_offset_hex 5f1 #define fsioInputModes7_offset 1522 -#define fsioInputModes7_offset_hex 5f2 #define fsioInputModes8_offset 1523 -#define fsioInputModes8_offset_hex 5f3 #define fsioInputModes9_offset 1524 -#define fsioInputModes9_offset_hex 5f4 #define fsioOutputPins10_offset 789 -#define fsioOutputPins10_offset_hex 315 #define fsioOutputPins11_offset 790 -#define fsioOutputPins11_offset_hex 316 #define fsioOutputPins12_offset 791 -#define fsioOutputPins12_offset_hex 317 #define fsioOutputPins13_offset 792 -#define fsioOutputPins13_offset_hex 318 #define fsioOutputPins14_offset 793 -#define fsioOutputPins14_offset_hex 319 #define fsioOutputPins15_offset 794 -#define fsioOutputPins15_offset_hex 31a #define fsioOutputPins16_offset 795 -#define fsioOutputPins16_offset_hex 31b #define fsioOutputPins1_offset 780 -#define fsioOutputPins1_offset_hex 30c #define fsioOutputPins2_offset 781 -#define fsioOutputPins2_offset_hex 30d #define fsioOutputPins3_offset 782 -#define fsioOutputPins3_offset_hex 30e #define fsioOutputPins4_offset 783 -#define fsioOutputPins4_offset_hex 30f #define fsioOutputPins5_offset 784 -#define fsioOutputPins5_offset_hex 310 #define fsioOutputPins6_offset 785 -#define fsioOutputPins6_offset_hex 311 #define fsioOutputPins7_offset 786 -#define fsioOutputPins7_offset_hex 312 #define fsioOutputPins8_offset 787 -#define fsioOutputPins8_offset_hex 313 #define fsioOutputPins9_offset 788 -#define fsioOutputPins9_offset_hex 314 #define fsioTable1_offset 19296 -#define fsioTable1_offset_hex 4b60 #define fsioTable1LoadBins_offset 19552 -#define fsioTable1LoadBins_offset_hex 4c60 #define fsioTable1RpmBins_offset 19584 -#define fsioTable1RpmBins_offset_hex 4c80 #define fsioTable2_offset 19616 -#define fsioTable2_offset_hex 4ca0 #define fsioTable2LoadBins_offset 19680 -#define fsioTable2LoadBins_offset_hex 4ce0 #define fsioTable2RpmBins_offset 19712 -#define fsioTable2RpmBins_offset_hex 4d00 #define fsioTable3_offset 19744 -#define fsioTable3_offset_hex 4d20 #define fsioTable3LoadBins_offset 19808 -#define fsioTable3LoadBins_offset_hex 4d60 #define fsioTable3RpmBins_offset 19840 -#define fsioTable3RpmBins_offset_hex 4d80 #define fsioTable4_offset 19872 -#define fsioTable4_offset_hex 4da0 #define fsioTable4LoadBins_offset 19936 -#define fsioTable4LoadBins_offset_hex 4de0 #define fsioTable4RpmBins_offset 19968 -#define fsioTable4RpmBins_offset_hex 4e00 #define FUEL_LOAD_COUNT 16 #define FUEL_RPM_COUNT 16 #define fuelAlgorithm_offset 420 -#define fuelAlgorithm_offset_hex 1a4 -#define fuelClosedLoopAfrHighThreshold_offset 2536 -#define fuelClosedLoopAfrHighThreshold_offset_hex 9e8 -#define fuelClosedLoopAfrLowThreshold_offset 696 -#define fuelClosedLoopAfrLowThreshold_offset_hex 2b8 -#define fuelClosedLoopCltThreshold_offset 2508 -#define fuelClosedLoopCltThreshold_offset_hex 9cc #define fuelClosedLoopCorrectionEnabled_offset 1464 -#define fuelClosedLoopCorrectionEnabled_offset_hex 5b8 -#define fuelClosedLoopPid_dFactor_offset 2524 -#define fuelClosedLoopPid_dFactor_offset_hex 9dc -#define fuelClosedLoopPid_iFactor_offset 2520 -#define fuelClosedLoopPid_iFactor_offset_hex 9d8 -#define fuelClosedLoopPid_maxValue_offset 2534 -#define fuelClosedLoopPid_maxValue_offset_hex 9e6 -#define fuelClosedLoopPid_minValue_offset 2532 -#define fuelClosedLoopPid_minValue_offset_hex 9e4 -#define fuelClosedLoopPid_offset 2516 -#define fuelClosedLoopPid_offset_hex 9d4 -#define fuelClosedLoopPid_offset_offset 2528 -#define fuelClosedLoopPid_offset_offset_hex 9e0 -#define fuelClosedLoopPid_periodMs_offset 2530 -#define fuelClosedLoopPid_periodMs_offset_hex 9e2 -#define fuelClosedLoopPid_pFactor_offset 2516 -#define fuelClosedLoopPid_pFactor_offset_hex 9d4 -#define fuelClosedLoopRpmThreshold_offset 2512 -#define fuelClosedLoopRpmThreshold_offset_hex 9d0 -#define fuelClosedLoopTpsThreshold_offset 2510 -#define fuelClosedLoopTpsThreshold_offset_hex 9ce #define fuelLevelEmptyTankVoltage_offset 684 -#define fuelLevelEmptyTankVoltage_offset_hex 2ac #define fuelLevelFullTankVoltage_offset 688 -#define fuelLevelFullTankVoltage_offset_hex 2b0 #define fuelLevelSensor_offset 514 -#define fuelLevelSensor_offset_hex 202 -#define fuelLoadBins_offset 16160 -#define fuelLoadBins_offset_hex 3f20 #define fuelPumpPin_offset 658 -#define fuelPumpPin_offset_hex 292 #define fuelPumpPinMode_offset 659 -#define fuelPumpPinMode_offset_hex 293 #define fuelRailPressure_offset 1756 -#define fuelRailPressure_offset_hex 6dc -#define fuelRpmBins_offset 16224 -#define fuelRpmBins_offset_hex 3f60 -#define fuelTable_offset 15136 -#define fuelTable_offset_hex 3b20 #define GAUGE_COIL_DWELL_TIME "dwell: coil charge time" #define GAUGE_NAME_ACCEL_X "Acceleration: X" #define GAUGE_NAME_ACCEL_Y "Acceleration: Y" #define GAUGE_NAME_ACCEL_Z "Acceleration: Z" #define GAUGE_NAME_AFR "Air/Fuel Ratio" -#define GAUGE_NAME_AIR_FLOW "air flow" +#define GAUGE_NAME_AIR_FLOW "MAF air flow" #define GAUGE_NAME_AIR_MASS "air mass" +#define GAUGE_NAME_BARO_PRESSURE "Barometric pressure" +#define GAUGE_NAME_CLT "CLT" #define GAUGE_NAME_CPU_TEMP "CPU Temperature" #define GAUGE_NAME_DEBUG_F1 "debug f1" #define GAUGE_NAME_DEBUG_F2 "debug f2: iTerm" @@ -916,7 +621,7 @@ #define GAUGE_NAME_DWELL_DUTY "dwell: coil duty cycle" #define GAUGE_NAME_ECU_TEMPERATURE "ECU temperature" #define GAUGE_NAME_ENGINE_LOAD "Engine Load" -#define GAUGE_NAME_ETB_DUTY "ETB duty cycle" +#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_FUEL_BARO_CORR "fuel: Barometric pressure correction" @@ -928,7 +633,8 @@ #define GAUGE_NAME_FUEL_IAT_CORR "fuel: IAT correction" #define GAUGE_NAME_FUEL_INJ_DUTY "fuel: injector duty cycle" #define GAUGE_NAME_FUEL_LAST_INJECTION "fuel: Last injection" -#define GAUGE_NAME_FUEL_PID_CORR "fuel: Short-term closed loop correction" +#define GAUGE_NAME_FUEL_LOAD "fuel: load" +#define GAUGE_NAME_FUEL_PID_CORR "fuel: Short-term fuel trim" #define GAUGE_NAME_FUEL_RUNNING "fuel: running" #define GAUGE_NAME_FUEL_TPS_EXTRA "fuel: TPS acceleration extra fuel ms" #define GAUGE_NAME_FUEL_TPS_ROC "fuel: TPS change" @@ -936,459 +642,337 @@ #define GAUGE_NAME_FUEL_WALL_AMOUNT "fuel: wall amount" #define GAUGE_NAME_FUEL_WALL_CORRECTION "fuel: wall corr ms" #define GAUGE_NAME_IAC "Idle Air Valve" +#define GAUGE_NAME_IAT "IAT" +#define GAUGE_NAME_IGNITION_LOAD "ign: load" #define GAUGE_NAME_INJECTOR_LAG "fuel: injector lag" #define GAUGE_NAME_KNOCK_COUNTER "knock: counter" #define GAUGE_NAME_KNOCK_LEVEL "knock: current level" +#define GAUGE_NAME_MAF "MAF" +#define GAUGE_NAME_MAP "MAP" +#define GAUGE_NAME_RPM "RPM" #define GAUGE_NAME_TARGET_AFR "fuel: target AFR" #define GAUGE_NAME_TCHARGE "fuel: SD tCharge" #define GAUGE_NAME_THROTTLE_PEDAL "Throttle pedal position" +#define GAUGE_NAME_TIME "Time" #define GAUGE_NAME_TIMING_ADVANCE "timing" +#define GAUGE_NAME_TPS "TPS" +#define GAUGE_NAME_TPS2 "TPS2" +#define GAUGE_NAME_TRG_ERR "trg err" #define GAUGE_NAME_VBAT "VBatt" #define GAUGE_NAME_VERSION "firmware" #define GAUGE_NAME_VVS "Vehicle Speed" #define GAUGE_NAME_VVT "VVT position" #define GAUGE_NAME_WARNING_COUNTER "warning: counter" #define GAUGE_NAME_WARNING_LAST "warning: last" -#define generalPeriodicThreadPeriodMs_offset 724 -#define generalPeriodicThreadPeriodMs_offset_hex 2d4 #define globalFuelCorrection_offset 544 -#define globalFuelCorrection_offset_hex 220 #define globalTriggerAngleOffset_offset 456 -#define globalTriggerAngleOffset_offset_hex 1c8 #define gpioPinModes10_offset 773 -#define gpioPinModes10_offset_hex 305 #define gpioPinModes11_offset 774 -#define gpioPinModes11_offset_hex 306 #define gpioPinModes12_offset 775 -#define gpioPinModes12_offset_hex 307 #define gpioPinModes13_offset 776 -#define gpioPinModes13_offset_hex 308 #define gpioPinModes14_offset 777 -#define gpioPinModes14_offset_hex 309 #define gpioPinModes15_offset 778 -#define gpioPinModes15_offset_hex 30a #define gpioPinModes16_offset 779 -#define gpioPinModes16_offset_hex 30b #define gpioPinModes1_offset 764 -#define gpioPinModes1_offset_hex 2fc #define gpioPinModes2_offset 765 -#define gpioPinModes2_offset_hex 2fd #define gpioPinModes3_offset 766 -#define gpioPinModes3_offset_hex 2fe #define gpioPinModes4_offset 767 -#define gpioPinModes4_offset_hex 2ff #define gpioPinModes5_offset 768 -#define gpioPinModes5_offset_hex 300 #define gpioPinModes6_offset 769 -#define gpioPinModes6_offset_hex 301 #define gpioPinModes7_offset 770 -#define gpioPinModes7_offset_hex 302 #define gpioPinModes8_offset 771 -#define gpioPinModes8_offset_hex 303 #define gpioPinModes9_offset 772 -#define gpioPinModes9_offset_hex 304 +#define gppwm1_alignmentFill_map_offset 4151 +#define gppwm1_dutyIfError_offset 4145 +#define gppwm1_loadAxis_offset 4150 +#define gppwm1_loadBins_offset 4152 +#define gppwm1_offBelowDuty_offset 4149 +#define gppwm1_offset 4144 +#define gppwm1_onAboveDuty_offset 4148 +#define gppwm1_pin_offset 4144 +#define gppwm1_pwmFrequency_offset 4146 +#define gppwm1_rpmBins_offset 4160 +#define gppwm1_table_offset 4168 +#define gppwm2_alignmentFill_map_offset 4239 +#define gppwm2_dutyIfError_offset 4233 +#define gppwm2_loadAxis_offset 4238 +#define gppwm2_loadBins_offset 4240 +#define gppwm2_offBelowDuty_offset 4237 +#define gppwm2_offset 4232 +#define gppwm2_onAboveDuty_offset 4236 +#define gppwm2_pin_offset 4232 +#define gppwm2_pwmFrequency_offset 4234 +#define gppwm2_rpmBins_offset 4248 +#define gppwm2_table_offset 4256 +#define gppwm3_alignmentFill_map_offset 4327 +#define gppwm3_dutyIfError_offset 4321 +#define gppwm3_loadAxis_offset 4326 +#define gppwm3_loadBins_offset 4328 +#define gppwm3_offBelowDuty_offset 4325 +#define gppwm3_offset 4320 +#define gppwm3_onAboveDuty_offset 4324 +#define gppwm3_pin_offset 4320 +#define gppwm3_pwmFrequency_offset 4322 +#define gppwm3_rpmBins_offset 4336 +#define gppwm3_table_offset 4344 +#define gppwm4_alignmentFill_map_offset 4415 +#define gppwm4_dutyIfError_offset 4409 +#define gppwm4_loadAxis_offset 4414 +#define gppwm4_loadBins_offset 4416 +#define gppwm4_offBelowDuty_offset 4413 +#define gppwm4_offset 4408 +#define gppwm4_onAboveDuty_offset 4412 +#define gppwm4_pin_offset 4408 +#define gppwm4_pwmFrequency_offset 4410 +#define gppwm4_rpmBins_offset 4424 +#define gppwm4_table_offset 4432 +#define gppwm_channel_e_auto_enum "GPPWM_Tps", "GPPWM_Map", "GPPWM_Clt", "GPPWM_Iat", "GPPWM_FuelLoad", "GPPWM_IgnLoad" +#define gppwm_channel_e_enum "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "INVALID", "INVALID" +#define gppwm_channel_size 88 +#define GPPWM_CHANNELS 4 +#define GPPWM_LOAD_COUNT 8 +#define GPPWM_RPM_COUNT 8 #define gps_rx_pin_offset 656 -#define gps_rx_pin_offset_hex 290 #define gps_tx_pin_offset 657 -#define gps_tx_pin_offset_hex 291 +#define hardCutRpmRange_offset 1048 #define hasFrequencyReportingMapSensor_offset 1464 -#define hasFrequencyReportingMapSensor_offset_hex 5b8 #define HD44780_db4_offset 652 -#define HD44780_db4_offset_hex 28c #define HD44780_db5_offset 653 -#define HD44780_db5_offset_hex 28d #define HD44780_db6_offset 654 -#define HD44780_db6_offset_hex 28e #define HD44780_db7_offset 655 -#define HD44780_db7_offset_hex 28f #define HD44780_e_offset 651 -#define HD44780_e_offset_hex 28b #define HD44780_rs_offset 650 -#define HD44780_rs_offset_hex 28a #define HD44780height_offset 508 -#define HD44780height_offset_hex 1fc #define HD44780width_offset 504 -#define HD44780width_offset_hex 1f8 #define high_fuel_pressure_sensor_1_offset 541 -#define high_fuel_pressure_sensor_1_offset_hex 21d #define high_fuel_pressure_sensor_2_offset 542 -#define high_fuel_pressure_sensor_2_offset_hex 21e #define hip9011CsPin_offset 753 -#define hip9011CsPin_offset_hex 2f1 #define hip9011CsPinMode_offset 703 -#define hip9011CsPinMode_offset_hex 2bf #define hip9011Gain_offset 3952 -#define hip9011Gain_offset_hex f70 #define hip9011IntHoldPin_offset 754 -#define hip9011IntHoldPin_offset_hex 2f2 #define hip9011IntHoldPinMode_offset 755 -#define hip9011IntHoldPinMode_offset_hex 2f3 #define hip9011PrescalerAndSDO_offset 324 -#define hip9011PrescalerAndSDO_offset_hex 144 #define hip9011SpiDevice_offset 540 -#define hip9011SpiDevice_offset_hex 21c #define hipOutputChannel_offset 1468 -#define hipOutputChannel_offset_hex 5bc #define HW_MAX_ADC_INDEX 33 #define IAC_PID_MULT_SIZE 8 #define iacByTpsTaper_offset 2038 -#define iacByTpsTaper_offset_hex 7f6 #define iacCoasting_offset 3224 -#define iacCoasting_offset_hex c98 #define iacCoastingBins_offset 3160 -#define iacCoastingBins_offset_hex c58 #define iacPidMultLoadBins_offset 4124 -#define iacPidMultLoadBins_offset_hex 101c #define iacPidMultRpmBins_offset 4132 -#define iacPidMultRpmBins_offset_hex 1024 #define iacPidMultTable_offset 4060 -#define iacPidMultTable_offset_hex fdc #define iat_adcChannel_offset 312 -#define iat_adcChannel_offset_hex 138 -#define iat_alignmentFill_offset 313 -#define iat_alignmentFill_offset_hex 139 +#define iat_alignmentFill_at_29_offset 313 #define iat_bias_resistor_offset 308 -#define iat_bias_resistor_offset_hex 134 #define iat_config_offset 284 -#define iat_config_offset_hex 11c #define IAT_CURVE_SIZE 16 #define iat_offset 284 -#define iat_offset_hex 11c #define iat_resistance_1_offset 296 -#define iat_resistance_1_offset_hex 128 #define iat_resistance_2_offset 300 -#define iat_resistance_2_offset_hex 12c #define iat_resistance_3_offset 304 -#define iat_resistance_3_offset_hex 130 #define iat_tempC_1_offset 284 -#define iat_tempC_1_offset_hex 11c #define iat_tempC_2_offset 288 -#define iat_tempC_2_offset_hex 120 #define iat_tempC_3_offset 292 -#define iat_tempC_3_offset_hex 124 #define iatFuelCorr_offset 10464 -#define iatFuelCorr_offset_hex 28e0 #define iatFuelCorrBins_offset 10400 -#define iatFuelCorrBins_offset_hex 28a0 #define IDLE_ADVANCE_CURVE_SIZE 8 +#define idle_antiwindupFreq_offset 696 +#define idle_derivativeFilterLoss_offset 516 +#define idle_hardware_s_size 8 +#define idle_mode_e_auto_enum "IM_AUTO", "IM_MANUAL" #define idle_offset 600 -#define idle_offset_hex 258 #define idle_solenoidFrequency_offset 600 -#define idle_solenoidFrequency_offset_hex 258 #define idle_solenoidPin_offset 604 -#define idle_solenoidPin_offset_hex 25c #define idle_solenoidPinMode_offset 607 -#define idle_solenoidPinMode_offset_hex 25f #define idle_stepperDirectionPin_offset 605 -#define idle_stepperDirectionPin_offset_hex 25d #define idle_stepperStepPin_offset 606 -#define idle_stepperStepPin_offset_hex 25e #define IDLE_VE_CURVE_SIZE 8 #define idleAdvance_offset 6576 -#define idleAdvance_offset_hex 19b0 #define idleAdvanceBins_offset 6544 -#define idleAdvanceBins_offset_hex 1990 #define idleIncrementalPidCic_offset 744 -#define idleIncrementalPidCic_offset_hex 2e8 #define idleMode_offset 1472 -#define idleMode_offset_hex 5c0 #define idlePidActivationTime_offset 2588 -#define idlePidActivationTime_offset_hex a1c #define idlePidDeactivationTpsThreshold_offset 816 -#define idlePidDeactivationTpsThreshold_offset_hex 330 #define idlePidFalloffDeltaRpm_offset 3992 -#define idlePidFalloffDeltaRpm_offset_hex f98 #define idlePidRpmDeadZone_offset 1894 -#define idlePidRpmDeadZone_offset_hex 766 #define idlePidRpmUpperLimit_offset 1484 -#define idlePidRpmUpperLimit_offset_hex 5cc +#define idlePositionMax_offset 722 +#define idlePositionMin_offset 720 +#define idlePositionSensor_offset 806 #define idleRpmPid2_dFactor_offset 4048 -#define idleRpmPid2_dFactor_offset_hex fd0 #define idleRpmPid2_iFactor_offset 4044 -#define idleRpmPid2_iFactor_offset_hex fcc #define idleRpmPid2_maxValue_offset 4058 -#define idleRpmPid2_maxValue_offset_hex fda #define idleRpmPid2_minValue_offset 4056 -#define idleRpmPid2_minValue_offset_hex fd8 #define idleRpmPid2_offset 4040 -#define idleRpmPid2_offset_hex fc8 #define idleRpmPid2_offset_offset 4052 -#define idleRpmPid2_offset_offset_hex fd4 #define idleRpmPid2_periodMs_offset 4054 -#define idleRpmPid2_periodMs_offset_hex fd6 #define idleRpmPid2_pFactor_offset 4040 -#define idleRpmPid2_pFactor_offset_hex fc8 #define idleRpmPid_dFactor_offset 1796 -#define idleRpmPid_dFactor_offset_hex 704 #define idleRpmPid_iFactor_offset 1792 -#define idleRpmPid_iFactor_offset_hex 700 #define idlerpmpid_iTermMax_offset 4006 -#define idlerpmpid_iTermMax_offset_hex fa6 #define idlerpmpid_iTermMin_offset 4002 -#define idlerpmpid_iTermMin_offset_hex fa2 #define idleRpmPid_maxValue_offset 1806 -#define idleRpmPid_maxValue_offset_hex 70e #define idleRpmPid_minValue_offset 1804 -#define idleRpmPid_minValue_offset_hex 70c #define idleRpmPid_offset 1788 -#define idleRpmPid_offset_hex 6fc #define idleRpmPid_offset_offset 1800 -#define idleRpmPid_offset_offset_hex 708 #define idleRpmPid_periodMs_offset 1802 -#define idleRpmPid_periodMs_offset_hex 70a #define idleRpmPid_pFactor_offset 1788 -#define idleRpmPid_pFactor_offset_hex 6fc #define idleStepperReactionTime_offset 1508 -#define idleStepperReactionTime_offset_hex 5e4 #define idleStepperTotalSteps_offset 1532 -#define idleStepperTotalSteps_offset_hex 5fc -#define idleThreadPeriodMs_offset 712 -#define idleThreadPeriodMs_offset_hex 2c8 #define idleTimingPid_dFactor_offset 3976 -#define idleTimingPid_dFactor_offset_hex f88 #define idleTimingPid_iFactor_offset 3972 -#define idleTimingPid_iFactor_offset_hex f84 #define idleTimingPid_maxValue_offset 3986 -#define idleTimingPid_maxValue_offset_hex f92 #define idleTimingPid_minValue_offset 3984 -#define idleTimingPid_minValue_offset_hex f90 #define idleTimingPid_offset 3968 -#define idleTimingPid_offset_hex f80 #define idleTimingPid_offset_offset 3980 -#define idleTimingPid_offset_offset_hex f8c #define idleTimingPid_periodMs_offset 3982 -#define idleTimingPid_periodMs_offset_hex f8e #define idleTimingPid_pFactor_offset 3968 -#define idleTimingPid_pFactor_offset_hex f80 #define idleTimingPidDeadZone_offset 3990 -#define idleTimingPidDeadZone_offset_hex f96 #define idleTimingPidWorkZone_offset 3988 -#define idleTimingPidWorkZone_offset_hex f94 #define idleVe_offset 6640 -#define idleVe_offset_hex 19f0 #define idleVeBins_offset 6608 -#define idleVeBins_offset_hex 19d0 #define IGN_LOAD_COUNT 16 #define IGN_RPM_COUNT 16 -#define IGN_TPS_COUNT 16 +#define ignition_mode_e_auto_enum "IM_ONE_COIL", "IM_INDIVIDUAL_COILS", "IM_WASTED_SPARK", "IM_TWO_COILS" #define IGNITION_PIN_COUNT 12 #define ignitionDwellForCrankingMs_offset 100 -#define ignitionDwellForCrankingMs_offset_hex 64 #define ignitionIatCorrLoadBins_offset 13856 -#define ignitionIatCorrLoadBins_offset_hex 3620 #define ignitionIatCorrRpmBins_offset 13920 -#define ignitionIatCorrRpmBins_offset_hex 3660 #define ignitionIatCorrTable_offset 12832 -#define ignitionIatCorrTable_offset_hex 3220 #define ignitionLoadBins_offset 17312 -#define ignitionLoadBins_offset_hex 43a0 #define ignitionMode_offset 440 -#define ignitionMode_offset_hex 1b8 #define ignitionOffset_offset 444 -#define ignitionOffset_offset_hex 1bc -#define ignitionPin10logic -#define ignitionPin11logic -#define ignitionPin12logic -#define ignitionPin2logic || ((firingOrder == 2) || (firingOrder == 7) || (firingOrder == 9) || (firingOrder == 11) || (firingOrder == 12)) -#define ignitionPin3logic || ((firingOrder == 1) || (firingOrder == 3) || (firingOrder == 4) || (firingOrder == 5) || (firingOrder == 9)) -#define ignitionPin4logic || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12)) -#define ignitionPin5logic || ((firingOrder == 4) || (firingOrder == 12)) -#define ignitionPin6logic -#define ignitionPin7logic || ((firingOrder == 11)) -#define ignitionPin8logic || ((firingOrder == 5) || (firingOrder == 11)) -#define ignitionPin9logic #define ignitionPinMode_offset 649 -#define ignitionPinMode_offset_hex 289 #define ignitionPins10_offset 645 -#define ignitionPins10_offset_hex 285 #define ignitionPins11_offset 646 -#define ignitionPins11_offset_hex 286 #define ignitionPins12_offset 647 -#define ignitionPins12_offset_hex 287 #define ignitionPins1_offset 636 -#define ignitionPins1_offset_hex 27c #define ignitionPins2_offset 637 -#define ignitionPins2_offset_hex 27d #define ignitionPins3_offset 638 -#define ignitionPins3_offset_hex 27e #define ignitionPins4_offset 639 -#define ignitionPins4_offset_hex 27f #define ignitionPins5_offset 640 -#define ignitionPins5_offset_hex 280 #define ignitionPins6_offset 641 -#define ignitionPins6_offset_hex 281 #define ignitionPins7_offset 642 -#define ignitionPins7_offset_hex 282 #define ignitionPins8_offset 643 -#define ignitionPins8_offset_hex 283 #define ignitionPins9_offset 644 -#define ignitionPins9_offset_hex 284 #define ignitionRpmBins_offset 17376 -#define ignitionRpmBins_offset_hex 43e0 #define ignitionTable_offset 16288 -#define ignitionTable_offset_hex 3fa0 -#define ignitionTpsBins_offset 3800 -#define ignitionTpsBins_offset_hex ed8 -#define ignitionTpsTable_offset 3288 -#define ignitionTpsTable_offset_hex cd8 #define ignMathCalculateAtIndex_offset 1488 -#define ignMathCalculateAtIndex_offset_hex 5d0 #define INDICATOR_NAME_AC_SWITCH "AC switch" #define INDICATOR_NAME_BRAKE_DOWN "brake: down" #define INDICATOR_NAME_CLUTCH_DOWN "clutch: down" #define INDICATOR_NAME_CLUTCH_UP "clutch: up" +#define injection_mode_e_auto_enum "IM_SIMULTANEOUS", "IM_SEQUENTIAL", "IM_BATCH", "IM_SINGLE_POINT" #define INJECTION_PIN_COUNT 12 #define injectionMode_offset 428 -#define injectionMode_offset_hex 1ac #define injectionPhase_offset 13984 -#define injectionPhase_offset_hex 36a0 #define injectionPinMode_offset 648 -#define injectionPinMode_offset_hex 288 #define injectionPins10_offset 633 -#define injectionPins10_offset_hex 279 #define injectionPins11_offset 634 -#define injectionPins11_offset_hex 27a #define injectionPins12_offset 635 -#define injectionPins12_offset_hex 27b #define injectionPins1_offset 624 -#define injectionPins1_offset_hex 270 #define injectionPins2_offset 625 -#define injectionPins2_offset_hex 271 #define injectionPins3_offset 626 -#define injectionPins3_offset_hex 272 #define injectionPins4_offset 627 -#define injectionPins4_offset_hex 273 #define injectionPins5_offset 628 -#define injectionPins5_offset_hex 274 #define injectionPins6_offset 629 -#define injectionPins6_offset_hex 275 #define injectionPins7_offset 630 -#define injectionPins7_offset_hex 276 #define injectionPins8_offset 631 -#define injectionPins8_offset_hex 277 #define injectionPins9_offset 632 -#define injectionPins9_offset_hex 278 #define injector_battLagCorr_offset 44 -#define injector_battLagCorr_offset_hex 2c #define injector_battLagCorrBins_offset 12 -#define injector_battLagCorrBins_offset_hex c #define injector_flow_offset 8 -#define injector_flow_offset_hex 8 #define injector_offset 8 -#define injector_offset_hex 8 +#define injector_s_size 68 #define injPhaseLoadBins_offset 15008 -#define injPhaseLoadBins_offset_hex 3aa0 #define injPhaseRpmBins_offset 15072 -#define injPhaseRpmBins_offset_hex 3ae0 +#define invertCamVVTSignal_offset 976 #define invertPrimaryTriggerSignal_offset 1464 -#define invertPrimaryTriggerSignal_offset_hex 5b8 #define invertSecondaryTriggerSignal_offset 1464 -#define invertSecondaryTriggerSignal_offset_hex 5b8 #define is_enabled_spi_1_offset 744 -#define is_enabled_spi_1_offset_hex 2e8 #define is_enabled_spi_2_offset 744 -#define is_enabled_spi_2_offset_hex 2e8 #define is_enabled_spi_3_offset 744 -#define is_enabled_spi_3_offset_hex 2e8 #define is_enabled_spi_4_offset 744 -#define is_enabled_spi_4_offset_hex 2e8 #define isAlternatorControlEnabled_offset 1464 -#define isAlternatorControlEnabled_offset_hex 5b8 +#define isBoostControlEnabled_offset 1476 #define isCJ125Enabled_offset 744 -#define isCJ125Enabled_offset_hex 2e8 +#define isCJ125Verbose_offset 76 #define isCylinderCleanupEnabled_offset 1476 -#define isCylinderCleanupEnabled_offset_hex 5c4 +#define isDoubleSolenoidIdle_offset 76 #define isEngineChartEnabled_offset 1464 -#define isEngineChartEnabled_offset_hex 5b8 #define isEngineControlEnabled_offset 744 -#define isEngineControlEnabled_offset_hex 2e8 #define isFastAdcEnabled_offset 744 -#define isFastAdcEnabled_offset_hex 2e8 #define isFasterEngineSpinUpEnabled_offset 744 -#define isFasterEngineSpinUpEnabled_offset_hex 2e8 +#define isForcedInduction_offset 76 #define isHip9011Enabled_offset 744 -#define isHip9011Enabled_offset_hex 2e8 #define isIgnitionEnabled_offset 1476 -#define isIgnitionEnabled_offset_hex 5c4 #define isInjectionEnabled_offset 1476 -#define isInjectionEnabled_offset_hex 5c4 #define isManualSpinningMode_offset 1476 -#define isManualSpinningMode_offset_hex 5c4 #define isMapAveragingEnabled_offset 1476 -#define isMapAveragingEnabled_offset_hex 5c4 #define isSdCardEnabled_offset 744 -#define isSdCardEnabled_offset_hex 2e8 -#define issue_294_21_offset 76 -#define issue_294_21_offset_hex 4c -#define issue_294_22_offset 76 -#define issue_294_22_offset_hex 4c -#define issue_294_23_offset 76 -#define issue_294_23_offset_hex 4c -#define issue_294_24_offset 76 -#define issue_294_24_offset_hex 4c -#define issue_294_25_offset 76 -#define issue_294_25_offset_hex 4c #define issue_294_26_offset 76 -#define issue_294_26_offset_hex 4c #define issue_294_27_offset 76 -#define issue_294_27_offset_hex 4c #define issue_294_28_offset 76 -#define issue_294_28_offset_hex 4c #define issue_294_29_offset 76 -#define issue_294_29_offset_hex 4c #define issue_294_30_offset 76 -#define issue_294_30_offset_hex 4c #define issue_294_31_offset 76 -#define issue_294_31_offset_hex 4c #define isTunerStudioEnabled_offset 1476 -#define isTunerStudioEnabled_offset_hex 5c4 #define isVerboseAlternator_offset 744 -#define isVerboseAlternator_offset_hex 2e8 #define isVerboseAuxPid1_offset 76 -#define isVerboseAuxPid1_offset_hex 4c #define isVerboseAuxPid2_offset 76 -#define isVerboseAuxPid2_offset_hex 4c #define isVerboseAuxPid3_offset 76 -#define isVerboseAuxPid3_offset_hex 4c #define isVerboseAuxPid4_offset 76 -#define isVerboseAuxPid4_offset_hex 4c #define isVerboseETB_offset 1464 -#define isVerboseETB_offset_hex 5b8 #define isVerboseIAC_offset 1464 -#define isVerboseIAC_offset_hex 5b8 #define isWaveAnalyzerEnabled_offset 1476 -#define isWaveAnalyzerEnabled_offset_hex 5c4 #define joystickAPin_offset 939 -#define joystickAPin_offset_hex 3ab #define joystickBPin_offset 940 -#define joystickBPin_offset_hex 3ac #define joystickCenterPin_offset 938 -#define joystickCenterPin_offset_hex 3aa #define joystickCPin_offset 941 -#define joystickCPin_offset_hex 3ad #define joystickDPin_offset 942 -#define joystickDPin_offset_hex 3ae #define knockBandCustom_offset 328 -#define knockBandCustom_offset_hex 148 +#define knockBankCyl10_offset 976 +#define knockBankCyl11_offset 976 +#define knockBankCyl12_offset 976 +#define knockBankCyl1_offset 976 +#define knockBankCyl2_offset 976 +#define knockBankCyl3_offset 976 +#define knockBankCyl4_offset 976 +#define knockBankCyl5_offset 976 +#define knockBankCyl6_offset 976 +#define knockBankCyl7_offset 976 +#define knockBankCyl8_offset 976 +#define knockBankCyl9_offset 976 #define knockDetectionWindowEnd_offset 1504 -#define knockDetectionWindowEnd_offset_hex 5e0 #define knockDetectionWindowStart_offset 1500 -#define knockDetectionWindowStart_offset_hex 5dc #define knockNoise_offset 1820 -#define knockNoise_offset_hex 71c #define knockNoiseRpmBins_offset 1852 -#define knockNoiseRpmBins_offset_hex 73c #define knockVThreshold_offset 1512 -#define knockVThreshold_offset_hex 5e8 -#define lcdThreadPeriodMs_offset 720 -#define lcdThreadPeriodMs_offset_hex 2d0 +#define launchActivateDelay_offset 1060 +#define launchActivatePin_offset 991 +#define launchActivationMode_e_auto_enum "SWITCH_INPUT_LAUNCH", "CLUTCH_INPUT_LAUNCH", "ALWAYS_ACTIVE_LAUNCH" +#define launchActivationMode_e_enum "Switch Input", "Clutch Input", "Always Active(Disabled By Speed)","INVALID" +#define launchActivationMode_offset 1020 +#define launchAdvanceRpmRange_offset 1052 +#define launchBoostDuty_offset 1044 +#define launchControlEnabled_offset 76 +#define launchDisableBySpeed_offset 976 +#define launchFuelAdded_offset 1040 +#define launchFuelCutEnable_offset 1464 +#define launchRpm_offset 316 +#define launchRpmTreshold_offset 1032 +#define launchSmoothRetard_offset 1476 +#define launchSparkCutEnable_offset 1464 +#define launchSpeedTreshold_offset 1028 +#define launchTimingRetard_offset 320 +#define launchTimingRpmRange_offset 1036 +#define launchTpsTreshold_offset 1056 #define LDS_ALTERNATOR_PID_STATE_INDEX 9 #define LDS_CJ125_PID_STATE_INDEX 10 -#define LDS_CLT_STATE_INDEX 0 #define LDS_ENGINE_STATE_INDEX 3 #define LDS_ETB_PID_STATE_INDEX 7 #define LDS_FUEL_TRIM_STATE_INDEX 4 -#define LDS_IAT_STATE_INDEX 1 #define LDS_IDLE_PID_STATE_INDEX 8 #define LDS_SPEED_DENSITY_STATE_INDEX 2 #define LDS_TPS_TPS_ENEICHMENT_STATE_INDEX 5 @@ -1396,128 +980,85 @@ #define LDS_TRIGGER_STATE_STATE_INDEX 11 #define LE_COMMAND_LENGTH 200 #define LIS302DLCsPin_offset 2043 -#define LIS302DLCsPin_offset_hex 7fb +#define LOAD_1_BYTE_PACKING_MULT 2 +#define log_format_e_auto_enum "LF_NATIVE", "LM_MLV" #define logFormat_offset 496 -#define logFormat_offset_hex 1f0 #define LOGIC_ANALYZER_CHANNEL_COUNT 4 -#define logicAnalyzerMode_offset 756 -#define logicAnalyzerMode_offset_hex 2f4 #define logicAnalyzerPins1_offset 748 -#define logicAnalyzerPins1_offset_hex 2ec #define logicAnalyzerPins2_offset 749 -#define logicAnalyzerPins2_offset_hex 2ed #define logicAnalyzerPins3_offset 750 -#define logicAnalyzerPins3_offset_hex 2ee #define logicAnalyzerPins4_offset 751 -#define logicAnalyzerPins4_offset_hex 2ef #define MAF_DECODING_COUNT 256 +#define maf_sensor_type_e_auto_enum "CUSTOM", "Bosch0280218037", "Bosch0280218004", "DensoTODO" #define maf_sensor_type_e_enum "v0", "v1", "v2", "v3" #define mafAdcChannel_offset 543 -#define mafAdcChannel_offset_hex 21f #define mafDecoding_offset 10784 -#define mafDecoding_offset_hex 2a20 #define mafDecodingBins_offset 11808 -#define mafDecodingBins_offset_hex 2e20 #define mafSensorType_offset 948 -#define mafSensorType_offset_hex 3b4 #define mainRelayPin_offset 706 -#define mainRelayPin_offset_hex 2c2 #define mainRelayPinMode_offset 752 -#define mainRelayPinMode_offset_hex 2f0 -#define mainUnusedEnd_offset 4140 -#define mainUnusedEnd_offset_hex 102c +#define mainUnusedEnd_offset 4520 #define malfunctionIndicatorPin_offset 660 -#define malfunctionIndicatorPin_offset_hex 294 #define malfunctionIndicatorPinMode_offset 661 -#define malfunctionIndicatorPinMode_offset_hex 295 #define manIdlePosition_offset 608 -#define manIdlePosition_offset_hex 260 #define MAP_ACCEL_TAPER 8 #define MAP_ANGLE_SIZE 8 #define map_offset 108 -#define map_offset_hex 6c #define map_samplingAngle_offset 140 -#define map_samplingAngle_offset_hex 8c #define map_samplingAngleBins_offset 108 -#define map_samplingAngleBins_offset_hex 6c #define map_samplingWindow_offset 204 -#define map_samplingWindow_offset_hex cc #define map_samplingWindowBins_offset 172 -#define map_samplingWindowBins_offset_hex ac -#define map_sensor_align_offset 249 -#define map_sensor_align_offset_hex f9 +#define map_sensor_alignmentFill_offset 249 +#define MAP_sensor_config_s_size 144 #define map_sensor_highValue_offset 240 -#define map_sensor_highValue_offset_hex f0 #define map_sensor_hwChannel_offset 248 -#define map_sensor_hwChannel_offset_hex f8 #define map_sensor_lowValue_offset 236 -#define map_sensor_lowValue_offset_hex ec #define map_sensor_offset 236 -#define map_sensor_offset_hex ec #define map_sensor_type_offset 244 -#define map_sensor_type_offset_hex f4 #define MAP_WINDOW_SIZE 8 #define mapAccelTaperBins_offset 2136 -#define mapAccelTaperBins_offset_hex 858 #define mapAccelTaperMult_offset 2168 -#define mapAccelTaperMult_offset_hex 878 #define mapAveragingSchedulingAtIndex_offset 1540 -#define mapAveragingSchedulingAtIndex_offset_hex 604 #define mapErrorDetectionTooHigh_offset 1780 -#define mapErrorDetectionTooHigh_offset_hex 6f4 #define mapErrorDetectionTooLow_offset 1776 -#define mapErrorDetectionTooLow_offset_hex 6f0 #define mapFrequency0Kpa_offset 612 -#define mapFrequency0Kpa_offset_hex 264 #define mapFrequency100Kpa_offset 616 -#define mapFrequency100Kpa_offset_hex 268 #define mapHighValueVoltage_offset 2212 -#define mapHighValueVoltage_offset_hex 8a4 #define mapLowValueVoltage_offset 2208 -#define mapLowValueVoltage_offset_hex 8a0 #define mapMinBufferLength_offset 812 -#define mapMinBufferLength_offset_hex 32c -#define mass_storage_e_enum "Auto", "Always", "Never" +#define mass_storage_e_auto_enum "MS_AUTO", "MS_ALWAYS", "MS_NEVER" +#define mass_storage_e_enum "Auto", "Always", "Never", "INVALID" #define max31855_cs1_offset 796 -#define max31855_cs1_offset_hex 31c #define max31855_cs2_offset 797 -#define max31855_cs2_offset_hex 31d #define max31855_cs3_offset 798 -#define max31855_cs3_offset_hex 31e #define max31855_cs4_offset 799 -#define max31855_cs4_offset_hex 31f #define max31855_cs5_offset 800 -#define max31855_cs5_offset_hex 320 #define max31855_cs6_offset 801 -#define max31855_cs6_offset_hex 321 #define max31855_cs7_offset 802 -#define max31855_cs7_offset_hex 322 #define max31855_cs8_offset 803 -#define max31855_cs8_offset_hex 323 #define max31855spiDevice_offset 675 -#define max31855spiDevice_offset_hex 2a3 #define maxKnockSubDeg_offset 552 -#define maxKnockSubDeg_offset_hex 228 #define mc33816_cs_offset 3107 -#define mc33816_cs_offset_hex c23 #define mc33816_driven_offset 2607 -#define mc33816_driven_offset_hex a2f +#define mc33816_flag0_offset 1774 #define mc33816_rstb_offset 2606 -#define mc33816_rstb_offset_hex a2e #define mc33816spiDevice_offset 4001 -#define mc33816spiDevice_offset_hex fa1 #define mc33972_cs_offset 678 -#define mc33972_cs_offset_hex 2a6 #define mc33972_csPinMode_offset 679 -#define mc33972_csPinMode_offset_hex 2a7 #define mc33972spiDevice_offset 4008 -#define mc33972spiDevice_offset_hex fa8 +#define mc33_hvolt_offset 760 +#define mc33_i_boost_offset 4496 +#define mc33_i_hold_offset 4500 +#define mc33_i_peak_offset 4498 +#define mc33_t_bypass_offset 4508 +#define mc33_t_hold_off_offset 4510 +#define mc33_t_hold_tot_offset 4512 +#define mc33_t_max_boost_offset 4502 +#define mc33_t_peak_off_offset 4504 +#define mc33_t_peak_tot_offset 4506 #define measureMapOnlyInOneCylinder_offset 744 -#define measureMapOnlyInOneCylinder_offset_hex 2e8 -#define miataNb2VVTRatioFrom_offset 820 -#define miataNb2VVTRatioFrom_offset_hex 334 -#define miataNb2VVTRatioTo_offset 824 -#define miataNb2VVTRatioTo_offset_hex 338 +#define MLQ_FIELD_HEADER_SIZE 55 +#define MLQ_HEADER_SIZE 22 #define MOCK_AFR_COMMAND "mock_afr_voltage" #define MOCK_CLT_COMMAND "mock_clt_voltage" #define MOCK_IAT_COMMAND "mock_iat_voltage" @@ -1525,83 +1066,71 @@ #define MOCK_MAP_COMMAND "mock_map_voltage" #define MOCK_PPS_POSITION_COMMAND "mock_pps_position" #define MOCK_PPS_VOLTAGE_COMMAND "mock_pps_voltage" -#define MOCK_TPS_COMMAND "mock_tps_voltage" +#define multisparkDwell_offset 1786 +#define multisparkEnable_offset 976 +#define multisparkMaxExtraSparkCount_offset 975 +#define multisparkMaxRpm_offset 972 +#define multisparkMaxSparkingAngle_offset 974 +#define multisparkSparkDuration_offset 1784 #define NARROW_BAND_WIDE_BAND_CONVERSION_SIZE 8 #define narrowToWideOxygen_offset 2296 -#define narrowToWideOxygen_offset_hex 8f8 #define narrowToWideOxygenBins_offset 2264 -#define narrowToWideOxygenBins_offset_hex 8d8 -#define nbVvtIndex_offset 2416 -#define nbVvtIndex_offset_hex 970 #define noAccelAfterHardLimitPeriodSecs_offset 1536 -#define noAccelAfterHardLimitPeriodSecs_offset_hex 600 #define o2heaterPin_offset 742 -#define o2heaterPin_offset_hex 2e6 #define o2heaterPinModeTodO_offset 743 -#define o2heaterPinModeTodO_offset_hex 2e7 -#define oilPressure_align_offset 2693 -#define oilPressure_align_offset_hex a85 +#define oil_pressure_config_s_size 20 +#define oilPressure_alignmentFill_offset 2693 #define oilPressure_hwChannel_offset 2692 -#define oilPressure_hwChannel_offset_hex a84 #define oilPressure_offset 2692 -#define oilPressure_offset_hex a84 #define oilPressure_v1_offset 2696 -#define oilPressure_v1_offset_hex a88 #define oilPressure_v2_offset 2704 -#define oilPressure_v2_offset_hex a90 #define oilPressure_value1_offset 2700 -#define oilPressure_value1_offset_hex a8c #define oilPressure_value2_offset 2708 -#define oilPressure_value2_offset_hex a94 #define onOffAlternatorLogic_offset 744 -#define onOffAlternatorLogic_offset_hex 2e8 -#define output_pin_e_enum "NONE", "INVALID", "P00 (A_0)", "P01 (A_1)", "P02 (A_2)", "P03 (A_3)", "P04 (A_4)", "P05 (A_5)", "P06 (A_6)", "P07 (A_7)", "P08 (A_8)", "P09 (A_9)", "P0A (A_10)", "P0B (A_11)", "P0C (A_12)", "P0D (A_13)", "P0E (A_14)", "P0F (A_15)", "P10 (B_0)", "P11 (B_1)", "P12 (B_2)", "P13 (B_3)", "P14 (B_4)", "P15 (B_5)", "P16 (B_6)", "P17 (B_7)", "P18 (B_8)", "P19 (B_9)", "P1A (B_10)", "P1B (B_11)", "P1C (B_12)", "P1D (B_13)", "P1E (B_14)", "P1F (B_15)", "P20 (C_0)", "P21 (C_1)", "P22 (C_2)", "P23 (C_3)", "P24 (C_4)", "P25 (C_5)", "P26 (C_6)", "P27 (C_7)", "P28 (C_8)", "P29 (C_9)", "P2A (C_10)", "P2B (C_11)", "P2C (C_12)", "P2D (C_13)", "P2E (C_14)", "P2F (C_15)", "P30 (D_0)", "P31 (D_1)", "P32 (D_2)", "P33 (D_3)", "P34 (D_4)", "P35 (D_5)", "P36 (D_6)", "P37 (D_7)", "P38 (D_8)", "P39 (D_9)", "P3A (D_10)", "P3B (D_11)", "P3C (D_12)", "P3D (D_13)", "P3E (D_14)", "P3F (D_15)", "P40 (E_0)", "P41 (E_1)", "P42 (E_2)", "P43 (E_3)", "P44 (E_4)", "P45 (E_5)", "P46 (E_6)", "P47 (E_7)", "P48 (E_8)", "P49 (E_9)", "P4A (E_10)", "P4B (E_11)", "P4C (E_12)", "P4D (E_13)", "P4E (E_14)", "P4F (E_15)", "P50 (F_0)", "P51 (F_1)", "P52 (F_2)", "P53 (F_3)", "P54 (F_4)", "P55 (F_5)", "P56 (F_6)", "P57 (F_7)", "P58 (F_8)", "P59 (F_9)", "P5A (F_10)", "P5B (F_11)", "P5C (F_12)", "P5D (F_13)", "P5E (F_14)", "P5F (F_15)", "P70 (G_0)", "P71 (G_1)", "P72 (G_2)", "P73 (G_3)", "P74 (G_4)", "P75 (G_5)", "P76 (G_6)", "P77 (G_7)", "P78 (G_8)", "P79 (G_9)", "P7A (G_10)", "P7B (G_11)", "P7C (G_12)", "P7D (G_13)", "P7E (G_14)", "P7F (G_15)", "PA0 (H_0)", "PA1 (H_1)", "PA2 (H_2)", "PA3 (H_3)", "PA4 (H_4)", "PA5 (H_5)", "PA6 (H_6)", "PA7 (H_7)", "PA8 (H_8)", "PA9 (H_9)", "PAA (H_10)", "PAB (H_11)", "PAC (H_12)", "PAD (H_13)", "PAE (H_14)", "PAF (H_15)", "PB0 (I_0)", "PB1 (I_1)", "PB2 (I_2)", "PB3 (I_3)", "PB4 (I_4)", "PB5 (I_5)", "PB6 (I_6)", "PB7 (I_7)", "PB8 (I_8)", "PB9 (I_9)", "PBA (I_10)", "PBB (I_11)", "PBC (I_12)", "PBD (I_13)", "PBE (I_14)", "PBF (I_15)", "PC0 (J_0)", "PC1 (J_1)", "PC2 (J_2)", "PC3 (J_3)", "PC4 (J_4)", "PC5 (J_5)", "PC6 (J_6)", "PC7 (J_7)", "PC8 (J_8)", "PC9 (J_9)", "PCA (J_10)", "PCB (J_11)", "PCC (J_12)", "PCD (J_13)", "PCE (J_14)", "PCF (J_15)", "PF0 (K_0)", "PF1 (K_1)", "PF2 (K_2)", "PF3 (K_3)", "PF4 (K_4)", "PF5 (K_5)", "PF6 (K_6)", "PF7 (K_7)", "PF8 (K_8)", "PF9 (K_9)", "PFA (K_10)", "PFB (K_11)", "PFC (K_12)", "PFD (K_13)", "PFE (K_14)", "PFF (K_15)", "DRV8860_1", "DRV8860_2", "DRV8860_3", "DRV8860_4", "DRV8860_5", "DRV8860_6", "DRV8860_7", "DRV8860_8", "DRV8860_9", "DRV8860_10", "DRV8860_11", "DRV8860_12", "DRV8860_13", "DRV8860_14", "DRV8860_15", "DRV8860_16", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID" +#define operation_mode_e_auto_enum "OM_NONE", "FOUR_STROKE_CRANK_SENSOR", "FOUR_STROKE_CAM_SENSOR", "TWO_STROKE", "FOUR_STROKE_SYMMETRICAL_CRANK_SENSOR", "FOUR_STROKE_THREE_TIMES_CRANK_SENSOR" +#define output_pin_e_enum "NONE", "INVALID", "P00 (A_0)", "P01 (A_1)", "P02 (A_2)", "P03 (A_3)", "P04 (A_4)", "P05 (A_5)", "P06 (A_6)", "P07 (A_7)", "P08 (A_8)", "P09 (A_9)", "P0A (A_10)", "P0B (A_11)", "P0C (A_12)", "P0D (A_13)", "P0E (A_14)", "P0F (A_15)", "P10 (B_0)", "P11 (B_1)", "P12 (B_2)", "P13 (B_3)", "P14 (B_4)", "P15 (B_5)", "P16 (B_6)", "P17 (B_7)", "P18 (B_8)", "P19 (B_9)", "P1A (B_10)", "P1B (B_11)", "P1C (B_12)", "P1D (B_13)", "P1E (B_14)", "P1F (B_15)", "P20 (C_0)", "P21 (C_1)", "P22 (C_2)", "P23 (C_3)", "P24 (C_4)", "P25 (C_5)", "P26 (C_6)", "P27 (C_7)", "P28 (C_8)", "P29 (C_9)", "P2A (C_10)", "P2B (C_11)", "P2C (C_12)", "P2D (C_13)", "P2E (C_14)", "P2F (C_15)", "P30 (D_0)", "P31 (D_1)", "P32 (D_2)", "P33 (D_3)", "P34 (D_4)", "P35 (D_5)", "P36 (D_6)", "P37 (D_7)", "P38 (D_8)", "P39 (D_9)", "P3A (D_10)", "P3B (D_11)", "P3C (D_12)", "P3D (D_13)", "P3E (D_14)", "P3F (D_15)", "P40 (E_0)", "P41 (E_1)", "P42 (E_2)", "P43 (E_3)", "P44 (E_4)", "P45 (E_5)", "P46 (E_6)", "P47 (E_7)", "P48 (E_8)", "P49 (E_9)", "P4A (E_10)", "P4B (E_11)", "P4C (E_12)", "P4D (E_13)", "P4E (E_14)", "P4F (E_15)", "P50 (F_0)", "P51 (F_1)", "P52 (F_2)", "P53 (F_3)", "P54 (F_4)", "P55 (F_5)", "P56 (F_6)", "P57 (F_7)", "P58 (F_8)", "P59 (F_9)", "P5A (F_10)", "P5B (F_11)", "P5C (F_12)", "P5D (F_13)", "P5E (F_14)", "P5F (F_15)", "P70 (G_0)", "P71 (G_1)", "P72 (G_2)", "P73 (G_3)", "P74 (G_4)", "P75 (G_5)", "P76 (G_6)", "P77 (G_7)", "P78 (G_8)", "P79 (G_9)", "P7A (G_10)", "P7B (G_11)", "P7C (G_12)", "P7D (G_13)", "P7E (G_14)", "P7F (G_15)", "PA0 (H_0)", "PA1 (H_1)", "PA2 (H_2)", "PA3 (H_3)", "PA4 (H_4)", "PA5 (H_5)", "PA6 (H_6)", "PA7 (H_7)", "PA8 (H_8)", "PA9 (H_9)", "PAA (H_10)", "PAB (H_11)", "PAC (H_12)", "PAD (H_13)", "PAE (H_14)", "PAF (H_15)", "PB0 (I_0)", "PB1 (I_1)", "PB2 (I_2)", "PB3 (I_3)", "PB4 (I_4)", "PB5 (I_5)", "PB6 (I_6)", "PB7 (I_7)", "PB8 (I_8)", "PB9 (I_9)", "PBA (I_10)", "PBB (I_11)", "PBC (I_12)", "PBD (I_13)", "PBE (I_14)", "PBF (I_15)", "PC0 (J_0)", "PC1 (J_1)", "PC2 (J_2)", "PC3 (J_3)", "PC4 (J_4)", "PC5 (J_5)", "PC6 (J_6)", "PC7 (J_7)", "PC8 (J_8)", "PC9 (J_9)", "PCA (J_10)", "PCB (J_11)", "PCC (J_12)", "PCD (J_13)", "PCE (J_14)", "PCF (J_15)", "PF0 (K_0)", "PF1 (K_1)", "PF2 (K_2)", "PF3 (K_3)", "PF4 (K_4)", "PF5 (K_5)", "PF6 (K_6)", "PF7 (K_7)", "PF8 (K_8)", "PF9 (K_9)", "PFA (K_10)", "PFB (K_11)", "PFC (K_12)", "PFD (K_13)", "PFE (K_14)", "PFF (K_15)", "DRV8860_1", "DRV8860_2", "DRV8860_3", "DRV8860_4", "DRV8860_5", "DRV8860_6", "DRV8860_7", "DRV8860_8", "DRV8860_9", "DRV8860_10", "DRV8860_11", "DRV8860_12", "DRV8860_13", "DRV8860_14", "DRV8860_15", "DRV8860_16" #define overrideCrankingIacSetting_offset 1476 -#define overrideCrankingIacSetting_offset_hex 5c4 -#define overrideCrankingIgnition_offset 516 -#define overrideCrankingIgnition_offset_hex 204 +#define PACK_ADD_TEMPERATURE 40 #define PACK_MULT_AFR 1000 +#define PACK_MULT_AFR_CFG 10 #define PACK_MULT_ANGLE 50 +#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 pauseEtbControl_offset 744 -#define pauseEtbControl_offset_hex 2e8 #define PEDAL_TO_TPS_SIZE 8 #define pedalToTpsPedalBins_offset 6464 -#define pedalToTpsPedalBins_offset_hex 1940 #define pedalToTpsRpmBins_offset 6472 -#define pedalToTpsRpmBins_offset_hex 1948 #define pedalToTpsTable_offset 6400 -#define pedalToTpsTable_offset_hex 1900 +#define persistent_config_s_size 20000 +#define pid_s_size 20 #define pidExtraForLowRpm_offset 3156 -#define pidExtraForLowRpm_offset_hex c54 +#define pin_input_mode_e_auto_enum "PI_DEFAULT", "PI_PULLUP", "PI_PULLDOWN" +#define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" #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_output_mode_e_auto_enum "OM_DEFAULT", "OM_INVERTED", "OM_OPENDRAIN", "OM_OPENDRAIN_INVERTED" #define pin_output_mode_e_enum "default", "default inverted", "open collector", "open collector inverted" #define postCrankingDurationSec_offset 2440 -#define postCrankingDurationSec_offset_hex 988 #define postCrankingFactor_offset 2436 -#define postCrankingFactor_offset_hex 984 -#define postCrankingTargetClt_offset 2432 -#define postCrankingTargetClt_offset_hex 980 #define primeInjFalloffTemperature_offset 1486 -#define primeInjFalloffTemperature_offset_hex 5ce #define primingSquirtDurationMs_offset 96 -#define primingSquirtDurationMs_offset_hex 60 #define PROTOCOL_ANALOG_CHART "analog_chart" #define PROTOCOL_COIL1_SHORT_NAME "c1" #define PROTOCOL_CRANK1 "t1" #define PROTOCOL_CRANK2 "t2" #define PROTOCOL_CRANK3 "t3" -#define PROTOCOL_DIZZY_NAME "dizzy" #define PROTOCOL_ENGINE_SNIFFER "wave_chart" #define PROTOCOL_ES_DOWN "d" #define PROTOCOL_ES_UP "u" +#define PROTOCOL_HELLO_PREFIX "***" #define PROTOCOL_HIP_NAME "HIP" #define PROTOCOL_INJ1_SHORT_NAME "i1" +#define PROTOCOL_MSG "msg" #define PROTOCOL_OUTPIN "outpin" +#define PROTOCOL_SIGNATURE_PREFIX "rusEFI " #define PROTOCOL_TACH_NAME "tach" #define PROTOCOL_TEST_RESPONSE_TAG "ts_p_alive" #define PROTOCOL_VERSION_TAG "rusEfiVersion" @@ -1610,368 +1139,333 @@ #define PROTOCOL_WA_CHANNEL_2 "input2" #define PROTOCOL_WA_CHANNEL_3 "input3" #define PROTOCOL_WA_CHANNEL_4 "input4" +#define rollingLaunchEnabled_offset 76 #define RPM_1_BYTE_PACKING_MULT 50 #define rpmHardLimit_offset 416 -#define rpmHardLimit_offset_hex 1a0 #define runningLedPin_offset 1813 -#define runningLedPin_offset_hex 715 #define sdCardCsPin_offset 707 -#define sdCardCsPin_offset_hex 2c3 #define sdCardPeriodMs_offset 804 -#define sdCardPeriodMs_offset_hex 324 #define sdCardSpiDevice_offset 2592 -#define sdCardSpiDevice_offset_hex a20 +#define secondSolenoidPin_offset 810 #define secondTriggerChannelEnabled_offset 1476 -#define secondTriggerChannelEnabled_offset_hex 5c4 +#define sensor_chart_e_auto_enum "SC_OFF", "SC_TRIGGER", "SC_MAP", "SC_RPM_ACCEL", "SC_DETAILED_RPM", "SC_AUX_FAST1" #define sensor_chart_e_enum "none", "trigger", "MAP", "RPM ACCEL", "DETAILED RPM", "Fast Aux1", "INVALID", "INVALID" #define sensorChartFrequency_offset 520 -#define sensorChartFrequency_offset_hex 208 #define sensorChartMode_offset 944 -#define sensorChartMode_offset_hex 3b0 #define sensorSnifferRpmThreshold_offset 412 -#define sensorSnifferRpmThreshold_offset_hex 19c #define SERVO_COUNT 8 #define servoOutputPins1_offset 3140 -#define servoOutputPins1_offset_hex c44 #define servoOutputPins2_offset 3141 -#define servoOutputPins2_offset_hex c45 #define servoOutputPins3_offset 3142 -#define servoOutputPins3_offset_hex c46 #define servoOutputPins4_offset 3143 -#define servoOutputPins4_offset_hex c47 #define servoOutputPins5_offset 3144 -#define servoOutputPins5_offset_hex c48 #define servoOutputPins6_offset 3145 -#define servoOutputPins6_offset_hex c49 #define servoOutputPins7_offset 3146 -#define servoOutputPins7_offset_hex c4a #define servoOutputPins8_offset 3147 -#define servoOutputPins8_offset_hex c4b +#define show_Frankenso_presets true +#define show_microRusEFI_presets true +#define show_Proteus_presets true +#define show_test_presets true +#define showHumanReadableWarning_offset 976 #define showSdCardWarning_offset 76 -#define showSdCardWarning_offset_hex 4c +#define SIGNATURE_BOARD hellen_cypress +#define SIGNATURE_DATE 2020.09.21 +#define SIGNATURE_HASH 2762854905 #define silentTriggerError_offset 1464 -#define silentTriggerError_offset_hex 5b8 #define slowAdcAlpha_offset 2088 -#define slowAdcAlpha_offset_hex 828 +#define solenoidPadding_offset 1198 #define sparkDwellRpmBins_offset 332 -#define sparkDwellRpmBins_offset_hex 14c #define sparkDwellValues_offset 364 -#define sparkDwellValues_offset_hex 16c #define specs_offset 396 -#define specs_offset_hex 18c +#define specs_s_size 12 #define spi1MisoMode_offset 2598 -#define spi1MisoMode_offset_hex a26 #define spi1misoPin_offset 929 -#define spi1misoPin_offset_hex 3a1 #define spi1MosiMode_offset 2597 -#define spi1MosiMode_offset_hex a25 #define spi1mosiPin_offset 928 -#define spi1mosiPin_offset_hex 3a0 #define spi1SckMode_offset 2596 -#define spi1SckMode_offset_hex a24 #define spi1sckPin_offset 930 -#define spi1sckPin_offset_hex 3a2 #define spi2MisoMode_offset 2601 -#define spi2MisoMode_offset_hex a29 #define spi2misoPin_offset 932 -#define spi2misoPin_offset_hex 3a4 #define spi2MosiMode_offset 2600 -#define spi2MosiMode_offset_hex a28 #define spi2mosiPin_offset 931 -#define spi2mosiPin_offset_hex 3a3 #define spi2SckMode_offset 2599 -#define spi2SckMode_offset_hex a27 #define spi2sckPin_offset 933 -#define spi2sckPin_offset_hex 3a5 #define spi3MisoMode_offset 2604 -#define spi3MisoMode_offset_hex a2c #define spi3misoPin_offset 935 -#define spi3misoPin_offset_hex 3a7 #define spi3MosiMode_offset 2603 -#define spi3MosiMode_offset_hex a2b #define spi3mosiPin_offset 934 -#define spi3mosiPin_offset_hex 3a6 #define spi3SckMode_offset 2602 -#define spi3SckMode_offset_hex a2a #define spi3sckPin_offset 936 -#define spi3sckPin_offset_hex 3a8 -#define starterRelayPin_offset 808 -#define starterRelayPin_offset_hex 328 -#define starterRelayPinMode_offset 809 -#define starterRelayPinMode_offset_hex 329 +#define spi_device_e_auto_enum "SPI_NONE", "SPI_DEVICE_1", "SPI_DEVICE_2", "SPI_DEVICE_3", "SPI_DEVICE_4" +#define spi_pins_size 4 +#define startCrankingDuration_offset 826 +#define starterControlPin_offset 1772 +#define starterControlPinMode_offset 2126 +#define starterRelayDisableMode_offset 809 +#define starterRelayDisablePin_offset 808 #define startOfCrankingPrimingPulse_offset 2032 -#define startOfCrankingPrimingPulse_offset_hex 7f0 +#define startStopButtonMode_offset 1773 +#define startStopButtonPin_offset 811 #define startUpFuelPumpDuration_offset 1892 -#define startUpFuelPumpDuration_offset_hex 764 -#define step1fuelCutEnable_offset 1464 -#define step1fuelCutEnable_offset_hex 5b8 -#define step1rpm_offset 316 -#define step1rpm_offset_hex 13c -#define step1RpmWindow_offset 1784 -#define step1RpmWindow_offset_hex 6f8 -#define step1SparkCutEnable_offset 1464 -#define step1SparkCutEnable_offset_hex 5b8 -#define step1timing_offset 320 -#define step1timing_offset_hex 140 #define stepperDirectionPinMode_offset 3102 -#define stepperDirectionPinMode_offset_hex c1e #define stepperEnablePin_offset 3104 -#define stepperEnablePin_offset_hex c20 #define stepperEnablePinMode_offset 2605 -#define stepperEnablePinMode_offset_hex a2d #define stepperForceParkingEveryRestart_offset 744 -#define stepperForceParkingEveryRestart_offset_hex 2e8 #define stepperParkingExtraSteps_offset 818 -#define stepperParkingExtraSteps_offset_hex 332 +#define stft_cell_cfg_s_size 4 +#define STFT_CELL_COUNT 4 +#define stft_cellCfgs1_maxAdd_offset 1072 +#define stft_cellCfgs1_maxRemove_offset 1073 +#define stft_cellCfgs1_offset 1072 +#define stft_cellCfgs1_timeConstant_offset 1074 +#define stft_cellCfgs2_maxAdd_offset 1076 +#define stft_cellCfgs2_maxRemove_offset 1077 +#define stft_cellCfgs2_offset 1076 +#define stft_cellCfgs2_timeConstant_offset 1078 +#define stft_cellCfgs3_maxAdd_offset 1080 +#define stft_cellCfgs3_maxRemove_offset 1081 +#define stft_cellCfgs3_offset 1080 +#define stft_cellCfgs3_timeConstant_offset 1082 +#define stft_cellCfgs4_maxAdd_offset 1084 +#define stft_cellCfgs4_maxRemove_offset 1085 +#define stft_cellCfgs4_offset 1084 +#define stft_cellCfgs4_timeConstant_offset 1086 +#define stft_deadband_offset 1067 +#define stft_maxAfr_offset 1070 +#define stft_maxIdleRegionRpm_offset 1064 +#define stft_maxOverrunLoad_offset 1065 +#define stft_minAfr_offset 1069 +#define stft_minClt_offset 1068 +#define stft_minPowerLoad_offset 1066 +#define stft_offset 1064 +#define stft_s_size 24 +#define stft_startupDelay_offset 1071 +#define stftIgnoreErrorMagnitude_offset 976 +#define stoichRatioPrimary_offset 4005 #define storageMode_offset 2260 -#define storageMode_offset_hex 8d4 -#define switch_input_pin_e_enum "NONE", "INVALID", "P00 (A_0)", "P01 (A_1)", "P02 (A_2)", "P03 (A_3)", "P04 (A_4)", "P05 (A_5)", "P06 (A_6)", "P07 (A_7)", "P08 (A_8)", "P09 (A_9)", "P0A (A_10)", "P0B (A_11)", "P0C (A_12)", "P0D (A_13)", "P0E (A_14)", "P0F (A_15)", "P10 (B_0)", "P11 (B_1)", "P12 (B_2)", "P13 (B_3)", "P14 (B_4)", "P15 (B_5)", "P16 (B_6)", "P17 (B_7)", "P18 (B_8)", "P19 (B_9)", "P1A (B_10)", "P1B (B_11)", "P1C (B_12)", "P1D (B_13)", "P1E (B_14)", "P1F (B_15)", "P20 (C_0)", "P21 (C_1)", "P22 (C_2)", "P23 (C_3)", "P24 (C_4)", "P25 (C_5)", "P26 (C_6)", "P27 (C_7)", "P28 (C_8)", "P29 (C_9)", "P2A (C_10)", "P2B (C_11)", "P2C (C_12)", "P2D (C_13)", "P2E (C_14)", "P2F (C_15)", "P30 (D_0)", "P31 (D_1)", "P32 (D_2)", "P33 (D_3)", "P34 (D_4)", "P35 (D_5)", "P36 (D_6)", "P37 (D_7)", "P38 (D_8)", "P39 (D_9)", "P3A (D_10)", "P3B (D_11)", "P3C (D_12)", "P3D (D_13)", "P3E (D_14)", "P3F (D_15)", "P40 (E_0)", "P41 (E_1)", "P42 (E_2)", "P43 (E_3)", "P44 (E_4)", "P45 (E_5)", "P46 (E_6)", "P47 (E_7)", "P48 (E_8)", "P49 (E_9)", "P4A (E_10)", "P4B (E_11)", "P4C (E_12)", "P4D (E_13)", "P4E (E_14)", "P4F (E_15)", "P50 (F_0)", "P51 (F_1)", "P52 (F_2)", "P53 (F_3)", "P54 (F_4)", "P55 (F_5)", "P56 (F_6)", "P57 (F_7)", "P58 (F_8)", "P59 (F_9)", "P5A (F_10)", "P5B (F_11)", "P5C (F_12)", "P5D (F_13)", "P5E (F_14)", "P5F (F_15)", "P70 (G_0)", "P71 (G_1)", "P72 (G_2)", "P73 (G_3)", "P74 (G_4)", "P75 (G_5)", "P76 (G_6)", "P77 (G_7)", "P78 (G_8)", "P79 (G_9)", "P7A (G_10)", "P7B (G_11)", "P7C (G_12)", "P7D (G_13)", "P7E (G_14)", "P7F (G_15)", "PA0 (H_0)", "PA1 (H_1)", "PA2 (H_2)", "PA3 (H_3)", "PA4 (H_4)", "PA5 (H_5)", "PA6 (H_6)", "PA7 (H_7)", "PA8 (H_8)", "PA9 (H_9)", "PAA (H_10)", "PAB (H_11)", "PAC (H_12)", "PAD (H_13)", "PAE (H_14)", "PAF (H_15)", "PB0 (I_0)", "PB1 (I_1)", "PB2 (I_2)", "PB3 (I_3)", "PB4 (I_4)", "PB5 (I_5)", "PB6 (I_6)", "PB7 (I_7)", "PB8 (I_8)", "PB9 (I_9)", "PBA (I_10)", "PBB (I_11)", "PBC (I_12)", "PBD (I_13)", "PBE (I_14)", "PBF (I_15)", "PC0 (J_0)", "PC1 (J_1)", "PC2 (J_2)", "PC3 (J_3)", "PC4 (J_4)", "PC5 (J_5)", "PC6 (J_6)", "PC7 (J_7)", "PC8 (J_8)", "PC9 (J_9)", "PCA (J_10)", "PCB (J_11)", "PCC (J_12)", "PCD (J_13)", "PCE (J_14)", "PCF (J_15)", "PF0 (K_0)", "PF1 (K_1)", "PF2 (K_2)", "PF3 (K_3)", "PF4 (K_4)", "PF5 (K_5)", "PF6 (K_6)", "PF7 (K_7)", "PF8 (K_8)", "PF9 (K_9)", "PFA (K_10)", "PFB (K_11)", "PFC (K_12)", "PFD (K_13)", "PFE (K_14)", "PFF (K_15)", "DRV8860_1", "DRV8860_2", "DRV8860_3", "DRV8860_4", "DRV8860_5", "DRV8860_6", "DRV8860_7", "DRV8860_8", "DRV8860_9", "DRV8860_10", "DRV8860_11", "DRV8860_12", "DRV8860_13", "DRV8860_14", "DRV8860_15", "DRV8860_16", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID" +#define switch_input_pin_e_enum "NONE", "INVALID", "P00 (A_0)", "P01 (A_1)", "P02 (A_2)", "P03 (A_3)", "P04 (A_4)", "P05 (A_5)", "P06 (A_6)", "P07 (A_7)", "P08 (A_8)", "P09 (A_9)", "P0A (A_10)", "P0B (A_11)", "P0C (A_12)", "P0D (A_13)", "P0E (A_14)", "P0F (A_15)", "P10 (B_0)", "P11 (B_1)", "P12 (B_2)", "P13 (B_3)", "P14 (B_4)", "P15 (B_5)", "P16 (B_6)", "P17 (B_7)", "P18 (B_8)", "P19 (B_9)", "P1A (B_10)", "P1B (B_11)", "P1C (B_12)", "P1D (B_13)", "P1E (B_14)", "P1F (B_15)", "P20 (C_0)", "P21 (C_1)", "P22 (C_2)", "P23 (C_3)", "P24 (C_4)", "P25 (C_5)", "P26 (C_6)", "P27 (C_7)", "P28 (C_8)", "P29 (C_9)", "P2A (C_10)", "P2B (C_11)", "P2C (C_12)", "P2D (C_13)", "P2E (C_14)", "P2F (C_15)", "P30 (D_0)", "P31 (D_1)", "P32 (D_2)", "P33 (D_3)", "P34 (D_4)", "P35 (D_5)", "P36 (D_6)", "P37 (D_7)", "P38 (D_8)", "P39 (D_9)", "P3A (D_10)", "P3B (D_11)", "P3C (D_12)", "P3D (D_13)", "P3E (D_14)", "P3F (D_15)", "P40 (E_0)", "P41 (E_1)", "P42 (E_2)", "P43 (E_3)", "P44 (E_4)", "P45 (E_5)", "P46 (E_6)", "P47 (E_7)", "P48 (E_8)", "P49 (E_9)", "P4A (E_10)", "P4B (E_11)", "P4C (E_12)", "P4D (E_13)", "P4E (E_14)", "P4F (E_15)", "P50 (F_0)", "P51 (F_1)", "P52 (F_2)", "P53 (F_3)", "P54 (F_4)", "P55 (F_5)", "P56 (F_6)", "P57 (F_7)", "P58 (F_8)", "P59 (F_9)", "P5A (F_10)", "P5B (F_11)", "P5C (F_12)", "P5D (F_13)", "P5E (F_14)", "P5F (F_15)", "P70 (G_0)", "P71 (G_1)", "P72 (G_2)", "P73 (G_3)", "P74 (G_4)", "P75 (G_5)", "P76 (G_6)", "P77 (G_7)", "P78 (G_8)", "P79 (G_9)", "P7A (G_10)", "P7B (G_11)", "P7C (G_12)", "P7D (G_13)", "P7E (G_14)", "P7F (G_15)", "PA0 (H_0)", "PA1 (H_1)", "PA2 (H_2)", "PA3 (H_3)", "PA4 (H_4)", "PA5 (H_5)", "PA6 (H_6)", "PA7 (H_7)", "PA8 (H_8)", "PA9 (H_9)", "PAA (H_10)", "PAB (H_11)", "PAC (H_12)", "PAD (H_13)", "PAE (H_14)", "PAF (H_15)", "PB0 (I_0)", "PB1 (I_1)", "PB2 (I_2)", "PB3 (I_3)", "PB4 (I_4)", "PB5 (I_5)", "PB6 (I_6)", "PB7 (I_7)", "PB8 (I_8)", "PB9 (I_9)", "PBA (I_10)", "PBB (I_11)", "PBC (I_12)", "PBD (I_13)", "PBE (I_14)", "PBF (I_15)", "PC0 (J_0)", "PC1 (J_1)", "PC2 (J_2)", "PC3 (J_3)", "PC4 (J_4)", "PC5 (J_5)", "PC6 (J_6)", "PC7 (J_7)", "PC8 (J_8)", "PC9 (J_9)", "PCA (J_10)", "PCB (J_11)", "PCC (J_12)", "PCD (J_13)", "PCE (J_14)", "PCF (J_15)", "PF0 (K_0)", "PF1 (K_1)", "PF2 (K_2)", "PF3 (K_3)", "PF4 (K_4)", "PF5 (K_5)", "PF6 (K_6)", "PF7 (K_7)", "PF8 (K_8)", "PF9 (K_9)", "PFA (K_10)", "PFB (K_11)", "PFC (K_12)", "PFD (K_13)", "PFE (K_14)", "PFF (K_15)", "DRV8860_1", "DRV8860_2", "DRV8860_3", "DRV8860_4", "DRV8860_5", "DRV8860_6", "DRV8860_7", "DRV8860_8", "DRV8860_9", "DRV8860_10", "DRV8860_11", "DRV8860_12", "DRV8860_13", "DRV8860_14", "DRV8860_15", "DRV8860_16" #define tachOutputPin_offset 704 -#define tachOutputPin_offset_hex 2c0 #define tachOutputPinMode_offset 705 -#define tachOutputPinMode_offset_hex 2c1 #define tachPulseDuractionMs_offset 1704 -#define tachPulseDuractionMs_offset_hex 6a8 #define tachPulseDurationAsDutyCycle_offset 1464 -#define tachPulseDurationAsDutyCycle_offset_hex 5b8 #define tachPulsePerRev_offset 1775 -#define tachPulsePerRev_offset_hex 6ef #define tachPulseTriggerIndex_offset 1708 -#define tachPulseTriggerIndex_offset_hex 6ac #define targetVBatt_offset 2024 -#define targetVBatt_offset_hex 7e8 #define tChargeAirCoefMax_offset 3868 -#define tChargeAirCoefMax_offset_hex f1c #define tChargeAirCoefMin_offset 3864 -#define tChargeAirCoefMin_offset_hex f18 #define tChargeAirDecrLimit_offset 3880 -#define tChargeAirDecrLimit_offset_hex f28 #define tChargeAirFlowMax_offset 3872 -#define tChargeAirFlowMax_offset_hex f20 #define tChargeAirIncrLimit_offset 3876 -#define tChargeAirIncrLimit_offset_hex f24 #define tChargeMaxRpmMaxTps_offset 2244 -#define tChargeMaxRpmMaxTps_offset_hex 8c4 #define tChargeMaxRpmMinTps_offset 2240 -#define tChargeMaxRpmMinTps_offset_hex 8c0 #define tChargeMinRpmMaxTps_offset 2236 -#define tChargeMinRpmMaxTps_offset_hex 8bc #define tChargeMinRpmMinTps_offset 2232 -#define tChargeMinRpmMinTps_offset_hex 8b8 +#define tChargeMode_e_auto_enum "TCHARGE_MODE_RPM_TPS", "TCHARGE_MODE_AIR_INTERP" #define tChargeMode_e_enum "RPM+TPS (Default)", "Air Mass Interpolation" #define tChargeMode_offset 3884 -#define tChargeMode_offset_hex f2c +#define TCU_GEAR_COUNT 10 +#define tcu_solenoid1_offset 1192 +#define tcu_solenoid2_offset 1193 +#define tcu_solenoid3_offset 1194 +#define tcu_solenoid4_offset 1195 +#define tcu_solenoid5_offset 1196 +#define tcu_solenoid6_offset 1197 +#define TCU_SOLENOID_COUNT 6 +#define tcuDownshiftButtonPin_offset 1819 +#define tcuDownshiftButtonPinMode_offset 4515 +#define tcuEnabled_offset 976 +#define tcuSolenoidTable_offset 15136 +#define tcuUpshiftButtonPin_offset 1818 +#define tcuUpshiftButtonPinMode_offset 4514 #define test557pin_offset 3101 -#define test557pin_offset_hex c1d +#define thermistor_conf_s_size 28 +#define ThermistorConf_size 32 #define throttlePedalPositionAdcChannel_offset 580 -#define throttlePedalPositionAdcChannel_offset_hex 244 #define throttlePedalPositionSecondAdcChannel_offset 683 -#define throttlePedalPositionSecondAdcChannel_offset_hex 2ab +#define throttlePedalSecondaryUpVoltage_offset 2100 +#define throttlePedalSecondaryWOTVoltage_offset 2104 #define throttlePedalUpPin_offset 583 -#define throttlePedalUpPin_offset_hex 247 #define throttlePedalUpPinMode_offset 710 -#define throttlePedalUpPinMode_offset_hex 2c6 #define throttlePedalUpVoltage_offset 1884 -#define throttlePedalUpVoltage_offset_hex 75c #define throttlePedalWOTVoltage_offset 1888 -#define throttlePedalWOTVoltage_offset_hex 760 +#define timing_mode_e_auto_enum "TM_DYNAMIC", "TM_FIXED" #define timing_offset_cylinder10_offset 2576 -#define timing_offset_cylinder10_offset_hex a10 #define timing_offset_cylinder11_offset 2580 -#define timing_offset_cylinder11_offset_hex a14 #define timing_offset_cylinder12_offset 2584 -#define timing_offset_cylinder12_offset_hex a18 #define timing_offset_cylinder1_offset 2540 -#define timing_offset_cylinder1_offset_hex 9ec #define timing_offset_cylinder2_offset 2544 -#define timing_offset_cylinder2_offset_hex 9f0 #define timing_offset_cylinder3_offset 2548 -#define timing_offset_cylinder3_offset_hex 9f4 #define timing_offset_cylinder4_offset 2552 -#define timing_offset_cylinder4_offset_hex 9f8 #define timing_offset_cylinder5_offset 2556 -#define timing_offset_cylinder5_offset_hex 9fc #define timing_offset_cylinder6_offset 2560 -#define timing_offset_cylinder6_offset_hex a00 #define timing_offset_cylinder7_offset 2564 -#define timing_offset_cylinder7_offset_hex a04 #define timing_offset_cylinder8_offset 2568 -#define timing_offset_cylinder8_offset_hex a08 #define timing_offset_cylinder9_offset 2572 -#define timing_offset_cylinder9_offset_hex a0c #define timingAdditive_offset 10072 -#define timingAdditive_offset_hex 2758 #define timingMode_offset 448 -#define timingMode_offset_hex 1c0 #define timingMultiplier_offset 9872 -#define timingMultiplier_offset_hex 2690 #define tle6240_cs_offset 581 -#define tle6240_cs_offset_hex 245 #define tle6240_csPinMode_offset 582 -#define tle6240_csPinMode_offset_hex 246 #define tle6240spiDevice_offset 4004 -#define tle6240spiDevice_offset_hex fa4 #define tle8888_cs_offset 3105 -#define tle8888_cs_offset_hex c21 #define tle8888_csPinMode_offset 3106 -#define tle8888_csPinMode_offset_hex c22 +#define tle8888_mode_e_auto_enum "TL_AUTO", "TL_SEMI_AUTO", "TL_MANUAL", "TL_HALL" +#define tle8888mode_offset 2416 #define tle8888spiDevice_offset 4000 -#define tle8888spiDevice_offset_hex fa0 #define todoClutchDownPinInverted_offset 976 -#define todoClutchDownPinInverted_offset_hex 3d0 #define todoClutchUpPinInverted_offset 976 -#define todoClutchUpPinInverted_offset_hex 3d0 +#define TOOTH_DATA_LENGTH 2000 +#define TOOTH_PACKET_COUNT 1000 +#define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TOTAL_CONFIG_SIZE 20000 -#define TOTAL_CONFIG_SIZE_hex 4e20 #define tps1_1AdcChannel_offset 512 -#define tps1_1AdcChannel_offset_hex 200 #define tps1_2AdcChannel_offset 681 -#define tps1_2AdcChannel_offset_hex 2a9 +#define tps1SecondaryMax_offset 822 +#define tps1SecondaryMin_offset 820 #define tps2_1AdcChannel_offset 515 -#define tps2_1AdcChannel_offset_hex 203 #define tps2_2AdcChannel_offset 682 -#define tps2_2AdcChannel_offset_hex 2aa #define tps2Max_offset 1770 -#define tps2Max_offset_hex 6ea #define tps2Min_offset 1768 -#define tps2Min_offset_hex 6e8 +#define tps2SecondaryMax_offset 1462 +#define tps2SecondaryMin_offset 1460 +#define TPS_1_BYTE_PACKING_MULT 2 #define TPS_TPS_ACCEL_TABLE 8 #define tpsAccelEnrichmentThreshold_offset 2048 -#define tpsAccelEnrichmentThreshold_offset_hex 800 #define tpsAccelFractionDivisor_offset 3996 -#define tpsAccelFractionDivisor_offset_hex f9c #define tpsAccelFractionPeriod_offset 3994 -#define tpsAccelFractionPeriod_offset_hex f9a #define tpsAccelLength_offset 2044 -#define tpsAccelLength_offset_hex 7fc #define tpsDecelEnleanmentMultiplier_offset 2084 -#define tpsDecelEnleanmentMultiplier_offset_hex 824 #define tpsDecelEnleanmentThreshold_offset 2080 -#define tpsDecelEnleanmentThreshold_offset_hex 820 #define tpsErrorDetectionTooHigh_offset 86 -#define tpsErrorDetectionTooHigh_offset_hex 56 #define tpsErrorDetectionTooLow_offset 84 -#define tpsErrorDetectionTooLow_offset_hex 54 #define tpsMax_offset 82 -#define tpsMax_offset_hex 52 #define tpsMin_offset 80 -#define tpsMin_offset_hex 50 #define tpsTpsAccelFromRpmBins_offset 19232 -#define tpsTpsAccelFromRpmBins_offset_hex 4b20 #define tpsTpsAccelTable_offset 18976 -#define tpsTpsAccelTable_offset_hex 4a20 #define tpsTpsAccelToRpmBins_offset 19264 -#define tpsTpsAccelToRpmBins_offset_hex 4b40 +#define trigger_config_s_size 16 #define trigger_customSkippedToothCount_offset 536 -#define trigger_customSkippedToothCount_offset_hex 218 #define trigger_customTotalToothCount_offset 532 -#define trigger_customTotalToothCount_offset_hex 214 #define TRIGGER_INPUT_PIN_COUNT 3 #define trigger_offset 524 -#define trigger_offset_hex 20c #define TRIGGER_SIMULATOR_PIN_COUNT 3 -#define trigger_type_e_enum "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "Miata NB", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Honda 4+24+1", "Mitsubishi", "Honda 4+24", "Honda 1+4+24", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "1+60/2", "Single Tooth", "Dodge Ram 1+16", "60/2 VW", "Honda 1+24", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "2JZ", "Rover K", "GM LS 24", "Honda CBR 600", "2JZ_1_12", "Honda CBR 600 custom", "3/1 skipped" , "Dodge Neon 2003 crank", "Miata VVT", "trg34", "trg35", "Subaru 7+6", "Jeep 18-2-2-2", "WIP", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "trg43", "trg44", "trg45", "INVALID" +#define trigger_todoRemoveMeOneDay0_offset 528 +#define trigger_todoRemoveMeOneDay1_offset 528 +#define TRIGGER_TYPE_36_1 9 +#define TRIGGER_TYPE_60_2 8 +#define trigger_type_e_auto_enum "TT_TOOTHED_WHEEL", "TT_FORD_ASPIRE", "TT_DODGE_NEON_1995", "TT_MAZDA_MIATA_NA", "TT_MAZDA_MIATA_NB1", "TT_GM_7X", "TT_MINI_COOPER_R50", "TT_MAZDA_SOHC_4", "TT_TOOTHED_WHEEL_60_2", "TT_TOOTHED_WHEEL_36_1", "TT_HONDA_4_24_1", "TT_MITSUBISHI", "TT_HONDA_4_24", "TT_HONDA_1_4_24", "TT_DODGE_NEON_2003_CAM", "TT_MAZDA_DOHC_1_4", "TT_ONE_PLUS_ONE", "TT_VVT_JZ", "TT_ONE", "TT_DODGE_RAM", "TT_60_2_VW", "TT_HONDA_1_24", "TT_DODGE_STRATUS", "TT_36_2_2_2", "TT_NISSAN_SR20VE", "TT_2JZ_3_34", "TT_ROVER_K", "TT_GM_LS_24", "TT_HONDA_CBR_600", "TT_2JZ_1_12", "TT_HONDA_CBR_600_CUSTOM", "TT_3_1_CAM", "TT_DODGE_NEON_2003_CRANK", "TT_MIATA_VVT", "TT_HONDA_ACCORD_1_24_SHIFTED", "TT_MAZDA_MIATA_VVT_TEST", "TT_SUBARU_7_6", "TT_JEEP_18_2_2_2", "TT_NISSAN_SR20VE_360", "TT_DODGE_NEON_1995_ONLY_CRANK", "TT_JEEP_4_CYL", "TT_FIAT_IAW_P8", "TT_MAZDA_Z5", "TT_VVT_MIATA_NB2", "TT_RENIX_44_2_2", "TT_RENIX_66_2_2_2", "TT_HONDA_K_12_1", "TT_VVT_BOSCH_QUICK_START", "TT_TOOTHED_WHEEL_36_2", "TT_SUBARU_SVX", "TT_UNUSED" +#define trigger_type_e_enum "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "Miata NB", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Honda 4+24+1", "Mitsubishi", "Honda 4+24", "Honda 1+4+24", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Single Tooth", "Dodge Ram 1+16", "60/2 VW", "Honda 1+24", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM LS 24", "Honda CBR 600", "2JZ_1_12", "Honda CBR 600 custom", "3/1 skipped" , "Dodge Neon 2003 crank", "Miata VVT", "trg34", "trg35", "Subaru 7+6", "Jeep 18-2-2-2", "WIP", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "trg43", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "trg47", "36/2", "Subaru SVX", "trg50", "INVALID" #define trigger_type_offset 524 -#define trigger_type_offset_hex 20c #define trigger_unusedBit_4_10_offset 528 -#define trigger_unusedBit_4_10_offset_hex 210 #define trigger_unusedBit_4_11_offset 528 -#define trigger_unusedBit_4_11_offset_hex 210 #define trigger_unusedBit_4_12_offset 528 -#define trigger_unusedBit_4_12_offset_hex 210 #define trigger_unusedBit_4_13_offset 528 -#define trigger_unusedBit_4_13_offset_hex 210 #define trigger_unusedBit_4_14_offset 528 -#define trigger_unusedBit_4_14_offset_hex 210 #define trigger_unusedBit_4_15_offset 528 -#define trigger_unusedBit_4_15_offset_hex 210 #define trigger_unusedBit_4_16_offset 528 -#define trigger_unusedBit_4_16_offset_hex 210 #define trigger_unusedBit_4_17_offset 528 -#define trigger_unusedBit_4_17_offset_hex 210 #define trigger_unusedBit_4_18_offset 528 -#define trigger_unusedBit_4_18_offset_hex 210 #define trigger_unusedBit_4_19_offset 528 -#define trigger_unusedBit_4_19_offset_hex 210 #define trigger_unusedBit_4_20_offset 528 -#define trigger_unusedBit_4_20_offset_hex 210 #define trigger_unusedBit_4_21_offset 528 -#define trigger_unusedBit_4_21_offset_hex 210 #define trigger_unusedBit_4_22_offset 528 -#define trigger_unusedBit_4_22_offset_hex 210 #define trigger_unusedBit_4_23_offset 528 -#define trigger_unusedBit_4_23_offset_hex 210 #define trigger_unusedBit_4_24_offset 528 -#define trigger_unusedBit_4_24_offset_hex 210 #define trigger_unusedBit_4_25_offset 528 -#define trigger_unusedBit_4_25_offset_hex 210 #define trigger_unusedBit_4_26_offset 528 -#define trigger_unusedBit_4_26_offset_hex 210 #define trigger_unusedBit_4_27_offset 528 -#define trigger_unusedBit_4_27_offset_hex 210 #define trigger_unusedBit_4_28_offset 528 -#define trigger_unusedBit_4_28_offset_hex 210 #define trigger_unusedBit_4_29_offset 528 -#define trigger_unusedBit_4_29_offset_hex 210 #define trigger_unusedBit_4_30_offset 528 -#define trigger_unusedBit_4_30_offset_hex 210 #define trigger_unusedBit_4_31_offset 528 -#define trigger_unusedBit_4_31_offset_hex 210 #define trigger_unusedBit_4_3_offset 528 -#define trigger_unusedBit_4_3_offset_hex 210 #define trigger_unusedBit_4_4_offset 528 -#define trigger_unusedBit_4_4_offset_hex 210 #define trigger_unusedBit_4_5_offset 528 -#define trigger_unusedBit_4_5_offset_hex 210 #define trigger_unusedBit_4_6_offset 528 -#define trigger_unusedBit_4_6_offset_hex 210 #define trigger_unusedBit_4_7_offset 528 -#define trigger_unusedBit_4_7_offset_hex 210 #define trigger_unusedBit_4_8_offset 528 -#define trigger_unusedBit_4_8_offset_hex 210 #define trigger_unusedBit_4_9_offset 528 -#define trigger_unusedBit_4_9_offset_hex 210 -#define trigger_unusedTriggerBit0_offset 528 -#define trigger_unusedTriggerBit0_offset_hex 210 -#define trigger_unusedTriggerBit1_offset 528 -#define trigger_unusedTriggerBit1_offset_hex 210 #define trigger_useOnlyFirstChannel_offset 528 -#define trigger_useOnlyFirstChannel_offset_hex 210 #define triggerCompCenterVolt_offset 4036 -#define triggerCompCenterVolt_offset_hex fc4 #define triggerCompHystMax_offset 4038 -#define triggerCompHystMax_offset_hex fc6 #define triggerCompHystMin_offset 4037 -#define triggerCompHystMin_offset_hex fc5 #define triggerCompSensorSatRpm_offset 4039 -#define triggerCompSensorSatRpm_offset_hex fc7 #define triggerErrorPin_offset 828 -#define triggerErrorPin_offset_hex 33c #define triggerErrorPinMode_offset 829 -#define triggerErrorPinMode_offset_hex 33d #define triggerInputPins1_offset 700 -#define triggerInputPins1_offset_hex 2bc #define triggerInputPins2_offset 701 -#define triggerInputPins2_offset_hex 2bd #define triggerInputPins3_offset 702 -#define triggerInputPins3_offset_hex 2be #define triggerSimulatorFrequency_offset 620 -#define triggerSimulatorFrequency_offset_hex 26c #define triggerSimulatorPinModes1_offset 739 -#define triggerSimulatorPinModes1_offset_hex 2e3 #define triggerSimulatorPinModes2_offset 740 -#define triggerSimulatorPinModes2_offset_hex 2e4 #define triggerSimulatorPinModes3_offset 741 -#define triggerSimulatorPinModes3_offset_hex 2e5 #define triggerSimulatorPins1_offset 736 -#define triggerSimulatorPins1_offset_hex 2e0 #define triggerSimulatorPins2_offset 737 -#define triggerSimulatorPins2_offset_hex 2e1 #define triggerSimulatorPins3_offset 738 -#define triggerSimulatorPins3_offset_hex 2e2 -#define TS_FILE_VERSION 20191221 -#define TS_OUTPUT_SIZE 220 +#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_F 'F' +#define TS_COMMAND_F_char F +#define TS_COMPOSITE_DISABLE 2 +#define TS_COMPOSITE_ENABLE 1 +#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 20200310 +#define TS_GET_COMPOSITE_BUFFER_DONE_DIFFERENTLY '8' +#define TS_GET_COMPOSITE_BUFFER_DONE_DIFFERENTLY_char 8 +#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_LOGGER_GET_BUFFER 'L' +#define TS_GET_LOGGER_GET_BUFFER_char L +#define TS_GET_STRUCT '9' +#define TS_GET_STRUCT_char 9 +#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_OUTPUT_SIZE 288 +#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_READ_COMMAND 'R' +#define TS_READ_COMMAND_char R +#define TS_RESPONSE_BURN_OK 4 +#define TS_RESPONSE_COMMAND_OK 7 +#define TS_RESPONSE_OK 0 +#define TS_SD_PROTOCOL_DO 1 +#define TS_SD_PROTOCOL_FETCH_COMPRESSED 8 +#define TS_SD_PROTOCOL_FETCH_DATA 0x14 +#define TS_SD_PROTOCOL_FETCH_INFO 0x11 +#define TS_SD_PROTOCOL_READ_DIR 2 +#define TS_SD_PROTOCOL_REMOVE_FILE 6 +#define TS_SD_PROTOCOL_RTC 7 +#define TS_SD_R_COMMAND 'r' +#define TS_SD_R_COMMAND_char r +#define TS_SD_W_COMMAND 'w' +#define TS_SD_W_COMMAND_char w +#define TS_SET_LOGGER_SWITCH 'l' +#define TS_SET_LOGGER_SWITCH_char l +#define ts_show_analog_divider true +#define ts_show_auxserial_pins true +#define ts_show_can2 true +#define ts_show_can_pins true #define ts_show_cj125 true #define ts_show_egt true #define ts_show_etb true @@ -1981,241 +1475,159 @@ #define ts_show_hip9011 true #define ts_show_joystick true #define ts_show_lcd true -#define TS_SIGNATURE "rusEFI v1.08" +#define ts_show_main_relay true +#define ts_show_main_relay_microRusEFI_message false +#define ts_show_sd_card true +#define ts_show_software_knock false +#define ts_show_spi true +#define ts_show_trigger_comparator false +#define ts_show_tunerstudio_port true +#define TS_SIGNATURE "rusEFI 2020.09.21.hellen_cypress.2762854905" +#define TS_SINGLE_WRITE_COMMAND 'W' +#define TS_SINGLE_WRITE_COMMAND_char W +#define TS_TEST_COMMAND 't' // 0x74 #define tunerStudioSerialSpeed_offset 728 -#define tunerStudioSerialSpeed_offset_hex 2d8 #define twoWireBatchIgnition_offset 1476 -#define twoWireBatchIgnition_offset_hex 5c4 #define twoWireBatchInjection_offset 1476 -#define twoWireBatchInjection_offset_hex 5c4 +#define uart_device_e_auto_enum "UART_NONE", "UART_DEVICE_1", "UART_DEVICE_2", "UART_DEVICE_3", "UART_DEVICE_4" #define uartConsoleSerialSpeed_offset 2076 -#define uartConsoleSerialSpeed_offset_hex 81c -#define unrealisticRpmThreashold_offset 760 -#define unrealisticRpmThreashold_offset_hex 2f8 #define unused1059_offset 3964 -#define unused1059_offset_hex f7c -#define unused1234234_offset 2042 -#define unused1234234_offset_hex 7fa -#define unused_1484_bit_22_offset 1476 -#define unused_1484_bit_22_offset_hex 5c4 -#define unused_1484_bit_23_offset 1476 -#define unused_1484_bit_23_offset_hex 5c4 +#define unused1126_offset 2116 +#define unused1127_offset 2116 +#define unused1128_offset 2116 +#define unused1129_offset 2116 +#define unused1130_offset 2116 +#define unused1476b20_offset 1476 +#define unused15136_offset 15196 +#define unused2432_offset 2432 +#define unused244_1_offset 2420 +#define unused244_2_offset 2424 +#define unused244_3_offset 2428 +#define unused2508_offset 2508 +#define unused2516_offset 2516 +#define unused3288_offset 3288 +#define unused6312_offset 6312 +#define unused744b25_offset 744 #define unused_1484_bit_24_offset 1476 -#define unused_1484_bit_24_offset_hex 5c4 #define unused_1484_bit_25_offset 1476 -#define unused_1484_bit_25_offset_hex 5c4 #define unused_1484_bit_26_offset 1476 -#define unused_1484_bit_26_offset_hex 5c4 #define unused_1484_bit_27_offset 1476 -#define unused_1484_bit_27_offset_hex 5c4 #define unused_1484_bit_28_offset 1476 -#define unused_1484_bit_28_offset_hex 5c4 #define unused_1484_bit_29_offset 1476 -#define unused_1484_bit_29_offset_hex 5c4 #define unused_1484_bit_30_offset 1476 -#define unused_1484_bit_30_offset_hex 5c4 #define unused_1484_bit_31_offset 1476 -#define unused_1484_bit_31_offset_hex 5c4 -#define unused_former_warmup_target_afr_offset 2096 -#define unused_former_warmup_target_afr_offset_hex 830 -#define unused_offset 972 -#define unused_offset_hex 3cc -#define unusedAnotherOne_offset 744 -#define unusedAnotherOne_offset_hex 2e8 -#define unusedAtOldBoardConfigurationEnd_offset 988 -#define unusedAtOldBoardConfigurationEnd_offset_hex 3dc +#define unused_alFIn_offset 4024 +#define unused_former_warmup_target_afr_offset 2128 +#define unusedAt724_offset 724 +#define unusedAtOldBoardConfigurationEnd_offset 1204 +#define unusedAuxVoltage1_TODO_332_offset 2713 +#define unusedAuxVoltage2_TODO_332_offset 2714 #define unusedBit4_1476_offset 1476 -#define unusedBit4_1476_offset_hex 5c4 -#define unusedBit_249_10_offset 976 -#define unusedBit_249_10_offset_hex 3d0 -#define unusedBit_249_11_offset 976 -#define unusedBit_249_11_offset_hex 3d0 -#define unusedBit_249_12_offset 976 -#define unusedBit_249_12_offset_hex 3d0 -#define unusedBit_249_13_offset 976 -#define unusedBit_249_13_offset_hex 3d0 -#define unusedBit_249_14_offset 976 -#define unusedBit_249_14_offset_hex 3d0 -#define unusedBit_249_15_offset 976 -#define unusedBit_249_15_offset_hex 3d0 -#define unusedBit_249_16_offset 976 -#define unusedBit_249_16_offset_hex 3d0 -#define unusedBit_249_17_offset 976 -#define unusedBit_249_17_offset_hex 3d0 -#define unusedBit_249_18_offset 976 -#define unusedBit_249_18_offset_hex 3d0 -#define unusedBit_249_19_offset 976 -#define unusedBit_249_19_offset_hex 3d0 -#define unusedBit_249_20_offset 976 -#define unusedBit_249_20_offset_hex 3d0 -#define unusedBit_249_21_offset 976 -#define unusedBit_249_21_offset_hex 3d0 -#define unusedBit_249_22_offset 976 -#define unusedBit_249_22_offset_hex 3d0 -#define unusedBit_249_23_offset 976 -#define unusedBit_249_23_offset_hex 3d0 -#define unusedBit_249_24_offset 976 -#define unusedBit_249_24_offset_hex 3d0 -#define unusedBit_249_25_offset 976 -#define unusedBit_249_25_offset_hex 3d0 -#define unusedBit_249_26_offset 976 -#define unusedBit_249_26_offset_hex 3d0 -#define unusedBit_249_27_offset 976 -#define unusedBit_249_27_offset_hex 3d0 -#define unusedBit_249_28_offset 976 -#define unusedBit_249_28_offset_hex 3d0 -#define unusedBit_249_29_offset 976 -#define unusedBit_249_29_offset_hex 3d0 -#define unusedBit_249_2_offset 976 -#define unusedBit_249_2_offset_hex 3d0 -#define unusedBit_249_30_offset 976 -#define unusedBit_249_30_offset_hex 3d0 -#define unusedBit_249_31_offset 976 -#define unusedBit_249_31_offset_hex 3d0 -#define unusedBit_249_3_offset 976 -#define unusedBit_249_3_offset_hex 3d0 -#define unusedBit_249_4_offset 976 -#define unusedBit_249_4_offset_hex 3d0 -#define unusedBit_249_5_offset 976 -#define unusedBit_249_5_offset_hex 3d0 -#define unusedBit_249_6_offset 976 -#define unusedBit_249_6_offset_hex 3d0 -#define unusedBit_249_7_offset 976 -#define unusedBit_249_7_offset_hex 3d0 -#define unusedBit_249_8_offset 976 -#define unusedBit_249_8_offset_hex 3d0 -#define unusedBit_249_9_offset 976 -#define unusedBit_249_9_offset_hex 3d0 +#define unusedBit_251_29_offset 976 +#define unusedBit_287_30_offset 976 +#define unusedBit_287_31_offset 976 #define unusedBit_34_31_offset 76 -#define unusedBit_34_31_offset_hex 4c -#define unusedErrorPin_offset 2040 -#define unusedErrorPin_offset_hex 7f8 +#define unusedBit_485_10_offset 2116 +#define unusedBit_485_11_offset 2116 +#define unusedBit_485_12_offset 2116 +#define unusedBit_485_13_offset 2116 +#define unusedBit_485_14_offset 2116 +#define unusedBit_485_15_offset 2116 +#define unusedBit_485_16_offset 2116 +#define unusedBit_485_17_offset 2116 +#define unusedBit_485_18_offset 2116 +#define unusedBit_485_19_offset 2116 +#define unusedBit_485_20_offset 2116 +#define unusedBit_485_21_offset 2116 +#define unusedBit_485_22_offset 2116 +#define unusedBit_485_23_offset 2116 +#define unusedBit_485_24_offset 2116 +#define unusedBit_485_25_offset 2116 +#define unusedBit_485_26_offset 2116 +#define unusedBit_485_27_offset 2116 +#define unusedBit_485_28_offset 2116 +#define unusedBit_485_29_offset 2116 +#define unusedBit_485_30_offset 2116 +#define unusedBit_485_31_offset 2116 +#define unusedBit_485_8_offset 2116 +#define unusedBit_485_9_offset 2116 +#define unusedDizzy_offset 2226 #define unusedFlexFuelSensor_offset 3100 -#define unusedFlexFuelSensor_offset_hex c1c -#define unusedFormerWarmupAfrPid_offset 1772 -#define unusedFormerWarmupAfrPid_offset_hex 6ec -#define unusedHereo_wires_offset 76 -#define unusedHereo_wires_offset_hex 4c -#define unusedOldWarmupAfr_offset 744 -#define unusedOldWarmupAfr_offset_hex 2e8 +#define unusedHereWeHave_offset 1464 +#define unusedOldBiquad_offset 2332 +#define unusedSomethingWasHere_offset 2417 #define unusedSpiPadding4_offset 2593 -#define unusedSpiPadding4_offset_hex a21 -#define unusedSpiPadding5_offset 2713 -#define unusedSpiPadding5_offset_hex a99 -#define unuseduartPadding1_offset 810 -#define unuseduartPadding1_offset_hex 32a -#define unusuedsw_offset 4020 -#define unusuedsw_offset_hex fb4 -#define unusuedvref_offset 4016 -#define unusuedvref_offset_hex fb0 +#define unusedSpiPadding5_offset 2715 +#define unusedSpiPadding8_offset 4009 +#define unusedsw_offset 4020 +#define unusedvref_offset 4016 #define useAdvanceCorrectionsForCranking_offset 1476 -#define useAdvanceCorrectionsForCranking_offset_hex 5c4 -#define useBiQuadAnalogFiltering_offset 76 -#define useBiQuadAnalogFiltering_offset_hex 4c +#define useCicPidForIdle_offset 76 #define useConstantDwellDuringCranking_offset 1464 -#define useConstantDwellDuringCranking_offset_hex 5b8 #define useETBforIdleControl_offset 744 -#define useETBforIdleControl_offset_hex 2e8 #define useFixedBaroCorrFromMap_offset 1476 -#define useFixedBaroCorrFromMap_offset_hex 5c4 #define useFSIO10ForServo3_offset 1464 -#define useFSIO10ForServo3_offset_hex 5b8 #define useFSIO11ForServo4_offset 1464 -#define useFSIO11ForServo4_offset_hex 5b8 #define useFSIO12ForIdleOffset_offset 1464 -#define useFSIO12ForIdleOffset_offset_hex 5b8 #define useFSIO12ForServo5_offset 1464 -#define useFSIO12ForServo5_offset_hex 5b8 #define useFSIO13ForIdleMinValue_offset 1464 -#define useFSIO13ForIdleMinValue_offset_hex 5b8 #define useFSIO15ForIdleRpmAdjustment_offset 1464 -#define useFSIO15ForIdleRpmAdjustment_offset_hex 5b8 #define useFSIO16ForTimingAdjustment_offset 1464 -#define useFSIO16ForTimingAdjustment_offset_hex 5b8 #define useFSIO4ForSeriousEngineWarning_offset 1464 -#define useFSIO4ForSeriousEngineWarning_offset_hex 5b8 #define useFSIO5ForCriticalIssueEngineStop_offset 1464 -#define useFSIO5ForCriticalIssueEngineStop_offset_hex 5b8 #define useFSIO6ForRevLimiter_offset 1464 -#define useFSIO6ForRevLimiter_offset_hex 5b8 #define useFSIO8ForServo1_offset 1464 -#define useFSIO8ForServo1_offset_hex 5b8 #define useFSIO9ForServo2_offset 1464 -#define useFSIO9ForServo2_offset_hex 5b8 +#define useHbridges_offset 976 #define useIacPidMultTable_offset 1476 -#define useIacPidMultTable_offset_hex 5c4 #define useIacTableForCoasting_offset 744 -#define useIacTableForCoasting_offset_hex 2e8 #define useIdleTimingPidControl_offset 744 -#define useIdleTimingPidControl_offset_hex 2e8 #define useInstantRpmForIdle_offset 76 -#define useInstantRpmForIdle_offset_hex 4c #define useLcdScreen_offset 744 -#define useLcdScreen_offset_hex 2e8 #define useLinearCltSensor_offset 1464 -#define useLinearCltSensor_offset_hex 5b8 #define useLinearIatSensor_offset 1464 -#define useLinearIatSensor_offset_hex 5b8 #define useNoiselessTriggerDecoder_offset 744 -#define useNoiselessTriggerDecoder_offset_hex 2e8 #define useOnlyRisingEdgeForTrigger_offset 1476 -#define useOnlyRisingEdgeForTrigger_offset_hex 5c4 +#define useRunningMathForCranking_offset 76 #define useSeparateAdvanceForCranking_offset 1476 -#define useSeparateAdvanceForCranking_offset_hex 5c4 #define useSeparateAdvanceForIdle_offset 1476 -#define useSeparateAdvanceForIdle_offset_hex 5c4 #define useSeparateVeForIdle_offset 1476 -#define useSeparateVeForIdle_offset_hex 5c4 #define useSerialPort_offset 744 -#define useSerialPort_offset_hex 2e8 #define useStepperIdle_offset 744 -#define useStepperIdle_offset_hex 2e8 #define useTLE8888_cranking_hack_offset 76 -#define useTLE8888_cranking_hack_offset_hex 4c -#define useTLE8888_hall_mode_offset 76 -#define useTLE8888_hall_mode_offset_hex 4c #define useTpicAdvancedMode_offset 744 -#define useTpicAdvancedMode_offset_hex 2e8 #define useTPSAdvanceTable_offset 1476 -#define useTPSAdvanceTable_offset_hex 5c4 -#define useTPSBasedVeTable_offset 744 -#define useTPSBasedVeTable_offset_hex 2e8 #define VBAT_INJECTOR_CURVE_SIZE 8 #define vbattAdcChannel_offset 513 -#define vbattAdcChannel_offset_hex 201 #define vbattDividerCoeff_offset 464 -#define vbattDividerCoeff_offset_hex 1d0 +#define ve_override_e_auto_enum "VE_None", "VE_MAP", "VE_TPS" +#define ve_override_e_enum "None", "MAP", "TPS" +#define VEHICLE_INFO_SIZE 32 +#define vehicleName_offset 1160 #define vehicleSpeedCoef_offset 476 -#define vehicleSpeedCoef_offset_hex 1dc #define vehicleSpeedSensorInputPin_offset 968 -#define vehicleSpeedSensorInputPin_offset_hex 3c8 #define veLoadBins_offset 18464 -#define veLoadBins_offset_hex 4820 +#define veOverrideMode_offset 2109 +#define verboseCan2BaseAddress_offset 2112 +#define verboseCanBaseAddress_offset 756 +#define verboseTLE8888_offset 744 #define verboseTriggerSynchDetails_offset 1476 -#define verboseTriggerSynchDetails_offset_hex 5c4 +#define verboseVVTDecoding_offset 976 #define veRpmBins_offset 18528 -#define veRpmBins_offset_hex 4860 #define veTable_offset 17440 -#define veTable_offset_hex 4420 #define VOLTAGE_1_BYTE_PACKING_DIV 0.02 #define vRefAdcChannel_offset 1470 -#define vRefAdcChannel_offset_hex 5be -#define vvt_mode_e_enum "First half", "Second half", "2GZ", "Miata NB2", "mode4", "mode5", "mode6", "mode7" +#define vvt_mode_e_auto_enum "VVT_INACTIVE", "VVT_SECOND_HALF", "VVT_2JZ", "MIATA_NB2", "VVT_FIRST_HALF", "VVT_BOSCH_QUICK_START" +#define vvt_mode_e_enum "Inactive", "Second half", "2GZ", "Miata NB2", "First half", "Bosch Quick Start", "mode6", "mode7" #define vvtCamSensorUseRise_offset 744 -#define vvtCamSensorUseRise_offset_hex 2e8 -#define vvtDisplayInverted_offset 1464 -#define vvtDisplayInverted_offset_hex 5b8 #define vvtMode_offset 2328 -#define vvtMode_offset_hex 918 #define vvtOffset_offset 2052 -#define vvtOffset_offset_hex 804 +#define warning_message_offset 6000 #define warningLedPin_offset 2041 -#define warningLedPin_offset_hex 7f9 #define warningPeriod_offset 1498 -#define warningPeriod_offset_hex 5da +#define wastegatePositionMax_offset 718 +#define wastegatePositionMin_offset 716 +#define wastegatePositionSensor_offset 2127 #define wboHeaterPin_offset 673 -#define wboHeaterPin_offset_hex 2a1 #define wwaeBeta_offset 1808 -#define wwaeBeta_offset_hex 710 #define wwaeTau_offset 1712 -#define wwaeTau_offset_hex 6b0 diff --git a/firmware/config/boards/hellen/cypress/config/gen_config.sh b/firmware/config/boards/hellen/cypress/config/gen_config.sh new file mode 100644 index 0000000000..fc3d5ed801 --- /dev/null +++ b/firmware/config/boards/hellen/cypress/config/gen_config.sh @@ -0,0 +1,50 @@ +#!/bin/bash +# This script files reads rusefi_config.txt and produces firmware persistent configuration headers +# the storage section of rusefi.ini is updated as well +# +# many of the files generated here require time consuming full compilation thus we have an aggressive caching mechanism +# to make sure that we do not regenerate for no reason +# the primary input files are rusefi_config.txt and rusefi.input, also mapping.yaml etc +# see inside cache.zip for all input files +# + +cd ../../../../.. + +pwd + +bash gen_signature.sh hellen_cypress + +java \ + -DSystemOut.name=gen_config_hellen_cypress_board \ + -cp ../java_tools/ConfigDefinition.jar \ + com.rusefi.board_generator.BoardReader \ + -yaml config/boards/hellen/cypress/mapping.yaml \ + -firmware_path . \ + -output_file tunerstudio/generated/hellen_cypress_prefix.txt \ + -enumInputFile controllers/algo/rusefi_enums.h \ + -enumInputFile config/boards/hellen/cypress/rusefi_hw_enums.h + +[ $? -eq 0 ] || { echo "ERROR generating TunerStudio board config for hellen_cypress"; exit 1; } + +java \ + -DSystemOut.name=gen_config_hellen_cypress \ + -Drusefi.generator.lazyfile.enabled=true \ + -jar ../java_tools/ConfigDefinition.jar \ + -definition integration/rusefi_config.txt \ + -cache hellen_cypress \ + -cache_zip_file tunerstudio/generated/cache.zip \ + -ts_destination tunerstudio \ + -tool hellen_cypress_gen_config.bat \ + -firing_order controllers/algo/firing_order.h \ + -with_c_defines false \ + -initialize_to_zero false \ + -ts_output_name generated/rusefi_hellen_cypress.ini \ + -c_defines config/boards/hellen/cypress/config/controllers/algo/rusefi_generated.h \ + -c_destination config/boards/hellen/cypress/config/controllers/algo/engine_configuration_generated_structures.h \ + -signature tunerstudio/generated/signature_hellen_cypress.txt \ + -signature_destination controllers/generated/signature_hellen_cypress.h \ + -enumInputFile controllers/algo/rusefi_enums.h \ + -prepend config/boards/hellen/cypress/config/rusefi_config_hellen_cypress.txt \ + -prepend config/boards/hellen/cypress/config/tunerstudio/generated/hellen_cypress_prefix.txt + +[ $? -eq 0 ] || { echo "ERROR generating TunerStudio config for hellen_cypress"; exit 1; } diff --git a/firmware/config/boards/hellen/cypress/config/hellen_cypress_gen_enum_to_string.bat b/firmware/config/boards/hellen/cypress/config/hellen_cypress_gen_enum_to_string.bat new file mode 100644 index 0000000000..c5aae5f70e --- /dev/null +++ b/firmware/config/boards/hellen/cypress/config/hellen_cypress_gen_enum_to_string.bat @@ -0,0 +1,5 @@ +@echo off + +sh.exe hellen_cypress_gen_enum_to_string.sh + + diff --git a/firmware/config/boards/hellen/cypress/config/hellen_cypress_gen_enum_to_string.sh b/firmware/config/boards/hellen/cypress/config/hellen_cypress_gen_enum_to_string.sh new file mode 100644 index 0000000000..bd01b43db0 --- /dev/null +++ b/firmware/config/boards/hellen/cypress/config/hellen_cypress_gen_enum_to_string.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +# This batch files reads rusefi_enums.h and produses auto_generated_enums.* files + +cd ../../../../.. + +java -DSystemOut.name=gen_enum_to_string_hellen_cypress \ + -jar ../java_tools/enum2string.jar \ + -outputPath config/boards/hellen/cypress/config/controllers/algo \ + -enumInputFile controllers/algo/rusefi_enums.h \ + -enumInputFile config/boards/hellen/cypress/rusefi_hw_enums.h + diff --git a/firmware/config/boards/hellen/cypress/config/rusefi_config_cypress.txt b/firmware/config/boards/hellen/cypress/config/rusefi_config_hellen_cypress.txt similarity index 66% rename from firmware/config/boards/hellen/cypress/config/rusefi_config_cypress.txt rename to firmware/config/boards/hellen/cypress/config/rusefi_config_hellen_cypress.txt index 5432227d39..f70e35e913 100644 --- a/firmware/config/boards/hellen/cypress/config/rusefi_config_cypress.txt +++ b/firmware/config/boards/hellen/cypress/config/rusefi_config_hellen_cypress.txt @@ -4,13 +4,13 @@ ! all these #defines are in priority over the "default" values in rusefi_config.txt ! see firmware/config/boards/hellen/cypress/rusefi_hw_enums.h -#define brain_pin_e_enum "NONE", "INVALID", "P00 (A_0)", "P01 (A_1)", "P02 (A_2)", "P03 (A_3)", "P04 (A_4)", "P05 (A_5)", "P06 (A_6)", "P07 (A_7)", "P08 (A_8)", "P09 (A_9)", "P0A (A_10)", "P0B (A_11)", "P0C (A_12)", "P0D (A_13)", "P0E (A_14)", "P0F (A_15)", "P10 (B_0)", "P11 (B_1)", "P12 (B_2)", "P13 (B_3)", "P14 (B_4)", "P15 (B_5)", "P16 (B_6)", "P17 (B_7)", "P18 (B_8)", "P19 (B_9)", "P1A (B_10)", "P1B (B_11)", "P1C (B_12)", "P1D (B_13)", "P1E (B_14)", "P1F (B_15)", "P20 (C_0)", "P21 (C_1)", "P22 (C_2)", "P23 (C_3)", "P24 (C_4)", "P25 (C_5)", "P26 (C_6)", "P27 (C_7)", "P28 (C_8)", "P29 (C_9)", "P2A (C_10)", "P2B (C_11)", "P2C (C_12)", "P2D (C_13)", "P2E (C_14)", "P2F (C_15)", "P30 (D_0)", "P31 (D_1)", "P32 (D_2)", "P33 (D_3)", "P34 (D_4)", "P35 (D_5)", "P36 (D_6)", "P37 (D_7)", "P38 (D_8)", "P39 (D_9)", "P3A (D_10)", "P3B (D_11)", "P3C (D_12)", "P3D (D_13)", "P3E (D_14)", "P3F (D_15)", "P40 (E_0)", "P41 (E_1)", "P42 (E_2)", "P43 (E_3)", "P44 (E_4)", "P45 (E_5)", "P46 (E_6)", "P47 (E_7)", "P48 (E_8)", "P49 (E_9)", "P4A (E_10)", "P4B (E_11)", "P4C (E_12)", "P4D (E_13)", "P4E (E_14)", "P4F (E_15)", "P50 (F_0)", "P51 (F_1)", "P52 (F_2)", "P53 (F_3)", "P54 (F_4)", "P55 (F_5)", "P56 (F_6)", "P57 (F_7)", "P58 (F_8)", "P59 (F_9)", "P5A (F_10)", "P5B (F_11)", "P5C (F_12)", "P5D (F_13)", "P5E (F_14)", "P5F (F_15)", "P70 (G_0)", "P71 (G_1)", "P72 (G_2)", "P73 (G_3)", "P74 (G_4)", "P75 (G_5)", "P76 (G_6)", "P77 (G_7)", "P78 (G_8)", "P79 (G_9)", "P7A (G_10)", "P7B (G_11)", "P7C (G_12)", "P7D (G_13)", "P7E (G_14)", "P7F (G_15)", "PA0 (H_0)", "PA1 (H_1)", "PA2 (H_2)", "PA3 (H_3)", "PA4 (H_4)", "PA5 (H_5)", "PA6 (H_6)", "PA7 (H_7)", "PA8 (H_8)", "PA9 (H_9)", "PAA (H_10)", "PAB (H_11)", "PAC (H_12)", "PAD (H_13)", "PAE (H_14)", "PAF (H_15)", "PB0 (I_0)", "PB1 (I_1)", "PB2 (I_2)", "PB3 (I_3)", "PB4 (I_4)", "PB5 (I_5)", "PB6 (I_6)", "PB7 (I_7)", "PB8 (I_8)", "PB9 (I_9)", "PBA (I_10)", "PBB (I_11)", "PBC (I_12)", "PBD (I_13)", "PBE (I_14)", "PBF (I_15)", "PC0 (J_0)", "PC1 (J_1)", "PC2 (J_2)", "PC3 (J_3)", "PC4 (J_4)", "PC5 (J_5)", "PC6 (J_6)", "PC7 (J_7)", "PC8 (J_8)", "PC9 (J_9)", "PCA (J_10)", "PCB (J_11)", "PCC (J_12)", "PCD (J_13)", "PCE (J_14)", "PCF (J_15)", "PF0 (K_0)", "PF1 (K_1)", "PF2 (K_2)", "PF3 (K_3)", "PF4 (K_4)", "PF5 (K_5)", "PF6 (K_6)", "PF7 (K_7)", "PF8 (K_8)", "PF9 (K_9)", "PFA (K_10)", "PFB (K_11)", "PFC (K_12)", "PFD (K_13)", "PFE (K_14)", "PFF (K_15)", "DRV8860_1", "DRV8860_2", "DRV8860_3", "DRV8860_4", "DRV8860_5", "DRV8860_6", "DRV8860_7", "DRV8860_8", "DRV8860_9", "DRV8860_10", "DRV8860_11", "DRV8860_12", "DRV8860_13", "DRV8860_14", "DRV8860_15", "DRV8860_16", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID" +#define brain_pin_e_enum "NONE", "INVALID", "P00 (A_0)", "P01 (A_1)", "P02 (A_2)", "P03 (A_3)", "P04 (A_4)", "P05 (A_5)", "P06 (A_6)", "P07 (A_7)", "P08 (A_8)", "P09 (A_9)", "P0A (A_10)", "P0B (A_11)", "P0C (A_12)", "P0D (A_13)", "P0E (A_14)", "P0F (A_15)", "P10 (B_0)", "P11 (B_1)", "P12 (B_2)", "P13 (B_3)", "P14 (B_4)", "P15 (B_5)", "P16 (B_6)", "P17 (B_7)", "P18 (B_8)", "P19 (B_9)", "P1A (B_10)", "P1B (B_11)", "P1C (B_12)", "P1D (B_13)", "P1E (B_14)", "P1F (B_15)", "P20 (C_0)", "P21 (C_1)", "P22 (C_2)", "P23 (C_3)", "P24 (C_4)", "P25 (C_5)", "P26 (C_6)", "P27 (C_7)", "P28 (C_8)", "P29 (C_9)", "P2A (C_10)", "P2B (C_11)", "P2C (C_12)", "P2D (C_13)", "P2E (C_14)", "P2F (C_15)", "P30 (D_0)", "P31 (D_1)", "P32 (D_2)", "P33 (D_3)", "P34 (D_4)", "P35 (D_5)", "P36 (D_6)", "P37 (D_7)", "P38 (D_8)", "P39 (D_9)", "P3A (D_10)", "P3B (D_11)", "P3C (D_12)", "P3D (D_13)", "P3E (D_14)", "P3F (D_15)", "P40 (E_0)", "P41 (E_1)", "P42 (E_2)", "P43 (E_3)", "P44 (E_4)", "P45 (E_5)", "P46 (E_6)", "P47 (E_7)", "P48 (E_8)", "P49 (E_9)", "P4A (E_10)", "P4B (E_11)", "P4C (E_12)", "P4D (E_13)", "P4E (E_14)", "P4F (E_15)", "P50 (F_0)", "P51 (F_1)", "P52 (F_2)", "P53 (F_3)", "P54 (F_4)", "P55 (F_5)", "P56 (F_6)", "P57 (F_7)", "P58 (F_8)", "P59 (F_9)", "P5A (F_10)", "P5B (F_11)", "P5C (F_12)", "P5D (F_13)", "P5E (F_14)", "P5F (F_15)", "P70 (G_0)", "P71 (G_1)", "P72 (G_2)", "P73 (G_3)", "P74 (G_4)", "P75 (G_5)", "P76 (G_6)", "P77 (G_7)", "P78 (G_8)", "P79 (G_9)", "P7A (G_10)", "P7B (G_11)", "P7C (G_12)", "P7D (G_13)", "P7E (G_14)", "P7F (G_15)", "PA0 (H_0)", "PA1 (H_1)", "PA2 (H_2)", "PA3 (H_3)", "PA4 (H_4)", "PA5 (H_5)", "PA6 (H_6)", "PA7 (H_7)", "PA8 (H_8)", "PA9 (H_9)", "PAA (H_10)", "PAB (H_11)", "PAC (H_12)", "PAD (H_13)", "PAE (H_14)", "PAF (H_15)", "PB0 (I_0)", "PB1 (I_1)", "PB2 (I_2)", "PB3 (I_3)", "PB4 (I_4)", "PB5 (I_5)", "PB6 (I_6)", "PB7 (I_7)", "PB8 (I_8)", "PB9 (I_9)", "PBA (I_10)", "PBB (I_11)", "PBC (I_12)", "PBD (I_13)", "PBE (I_14)", "PBF (I_15)", "PC0 (J_0)", "PC1 (J_1)", "PC2 (J_2)", "PC3 (J_3)", "PC4 (J_4)", "PC5 (J_5)", "PC6 (J_6)", "PC7 (J_7)", "PC8 (J_8)", "PC9 (J_9)", "PCA (J_10)", "PCB (J_11)", "PCC (J_12)", "PCD (J_13)", "PCE (J_14)", "PCF (J_15)", "PF0 (K_0)", "PF1 (K_1)", "PF2 (K_2)", "PF3 (K_3)", "PF4 (K_4)", "PF5 (K_5)", "PF6 (K_6)", "PF7 (K_7)", "PF8 (K_8)", "PF9 (K_9)", "PFA (K_10)", "PFB (K_11)", "PFC (K_12)", "PFD (K_13)", "PFE (K_14)", "PFF (K_15)", "DRV8860_1", "DRV8860_2", "DRV8860_3", "DRV8860_4", "DRV8860_5", "DRV8860_6", "DRV8860_7", "DRV8860_8", "DRV8860_9", "DRV8860_10", "DRV8860_11", "DRV8860_12", "DRV8860_13", "DRV8860_14", "DRV8860_15", "DRV8860_16" ! Based on Cypress S6E2Cx pinout (144-pin package) -#define brain_input_pin_e_enum "NONE", "INVALID", "P00 (A_0)", "P01 (A_1)", "P02 (A_2)", "P03 (A_3)", "P04 (A_4)", "P05 (A_5)", "P06 (A_6)", "P07 (A_7)", "P08 (A_8)", "P09 (A_9)", "P0A (A_10)", "P0B (A_11)", "P0C (A_12)", "P0D (A_13)", "P0E (A_14)", "P0F (A_15)", "P10 (B_0)", "P11 (B_1)", "P12 (B_2)", "P13 (B_3)", "P14 (B_4)", "P15 (B_5)", "P16 (B_6)", "P17 (B_7)", "P18 (B_8)", "P19 (B_9)", "P1A (B_10)", "P1B (B_11)", "P1C (B_12)", "P1D (B_13)", "P1E (B_14)", "P1F (B_15)", "P20 (C_0)", "P21 (C_1)", "P22 (C_2)", "P23 (C_3)", "P24 (C_4)", "P25 (C_5)", "P26 (C_6)", "P27 (C_7)", "P28 (C_8)", "P29 (C_9)", "P2A (C_10)", "P2B (C_11)", "P2C (C_12)", "P2D (C_13)", "P2E (C_14)", "P2F (C_15)", "P30 (D_0)", "P31 (D_1)", "P32 (D_2)", "P33 (D_3)", "P34 (D_4)", "P35 (D_5)", "P36 (D_6)", "P37 (D_7)", "P38 (D_8)", "P39 (D_9)", "P3A (D_10)", "P3B (D_11)", "P3C (D_12)", "P3D (D_13)", "P3E (D_14)", "P3F (D_15)", "P40 (E_0)", "P41 (E_1)", "P42 (E_2)", "P43 (E_3)", "P44 (E_4)", "P45 (E_5)", "P46 (E_6)", "P47 (E_7)", "P48 (E_8)", "P49 (E_9)", "P4A (E_10)", "P4B (E_11)", "P4C (E_12)", "P4D (E_13)", "P4E (E_14)", "P4F (E_15)", "P50 (F_0)", "P51 (F_1)", "P52 (F_2)", "P53 (F_3)", "P54 (F_4)", "P55 (F_5)", "P56 (F_6)", "P57 (F_7)", "P58 (F_8)", "P59 (F_9)", "P5A (F_10)", "P5B (F_11)", "P5C (F_12)", "P5D (F_13)", "P5E (F_14)", "P5F (F_15)", "P70 (G_0)", "P71 (G_1)", "P72 (G_2)", "P73 (G_3)", "P74 (G_4)", "P75 (G_5)", "P76 (G_6)", "P77 (G_7)", "P78 (G_8)", "P79 (G_9)", "P7A (G_10)", "P7B (G_11)", "P7C (G_12)", "P7D (G_13)", "P7E (G_14)", "P7F (G_15)", "PA0 (H_0)", "PA1 (H_1)", "PA2 (H_2)", "PA3 (H_3)", "PA4 (H_4)", "PA5 (H_5)", "PA6 (H_6)", "PA7 (H_7)", "PA8 (H_8)", "PA9 (H_9)", "PAA (H_10)", "PAB (H_11)", "PAC (H_12)", "PAD (H_13)", "PAE (H_14)", "PAF (H_15)", "PB0 (I_0)", "PB1 (I_1)", "PB2 (I_2)", "PB3 (I_3)", "PB4 (I_4)", "PB5 (I_5)", "PB6 (I_6)", "PB7 (I_7)", "PB8 (I_8)", "PB9 (I_9)", "PBA (I_10)", "PBB (I_11)", "PBC (I_12)", "PBD (I_13)", "PBE (I_14)", "PBF (I_15)", "PC0 (J_0)", "PC1 (J_1)", "PC2 (J_2)", "PC3 (J_3)", "PC4 (J_4)", "PC5 (J_5)", "PC6 (J_6)", "PC7 (J_7)", "PC8 (J_8)", "PC9 (J_9)", "PCA (J_10)", "PCB (J_11)", "PCC (J_12)", "PCD (J_13)", "PCE (J_14)", "PCF (J_15)", "PF0 (K_0)", "PF1 (K_1)", "PF2 (K_2)", "PF3 (K_3)", "PF4 (K_4)", "PF5 (K_5)", "PF6 (K_6)", "PF7 (K_7)", "PF8 (K_8)", "PF9 (K_9)", "PFA (K_10)", "PFB (K_11)", "PFC (K_12)", "PFD (K_13)", "PFE (K_14)", "PFF (K_15)", "DRV8860_1", "DRV8860_2", "DRV8860_3", "DRV8860_4", "DRV8860_5", "DRV8860_6", "DRV8860_7", "DRV8860_8", "DRV8860_9", "DRV8860_10", "DRV8860_11", "DRV8860_12", "DRV8860_13", "DRV8860_14", "DRV8860_15", "DRV8860_16", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID" -#define switch_input_pin_e_enum "NONE", "INVALID", "P00 (A_0)", "P01 (A_1)", "P02 (A_2)", "P03 (A_3)", "P04 (A_4)", "P05 (A_5)", "P06 (A_6)", "P07 (A_7)", "P08 (A_8)", "P09 (A_9)", "P0A (A_10)", "P0B (A_11)", "P0C (A_12)", "P0D (A_13)", "P0E (A_14)", "P0F (A_15)", "P10 (B_0)", "P11 (B_1)", "P12 (B_2)", "P13 (B_3)", "P14 (B_4)", "P15 (B_5)", "P16 (B_6)", "P17 (B_7)", "P18 (B_8)", "P19 (B_9)", "P1A (B_10)", "P1B (B_11)", "P1C (B_12)", "P1D (B_13)", "P1E (B_14)", "P1F (B_15)", "P20 (C_0)", "P21 (C_1)", "P22 (C_2)", "P23 (C_3)", "P24 (C_4)", "P25 (C_5)", "P26 (C_6)", "P27 (C_7)", "P28 (C_8)", "P29 (C_9)", "P2A (C_10)", "P2B (C_11)", "P2C (C_12)", "P2D (C_13)", "P2E (C_14)", "P2F (C_15)", "P30 (D_0)", "P31 (D_1)", "P32 (D_2)", "P33 (D_3)", "P34 (D_4)", "P35 (D_5)", "P36 (D_6)", "P37 (D_7)", "P38 (D_8)", "P39 (D_9)", "P3A (D_10)", "P3B (D_11)", "P3C (D_12)", "P3D (D_13)", "P3E (D_14)", "P3F (D_15)", "P40 (E_0)", "P41 (E_1)", "P42 (E_2)", "P43 (E_3)", "P44 (E_4)", "P45 (E_5)", "P46 (E_6)", "P47 (E_7)", "P48 (E_8)", "P49 (E_9)", "P4A (E_10)", "P4B (E_11)", "P4C (E_12)", "P4D (E_13)", "P4E (E_14)", "P4F (E_15)", "P50 (F_0)", "P51 (F_1)", "P52 (F_2)", "P53 (F_3)", "P54 (F_4)", "P55 (F_5)", "P56 (F_6)", "P57 (F_7)", "P58 (F_8)", "P59 (F_9)", "P5A (F_10)", "P5B (F_11)", "P5C (F_12)", "P5D (F_13)", "P5E (F_14)", "P5F (F_15)", "P70 (G_0)", "P71 (G_1)", "P72 (G_2)", "P73 (G_3)", "P74 (G_4)", "P75 (G_5)", "P76 (G_6)", "P77 (G_7)", "P78 (G_8)", "P79 (G_9)", "P7A (G_10)", "P7B (G_11)", "P7C (G_12)", "P7D (G_13)", "P7E (G_14)", "P7F (G_15)", "PA0 (H_0)", "PA1 (H_1)", "PA2 (H_2)", "PA3 (H_3)", "PA4 (H_4)", "PA5 (H_5)", "PA6 (H_6)", "PA7 (H_7)", "PA8 (H_8)", "PA9 (H_9)", "PAA (H_10)", "PAB (H_11)", "PAC (H_12)", "PAD (H_13)", "PAE (H_14)", "PAF (H_15)", "PB0 (I_0)", "PB1 (I_1)", "PB2 (I_2)", "PB3 (I_3)", "PB4 (I_4)", "PB5 (I_5)", "PB6 (I_6)", "PB7 (I_7)", "PB8 (I_8)", "PB9 (I_9)", "PBA (I_10)", "PBB (I_11)", "PBC (I_12)", "PBD (I_13)", "PBE (I_14)", "PBF (I_15)", "PC0 (J_0)", "PC1 (J_1)", "PC2 (J_2)", "PC3 (J_3)", "PC4 (J_4)", "PC5 (J_5)", "PC6 (J_6)", "PC7 (J_7)", "PC8 (J_8)", "PC9 (J_9)", "PCA (J_10)", "PCB (J_11)", "PCC (J_12)", "PCD (J_13)", "PCE (J_14)", "PCF (J_15)", "PF0 (K_0)", "PF1 (K_1)", "PF2 (K_2)", "PF3 (K_3)", "PF4 (K_4)", "PF5 (K_5)", "PF6 (K_6)", "PF7 (K_7)", "PF8 (K_8)", "PF9 (K_9)", "PFA (K_10)", "PFB (K_11)", "PFC (K_12)", "PFD (K_13)", "PFE (K_14)", "PFF (K_15)", "DRV8860_1", "DRV8860_2", "DRV8860_3", "DRV8860_4", "DRV8860_5", "DRV8860_6", "DRV8860_7", "DRV8860_8", "DRV8860_9", "DRV8860_10", "DRV8860_11", "DRV8860_12", "DRV8860_13", "DRV8860_14", "DRV8860_15", "DRV8860_16", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID" -#define output_pin_e_enum "NONE", "INVALID", "P00 (A_0)", "P01 (A_1)", "P02 (A_2)", "P03 (A_3)", "P04 (A_4)", "P05 (A_5)", "P06 (A_6)", "P07 (A_7)", "P08 (A_8)", "P09 (A_9)", "P0A (A_10)", "P0B (A_11)", "P0C (A_12)", "P0D (A_13)", "P0E (A_14)", "P0F (A_15)", "P10 (B_0)", "P11 (B_1)", "P12 (B_2)", "P13 (B_3)", "P14 (B_4)", "P15 (B_5)", "P16 (B_6)", "P17 (B_7)", "P18 (B_8)", "P19 (B_9)", "P1A (B_10)", "P1B (B_11)", "P1C (B_12)", "P1D (B_13)", "P1E (B_14)", "P1F (B_15)", "P20 (C_0)", "P21 (C_1)", "P22 (C_2)", "P23 (C_3)", "P24 (C_4)", "P25 (C_5)", "P26 (C_6)", "P27 (C_7)", "P28 (C_8)", "P29 (C_9)", "P2A (C_10)", "P2B (C_11)", "P2C (C_12)", "P2D (C_13)", "P2E (C_14)", "P2F (C_15)", "P30 (D_0)", "P31 (D_1)", "P32 (D_2)", "P33 (D_3)", "P34 (D_4)", "P35 (D_5)", "P36 (D_6)", "P37 (D_7)", "P38 (D_8)", "P39 (D_9)", "P3A (D_10)", "P3B (D_11)", "P3C (D_12)", "P3D (D_13)", "P3E (D_14)", "P3F (D_15)", "P40 (E_0)", "P41 (E_1)", "P42 (E_2)", "P43 (E_3)", "P44 (E_4)", "P45 (E_5)", "P46 (E_6)", "P47 (E_7)", "P48 (E_8)", "P49 (E_9)", "P4A (E_10)", "P4B (E_11)", "P4C (E_12)", "P4D (E_13)", "P4E (E_14)", "P4F (E_15)", "P50 (F_0)", "P51 (F_1)", "P52 (F_2)", "P53 (F_3)", "P54 (F_4)", "P55 (F_5)", "P56 (F_6)", "P57 (F_7)", "P58 (F_8)", "P59 (F_9)", "P5A (F_10)", "P5B (F_11)", "P5C (F_12)", "P5D (F_13)", "P5E (F_14)", "P5F (F_15)", "P70 (G_0)", "P71 (G_1)", "P72 (G_2)", "P73 (G_3)", "P74 (G_4)", "P75 (G_5)", "P76 (G_6)", "P77 (G_7)", "P78 (G_8)", "P79 (G_9)", "P7A (G_10)", "P7B (G_11)", "P7C (G_12)", "P7D (G_13)", "P7E (G_14)", "P7F (G_15)", "PA0 (H_0)", "PA1 (H_1)", "PA2 (H_2)", "PA3 (H_3)", "PA4 (H_4)", "PA5 (H_5)", "PA6 (H_6)", "PA7 (H_7)", "PA8 (H_8)", "PA9 (H_9)", "PAA (H_10)", "PAB (H_11)", "PAC (H_12)", "PAD (H_13)", "PAE (H_14)", "PAF (H_15)", "PB0 (I_0)", "PB1 (I_1)", "PB2 (I_2)", "PB3 (I_3)", "PB4 (I_4)", "PB5 (I_5)", "PB6 (I_6)", "PB7 (I_7)", "PB8 (I_8)", "PB9 (I_9)", "PBA (I_10)", "PBB (I_11)", "PBC (I_12)", "PBD (I_13)", "PBE (I_14)", "PBF (I_15)", "PC0 (J_0)", "PC1 (J_1)", "PC2 (J_2)", "PC3 (J_3)", "PC4 (J_4)", "PC5 (J_5)", "PC6 (J_6)", "PC7 (J_7)", "PC8 (J_8)", "PC9 (J_9)", "PCA (J_10)", "PCB (J_11)", "PCC (J_12)", "PCD (J_13)", "PCE (J_14)", "PCF (J_15)", "PF0 (K_0)", "PF1 (K_1)", "PF2 (K_2)", "PF3 (K_3)", "PF4 (K_4)", "PF5 (K_5)", "PF6 (K_6)", "PF7 (K_7)", "PF8 (K_8)", "PF9 (K_9)", "PFA (K_10)", "PFB (K_11)", "PFC (K_12)", "PFD (K_13)", "PFE (K_14)", "PFF (K_15)", "DRV8860_1", "DRV8860_2", "DRV8860_3", "DRV8860_4", "DRV8860_5", "DRV8860_6", "DRV8860_7", "DRV8860_8", "DRV8860_9", "DRV8860_10", "DRV8860_11", "DRV8860_12", "DRV8860_13", "DRV8860_14", "DRV8860_15", "DRV8860_16", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID" -#define adc_channel_e_enum "P10 (B_0)", "P11 (B_1)", "P12 (B_2)", "P13 (B_3)", "P14 (B_4)", "P15 (B_5)", "P16 (B_6)", "P17 (B_7)", "P18 (B_8)", "P19 (B_9)", "P1A (B_10)", "P1B (B_11)", "P1C (B_12)", "P1D (B_13)", "P1E (B_14)", "P1F (B_15)", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "P2A (C_10)", "P29 (C_9)", "P28 (C_8)", "P27 (C_7)", "P25 (C_5)", "P24 (C_4)", "P23 (C_3)", "P22 (C_2)", "Disabled", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID", "INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID" +#define brain_input_pin_e_enum "NONE", "INVALID", "P00 (A_0)", "P01 (A_1)", "P02 (A_2)", "P03 (A_3)", "P04 (A_4)", "P05 (A_5)", "P06 (A_6)", "P07 (A_7)", "P08 (A_8)", "P09 (A_9)", "P0A (A_10)", "P0B (A_11)", "P0C (A_12)", "P0D (A_13)", "P0E (A_14)", "P0F (A_15)", "P10 (B_0)", "P11 (B_1)", "P12 (B_2)", "P13 (B_3)", "P14 (B_4)", "P15 (B_5)", "P16 (B_6)", "P17 (B_7)", "P18 (B_8)", "P19 (B_9)", "P1A (B_10)", "P1B (B_11)", "P1C (B_12)", "P1D (B_13)", "P1E (B_14)", "P1F (B_15)", "P20 (C_0)", "P21 (C_1)", "P22 (C_2)", "P23 (C_3)", "P24 (C_4)", "P25 (C_5)", "P26 (C_6)", "P27 (C_7)", "P28 (C_8)", "P29 (C_9)", "P2A (C_10)", "P2B (C_11)", "P2C (C_12)", "P2D (C_13)", "P2E (C_14)", "P2F (C_15)", "P30 (D_0)", "P31 (D_1)", "P32 (D_2)", "P33 (D_3)", "P34 (D_4)", "P35 (D_5)", "P36 (D_6)", "P37 (D_7)", "P38 (D_8)", "P39 (D_9)", "P3A (D_10)", "P3B (D_11)", "P3C (D_12)", "P3D (D_13)", "P3E (D_14)", "P3F (D_15)", "P40 (E_0)", "P41 (E_1)", "P42 (E_2)", "P43 (E_3)", "P44 (E_4)", "P45 (E_5)", "P46 (E_6)", "P47 (E_7)", "P48 (E_8)", "P49 (E_9)", "P4A (E_10)", "P4B (E_11)", "P4C (E_12)", "P4D (E_13)", "P4E (E_14)", "P4F (E_15)", "P50 (F_0)", "P51 (F_1)", "P52 (F_2)", "P53 (F_3)", "P54 (F_4)", "P55 (F_5)", "P56 (F_6)", "P57 (F_7)", "P58 (F_8)", "P59 (F_9)", "P5A (F_10)", "P5B (F_11)", "P5C (F_12)", "P5D (F_13)", "P5E (F_14)", "P5F (F_15)", "P70 (G_0)", "P71 (G_1)", "P72 (G_2)", "P73 (G_3)", "P74 (G_4)", "P75 (G_5)", "P76 (G_6)", "P77 (G_7)", "P78 (G_8)", "P79 (G_9)", "P7A (G_10)", "P7B (G_11)", "P7C (G_12)", "P7D (G_13)", "P7E (G_14)", "P7F (G_15)", "PA0 (H_0)", "PA1 (H_1)", "PA2 (H_2)", "PA3 (H_3)", "PA4 (H_4)", "PA5 (H_5)", "PA6 (H_6)", "PA7 (H_7)", "PA8 (H_8)", "PA9 (H_9)", "PAA (H_10)", "PAB (H_11)", "PAC (H_12)", "PAD (H_13)", "PAE (H_14)", "PAF (H_15)", "PB0 (I_0)", "PB1 (I_1)", "PB2 (I_2)", "PB3 (I_3)", "PB4 (I_4)", "PB5 (I_5)", "PB6 (I_6)", "PB7 (I_7)", "PB8 (I_8)", "PB9 (I_9)", "PBA (I_10)", "PBB (I_11)", "PBC (I_12)", "PBD (I_13)", "PBE (I_14)", "PBF (I_15)", "PC0 (J_0)", "PC1 (J_1)", "PC2 (J_2)", "PC3 (J_3)", "PC4 (J_4)", "PC5 (J_5)", "PC6 (J_6)", "PC7 (J_7)", "PC8 (J_8)", "PC9 (J_9)", "PCA (J_10)", "PCB (J_11)", "PCC (J_12)", "PCD (J_13)", "PCE (J_14)", "PCF (J_15)", "PF0 (K_0)", "PF1 (K_1)", "PF2 (K_2)", "PF3 (K_3)", "PF4 (K_4)", "PF5 (K_5)", "PF6 (K_6)", "PF7 (K_7)", "PF8 (K_8)", "PF9 (K_9)", "PFA (K_10)", "PFB (K_11)", "PFC (K_12)", "PFD (K_13)", "PFE (K_14)", "PFF (K_15)", "DRV8860_1", "DRV8860_2", "DRV8860_3", "DRV8860_4", "DRV8860_5", "DRV8860_6", "DRV8860_7", "DRV8860_8", "DRV8860_9", "DRV8860_10", "DRV8860_11", "DRV8860_12", "DRV8860_13", "DRV8860_14", "DRV8860_15", "DRV8860_16" +#define switch_input_pin_e_enum "NONE", "INVALID", "P00 (A_0)", "P01 (A_1)", "P02 (A_2)", "P03 (A_3)", "P04 (A_4)", "P05 (A_5)", "P06 (A_6)", "P07 (A_7)", "P08 (A_8)", "P09 (A_9)", "P0A (A_10)", "P0B (A_11)", "P0C (A_12)", "P0D (A_13)", "P0E (A_14)", "P0F (A_15)", "P10 (B_0)", "P11 (B_1)", "P12 (B_2)", "P13 (B_3)", "P14 (B_4)", "P15 (B_5)", "P16 (B_6)", "P17 (B_7)", "P18 (B_8)", "P19 (B_9)", "P1A (B_10)", "P1B (B_11)", "P1C (B_12)", "P1D (B_13)", "P1E (B_14)", "P1F (B_15)", "P20 (C_0)", "P21 (C_1)", "P22 (C_2)", "P23 (C_3)", "P24 (C_4)", "P25 (C_5)", "P26 (C_6)", "P27 (C_7)", "P28 (C_8)", "P29 (C_9)", "P2A (C_10)", "P2B (C_11)", "P2C (C_12)", "P2D (C_13)", "P2E (C_14)", "P2F (C_15)", "P30 (D_0)", "P31 (D_1)", "P32 (D_2)", "P33 (D_3)", "P34 (D_4)", "P35 (D_5)", "P36 (D_6)", "P37 (D_7)", "P38 (D_8)", "P39 (D_9)", "P3A (D_10)", "P3B (D_11)", "P3C (D_12)", "P3D (D_13)", "P3E (D_14)", "P3F (D_15)", "P40 (E_0)", "P41 (E_1)", "P42 (E_2)", "P43 (E_3)", "P44 (E_4)", "P45 (E_5)", "P46 (E_6)", "P47 (E_7)", "P48 (E_8)", "P49 (E_9)", "P4A (E_10)", "P4B (E_11)", "P4C (E_12)", "P4D (E_13)", "P4E (E_14)", "P4F (E_15)", "P50 (F_0)", "P51 (F_1)", "P52 (F_2)", "P53 (F_3)", "P54 (F_4)", "P55 (F_5)", "P56 (F_6)", "P57 (F_7)", "P58 (F_8)", "P59 (F_9)", "P5A (F_10)", "P5B (F_11)", "P5C (F_12)", "P5D (F_13)", "P5E (F_14)", "P5F (F_15)", "P70 (G_0)", "P71 (G_1)", "P72 (G_2)", "P73 (G_3)", "P74 (G_4)", "P75 (G_5)", "P76 (G_6)", "P77 (G_7)", "P78 (G_8)", "P79 (G_9)", "P7A (G_10)", "P7B (G_11)", "P7C (G_12)", "P7D (G_13)", "P7E (G_14)", "P7F (G_15)", "PA0 (H_0)", "PA1 (H_1)", "PA2 (H_2)", "PA3 (H_3)", "PA4 (H_4)", "PA5 (H_5)", "PA6 (H_6)", "PA7 (H_7)", "PA8 (H_8)", "PA9 (H_9)", "PAA (H_10)", "PAB (H_11)", "PAC (H_12)", "PAD (H_13)", "PAE (H_14)", "PAF (H_15)", "PB0 (I_0)", "PB1 (I_1)", "PB2 (I_2)", "PB3 (I_3)", "PB4 (I_4)", "PB5 (I_5)", "PB6 (I_6)", "PB7 (I_7)", "PB8 (I_8)", "PB9 (I_9)", "PBA (I_10)", "PBB (I_11)", "PBC (I_12)", "PBD (I_13)", "PBE (I_14)", "PBF (I_15)", "PC0 (J_0)", "PC1 (J_1)", "PC2 (J_2)", "PC3 (J_3)", "PC4 (J_4)", "PC5 (J_5)", "PC6 (J_6)", "PC7 (J_7)", "PC8 (J_8)", "PC9 (J_9)", "PCA (J_10)", "PCB (J_11)", "PCC (J_12)", "PCD (J_13)", "PCE (J_14)", "PCF (J_15)", "PF0 (K_0)", "PF1 (K_1)", "PF2 (K_2)", "PF3 (K_3)", "PF4 (K_4)", "PF5 (K_5)", "PF6 (K_6)", "PF7 (K_7)", "PF8 (K_8)", "PF9 (K_9)", "PFA (K_10)", "PFB (K_11)", "PFC (K_12)", "PFD (K_13)", "PFE (K_14)", "PFF (K_15)", "DRV8860_1", "DRV8860_2", "DRV8860_3", "DRV8860_4", "DRV8860_5", "DRV8860_6", "DRV8860_7", "DRV8860_8", "DRV8860_9", "DRV8860_10", "DRV8860_11", "DRV8860_12", "DRV8860_13", "DRV8860_14", "DRV8860_15", "DRV8860_16" +#define output_pin_e_enum "NONE", "INVALID", "P00 (A_0)", "P01 (A_1)", "P02 (A_2)", "P03 (A_3)", "P04 (A_4)", "P05 (A_5)", "P06 (A_6)", "P07 (A_7)", "P08 (A_8)", "P09 (A_9)", "P0A (A_10)", "P0B (A_11)", "P0C (A_12)", "P0D (A_13)", "P0E (A_14)", "P0F (A_15)", "P10 (B_0)", "P11 (B_1)", "P12 (B_2)", "P13 (B_3)", "P14 (B_4)", "P15 (B_5)", "P16 (B_6)", "P17 (B_7)", "P18 (B_8)", "P19 (B_9)", "P1A (B_10)", "P1B (B_11)", "P1C (B_12)", "P1D (B_13)", "P1E (B_14)", "P1F (B_15)", "P20 (C_0)", "P21 (C_1)", "P22 (C_2)", "P23 (C_3)", "P24 (C_4)", "P25 (C_5)", "P26 (C_6)", "P27 (C_7)", "P28 (C_8)", "P29 (C_9)", "P2A (C_10)", "P2B (C_11)", "P2C (C_12)", "P2D (C_13)", "P2E (C_14)", "P2F (C_15)", "P30 (D_0)", "P31 (D_1)", "P32 (D_2)", "P33 (D_3)", "P34 (D_4)", "P35 (D_5)", "P36 (D_6)", "P37 (D_7)", "P38 (D_8)", "P39 (D_9)", "P3A (D_10)", "P3B (D_11)", "P3C (D_12)", "P3D (D_13)", "P3E (D_14)", "P3F (D_15)", "P40 (E_0)", "P41 (E_1)", "P42 (E_2)", "P43 (E_3)", "P44 (E_4)", "P45 (E_5)", "P46 (E_6)", "P47 (E_7)", "P48 (E_8)", "P49 (E_9)", "P4A (E_10)", "P4B (E_11)", "P4C (E_12)", "P4D (E_13)", "P4E (E_14)", "P4F (E_15)", "P50 (F_0)", "P51 (F_1)", "P52 (F_2)", "P53 (F_3)", "P54 (F_4)", "P55 (F_5)", "P56 (F_6)", "P57 (F_7)", "P58 (F_8)", "P59 (F_9)", "P5A (F_10)", "P5B (F_11)", "P5C (F_12)", "P5D (F_13)", "P5E (F_14)", "P5F (F_15)", "P70 (G_0)", "P71 (G_1)", "P72 (G_2)", "P73 (G_3)", "P74 (G_4)", "P75 (G_5)", "P76 (G_6)", "P77 (G_7)", "P78 (G_8)", "P79 (G_9)", "P7A (G_10)", "P7B (G_11)", "P7C (G_12)", "P7D (G_13)", "P7E (G_14)", "P7F (G_15)", "PA0 (H_0)", "PA1 (H_1)", "PA2 (H_2)", "PA3 (H_3)", "PA4 (H_4)", "PA5 (H_5)", "PA6 (H_6)", "PA7 (H_7)", "PA8 (H_8)", "PA9 (H_9)", "PAA (H_10)", "PAB (H_11)", "PAC (H_12)", "PAD (H_13)", "PAE (H_14)", "PAF (H_15)", "PB0 (I_0)", "PB1 (I_1)", "PB2 (I_2)", "PB3 (I_3)", "PB4 (I_4)", "PB5 (I_5)", "PB6 (I_6)", "PB7 (I_7)", "PB8 (I_8)", "PB9 (I_9)", "PBA (I_10)", "PBB (I_11)", "PBC (I_12)", "PBD (I_13)", "PBE (I_14)", "PBF (I_15)", "PC0 (J_0)", "PC1 (J_1)", "PC2 (J_2)", "PC3 (J_3)", "PC4 (J_4)", "PC5 (J_5)", "PC6 (J_6)", "PC7 (J_7)", "PC8 (J_8)", "PC9 (J_9)", "PCA (J_10)", "PCB (J_11)", "PCC (J_12)", "PCD (J_13)", "PCE (J_14)", "PCF (J_15)", "PF0 (K_0)", "PF1 (K_1)", "PF2 (K_2)", "PF3 (K_3)", "PF4 (K_4)", "PF5 (K_5)", "PF6 (K_6)", "PF7 (K_7)", "PF8 (K_8)", "PF9 (K_9)", "PFA (K_10)", "PFB (K_11)", "PFC (K_12)", "PFD (K_13)", "PFE (K_14)", "PFF (K_15)", "DRV8860_1", "DRV8860_2", "DRV8860_3", "DRV8860_4", "DRV8860_5", "DRV8860_6", "DRV8860_7", "DRV8860_8", "DRV8860_9", "DRV8860_10", "DRV8860_11", "DRV8860_12", "DRV8860_13", "DRV8860_14", "DRV8860_15", "DRV8860_16" +#define adc_channel_e_enum "Disabled", "P10 (B_0)", "P11 (B_1)", "P12 (B_2)", "P13 (B_3)", "P14 (B_4)", "P15 (B_5)", "P16 (B_6)", "P17 (B_7)", "P18 (B_8)", "P19 (B_9)", "P1A (B_10)", "P1B (B_11)", "P1C (B_12)", "P1D (B_13)", "P1E (B_14)", "P1F (B_15)", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "P2A (C_10)", "P29 (C_9)", "P28 (C_8)", "P27 (C_7)", "P25 (C_5)", "P24 (C_4)", "P23 (C_3)", "P22 (C_2)" ! = (ADC_MAX_CHANNELS_COUNT + 1) #define HW_MAX_ADC_INDEX 33 diff --git a/firmware/config/boards/hellen/cypress/config/tunerstudio/cypress_prefix.txt b/firmware/config/boards/hellen/cypress/config/tunerstudio/generated/hellen_cypress_prefix.txt similarity index 100% rename from firmware/config/boards/hellen/cypress/config/tunerstudio/cypress_prefix.txt rename to firmware/config/boards/hellen/cypress/config/tunerstudio/generated/hellen_cypress_prefix.txt diff --git a/firmware/config/boards/hellen/cypress/efifeatures.h b/firmware/config/boards/hellen/cypress/efifeatures.h index f700c1276e..2967894c0e 100644 --- a/firmware/config/boards/hellen/cypress/efifeatures.h +++ b/firmware/config/boards/hellen/cypress/efifeatures.h @@ -304,7 +304,8 @@ //#define TS_USB_DEVICE SDU1 #undef TS_USB_DEVICE -#define TS_CAN_DEVICE CAND1 +// todo: add CAN support +//#define TS_CAN_DEVICE CAND1 #define TS_CAN_AF PAL_MODE_ALTERNATIVE_CAN #define TS_CAN_DEVICE_SHORT_PACKETS_IN_ONE_FRAME @@ -345,7 +346,7 @@ #define LED_WARNING_BRAIN_PIN GPIOA_0 -#define LED_ERROR_BRAIN_PIN GPIOJ_15 +#define LED_CRITICAL_ERROR_BRAIN_PIN GPIOJ_15 #define LED_ERROR_BRAIN_PIN_MODE INVERTED_OUTPUT #define EFI_WARNING_LED FALSE @@ -367,16 +368,11 @@ //#define CONSOLE_THREAD_STACK_SIZE UTILITY_THREAD_STACK_SIZE -#define BOARD_EXT_GPIOCHIPS 1 - #define BOARD_TLE6240_COUNT 0 #define BOARD_MC33972_COUNT 0 #define BOARD_TLE8888_COUNT 0 #define BOARD_DRV8860_COUNT 1 -// todo: move this outside of efifeatures.h -#define BOARD_EXT_PINREPOPINS 24 - #define DRV8860_SS_PORT GPIOH #define DRV8860_SS_PAD 11U #define DRV8860_RESET_PORT NULL diff --git a/firmware/config/boards/hellen/cypress/rusefi_hw_enums.h b/firmware/config/boards/hellen/cypress/rusefi_hw_enums.h index c609a614ba..6a744dba0d 100644 --- a/firmware/config/boards/hellen/cypress/rusefi_hw_enums.h +++ b/firmware/config/boards/hellen/cypress/rusefi_hw_enums.h @@ -251,41 +251,42 @@ typedef enum __attribute__ ((__packed__)) } brain_pin_diag_e; typedef enum __attribute__ ((__packed__)) { - EFI_ADC_0 = 0, - EFI_ADC_1 = 1, - EFI_ADC_2 = 2, - EFI_ADC_3 = 3, - EFI_ADC_4 = 4, - EFI_ADC_5 = 5, - EFI_ADC_6 = 6, - EFI_ADC_7 = 7, - EFI_ADC_8 = 8, - EFI_ADC_9 = 9, - EFI_ADC_10 = 10, - EFI_ADC_11 = 11, - EFI_ADC_12 = 12, - EFI_ADC_13 = 13, - EFI_ADC_14 = 14, - EFI_ADC_15 = 15, - EFI_ADC_16 = 16, - EFI_ADC_17 = 17, - EFI_ADC_18 = 18, - EFI_ADC_19 = 19, - EFI_ADC_20 = 20, - EFI_ADC_21 = 21, - EFI_ADC_22 = 22, - EFI_ADC_23 = 23, - EFI_ADC_24 = 24, - EFI_ADC_25 = 25, - EFI_ADC_26 = 26, - EFI_ADC_27 = 27, - EFI_ADC_28 = 28, - EFI_ADC_29 = 29, - EFI_ADC_30 = 30, - EFI_ADC_31 = 31, + EFI_ADC_NONE = 0, + + EFI_ADC_0 = 1, + EFI_ADC_1 = 2, + EFI_ADC_2 = 3, + EFI_ADC_3 = 4, + EFI_ADC_4 = 5, + EFI_ADC_5 = 6, + EFI_ADC_6 = 7, + EFI_ADC_7 = 8, + EFI_ADC_8 = 9, + EFI_ADC_9 = 10, + EFI_ADC_10 = 11, + EFI_ADC_11 = 12, + EFI_ADC_12 = 13, + EFI_ADC_13 = 14, + EFI_ADC_14 = 15, + EFI_ADC_15 = 16, + EFI_ADC_16 = 17, + EFI_ADC_17 = 18, + EFI_ADC_18 = 19, + EFI_ADC_19 = 20, + EFI_ADC_20 = 21, + EFI_ADC_21 = 22, + EFI_ADC_22 = 23, + EFI_ADC_23 = 24, + EFI_ADC_24 = 25, + EFI_ADC_25 = 26, + EFI_ADC_26 = 27, + EFI_ADC_27 = 28, + EFI_ADC_28 = 29, + EFI_ADC_29 = 30, + EFI_ADC_30 = 31, + EFI_ADC_31 = 32, // todo: bad choice of value since now we have ADC_CHANNEL_SENSOR and could end up with 17 and 18 also - EFI_ADC_NONE = 32, EFI_ADC_ERROR = 33, #if EFI_UNIT_TEST /** diff --git a/firmware/console/binary/tunerstudio_io.cpp b/firmware/console/binary/tunerstudio_io.cpp index 708034d6c2..aba0e5b8ed 100644 --- a/firmware/console/binary/tunerstudio_io.cpp +++ b/firmware/console/binary/tunerstudio_io.cpp @@ -34,7 +34,7 @@ extern SERIAL_USB_DRIVER TS_USB_DEVICE; #endif /* TS_USB_DEVICE */ #ifdef TS_CAN_DEVICE -#include "tunerstudio_can.h" +#include "serial_can.h" #endif /* TS_CAN_DEVICE */ diff --git a/firmware/console/binary/tunerstudio_io.h b/firmware/console/binary/tunerstudio_io.h index 48a042d63e..41c64eb274 100644 --- a/firmware/console/binary/tunerstudio_io.h +++ b/firmware/console/binary/tunerstudio_io.h @@ -9,9 +9,9 @@ #pragma once #include "global.h" -#if HAL_USE_SERIAL_USB +#if EFI_USB_SERIAL #include "usbconsole.h" -#endif // HAL_USE_SERIAL_USB +#endif // EFI_USB_SERIAL #if EFI_PROD_CODE #include "pin_repository.h" diff --git a/firmware/controllers/generated/signature_hellen_cypress.h b/firmware/controllers/generated/signature_hellen_cypress.h new file mode 100644 index 0000000000..ad8f02b699 --- /dev/null +++ b/firmware/controllers/generated/signature_hellen_cypress.h @@ -0,0 +1,8 @@ +// +// was generated automatically by rusEfi tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt +// + +#define SIGNATURE_BOARD hellen_cypress +#define SIGNATURE_DATE 2020.09.21 +#define SIGNATURE_HASH 2762854905 +#define TS_SIGNATURE "rusEFI 2020.09.21.hellen_cypress.2762854905" diff --git a/firmware/gen_config.sh b/firmware/gen_config.sh index 17ceb6c090..aa0c63ed92 100755 --- a/firmware/gen_config.sh +++ b/firmware/gen_config.sh @@ -20,4 +20,8 @@ cd config/boards/kinetis/config bash gen_config.sh [ $? -eq 0 ] || { echo "ERROR generating board kinetis kin"; exit 1; } +#cd config/boards/hellen/cypress/config +#bash gen_config.sh +#[ $? -eq 0 ] || { echo "ERROR generating board hellen_cypress hellen_cypress"; exit 1; } + exit 0 diff --git a/firmware/hw_layer/ports/cypress/backup_ram.cpp b/firmware/hw_layer/ports/cypress/backup_ram.cpp index b07f1862ea..1056955ad0 100644 --- a/firmware/hw_layer/ports/cypress/backup_ram.cpp +++ b/firmware/hw_layer/ports/cypress/backup_ram.cpp @@ -1,12 +1,13 @@ /** * @file backup_ram.cpp + * @brief NVRAM emulation using Internal Flash (flash_int driver) * * @date May 22, 2020 */ #include "global.h" #include "backup_ram.h" -#include "flash.h" +#include "flash_int.h" #define BACKUP_NOT_INITIALIZED 0xFFFF #define BACKUP_SAVED 0x5555 @@ -23,7 +24,7 @@ static void backupInit(void) { static_assert(backupSize <= BACKUP_FLASH_SIZE, "Backup flash overflow"); // first, load the whole buffer into the memory - flashRead((flashaddr_t)BACKUP_FLASH_ADDR, (char *)backupRam, backupSize); + intFlashRead((flashaddr_t)BACKUP_FLASH_ADDR, (char *)backupRam, backupSize); // check if we have a reliable properly saved data if (backupRam[backupStateOffset] != BACKUP_SAVED) { // zero is the default value @@ -33,7 +34,7 @@ static void backupInit(void) { // we cannot trust the saved data anymore, until it's saved in backupRamFlush() // so we mark is as 'pending' backupRam[backupStateOffset] = BACKUP_PENDING; - flashWrite(BACKUP_FLASH_ADDR + backupStateOffset, (char *)backupRam, sizeof(backupRam[backupStateOffset])); + intFlashWrite(BACKUP_FLASH_ADDR + backupStateOffset, (char *)backupRam, sizeof(backupRam[backupStateOffset])); wasLoaded = true; } @@ -64,11 +65,11 @@ void backupRamFlush(void) { syssts_t sts = chSysGetStatusAndLockX(); // rewrite the whole sector - flashErase((flashaddr_t)BACKUP_FLASH_ADDR, BACKUP_FLASH_SIZE); + intFlashErase((flashaddr_t)BACKUP_FLASH_ADDR, BACKUP_FLASH_SIZE); // mark the data as valid & saved backupRam[backupStateOffset] = BACKUP_SAVED; // save the data to the flash - flashWrite((flashaddr_t)BACKUP_FLASH_ADDR, (char *)backupRam, backupSize); + intFlashWrite((flashaddr_t)BACKUP_FLASH_ADDR, (char *)backupRam, backupSize); // Leaving the critical zone chSysRestoreStatusX(sts); diff --git a/firmware/hw_layer/ports/cypress/flash.c b/firmware/hw_layer/ports/cypress/flash_int.c similarity index 90% rename from firmware/hw_layer/ports/cypress/flash.c rename to firmware/hw_layer/ports/cypress/flash_int.c index dbed2a8cae..a0f817b788 100644 --- a/firmware/hw_layer/ports/cypress/flash.c +++ b/firmware/hw_layer/ports/cypress/flash_int.c @@ -9,7 +9,7 @@ #if EFI_INTERNAL_FLASH -#include "flash.h" +#include "flash_int.h" #include @@ -48,7 +48,7 @@ static __attribute__((optimize("O0"))) int flashSectorEraseAtAddress(volatile u return MFlash_SectorErase((uint16_t*)sectorStart) != Ok ? FLASH_RETURN_BAD_FLASH : FLASH_RETURN_SUCCESS; } -int __attribute__((optimize("O0"))) flashErase(flashaddr_t address, size_t size) { +int __attribute__((optimize("O0"))) intFlashErase(flashaddr_t address, size_t size) { // todo: this is a temporary hack // todo: why the code below doesn't work with -O2?! if (flashSectorEraseAtAddress(address) != FLASH_RETURN_SUCCESS) { @@ -80,13 +80,13 @@ int __attribute__((optimize("O0"))) flashErase(flashaddr_t address, size_t size return FLASH_RETURN_SUCCESS; } -int flashWrite(flashaddr_t address, const char* buffer, size_t size) { +int intFlashWrite(flashaddr_t address, const char* buffer, size_t size) { uint32_t sizeInWords = alignToWord(size) >> 1; return MFlash_WriteData16Bit((uint16_t*)address, (uint16_t*)buffer, sizeInWords) == Ok ? FLASH_RETURN_SUCCESS : FLASH_RETURN_BAD_FLASH; //return MFlash_WriteData16Bit_Fm0Type3CrSecureArea((uint16_t*)address, (uint16_t*)buffer, sizeInWords) == Ok ? 0 : -1; } -bool flashIsErased(flashaddr_t address, size_t size) { +bool intFlashIsErased(flashaddr_t address, size_t size) { /* Check for default set bits in the flash memory * For efficiency, compare flashdata_t values as much as possible, * then, fallback to byte per byte comparison. */ @@ -106,7 +106,7 @@ bool flashIsErased(flashaddr_t address, size_t size) { return TRUE; } -bool flashCompare(flashaddr_t address, const char* buffer, size_t size) { +bool intFlashCompare(flashaddr_t address, const char* buffer, size_t size) { /* For efficiency, compare flashdata_t values as much as possible, * then, fallback to byte per byte comparison. */ while (size >= sizeof(flashdata_t)) { @@ -127,7 +127,7 @@ bool flashCompare(flashaddr_t address, const char* buffer, size_t size) { return TRUE; } -int flashRead(flashaddr_t address, char* buffer, size_t size) { +int intFlashRead(flashaddr_t address, char* buffer, size_t size) { memcpy(buffer, (char*) address, size); return FLASH_RETURN_SUCCESS; } diff --git a/firmware/hw_layer/ports/cypress/hw_ports.mk b/firmware/hw_layer/ports/cypress/hw_ports.mk index 1b766c27c1..f50cd0c279 100644 --- a/firmware/hw_layer/ports/cypress/hw_ports.mk +++ b/firmware/hw_layer/ports/cypress/hw_ports.mk @@ -5,7 +5,7 @@ endif HW_LAYER_EGT = $(PROJECT_DIR)/hw_layer/ports/cypress/serial_over_usb/usbconfig.c \ $(PROJECT_DIR)/hw_layer/ports/cypress/serial_over_usb/usbconsole.c -HW_LAYER_EMS += $(PROJECT_DIR)/hw_layer/ports/cypress/flash.c +HW_LAYER_EMS += $(PROJECT_DIR)/hw_layer/ports/cypress/flash_int.c HW_LAYER_EMS_CPP += $(PROJECT_DIR)/hw_layer/ports/cypress/mpu_util.cpp \ $(PROJECT_DIR)/hw_layer/ports/cypress/cypress_pins.cpp \ diff --git a/firmware/hw_layer/ports/cypress/mpu_util.cpp b/firmware/hw_layer/ports/cypress/mpu_util.cpp index b029516471..0f65176254 100644 --- a/firmware/hw_layer/ports/cypress/mpu_util.cpp +++ b/firmware/hw_layer/ports/cypress/mpu_util.cpp @@ -11,7 +11,7 @@ #if EFI_PROD_CODE #include "mpu_util.h" -#include "flash.h" +#include "flash_int.h" #include "engine.h" #include "pin_repository.h" #include "os_util.h" @@ -249,5 +249,13 @@ size_t flashSectorSize(flashsector_t sector) { return 0; } +uintptr_t getFlashAddrFirstCopy() { + return FLASH_ADDR; +} + +uintptr_t getFlashAddrSecondCopy() { + return FLASH_ADDR_SECOND_COPY; +} + #endif /* EFI_PROD_CODE */ diff --git a/firmware/hw_layer/ports/cypress/mpu_util.h b/firmware/hw_layer/ports/cypress/mpu_util.h deleted file mode 100644 index 6bca3aacf5..0000000000 --- a/firmware/hw_layer/ports/cypress/mpu_util.h +++ /dev/null @@ -1,92 +0,0 @@ -/** - * @file mpu_util.h - * - * @date Jul 27, 2014 - * @author Andrey Belomutskiy, (c) 2012-2020 - * @author andreika - */ - -#ifndef MPU_UTIL_H_ -#define MPU_UTIL_H_ - -// we are lucky - all CAN pins use the same AF -#define EFI_CAN_RX_AF 9 -#define EFI_CAN_TX_AF 9 - -// burnout or 'Burn Out' -typedef enum { - BOR_Level_None = 0, - BOR_Level_1 = 1, - BOR_Level_2 = 2, - BOR_Level_3 = 3 -} BOR_Level_t; - -typedef enum { - BOR_Result_Ok = 0x00, - BOR_Result_Error -} BOR_Result_t; - -BOR_Level_t BOR_Get(void); -BOR_Result_t BOR_Set(BOR_Level_t BORValue); - -#ifndef ADC_TwoSamplingDelay_5Cycles -#define ADC_TwoSamplingDelay_5Cycles ((uint32_t)0x00000000) -#endif - -#ifndef ADC_TwoSamplingDelay_20Cycles -#define ADC_TwoSamplingDelay_20Cycles ((uint32_t)0x00000F00) -#endif - -#ifndef ADC_CR2_SWSTART -#define ADC_CR2_SWSTART ((uint32_t)0x40000000) -#endif - -#define SPI_CR1_8BIT_MODE 0 -#define SPI_CR2_8BIT_MODE 0 - -#define SPI_CR1_16BIT_MODE SPI_CR1_DFF -#define SPI_CR2_16BIT_MODE 0 - -// TODO -#define SPI_CR1_24BIT_MODE 0 -#define SPI_CR2_24BIT_MODE 0 - -void baseMCUInit(void); -void turnOnSpi(spi_device_e device); -void jump_to_bootloader(); - -#ifdef __cplusplus -extern "C" -{ -#endif /* __cplusplus */ - -// these need to be declared C style for the linker magic to work - -void DebugMonitorVector(void); -void UsageFaultVector(void); -void BusFaultVector(void); -void HardFaultVector(void); - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#if HAL_USE_SPI -void initSpiModule(SPIDriver *driver, brain_pin_e sck, brain_pin_e miso, - brain_pin_e mosi, - int sckMode, - int mosiMode, - int misoMode); -/** - * @see getSpiDevice - */ -void initSpiCs(SPIConfig *spiConfig, brain_pin_e csPin); -#endif /* HAL_USE_SPI */ - -bool isValidCanTxPin(brain_pin_e pin); -bool isValidCanRxPin(brain_pin_e pin); -#if HAL_USE_CAN -CANDriver * detectCanDevice(brain_pin_e pinRx, brain_pin_e pinTx); -#endif /* HAL_USE_CAN */ - -#endif /* MPU_UTIL_H_ */ diff --git a/firmware/hw_layer/ports/cypress/port_mpu_util.h b/firmware/hw_layer/ports/cypress/port_mpu_util.h new file mode 100644 index 0000000000..13f02c0d9c --- /dev/null +++ b/firmware/hw_layer/ports/cypress/port_mpu_util.h @@ -0,0 +1,42 @@ +/** + * @file port_mpu_util.h + * + * @date Jul 27, 2014 + * @author Andrey Belomutskiy, (c) 2012-2020 + * @author andreika + */ + +#pragma once + +typedef enum { + BOR_Level_None = 0, + BOR_Level_1 = 1, + BOR_Level_2 = 2, + BOR_Level_3 = 3 +} BOR_Level_t; + +// we are lucky - all CAN pins use the same AF +#define EFI_CAN_RX_AF 9 +#define EFI_CAN_TX_AF 9 + +#ifndef ADC_TwoSamplingDelay_5Cycles +#define ADC_TwoSamplingDelay_5Cycles ((uint32_t)0x00000000) +#endif + +#ifndef ADC_TwoSamplingDelay_20Cycles +#define ADC_TwoSamplingDelay_20Cycles ((uint32_t)0x00000F00) +#endif + +#ifndef ADC_CR2_SWSTART +#define ADC_CR2_SWSTART ((uint32_t)0x40000000) +#endif + +#define SPI_CR1_8BIT_MODE 0 +#define SPI_CR2_8BIT_MODE 0 + +#define SPI_CR1_16BIT_MODE SPI_CR1_DFF +#define SPI_CR2_16BIT_MODE 0 + +// TODO +#define SPI_CR1_24BIT_MODE 0 +#define SPI_CR2_24BIT_MODE 0 diff --git a/firmware/hw_layer/ports/cypress/serial_over_usb/usbdescriptors.h b/firmware/hw_layer/ports/cypress/serial_over_usb/usbdescriptors.h index 26a4b58068..22327e3f73 100644 --- a/firmware/hw_layer/ports/cypress/serial_over_usb/usbdescriptors.h +++ b/firmware/hw_layer/ports/cypress/serial_over_usb/usbdescriptors.h @@ -166,9 +166,9 @@ const uint8_t au8ReportDescriptor2[1]; // Not used const stc_usbdevice_stringdescriptor_t pstcStringDescriptors[] = { -{"Spansion International Inc.",NULL}, //Manufacturer String -{"rusEFI ECU Comm Port",NULL}, //Product String -{"1.0",NULL}, //Serial Number String +{(uint8_t*)"Spansion International Inc.",NULL}, //Manufacturer String +{(uint8_t*)"rusEFI ECU Comm Port",NULL}, //Product String +{(uint8_t*)"1.0",NULL}, //Serial Number String }; diff --git a/firmware/hw_layer/smart_gpio.h b/firmware/hw_layer/smart_gpio.h index ef2fd9736e..caeba61cee 100644 --- a/firmware/hw_layer/smart_gpio.h +++ b/firmware/hw_layer/smart_gpio.h @@ -12,7 +12,13 @@ #include "drivers/gpio/tle6240.h" #include "drivers/gpio/mc33972.h" #include "drivers/gpio/tle8888.h" - #define BOARD_EXT_PINREPOPINS (BOARD_TLE6240_COUNT * TLE6240_OUTPUTS + BOARD_MC33972_COUNT * MC33972_INPUTS + BOARD_TLE8888_COUNT * TLE8888_OUTPUTS) + #include "drivers/gpio/drv8860.h" + + #define BOARD_EXT_PINREPOPINS (\ + BOARD_TLE6240_COUNT * TLE6240_OUTPUTS + \ + BOARD_MC33972_COUNT * MC33972_INPUTS + \ + BOARD_TLE8888_COUNT * TLE8888_OUTPUTS + \ + BOARD_DRV8860_COUNT * DRV8860_OUTPUTS) #else /* EFI_PROD_CODE */ #define BOARD_EXT_PINREPOPINS 0 diff --git a/firmware/hw_layer/trigger_input_adc.cpp b/firmware/hw_layer/trigger_input_adc.cpp index fac3b01ad7..51176c9758 100644 --- a/firmware/hw_layer/trigger_input_adc.cpp +++ b/firmware/hw_layer/trigger_input_adc.cpp @@ -388,15 +388,15 @@ void triggerAdcCallback(adcsample_t value) { } else { //!!!!!!!!!! - toggleLed(2, 0); + //toggleLed(2, 0); return; // both are positive/negative/zero: not interested! } //!!!!!!!!!! - toggleLed(2, -1); + //toggleLed(2, -1); //!!!!!!!!!! - toggleLed(3, 0); + //toggleLed(3, 0); if (isSignalWeak) { if (minDeltaThresholdCntPos >= DELTA_THRESHOLD_CNT_LOW && minDeltaThresholdCntNeg >= DELTA_THRESHOLD_CNT_LOW) {