Technical debt: ENUM_32_BITS #3874

poking the bear
This commit is contained in:
rusefi 2023-06-01 01:31:46 -04:00 committed by rusefillc
parent 415b3d55df
commit b0f1e6dfd3
4 changed files with 104 additions and 108 deletions

View File

@ -664,7 +664,7 @@ void loadConfiguration() {
#if EFI_INTERNAL_FLASH #if EFI_INTERNAL_FLASH
if (SHOULD_IGNORE_FLASH() || IGNORE_FLASH_CONFIGURATION) { if (SHOULD_IGNORE_FLASH() || IGNORE_FLASH_CONFIGURATION) {
engineConfiguration->engineType = DEFAULT_ENGINE_TYPE; engineConfiguration->engineType = engine_type_e::DEFAULT_ENGINE_TYPE;
resetConfigurationExt(engineConfiguration->engineType); resetConfigurationExt(engineConfiguration->engineType);
writeToFlashNow(); writeToFlashNow();
} else { } else {
@ -674,7 +674,7 @@ void loadConfiguration() {
} }
#else // not EFI_INTERNAL_FLASH #else // not EFI_INTERNAL_FLASH
// This board doesn't load configuration, initialize the default // This board doesn't load configuration, initialize the default
engineConfiguration->engineType = DEFAULT_ENGINE_TYPE; engineConfiguration->engineType = engine_type_e::DEFAULT_ENGINE_TYPE;
resetConfigurationExt(engineConfiguration->engineType); resetConfigurationExt(engineConfiguration->engineType);
#endif /* EFI_INTERNAL_FLASH */ #endif /* EFI_INTERNAL_FLASH */
@ -708,284 +708,284 @@ void resetConfigurationExt(configuration_callback_t boardCallback, engine_type_e
* And override them with engine-specific defaults * And override them with engine-specific defaults
*/ */
switch (engineType) { switch (engineType) {
case HELLEN72_ETB: case engine_type_e::HELLEN72_ETB:
case MINIMAL_PINS: case engine_type_e::MINIMAL_PINS:
// all basic settings are already set in prepareVoidConfiguration(), no need to set anything here // all basic settings are already set in prepareVoidConfiguration(), no need to set anything here
// nothing to do - we do it all in setBoardDefaultConfiguration // nothing to do - we do it all in setBoardDefaultConfiguration
break; break;
#if EFI_UNIT_TEST #if EFI_UNIT_TEST
case TEST_ISSUE_366_BOTH: case engine_type_e::TEST_ISSUE_366_BOTH:
setTestEngineIssue366both(); setTestEngineIssue366both();
break; break;
case TEST_ISSUE_366_RISE: case engine_type_e::TEST_ISSUE_366_RISE:
setTestEngineIssue366rise(); setTestEngineIssue366rise();
break; break;
#endif // EFI_UNIT_TEST #endif // EFI_UNIT_TEST
#if HW_MICRO_RUSEFI #if HW_MICRO_RUSEFI
case MRE_VW_B6: case engine_type_e::MRE_VW_B6:
setMreVwPassatB6(); setMreVwPassatB6();
break; break;
case MRE_M111: case engine_type_e::MRE_M111:
setMreM111EngineConfiguration(); setMreM111EngineConfiguration();
break; break;
case MRE_SECONDARY_CAN: case engine_type_e::MRE_SECONDARY_CAN:
mreSecondaryCan(); mreSecondaryCan();
break; break;
case MRE_SUBARU_EJ18: case engine_type_e::MRE_SUBARU_EJ18:
setSubaruEJ18_MRE(); setSubaruEJ18_MRE();
break; break;
case MRE_BOARD_NEW_TEST: case engine_type_e::MRE_BOARD_NEW_TEST:
mreBoardNewTest(); mreBoardNewTest();
break; break;
case BMW_M73_MRE: case engine_type_e::BMW_M73_MRE:
case BMW_M73_MRE_SLAVE: case engine_type_e::BMW_M73_MRE_SLAVE:
setEngineBMW_M73_microRusEfi(); setEngineBMW_M73_microRusEfi();
break; break;
case MRE_MIATA_94_MAP: case engine_type_e::MRE_MIATA_94_MAP:
setMiata94_MAP_MRE(); setMiata94_MAP_MRE();
break; break;
case MRE_MIATA_NA6_MAP: case engine_type_e::MRE_MIATA_NA6_MAP:
setMiataNA6_MAP_MRE(); setMiataNA6_MAP_MRE();
break; break;
case MRE_BODY_CONTROL: case engine_type_e::MRE_BODY_CONTROL:
mreBCM(); mreBCM();
break; break;
#endif // HW_MICRO_RUSEFI #endif // HW_MICRO_RUSEFI
#if HW_PROTEUS #if HW_PROTEUS
case PROTEUS_M111: case engine_type_e::PROTEUS_M111:
setProteusM111EngineConfiguration(); setProteusM111EngineConfiguration();
break; break;
case WASTEGATE_PROTEUS_TEST: case engine_type_e::WASTEGATE_PROTEUS_TEST:
proteusDcWastegateTest(); proteusDcWastegateTest();
break; break;
case PROTEUS_HYUNDAI_PB: case engine_type_e::PROTEUS_HYUNDAI_PB:
setProteusHyundaiPb(); setProteusHyundaiPb();
break; break;
case PROTEUS_NISSAN_VQ35: case engine_type_e::PROTEUS_NISSAN_VQ35:
setProteusNissanVQ(); setProteusNissanVQ();
break; break;
case PROTEUS_GM_LS_4: case engine_type_e::PROTEUS_GM_LS_4:
setProteusGmLs4(); setProteusGmLs4();
break; break;
case PROTEUS_VW_B6: case engine_type_e::PROTEUS_VW_B6:
setProteusVwPassatB6(); setProteusVwPassatB6();
break; break;
case PROTEUS_QC_TEST_BOARD: case engine_type_e::PROTEUS_QC_TEST_BOARD:
proteusBoardTest(); proteusBoardTest();
break; break;
case PROTEUS_LUA_DEMO: case engine_type_e::PROTEUS_LUA_DEMO:
proteusLuaDemo(); proteusLuaDemo();
break; break;
case PROTEUS_HARLEY: case engine_type_e::PROTEUS_HARLEY:
proteusHarley(); proteusHarley();
break; break;
case PROTEUS_BMW_M73: case engine_type_e::PROTEUS_BMW_M73:
setEngineBMW_M73_Proteus(); setEngineBMW_M73_Proteus();
break; break;
case MIATA_PROTEUS_TCU: case engine_type_e::MIATA_PROTEUS_TCU:
setMiataNB2_Proteus_TCU(); setMiataNB2_Proteus_TCU();
break; break;
case PROTEUS_HONDA_K: case engine_type_e::PROTEUS_HONDA_K:
setProteusHondaElement2003(); setProteusHondaElement2003();
break; break;
case PROTEUS_HONDA_OBD2A: case engine_type_e::PROTEUS_HONDA_OBD2A:
setProteusHondaOBD2A(); setProteusHondaOBD2A();
break; break;
case PROTEUS_E65_6H_MAN_IN_THE_MIDDLE: case engine_type_e::PROTEUS_E65_6H_MAN_IN_THE_MIDDLE:
setEngineProteusGearboxManInTheMiddle(); setEngineProteusGearboxManInTheMiddle();
break; break;
case PROTEUS_VAG_80_18T: case engine_type_e::PROTEUS_VAG_80_18T:
case PROTEUS_N73: case engine_type_e::PROTEUS_N73:
case PROTEUS_MIATA_NB2: case engine_type_e::PROTEUS_MIATA_NB2:
setMiataNB2_Proteus(); setMiataNB2_Proteus();
break; break;
case PROTEUS_SBC: case engine_type_e::PROTEUS_SBC:
setProteusSbc(); setProteusSbc();
break; break;
#ifdef HARDWARE_CI #ifdef HARDWARE_CI
case PROTEUS_ANALOG_PWM_TEST: case engine_type_e::PROTEUS_ANALOG_PWM_TEST:
setProteusAnalogPwmTest(); setProteusAnalogPwmTest();
break; break;
#endif // HARDWARE_CI #endif // HARDWARE_CI
#endif // HW_PROTEUS #endif // HW_PROTEUS
#if HW_HELLEN #if HW_HELLEN
case HELLEN_128_MERCEDES_4_CYL: case engine_type_e::HELLEN_128_MERCEDES_4_CYL:
setHellenMercedes128_4_cyl(); setHellenMercedes128_4_cyl();
break; break;
case HELLEN_128_MERCEDES_6_CYL: case engine_type_e::HELLEN_128_MERCEDES_6_CYL:
setHellenMercedes128_6_cyl(); setHellenMercedes128_6_cyl();
break; break;
case HELLEN_128_MERCEDES_8_CYL: case engine_type_e::HELLEN_128_MERCEDES_8_CYL:
setHellenMercedes128_8_cyl(); setHellenMercedes128_8_cyl();
break; break;
case HELLEN_NB2: case engine_type_e::HELLEN_NB2:
setMiataNB2_Hellen72(); setMiataNB2_Hellen72();
break; break;
case HELLEN_NB2_36: case engine_type_e::HELLEN_NB2_36:
setMiataNB2_Hellen72_36(); setMiataNB2_Hellen72_36();
break; break;
case HELLEN_NA8_96: case engine_type_e::HELLEN_NA8_96:
setHellenMiata96(); setHellenMiata96();
break; break;
case HELLEN_NB1: case engine_type_e::HELLEN_NB1:
setHellenNB1(); setHellenNB1();
break; break;
case HELLEN_121_NISSAN_4_CYL: case engine_type_e::HELLEN_121_NISSAN_4_CYL:
setHellen121nissanQR(); setHellen121nissanQR();
break; break;
case HELLEN_121_NISSAN_6_CYL: case engine_type_e::HELLEN_121_NISSAN_6_CYL:
setHellen121nissanVQ(); setHellen121nissanVQ();
break; break;
case HELLEN_121_VAG_5_CYL: case engine_type_e::HELLEN_121_VAG_5_CYL:
setHellen121Vag_5_cyl(); setHellen121Vag_5_cyl();
break; break;
case HELLEN_121_VAG_V6_CYL: case engine_type_e::HELLEN_121_VAG_V6_CYL:
setHellen121Vag_v6_cyl(); setHellen121Vag_v6_cyl();
break; break;
case HELLEN_121_VAG_VR6_CYL: case engine_type_e::HELLEN_121_VAG_VR6_CYL:
setHellen121Vag_vr6_cyl(); setHellen121Vag_vr6_cyl();
break; break;
case HELLEN_121_VAG_8_CYL: case engine_type_e::HELLEN_121_VAG_8_CYL:
setHellen121Vag_8_cyl(); setHellen121Vag_8_cyl();
break; break;
case HELLEN_121_VAG_4_CYL: case engine_type_e::HELLEN_121_VAG_4_CYL:
case HELLEN_55_BMW: case engine_type_e::HELLEN_55_BMW:
case HELLEN_88_BMW: case engine_type_e::HELLEN_88_BMW:
case HELLEN_134_BMW: case engine_type_e::HELLEN_134_BMW:
case HELLEN_154_VAG: case engine_type_e::HELLEN_154_VAG:
break; break;
case HELLEN_154_HYUNDAI_COUPE_BK1: case engine_type_e::HELLEN_154_HYUNDAI_COUPE_BK1:
setGenesisCoupeBK1(); setGenesisCoupeBK1();
break; break;
case HELLEN_154_HYUNDAI_COUPE_BK2: case engine_type_e::HELLEN_154_HYUNDAI_COUPE_BK2:
setGenesisCoupeBK2(); setGenesisCoupeBK2();
break; break;
case HELLEN_NA6: case engine_type_e::HELLEN_NA6:
setHellenNA6(); setHellenNA6();
break; break;
case HELLEN_NA94: case engine_type_e::HELLEN_NA94:
setHellenNA94(); setHellenNA94();
break; break;
case ALPHAX_8CHAN_SBC: case engine_type_e::ALPHAX_8CHAN_SBC:
set8chanSbc(); set8chanSbc();
break; break;
#endif // HW_HELLEN #endif // HW_HELLEN
#if HW_FRANKENSO #if HW_FRANKENSO
case DEFAULT_FRANKENSO: case engine_type_e::DEFAULT_FRANKENSO:
setFrankensoConfiguration(); setFrankensoConfiguration();
break; break;
case DISCOVERY_PDM: case engine_type_e::DISCOVERY_PDM:
case TEST_ENGINE: case engine_type_e::TEST_ENGINE:
setTestCamEngineConfiguration(); setTestCamEngineConfiguration();
break; break;
case TEST_CRANK_ENGINE: case engine_type_e::TEST_CRANK_ENGINE:
setTestCrankEngineConfiguration(); setTestCrankEngineConfiguration();
break; break;
case FRANKENSO_QA_ENGINE: case engine_type_e::FRANKENSO_QA_ENGINE:
setFrankensoBoardTestConfiguration(); setFrankensoBoardTestConfiguration();
break; break;
case FRANKENSO_BMW_M73_F: case engine_type_e::FRANKENSO_BMW_M73_F:
setBMW_M73_TwoCoilUnitTest(); setBMW_M73_TwoCoilUnitTest();
break; break;
case BMW_M73_M: case engine_type_e::BMW_M73_M:
setEngineBMW_M73_Manhattan(); setEngineBMW_M73_Manhattan();
break; break;
case DODGE_NEON_1995: case engine_type_e::DODGE_NEON_1995:
setDodgeNeon1995EngineConfiguration(); setDodgeNeon1995EngineConfiguration();
break; break;
case DODGE_NEON_2003_CRANK: case engine_type_e::DODGE_NEON_2003_CRANK:
setDodgeNeonNGCEngineConfiguration(); setDodgeNeonNGCEngineConfiguration();
break; break;
case FORD_ASPIRE_1996: case engine_type_e::FORD_ASPIRE_1996:
setFordAspireEngineConfiguration(); setFordAspireEngineConfiguration();
break; break;
case NISSAN_PRIMERA: case engine_type_e::NISSAN_PRIMERA:
setNissanPrimeraEngineConfiguration(); setNissanPrimeraEngineConfiguration();
break; break;
case FRANKENSO_MIATA_NA6_MAP: case engine_type_e::FRANKENSO_MIATA_NA6_MAP:
setMiataNA6_MAP_Frankenso(); setMiataNA6_MAP_Frankenso();
break; break;
case ETB_BENCH_ENGINE: case engine_type_e::ETB_BENCH_ENGINE:
setEtbTestConfiguration(); setEtbTestConfiguration();
break; break;
case L9779_BENCH_ENGINE: case engine_type_e::L9779_BENCH_ENGINE:
setL9779TestConfiguration(); setL9779TestConfiguration();
break; break;
case EEPROM_BENCH_ENGINE: case engine_type_e::EEPROM_BENCH_ENGINE:
#if EFI_PROD_CODE #if EFI_PROD_CODE
setEepromTestConfiguration(); setEepromTestConfiguration();
#endif #endif
break; break;
case TLE8888_BENCH_ENGINE: case engine_type_e::TLE8888_BENCH_ENGINE:
setTle8888TestConfiguration(); setTle8888TestConfiguration();
break; break;
case FRANKENSO_MAZDA_MIATA_NA8: case engine_type_e::FRANKENSO_MAZDA_MIATA_NA8:
setFrankensoMazdaMiataNA8Configuration(); setFrankensoMazdaMiataNA8Configuration();
break; break;
case MITSU_4G93: case engine_type_e::MITSU_4G93:
case FORD_INLINE_6_1995: case engine_type_e::FORD_INLINE_6_1995:
setFordInline6(); setFordInline6();
break; break;
case GY6_139QMB: case engine_type_e::GY6_139QMB:
setGy6139qmbDefaultEngineConfiguration(); setGy6139qmbDefaultEngineConfiguration();
break; break;
case HONDA_600: case engine_type_e::HONDA_600:
setHonda600(); setHonda600();
break; break;
case FORD_ESCORT_GT: case engine_type_e::FORD_ESCORT_GT:
setFordEscortGt(); setFordEscortGt();
break; break;
case MIATA_1996: case engine_type_e::MIATA_1996:
setFrankensteinMiata1996(); setFrankensteinMiata1996();
break; break;
case CITROEN_TU3JP: case engine_type_e::CITROEN_TU3JP:
setCitroenBerlingoTU3JPConfiguration(); setCitroenBerlingoTU3JPConfiguration();
break; break;
case SUBARU_2003_WRX: case engine_type_e::SUBARU_2003_WRX:
setSubaru2003Wrx(); setSubaru2003Wrx();
break; break;
case DODGE_RAM: case engine_type_e::DODGE_RAM:
setDodgeRam1996(); setDodgeRam1996();
break; break;
case VW_ABA: case engine_type_e::VW_ABA:
setVwAba(); setVwAba();
break; break;
case FRANKENSO_MAZDA_MIATA_2003: case engine_type_e::FRANKENSO_MAZDA_MIATA_2003:
setMazdaMiata2003EngineConfiguration(); setMazdaMiata2003EngineConfiguration();
break; break;
case MAZDA_MIATA_2003_NA_RAIL: case engine_type_e::MAZDA_MIATA_2003_NA_RAIL:
setMazdaMiata2003EngineConfigurationNaFuelRail(); setMazdaMiata2003EngineConfigurationNaFuelRail();
break; break;
case MAZDA_MIATA_2003_BOARD_TEST: case engine_type_e::MAZDA_MIATA_2003_BOARD_TEST:
setMazdaMiata2003EngineConfigurationBoardTest(); setMazdaMiata2003EngineConfigurationBoardTest();
break; break;
case TEST_ENGINE_VVT: case engine_type_e::TEST_ENGINE_VVT:
setTestVVTEngineConfiguration(); setTestVVTEngineConfiguration();
break; break;
case TEST_DC_WASTEGATE_DISCOVERY: case engine_type_e::TEST_DC_WASTEGATE_DISCOVERY:
setTestDcWastegateConfiguration(); setTestDcWastegateConfiguration();
break; break;
case SACHS: case engine_type_e::SACHS:
setSachs(); setSachs();
break; break;
case CAMARO_4: case engine_type_e::CAMARO_4:
setCamaro4(); setCamaro4();
break; break;
case TOYOTA_2JZ_GTE_VVTi: case engine_type_e::TOYOTA_2JZ_GTE_VVTi:
setToyota_2jz_vics(); setToyota_2jz_vics();
break; break;
case TEST_33816: case engine_type_e::TEST_33816:
setTest33816EngineConfiguration(); setTest33816EngineConfiguration();
break; break;
case TEST_100: case engine_type_e::TEST_100:
case TEST_101: case engine_type_e::TEST_101:
case TEST_102: case engine_type_e::TEST_102:
case TEST_ROTARY: case engine_type_e::TEST_ROTARY:
setRotary(); setRotary();
break; break;
#endif // HW_FRANKENSO #endif // HW_FRANKENSO
#ifdef HW_SUBARU_EG33 #ifdef HW_SUBARU_EG33
case SUBARUEG33_DEFAULTS: case engine_type_e::SUBARUEG33_DEFAULTS:
setSubaruEG33Defaults(); setSubaruEG33Defaults();
break; break;
#endif //HW_SUBARU_EG33 #endif //HW_SUBARU_EG33

View File

@ -16,7 +16,7 @@
/** /**
* https://github.com/rusefi/rusefi/wiki/Engine-Types * https://github.com/rusefi/rusefi/wiki/Engine-Types
*/ */
typedef enum __attribute__ ((__packed__)) { enum class engine_type_e : uint32_t {
DEFAULT_FRANKENSO = 0, DEFAULT_FRANKENSO = 0,
MIATA_PROTEUS_TCU = 1, MIATA_PROTEUS_TCU = 1,
@ -232,11 +232,7 @@ typedef enum __attribute__ ((__packed__)) {
PROTEUS_NISSAN_VQ35 = 103, PROTEUS_NISSAN_VQ35 = 103,
PROTEUS_HYUNDAI_PB = 104, PROTEUS_HYUNDAI_PB = 104,
};
// java code generator handles this value in a special way
// also looks like 2 enums are either 1 byte or 4 bytes
Force_4_bytes_size_engine_type = 70000,
} engine_type_e;
/** /**
* https://rusefi.com//wiki/index.php?title=Manual:Debug_fields * https://rusefi.com//wiki/index.php?title=Manual:Debug_fields

View File

@ -502,7 +502,7 @@ void executeTSCommand(uint16_t subsystem, uint16_t index) {
case TS_SET_DEFAULT_ENGINE: case TS_SET_DEFAULT_ENGINE:
fatalErrorForPresetApply(); fatalErrorForPresetApply();
setEngineType(DEFAULT_ENGINE_TYPE); setEngineType((int)engine_type_e::DEFAULT_ENGINE_TYPE);
break; break;
case 0x79: case 0x79:

View File

@ -319,7 +319,7 @@ void readFromFlash() {
getFlashAddrFirstCopy(); getFlashAddrFirstCopy();
getFlashAddrSecondCopy(); getFlashAddrSecondCopy();
resetConfigurationExt(DEFAULT_ENGINE_TYPE); resetConfigurationExt(engine_type_e::DEFAULT_ENGINE_TYPE);
FlashState result = FlashState::Ok; FlashState result = FlashState::Ok;
#else #else
@ -332,7 +332,7 @@ void readFromFlash() {
efiPrintf("Need to reset flash to default due to CRC mismatch"); efiPrintf("Need to reset flash to default due to CRC mismatch");
[[fallthrough]]; [[fallthrough]];
case FlashState::BlankChip: case FlashState::BlankChip:
resetConfigurationExt(DEFAULT_ENGINE_TYPE); resetConfigurationExt(engine_type_e::DEFAULT_ENGINE_TYPE);
break; break;
case FlashState::IncompatibleVersion: case FlashState::IncompatibleVersion:
// Preserve engine type from old config // Preserve engine type from old config