Technical debt: ENUM_32_BITS #3874

poking the bear
This commit is contained in:
rusefi 2023-06-01 01:56:40 -04:00 committed by rusefillc
parent e4dbd5838b
commit 1908896598
34 changed files with 147 additions and 146 deletions

View File

@ -36,7 +36,7 @@ void setGy6139qmbDefaultEngineConfiguration() {
/**
* We treat the trigger as 8-1 toothed wheel
*/
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL;
engineConfiguration->trigger.type = trigger_type_e::TT_TOOTHED_WHEEL;
engineConfiguration->trigger.customTotalToothCount = 8;
engineConfiguration->trigger.customSkippedToothCount = 1;

View File

@ -103,7 +103,7 @@ void m73engine() {
engineConfiguration->globalTriggerAngleOffset = 90;
setCrankOperationMode();
// todo: that's not right, should be 60/2 without VW
engineConfiguration->trigger.type = TT_60_2_VW;
engineConfiguration->trigger.type = trigger_type_e::TT_60_2_VW;
// this large engine seems to crank at around only 150 RPM? And happily idle at 400RPM?
engineConfiguration->cranking.rpm = 350;

View File

@ -100,7 +100,7 @@ void setEngineBMW_M73_microRusEfi() {
// do I have VR wires flipped?
engineConfiguration->trigger.type = TT_60_2_VW;
engineConfiguration->trigger.type = trigger_type_e::TT_60_2_VW;
//set tps_min 891
engineConfiguration->tpsMin = 891;

View File

@ -33,7 +33,7 @@ void setCamaro4() {
engineConfiguration->ignitionMode = IM_WASTED_SPARK;
setCrankOperationMode();
engineConfiguration->trigger.type = TT_GM_24x;
engineConfiguration->trigger.type = trigger_type_e::TT_GM_24x;
engineConfiguration->map.sensor.hwChannel = EFI_ADC_0; // PA0

View File

@ -19,7 +19,7 @@ void setCitroenBerlingoTU3JPConfiguration() {
* Base engine setting
*/
setCrankOperationMode();
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_60_2;
engineConfiguration->trigger.type = trigger_type_e::TT_TOOTHED_WHEEL_60_2;
engineConfiguration->globalTriggerAngleOffset = 114;
engineConfiguration->cylindersCount = 4;
engineConfiguration->displacement = 1.360;

View File

@ -67,7 +67,7 @@ void setDiscoveryPdm() {
// todo: should this be part of more default configurations?
void setFrankensoConfiguration() {
engineConfiguration->trigger.type = TT_ONE_PLUS_ONE;
engineConfiguration->trigger.type = trigger_type_e::TT_ONE_PLUS_ONE;
commonFrankensoAnalogInputs();
@ -230,7 +230,7 @@ void setEtbTestConfiguration() {
engineConfiguration->rpmHardLimit = 30000;
setCrankOperationMode();
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_60_2;
engineConfiguration->trigger.type = trigger_type_e::TT_TOOTHED_WHEEL_60_2;
engineConfiguration->ignitionPins[0] = Gpio::Unassigned;
@ -832,7 +832,7 @@ void setRotary() {
engineConfiguration->cylindersCount = 2;
engineConfiguration->firingOrder = FO_1_2;
engineConfiguration->trigger.type = TT_36_2_2_2;
engineConfiguration->trigger.type = trigger_type_e::TT_36_2_2_2;
// todo: fix UI to make this possible via TS
setTwoStrokeOperationMode();

View File

@ -19,7 +19,7 @@
#include "custom_engine.h"
void setDodgeNeon1995EngineConfiguration() {
engineConfiguration->trigger.type = TT_DODGE_NEON_1995;
engineConfiguration->trigger.type = trigger_type_e::TT_DODGE_NEON_1995;
engineConfiguration->fuelAlgorithm = LM_ALPHA_N;
@ -103,7 +103,7 @@ void setDodgeNeon1995EngineConfiguration() {
}
void setDodgeNeonNGCEngineConfiguration() {
engineConfiguration->trigger.type = TT_DODGE_NEON_2003_CAM;
engineConfiguration->trigger.type = trigger_type_e::TT_DODGE_NEON_2003_CAM;
// set global_trigger_offset_angle 38
engineConfiguration->globalTriggerAngleOffset = 38;

View File

@ -15,7 +15,7 @@
void setDodgeRam1996() {
setFrankensoConfiguration();
engineConfiguration->trigger.type = TT_DODGE_RAM;
engineConfiguration->trigger.type = trigger_type_e::TT_DODGE_RAM;
engineConfiguration->injector.flow = 243.6; // 23.2lb/h
engineConfiguration->map.sensor.type = MT_DODGE_NEON_2003;

View File

@ -39,7 +39,7 @@ void setFordInline6() {
* We treat the trigger as 6/0 toothed wheel
*/
engineConfiguration->skippedWheelOnCam = true;
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL;
engineConfiguration->trigger.type = trigger_type_e::TT_TOOTHED_WHEEL;
engineConfiguration->trigger.customTotalToothCount = 6;
engineConfiguration->trigger.customSkippedToothCount = 0;

View File

@ -73,7 +73,7 @@ void setFordAspireEngineConfiguration() {
setSingleCoilDwell();
engineConfiguration->ignitionMode = IM_ONE_COIL;
engineConfiguration->trigger.type = TT_FORD_ASPIRE;
engineConfiguration->trigger.type = trigger_type_e::TT_FORD_ASPIRE;
engineConfiguration->triggerInputDebugPins[0] = Gpio::C15;

View File

@ -66,7 +66,7 @@ static const uint8_t racingFestivaVeTable[16][16] = {
void setFordEscortGt() {
common079721_2351();
engineConfiguration->trigger.type = TT_MAZDA_DOHC_1_4;
engineConfiguration->trigger.type = trigger_type_e::TT_MAZDA_DOHC_1_4;
setDensoTODO(config);

View File

@ -81,7 +81,7 @@ void setSbc() {
setStepperHw();
// 8 cylinders one coil HEI trigger
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL;
engineConfiguration->trigger.type = trigger_type_e::TT_TOOTHED_WHEEL;
engineConfiguration->trigger.customTotalToothCount = 8;
engineConfiguration->trigger.customSkippedToothCount = 0;
engineConfiguration->skippedWheelOnCam = true;

View File

@ -24,7 +24,7 @@ static void setDefaultCustomMaps() {
void setHonda600() {
engineConfiguration->trigger.type = TT_HONDA_CBR_600;
engineConfiguration->trigger.type = trigger_type_e::TT_HONDA_CBR_600;
engineConfiguration->fuelAlgorithm = LM_ALPHA_N;
// upside down wiring

View File

@ -16,7 +16,7 @@ void setHondaK() {
engineConfiguration->displacement = 2.4;
engineConfiguration->firingOrder = FO_1_3_4_2;
engineConfiguration->engineSyncCam = SC_Exhaust_First;
engineConfiguration->trigger.type = TT_HONDA_K_CRANK_12_1;
engineConfiguration->trigger.type = trigger_type_e::TT_HONDA_K_CRANK_12_1;
int magic = 12; // note that offset and VVT are related
engineConfiguration->globalTriggerAngleOffset = 675 - magic;

View File

@ -17,7 +17,7 @@ void setHyundaiPb() {
strcpy(engineConfiguration->engineMake, ENGINE_MAKE_Hyundai);
strcpy(engineConfiguration->engineCode, "Gamma");
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL;
engineConfiguration->trigger.type = trigger_type_e::TT_TOOTHED_WHEEL;
engineConfiguration->trigger.customTotalToothCount = 60;
engineConfiguration->trigger.customSkippedToothCount = 1;
engineConfiguration->globalTriggerAngleOffset = 90;

View File

@ -73,7 +73,7 @@ static const uint8_t miataNA8_maf_advance_table[16][16] = { {/*0 engineLoad=1.2
#endif
static void commonMiataNa() {
engineConfiguration->trigger.type = TT_MAZDA_MIATA_NA;
engineConfiguration->trigger.type = trigger_type_e::TT_MAZDA_MIATA_NA;
engineConfiguration->engineChartSize = 100;
engineConfiguration->triggerInputPins[0] = Gpio::C6; // 2G YEL/BLU

View File

@ -90,7 +90,7 @@ static const uint8_t mapBased16IgnitionTable[16][16] = {
#endif
void miataNAcommonEngineSettings() {
engineConfiguration->trigger.type = TT_MAZDA_MIATA_NA;
engineConfiguration->trigger.type = trigger_type_e::TT_MAZDA_MIATA_NA;
engineConfiguration->cylindersCount = 4;
engineConfiguration->firingOrder = FO_1_3_4_2;
engineConfiguration->compressionRatio = 9.1;

View File

@ -251,7 +251,7 @@ static void setCommonMazdaNB() {
engineConfiguration->ignitionMode = IM_WASTED_SPARK;
// Trigger
engineConfiguration->trigger.type = TT_MIATA_VVT;
engineConfiguration->trigger.type = trigger_type_e::TT_MIATA_VVT;
engineConfiguration->vvtMode[0] = VVT_MIATA_NB;
engineConfiguration->vvtOffsets[0] = 98;
@ -644,7 +644,7 @@ void setMiataNB2_Proteus_TCU() {
strcpy(engineConfiguration->engineMake, ENGINE_MAKE_MAZDA);
strcpy(engineConfiguration->vehicleName, "TCU test");
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL;
engineConfiguration->trigger.type = trigger_type_e::TT_TOOTHED_WHEEL;
engineConfiguration->trigger.customTotalToothCount = 10;
engineConfiguration->trigger.customSkippedToothCount = 0;
@ -778,7 +778,7 @@ void setMiataNB2_Hellen72() {
void setMiataNB2_Hellen72_36() {
setMiataNB2_Hellen72();
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_36_1;
engineConfiguration->trigger.type = trigger_type_e::TT_TOOTHED_WHEEL_36_1;
engineConfiguration->globalTriggerAngleOffset = 76;
}

View File

@ -13,7 +13,7 @@
#include "nissan_primera.h"
void setNissanPrimeraEngineConfiguration() {
engineConfiguration->trigger.type = TT_NISSAN_SR20VE;
engineConfiguration->trigger.type = trigger_type_e::TT_NISSAN_SR20VE;
engineConfiguration->auxValves[0] = Gpio::E14;
engineConfiguration->auxValves[1] = Gpio::E12;

View File

@ -13,7 +13,7 @@
#define NISSAN_VQ_VVT_OFFSET 157
void setHellen121nissanQR() {
engineConfiguration->trigger.type = TT_NISSAN_QR25;
engineConfiguration->trigger.type = trigger_type_e::TT_NISSAN_QR25;
engineConfiguration->cylindersCount = 4;
engineConfiguration->firingOrder = FO_1_3_4_2;
@ -33,7 +33,7 @@ void setHellen121nissanQR() {
static void setNissanVqEngineConfig() {
setNissanMAF0031(config);
engineConfiguration->trigger.type = TT_NISSAN_VQ35;
engineConfiguration->trigger.type = trigger_type_e::TT_NISSAN_VQ35;
engineConfiguration->cylindersCount = 6;
engineConfiguration->firingOrder = FO_1_2_3_4_5_6;

View File

@ -26,7 +26,7 @@ void setSachs() {
/**
* 50/2 trigger
*/
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL;
engineConfiguration->trigger.type = trigger_type_e::TT_TOOTHED_WHEEL;
engineConfiguration->trigger.customTotalToothCount = 50;
engineConfiguration->trigger.customSkippedToothCount = 2;

View File

@ -16,7 +16,7 @@
#include "mre_meta.h"
void setSubaru2003Wrx() {
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL;
engineConfiguration->trigger.type = trigger_type_e::TT_TOOTHED_WHEEL;
engineConfiguration->trigger.customTotalToothCount = 5;
engineConfiguration->trigger.customSkippedToothCount = 1;
@ -36,7 +36,7 @@ void setSubaru2003Wrx() {
* set engine_type 37
*/
void setSubaruEJ18_MRE() {
engineConfiguration->trigger.type = TT_SUBARU_7_WITHOUT_6;
engineConfiguration->trigger.type = trigger_type_e::TT_SUBARU_7_WITHOUT_6;
// engineConfiguration->isDoubleSolenoidIdle = true;
@ -66,7 +66,7 @@ void setSubaruEJ18_MRE() {
void setSubaruEG33Defaults() {
setCamOperationMode();
engineConfiguration->trigger.type = TT_SUBARU_SVX;
engineConfiguration->trigger.type = trigger_type_e::TT_SUBARU_SVX;
engineConfiguration->cylindersCount = 6;
setLeftRightBanksNeedBetterName();

View File

@ -16,7 +16,7 @@
// TEST_ENGINE
void setTestCamEngineConfiguration() {
engineConfiguration->trigger.type = TT_ONE_PLUS_ONE;
engineConfiguration->trigger.type = trigger_type_e::TT_ONE_PLUS_ONE;
setCamOperationMode();
engineConfiguration->mafAdcChannel = EFI_ADC_1;
@ -44,7 +44,7 @@ void setTestCamEngineConfiguration() {
void setTestCrankEngineConfiguration() {
setTestCamEngineConfiguration();
engineConfiguration->trigger.type = TT_ONE;
engineConfiguration->trigger.type = trigger_type_e::TT_ONE;
setCrankOperationMode();
// this is related to 'setDefaultBaseEngine' having 'skippedWheelOnCam = true' which is a weird fact by itself
@ -70,7 +70,7 @@ void setTestDcWastegateConfiguration() {
void setTestVVTEngineConfiguration() {
setCrankOperationMode();
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL;
engineConfiguration->trigger.type = trigger_type_e::TT_TOOTHED_WHEEL;
engineConfiguration->trigger.customTotalToothCount = 3;
engineConfiguration->trigger.customSkippedToothCount = 1;
@ -93,7 +93,7 @@ void setTestEngineIssue366both() {
engineConfiguration->trigger.customTotalToothCount = 2;
engineConfiguration->trigger.customSkippedToothCount = 1;
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL;
engineConfiguration->trigger.type = trigger_type_e::TT_TOOTHED_WHEEL;
}
void setTestEngineIssue366rise() {
@ -104,7 +104,7 @@ void setTestEngineIssue366rise() {
#ifdef HARDWARE_CI
void setProteusAnalogPwmTest() {
// lowest cpu trigger possible
engineConfiguration->trigger.type = TT_ONE;
engineConfiguration->trigger.type = trigger_type_e::TT_ONE;
// Disable trigger stim
engineConfiguration->triggerSimulatorPins[0] = Gpio::Unassigned;

View File

@ -73,7 +73,7 @@ void setToyota_2jz_vics() {
common2jz();
setCrankOperationMode();
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_36_2;
engineConfiguration->trigger.type = trigger_type_e::TT_TOOTHED_WHEEL_36_2;
engineConfiguration->triggerInputPins[0] = Gpio::A5; // crank sensor
engineConfiguration->triggerInputPins[1] = Gpio::Unassigned; // cam sensor will he handled by custom vtti code

View File

@ -26,7 +26,7 @@ void setVwAba() {
setCrankOperationMode();
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_60_2;
engineConfiguration->trigger.type = trigger_type_e::TT_TOOTHED_WHEEL_60_2;
engineConfiguration->mafAdcChannel = EFI_ADC_1;

View File

@ -16,7 +16,7 @@
static void commonPassatB6() {
setCrankOperationMode();
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_60_2;
engineConfiguration->trigger.type = trigger_type_e::TT_TOOTHED_WHEEL_60_2;
engineConfiguration->vvtMode[0] = VVT_BOSCH_QUICK_START;
engineConfiguration->map.sensor.type = MT_BOSCH_2_5;

View File

@ -79,7 +79,7 @@ void setDefaultBaseEngine() {
engineConfiguration->ALSMaxTPS = 5;
// Trigger
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_60_2;
engineConfiguration->trigger.type = trigger_type_e::TT_TOOTHED_WHEEL_60_2;
engineConfiguration->globalTriggerAngleOffset = 0;

View File

@ -67,44 +67,44 @@ void Engine::resetEngineSnifferIfInTestMode() {
trigger_type_e getVvtTriggerType(vvt_mode_e vvtMode) {
switch (vvtMode) {
case VVT_INACTIVE:
return TT_ONE;
return trigger_type_e::TT_ONE;
case VVT_2JZ:
return TT_VVT_JZ;
return trigger_type_e::TT_VVT_JZ;
case VVT_MIATA_NB:
return TT_VVT_MIATA_NB;
return trigger_type_e::TT_VVT_MIATA_NB;
case VVT_BOSCH_QUICK_START:
return TT_VVT_BOSCH_QUICK_START;
return trigger_type_e::TT_VVT_BOSCH_QUICK_START;
case VVT_HONDA_K_EXHAUST:
return TT_HONDA_K_CAM_4_1;
return trigger_type_e::TT_HONDA_K_CAM_4_1;
case VVT_HONDA_K_INTAKE:
case VVT_FIRST_HALF:
case VVT_SECOND_HALF:
case VVT_MAP_V_TWIN:
return TT_ONE;
return trigger_type_e::TT_ONE;
case VVT_FORD_ST170:
return TT_FORD_ST170;
return trigger_type_e::TT_FORD_ST170;
case VVT_BARRA_3_PLUS_1:
return TT_VVT_BARRA_3_PLUS_1;
return trigger_type_e::TT_VVT_BARRA_3_PLUS_1;
case VVT_FORD_COYOTE:
return TT_VVT_FORD_COYOTE;
return trigger_type_e::TT_VVT_FORD_COYOTE;
case VVT_MAZDA_SKYACTIV:
return TT_VVT_MAZDA_SKYACTIV;
return trigger_type_e::TT_VVT_MAZDA_SKYACTIV;
case VVT_NISSAN_VQ:
return TT_VVT_NISSAN_VQ35;
return trigger_type_e::TT_VVT_NISSAN_VQ35;
case VVT_TOYOTA_4_1:
return TT_VVT_TOYOTA_4_1;
return trigger_type_e::TT_VVT_TOYOTA_4_1;
case VVT_MITSUBISHI_3A92:
return TT_VVT_MITSUBISHI_3A92;
return trigger_type_e::TT_VVT_MITSUBISHI_3A92;
case VVT_MITSUBISHI_6G75:
case VVT_NISSAN_MR:
return TT_NISSAN_MR18_CAM_VVT;
return trigger_type_e::TT_NISSAN_MR18_CAM_VVT;
case VVT_MITSUBISHI_4G9x:
return TT_MITSU_4G9x_CAM;
return trigger_type_e::TT_MITSU_4G9x_CAM;
case VVT_MITSUBISHI_4G63:
return TT_MITSU_4G63_CAM;
return trigger_type_e::TT_MITSU_4G63_CAM;
default:
firmwareError(ObdCode::OBD_PCM_Processor_Fault, "getVvtTriggerType for %s", getVvt_mode_e(vvtMode));
return TT_ONE; // we have to return something for the sake of -Werror=return-type
return trigger_type_e::TT_ONE; // we have to return something for the sake of -Werror=return-type
}
}

View File

@ -306,8 +306,9 @@ typedef enum __attribute__ ((__packed__)) {
/**
* @see http://rusefi.com/wiki/index.php?title=Manual:Software:Trigger
* TriggerProcessor.java has this "trigger_type_e" name hard-coded!
*/
typedef enum {
enum class trigger_type_e : uint32_t {
TT_TOOTHED_WHEEL = 0,
TT_FORD_ASPIRE = 1,
@ -435,7 +436,7 @@ typedef enum {
// 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_trigger_type = 70000,
} trigger_type_e; // TriggerProcessor.java has this "trigger_type_e" name hard-coded!
};
typedef enum {
TS_14_0 = 0,

View File

@ -70,12 +70,12 @@ operation_mode_e lookupOperationMode() {
// this is related to 'knownOperationMode' flag
static bool doesTriggerImplyOperationMode(trigger_type_e type) {
switch (type) {
case TT_TOOTHED_WHEEL:
case TT_ONE:
case TT_3_1_CAM:
case TT_36_2_2_2: // TODO: should this one be in this list?
case TT_TOOTHED_WHEEL_60_2:
case TT_TOOTHED_WHEEL_36_1:
case trigger_type_e::TT_TOOTHED_WHEEL:
case trigger_type_e::TT_ONE:
case trigger_type_e::TT_3_1_CAM:
case trigger_type_e::TT_36_2_2_2: // TODO: should this one be in this list?
case trigger_type_e::TT_TOOTHED_WHEEL_60_2:
case trigger_type_e::TT_TOOTHED_WHEEL_36_1:
// These modes could be either cam or crank speed
return false;
default:

View File

@ -419,161 +419,161 @@ void TriggerWaveform::initializeTriggerWaveform(operation_mode_e triggerOperatio
shapeDefinitionError = false;
switch (triggerType.type) {
case TT_TOOTHED_WHEEL:
case trigger_type_e::TT_TOOTHED_WHEEL:
initializeSkippedToothTrigger(this, triggerType.customTotalToothCount,
triggerType.customSkippedToothCount, triggerOperationMode, SyncEdge::RiseOnly);
break;
case TT_MAZDA_MIATA_NA:
case trigger_type_e::TT_MAZDA_MIATA_NA:
initializeMazdaMiataNaShape(this);
break;
case TT_MAZDA_MIATA_VVT_TEST:
case trigger_type_e::TT_MAZDA_MIATA_VVT_TEST:
initializeMazdaMiataVVtTestShape(this);
break;
case TT_SUZUKI_G13B:
case trigger_type_e::TT_SUZUKI_G13B:
initializeSuzukiG13B(this);
break;
case TT_FORD_TFI_PIP:
case trigger_type_e::TT_FORD_TFI_PIP:
configureFordPip(this);
break;
case TT_FORD_ST170:
case trigger_type_e::TT_FORD_ST170:
configureFordST170(this);
break;
case TT_VVT_MIATA_NB:
case trigger_type_e::TT_VVT_MIATA_NB:
initializeMazdaMiataVVtCamShape(this);
break;
case TT_RENIX_66_2_2_2:
case trigger_type_e::TT_RENIX_66_2_2_2:
initializeRenix66_2_2(this);
break;
case TT_RENIX_44_2_2:
case trigger_type_e::TT_RENIX_44_2_2:
initializeRenix44_2_2(this);
break;
case TT_MIATA_VVT:
case trigger_type_e::TT_MIATA_VVT:
initializeMazdaMiataNb2Crank(this);
break;
case TT_DODGE_NEON_1995:
case TT_DODGE_NEON_1995_ONLY_CRANK:
case trigger_type_e::TT_DODGE_NEON_1995:
case trigger_type_e::TT_DODGE_NEON_1995_ONLY_CRANK:
configureNeon1995TriggerWaveformOnlyCrank(this);
break;
case TT_DODGE_STRATUS:
case trigger_type_e::TT_DODGE_STRATUS:
configureDodgeStratusTriggerWaveform(this);
break;
case TT_DODGE_NEON_2003_CAM:
case trigger_type_e::TT_DODGE_NEON_2003_CAM:
configureNeon2003TriggerWaveformCam(this);
break;
case TT_DODGE_NEON_2003_CRANK:
case trigger_type_e::TT_DODGE_NEON_2003_CRANK:
configureNeon2003TriggerWaveformCam(this);
// configureNeon2003TriggerWaveformCrank(triggerShape);
break;
case TT_FORD_ASPIRE:
case trigger_type_e::TT_FORD_ASPIRE:
configureFordAspireTriggerWaveform(this);
break;
case TT_VVT_NISSAN_VQ35:
case trigger_type_e::TT_VVT_NISSAN_VQ35:
initializeNissanVQvvt(this);
break;
case TT_VVT_MITSUBISHI_3A92:
case trigger_type_e::TT_VVT_MITSUBISHI_3A92:
initializeVvt3A92(this);
break;
case TT_VVT_TOYOTA_4_1:
case trigger_type_e::TT_VVT_TOYOTA_4_1:
initializeSkippedToothTrigger(this, 4, 1, triggerOperationMode, SyncEdge::RiseOnly);
setTriggerSynchronizationGap3(/*gapIndex*/0, /*from*/1.60, 2.40);
setTriggerSynchronizationGap3(/*gapIndex*/1, /*from*/0.75, 1.25);
break;
case TT_VVT_MITSUBISHI_6G75:
case TT_NISSAN_QR25:
case trigger_type_e::TT_VVT_MITSUBISHI_6G75:
case trigger_type_e::TT_NISSAN_QR25:
initializeNissanQR25crank(this);
break;
case TT_NISSAN_VQ30:
case trigger_type_e::TT_NISSAN_VQ30:
initializeNissanVQ30cam(this);
break;
case TT_NISSAN_VQ35:
case trigger_type_e::TT_NISSAN_VQ35:
initializeNissanVQ35crank(this);
break;
case TT_NISSAN_MR18_CRANK:
case trigger_type_e::TT_NISSAN_MR18_CRANK:
initializeNissanMR18crank(this);
break;
case TT_NISSAN_MR18_CAM_VVT:
case trigger_type_e::TT_NISSAN_MR18_CAM_VVT:
initializeNissanMRvvt(this);
break;
case TT_KAWA_KX450F:
case trigger_type_e::TT_KAWA_KX450F:
configureKawaKX450F(this);
break;
case TT_SKODA_FAVORIT:
case trigger_type_e::TT_SKODA_FAVORIT:
setSkodaFavorit(this);
break;
case TT_GM_60_2_2_2:
case trigger_type_e::TT_GM_60_2_2_2:
configureGm60_2_2_2(this);
break;
case TT_GM_7X:
case trigger_type_e::TT_GM_7X:
configureGmTriggerWaveform(this);
break;
case TT_MAZDA_DOHC_1_4:
case trigger_type_e::TT_MAZDA_DOHC_1_4:
configureMazdaProtegeLx(this);
break;
case TT_ONE_PLUS_ONE:
case trigger_type_e::TT_ONE_PLUS_ONE:
configureOnePlusOne(this);
break;
case TT_3_1_CAM:
case trigger_type_e::TT_3_1_CAM:
configure3_1_cam(this);
break;
case TT_MERCEDES_2_SEGMENT:
case trigger_type_e::TT_MERCEDES_2_SEGMENT:
setMercedesTwoSegment(this);
break;
case TT_ONE:
case trigger_type_e::TT_ONE:
initializeSkippedToothTrigger(this, 1, 0, triggerOperationMode, SyncEdge::Rise);
break;
case TT_MAZDA_SOHC_4:
case trigger_type_e::TT_MAZDA_SOHC_4:
configureMazdaProtegeSOHC(this);
break;
case TT_DAIHATSU:
case trigger_type_e::TT_DAIHATSU:
configureDaihatsu4(this);
break;
case TT_VVT_JZ:
case trigger_type_e::TT_VVT_JZ:
initializeSkippedToothTrigger(this, 3, 0, triggerOperationMode, SyncEdge::RiseOnly);
break;
case TT_36_2_1_1:
case trigger_type_e::TT_36_2_1_1:
initialize36_2_1_1(this);
break;
case TT_36_2_1:
case trigger_type_e::TT_36_2_1:
initialize36_2_1(this);
break;
case TT_TOOTHED_WHEEL_32_2:
case trigger_type_e::TT_TOOTHED_WHEEL_32_2:
initializeSkippedToothTrigger(this, 32, 2, triggerOperationMode, SyncEdge::RiseOnly);
// todo: why is this 32/2 asking for third gap while 60/2 is happy with just two gaps?
// method above sets second gap, here we add third
@ -581,146 +581,146 @@ void TriggerWaveform::initializeTriggerWaveform(operation_mode_e triggerOperatio
setThirdTriggerSynchronizationGap(1);
break;
case TT_TOOTHED_WHEEL_60_2:
case trigger_type_e::TT_TOOTHED_WHEEL_60_2:
initializeSkippedToothTrigger(this, 60, 2, triggerOperationMode, SyncEdge::RiseOnly);
break;
case TT_TOOTHED_WHEEL_36_2:
case trigger_type_e::TT_TOOTHED_WHEEL_36_2:
initializeSkippedToothTrigger(this, 36, 2, triggerOperationMode, SyncEdge::RiseOnly);
setTriggerSynchronizationGap3(/*gapIndex*/0, /*from*/1.6, 3.5);
setTriggerSynchronizationGap3(/*gapIndex*/1, /*from*/0.7, 1.3); // second gap is not required to synch on perfect signal but is needed to handle to reject cranking transition noise
break;
case TT_60_2_VW:
case trigger_type_e::TT_60_2_VW:
setVwConfiguration(this);
break;
case TT_TOOTHED_WHEEL_36_1:
case trigger_type_e::TT_TOOTHED_WHEEL_36_1:
initializeSkippedToothTrigger(this, 36, 1, triggerOperationMode, SyncEdge::RiseOnly);
break;
case TT_VVT_BOSCH_QUICK_START:
case trigger_type_e::TT_VVT_BOSCH_QUICK_START:
configureQuickStartSenderWheel(this);
break;
case TT_VVT_BARRA_3_PLUS_1:
case trigger_type_e::TT_VVT_BARRA_3_PLUS_1:
configureBarra3plus1cam(this);
break;
case TT_HONDA_K_CAM_4_1:
case trigger_type_e::TT_HONDA_K_CAM_4_1:
configureHondaK_4_1(this);
break;
case TT_HONDA_K_CRANK_12_1:
case trigger_type_e::TT_HONDA_K_CRANK_12_1:
configureHondaK_12_1(this);
break;
case TT_SUBARU_EZ30:
case trigger_type_e::TT_SUBARU_EZ30:
initializeSubaruEZ30(this);
break;
case TT_VVT_MAZDA_SKYACTIV:
case trigger_type_e::TT_VVT_MAZDA_SKYACTIV:
initializeMazdaSkyactivCam(this);
break;
case TT_BENELLI_TRE:
case trigger_type_e::TT_BENELLI_TRE:
configureBenelli(this);
break;
case TT_MITSU_4G63_CRANK:
case trigger_type_e::TT_MITSU_4G63_CRANK:
initializeMitsubishi4gSymmetricalCrank(this);
break;
case TT_VVT_FORD_COYOTE:
case trigger_type_e::TT_VVT_FORD_COYOTE:
configureFordCoyote(this);
break;
case TT_UNUSED_11:
case TT_UNUSED_75:
case TT_UNUSED_77:
case TT_UNUSED_78:
case TT_MITSU_4G63_CAM:
case trigger_type_e::TT_UNUSED_11:
case trigger_type_e::TT_UNUSED_75:
case trigger_type_e::TT_UNUSED_77:
case trigger_type_e::TT_UNUSED_78:
case trigger_type_e::TT_MITSU_4G63_CAM:
initializeMitsubishi4g63Cam(this);
break;
case TT_MITSU_4G9x_CAM:
case trigger_type_e::TT_MITSU_4G9x_CAM:
initializeMitsubishi4g9xCam(this);
break;
case TT_1_16:
case trigger_type_e::TT_1_16:
configureOnePlus16(this);
break;
case TT_HONDA_CBR_600:
case trigger_type_e::TT_HONDA_CBR_600:
configureHondaCbr600(this);
break;
case TT_CHRYSLER_NGC_36_2_2:
case trigger_type_e::TT_CHRYSLER_NGC_36_2_2:
configureChryslerNGC_36_2_2(this);
break;
case TT_DODGE_RAM:
case trigger_type_e::TT_DODGE_RAM:
initDodgeRam(this);
break;
case TT_JEEP_4_CYL:
case trigger_type_e::TT_JEEP_4_CYL:
initJeep_XJ_4cyl_2500(this);
break;
case TT_JEEP_18_2_2_2:
case trigger_type_e::TT_JEEP_18_2_2_2:
initJeep18_2_2_2(this);
break;
case TT_SUBARU_7_6:
case trigger_type_e::TT_SUBARU_7_6:
initializeSubaru7_6(this);
break;
case TT_36_2_2_2:
case trigger_type_e::TT_36_2_2_2:
initialize36_2_2_2(this);
break;
case TT_2JZ_3_34:
case trigger_type_e::TT_2JZ_3_34:
initialize2jzGE3_34_simulation_shape(this);
break;
case TT_12_TOOTH_CRANK:
case trigger_type_e::TT_12_TOOTH_CRANK:
configure12ToothCrank(this);
break;
case TT_NISSAN_SR20VE:
case trigger_type_e::TT_NISSAN_SR20VE:
initializeNissanSR20VE_4(this);
break;
case TT_ROVER_K:
case trigger_type_e::TT_ROVER_K:
initializeRoverK(this);
break;
case TT_FIAT_IAW_P8:
case trigger_type_e::TT_FIAT_IAW_P8:
configureFiatIAQ_P8(this);
break;
case TT_TRI_TACH:
case trigger_type_e::TT_TRI_TACH:
configureTriTach(this);
break;
case TT_GM_24x:
case trigger_type_e::TT_GM_24x:
initGmLS24_5deg(this);
break;
case TT_GM_24x_2:
case trigger_type_e::TT_GM_24x_2:
initGmLS24_3deg(this);
break;
case TT_SUBARU_7_WITHOUT_6:
case trigger_type_e::TT_SUBARU_7_WITHOUT_6:
initializeSubaruOnly7(this);
break;
case TT_SUBARU_SVX:
case trigger_type_e::TT_SUBARU_SVX:
initializeSubaru_SVX(this);
break;
case TT_SUBARU_SVX_CRANK_1:
case trigger_type_e::TT_SUBARU_SVX_CRANK_1:
initializeSubaru_SVX(this);
break;
case TT_SUBARU_SVX_CAM_VVT:
case trigger_type_e::TT_SUBARU_SVX_CAM_VVT:
initializeSubaru_SVX(this);
break;

View File

@ -885,7 +885,7 @@ void triggerInfo(void) {
getTrigger_type_e(engineConfiguration->trigger.type), engineConfiguration->trigger.type,
getSyncEdge(TRIGGER_WAVEFORM(syncEdge)), TRIGGER_WAVEFORM(tdcPosition));
if (engineConfiguration->trigger.type == TT_TOOTHED_WHEEL) {
if (engineConfiguration->trigger.type == trigger_type_e::TT_TOOTHED_WHEEL) {
efiPrintf("total %d/skipped %d", engineConfiguration->trigger.customTotalToothCount,
engineConfiguration->trigger.customSkippedToothCount);
}

View File

@ -643,7 +643,7 @@ bool TriggerDecoderBase::isSyncPoint(const TriggerWaveform& triggerShape, trigge
// Instead of detecting short/long, this logic first checks for "maybe short" and "maybe long",
// then simply tests longer vs. shorter instead of absolute value.
if (triggerType == TT_MIATA_VVT) {
if (triggerType == trigger_type_e::TT_MIATA_VVT) {
auto secondGap = (float)toothDurations[1] / toothDurations[2];
bool currentGapOk = isInRange(triggerShape.syncronizationRatioFrom[0], (float)triggerSyncGapRatio, triggerShape.syncronizationRatioTo[0]);

View File

@ -18,7 +18,7 @@ TEST(Actuators, Tachometer) {
engineConfiguration->tachPulseDurationAsDutyCycle = true;
// Set predictable trigger settings
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL;
engineConfiguration->trigger.type = trigger_type_e::TT_TOOTHED_WHEEL;
engineConfiguration->trigger.customTotalToothCount = 8;
engineConfiguration->trigger.customSkippedToothCount = 0;
setCamOperationMode();