Trigger setup in TS is highly confusing: hide operation mode from users? #4031

This commit is contained in:
Andrey 2022-04-03 02:21:37 -04:00
parent b0be8c4b66
commit cc9a1136c4
46 changed files with 55 additions and 57 deletions

View File

@ -150,7 +150,7 @@ void setBoardDefaultConfiguration() {
setupDefaultSensorInputs();
// Some sensible defaults for other options
setCrankOperationMode(engineConfiguration);
setCrankOperationMode();
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_60_2;
engineConfiguration->useOnlyRisingEdgeForTrigger = true;
setAlgorithm(LM_SPEED_DENSITY);

View File

@ -171,7 +171,7 @@ void setBoardDefaultConfiguration() {
setupDefaultSensorInputs();
// Some sensible defaults for other options
setCrankOperationMode(engineConfiguration);
setCrankOperationMode();
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_60_2;
engineConfiguration->useOnlyRisingEdgeForTrigger = true;
setAlgorithm(LM_SPEED_DENSITY);

View File

@ -11,7 +11,7 @@
#include "trigger_input.h"
void setBoardDefaultConfiguration() {
setCrankOperationMode(engineConfiguration);
setCrankOperationMode();
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_60_2;
engineConfiguration->useOnlyRisingEdgeForTrigger = true;

View File

@ -151,7 +151,7 @@ void setBoardDefaultConfiguration() {
setupDefaultSensorInputs();
// Some sensible defaults for other options
setCrankOperationMode(engineConfiguration);
setCrankOperationMode();
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_60_2;
engineConfiguration->useOnlyRisingEdgeForTrigger = true;
setAlgorithm(LM_SPEED_DENSITY);

View File

@ -130,7 +130,7 @@ void setBoardDefaultConfiguration() {
setupDefaultSensorInputs();
// Some sensible defaults for other options
setCrankOperationMode(engineConfiguration);
setCrankOperationMode();
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_60_2;
engineConfiguration->useOnlyRisingEdgeForTrigger = true;
setAlgorithm(LM_SPEED_DENSITY);

View File

@ -142,7 +142,7 @@ void setBoardDefaultConfiguration() {
engineConfiguration->etb_use_two_wires = true;
// Some sensible defaults for other options
setCrankOperationMode(engineConfiguration);
setCrankOperationMode();
engineConfiguration->vvtCamSensorUseRise = true;
engineConfiguration->useOnlyRisingEdgeForTrigger = true;

View File

@ -161,7 +161,7 @@ void setBoardDefaultConfiguration() {
setupDefaultSensorInputs();
// Some sensible defaults for other options
setCrankOperationMode(engineConfiguration);
setCrankOperationMode();
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_60_2;
engineConfiguration->useOnlyRisingEdgeForTrigger = true;
setAlgorithm(LM_SPEED_DENSITY);

View File

@ -192,7 +192,7 @@ void setBoardDefaultConfiguration() {
setupDefaultSensorInputs();
// Some sensible defaults for other options
setCrankOperationMode(engineConfiguration);
setCrankOperationMode();
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_60_2;
engineConfiguration->useOnlyRisingEdgeForTrigger = true;
setAlgorithm(LM_SPEED_DENSITY);

View File

@ -160,7 +160,7 @@ void setBoardDefaultConfiguration() {
engineConfiguration->etbFunctions[1] = ETB_Wastegate;
// Some sensible defaults for other options
setCrankOperationMode(engineConfiguration);
setCrankOperationMode();
engineConfiguration->vvtCamSensorUseRise = true;
engineConfiguration->useOnlyRisingEdgeForTrigger = true;

View File

@ -140,7 +140,7 @@ void setBoardDefaultConfiguration() {
setupDefaultSensorInputs();
// Some sensible defaults for other options
setCrankOperationMode(engineConfiguration);
setCrankOperationMode();
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_60_2;
engineConfiguration->useOnlyRisingEdgeForTrigger = true;
setAlgorithm(LM_SPEED_DENSITY);

View File

@ -146,7 +146,7 @@ void setBoardDefaultConfiguration() {
setupDefaultSensorInputs();
// Some sensible defaults for other options
setCrankOperationMode(engineConfiguration);
setCrankOperationMode();
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_60_2;
engineConfiguration->useOnlyRisingEdgeForTrigger = true;
setAlgorithm(LM_SPEED_DENSITY);

View File

@ -151,7 +151,7 @@ void setBoardDefaultConfiguration() {
setupDefaultSensorInputs();
// Some sensible defaults for other options
setCrankOperationMode(engineConfiguration);
setCrankOperationMode();
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_60_2;
engineConfiguration->useOnlyRisingEdgeForTrigger = true;
setAlgorithm(LM_SPEED_DENSITY);

View File

@ -139,7 +139,7 @@ void setBoardDefaultConfiguration() {
engineConfiguration->etb_use_two_wires = true;
// Some sensible defaults for other options
setCrankOperationMode(engineConfiguration);
setCrankOperationMode();
engineConfiguration->vvtCamSensorUseRise = true;
engineConfiguration->useOnlyRisingEdgeForTrigger = true;

View File

@ -140,7 +140,7 @@ void setBoardDefaultConfiguration() {
setupDefaultSensorInputs();
// Some sensible defaults for other options
setCrankOperationMode(engineConfiguration);
setCrankOperationMode();
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_60_2;
engineConfiguration->useOnlyRisingEdgeForTrigger = true;
setAlgorithm(LM_SPEED_DENSITY);

View File

@ -15,7 +15,7 @@ int __debugEnabled = 0;
#endif
void setBoardOverrides() {
setCrankOperationMode(engineConfiguration);
setCrankOperationMode();
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_60_2;
engineConfiguration->useOnlyRisingEdgeForTrigger = true;

View File

@ -215,7 +215,7 @@ void setBoardDefaultConfiguration() {
setupDefaultSensorInputs();
// Some sensible defaults for other options
setCrankOperationMode(engineConfiguration);
setCrankOperationMode();
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_60_2;
engineConfiguration->useOnlyRisingEdgeForTrigger = true;
setAlgorithm(LM_SPEED_DENSITY);

View File

@ -17,7 +17,7 @@ static bool is469 = false;
static void setPrometheusDefaults() {
setCrankOperationMode(engineConfiguration);
setCrankOperationMode();
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_60_2;
//engineConfiguration->useOnlyRisingEdgeForTrigger = true;
setAlgorithm(LM_SPEED_DENSITY);

View File

@ -186,7 +186,7 @@ void setBoardDefaultConfiguration() {
setupDefaultSensorInputs();
// Some sensible defaults for other options
setCrankOperationMode(engineConfiguration);
setCrankOperationMode();
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_60_2;
engineConfiguration->useOnlyRisingEdgeForTrigger = true;
setAlgorithm(LM_SPEED_DENSITY);

View File

@ -200,7 +200,7 @@ void setBoardDefaultConfiguration() {
setupDefaultSensorInputs();
// Some sensible defaults for other options
setCrankOperationMode(engineConfiguration);
setCrankOperationMode();
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_60_2;
engineConfiguration->useOnlyRisingEdgeForTrigger = true;
setAlgorithm(LM_SPEED_DENSITY);

View File

@ -27,7 +27,7 @@ void setGy6139qmbDefaultEngineConfiguration() {
engineConfiguration->globalTriggerAngleOffset = 45;
engineConfiguration->specs.displacement = 0.072; // 72cc
engineConfiguration->specs.cylindersCount = 1;
setCrankOperationMode(engineConfiguration);
setCrankOperationMode();
// this is related to 'setDefaultBaseEngine' having 'skippedWheelOnCam = true' which is a weird fact by itself
engineConfiguration->skippedWheelOnCam = false;

View File

@ -102,7 +102,7 @@ void m73engine() {
engineConfiguration->vvtMode[0] = VVT_FIRST_HALF;
engineConfiguration->globalTriggerAngleOffset = 90;
setCrankOperationMode(engineConfiguration);
setCrankOperationMode();
// todo: that's not right, should be 60/2 without VW
engineConfiguration->trigger.type = TT_60_2_VW;

View File

@ -32,7 +32,7 @@ void setCamaro4() {
// set ignition_mode 2
engineConfiguration->ignitionMode = IM_WASTED_SPARK;
setCrankOperationMode(engineConfiguration);
setCrankOperationMode();
engineConfiguration->trigger.type = TT_GM_LS_24;
engineConfiguration->map.sensor.hwChannel = EFI_ADC_0; // PA0

View File

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

View File

@ -257,7 +257,7 @@ void setEtbTestConfiguration() {
// yes, 30K - that's a test configuration
engineConfiguration->rpmHardLimit = 30000;
setCrankOperationMode(engineConfiguration);
setCrankOperationMode();
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_60_2;
@ -813,9 +813,8 @@ void setRotary() {
engineConfiguration->specs.firingOrder = FO_1_2;
engineConfiguration->trigger.type = TT_36_2_2_2;
setOperationMode(engineConfiguration, TWO_STROKE);
// todo: fix UI to make this possible via TS
engineConfiguration->twoStroke = true;
setTwoStrokeOperationMode();
strcpy(engineConfiguration->engineMake, ENGINE_MAKE_MAZDA);
strcpy(engineConfiguration->engineCode, "13B");

View File

@ -23,7 +23,7 @@ void setFordInline6() {
engineConfiguration->specs.cylindersCount = 6;
setCamOperationMode(engineConfiguration);
setCamOperationMode();
engineConfiguration->ignitionMode = IM_ONE_COIL;
engineConfiguration->specs.firingOrder = FO_1_5_3_6_2_4;

View File

@ -281,7 +281,6 @@ static void setCommonMazdaNB() {
engineConfiguration->idleMode = IM_AUTO;
engineConfiguration->tachPulsePerRev = 2;
setOperationMode(engineConfiguration, FOUR_STROKE_SYMMETRICAL_CRANK_SENSOR);
engineConfiguration->specs.displacement = 1.839;
engineConfiguration->cylinderBore = 83;
strcpy(engineConfiguration->engineMake, ENGINE_MAKE_MAZDA);

View File

@ -18,8 +18,7 @@ void setSachs() {
engineConfiguration->specs.displacement = 0.1; // 100cc
engineConfiguration->specs.cylindersCount = 1;
engineConfiguration->twoStroke = true;
setOperationMode(engineConfiguration, TWO_STROKE);
setTwoStrokeOperationMode();
engineConfiguration->specs.firingOrder = FO_1;
engineConfiguration->engineChartSize = 400;

View File

@ -66,7 +66,7 @@ void setSubaruEJ18_MRE() {
*/
void setSubaruEG33Defaults() {
setCamOperationMode(engineConfiguration);
setCamOperationMode();
engineConfiguration->trigger.type = TT_SUBARU_SVX;
engineConfiguration->useOnlyRisingEdgeForTrigger = true;

View File

@ -54,14 +54,14 @@ void setTestCrankEngineConfiguration() {
engineConfiguration->trigger.type = TT_ONE;
setCrankOperationMode(engineConfiguration);
setCrankOperationMode();
// this is related to 'setDefaultBaseEngine' having 'skippedWheelOnCam = true' which is a weird fact by itself
engineConfiguration->skippedWheelOnCam = false;
}
void setTestVVTEngineConfiguration() {
setDefaultFrankensoConfiguration();
setCrankOperationMode(engineConfiguration);
setCrankOperationMode();
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL;
engineConfiguration->trigger.customTotalToothCount = 3;

View File

@ -70,11 +70,11 @@ static void common2jz() {
void setToyota_jzs147EngineConfiguration() {
common2jz();
setCamOperationMode(engineConfiguration);
setCamOperationMode();
engineConfiguration->trigger.type = TT_2JZ_1_12;
//// temporary while I am fixing trigger bug
// setCrankOperationMode(engineConfiguration);
// setCrankOperationMode();
// //set trigger_type 16
// engineConfiguration->trigger.type = TT_TOOTHED_WHEEL;
// engineConfiguration->trigger.customTotalToothCount = 36;
@ -102,7 +102,7 @@ void setToyota_jzs147EngineConfiguration() {
void setToyota_2jz_vics() {
common2jz();
setCrankOperationMode(engineConfiguration);
setCrankOperationMode();
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_36_2;
engineConfiguration->triggerInputPins[0] = GPIOA_5; // crank sensor

View File

@ -25,7 +25,7 @@ void setVwAba() {
engineConfiguration->globalTriggerAngleOffset = 93;
setCrankOperationMode(engineConfiguration);
setCrankOperationMode();
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_60_2;
engineConfiguration->useOnlyRisingEdgeForTrigger = true;

View File

@ -20,7 +20,7 @@
*/
void setVwPassatB6() {
#if HW_MICRO_RUSEFI
setCrankOperationMode(engineConfiguration);
setCrankOperationMode();
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_60_2;
engineConfiguration->vvtMode[0] = VVT_BOSCH_QUICK_START;
engineConfiguration->map.sensor.type = MT_BOSCH_2_5;

View File

@ -35,7 +35,7 @@ void setDefaultBaseEngine() {
// Trigger
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_60_2;
// huh WAT? our default is skipped on CAM?! and *many* our tests are relying on that?!
setCamOperationMode(engineConfiguration);
setCamOperationMode();
engineConfiguration->useOnlyRisingEdgeForTrigger = false;
engineConfiguration->globalTriggerAngleOffset = 0;

View File

@ -1174,16 +1174,17 @@ void prepareShapes() {
#endif
void setOperationMode(engine_configuration_s *engineConfiguration, operation_mode_e mode) {
engineConfiguration->ambiguousOperationMode = mode;
void setTwoStrokeOperationMode() {
engineConfiguration->ambiguousOperationMode = TWO_STROKE;
engineConfiguration->twoStroke = true;
}
void setCamOperationMode(engine_configuration_s *engineConfiguration) {
void setCamOperationMode() {
engineConfiguration->ambiguousOperationMode = FOUR_STROKE_CAM_SENSOR;
engineConfiguration->skippedWheelOnCam = true;
}
void setCrankOperationMode(engine_configuration_s *engineConfiguration) {
void setCrankOperationMode() {
engineConfiguration->ambiguousOperationMode = FOUR_STROKE_CRANK_SENSOR;
engineConfiguration->skippedWheelOnCam = false;
}

View File

@ -21,9 +21,9 @@
#define MOCK_UNDEFINED -1
void setOperationMode(engine_configuration_s *engineConfiguration, operation_mode_e mode);
void setCrankOperationMode(engine_configuration_s *engineConfiguration);
void setCamOperationMode(engine_configuration_s *engineConfiguration);
void setCrankOperationMode();
void setCamOperationMode();
void setTwoStrokeOperationMode();
void prepareVoidConfiguration(engine_configuration_s *activeConfiguration);
void setTargetRpmCurve(int rpm);

View File

@ -22,7 +22,7 @@ TEST(Actuators, Tachometer) {
engineConfiguration->trigger.customTotalToothCount = 8;
engineConfiguration->trigger.customSkippedToothCount = 0;
engineConfiguration->useOnlyRisingEdgeForTrigger = false;
setCamOperationMode(engineConfiguration);
setCamOperationMode();
eth.applyTriggerWaveform();
// get the engine running - 6 revolutions

View File

@ -39,7 +39,7 @@ TEST(fuelControl, transitionIssue1592) {
engineConfiguration->trigger.customTotalToothCount = 6;
engineConfiguration->trigger.customSkippedToothCount = 1;
eth.setTriggerType(TT_TOOTHED_WHEEL);
setCamOperationMode(engineConfiguration);
setCamOperationMode();
engineConfiguration->isFasterEngineSpinUpEnabled = true;
setTable(config->injectionPhase, 0.0f);

View File

@ -64,7 +64,7 @@ TEST(fuel, testWallWettingEnrichmentScheduling) {
EngineTestHelper eth(FORD_ASPIRE_1996);
setCrankOperationMode(engineConfiguration);
setCrankOperationMode();
engineConfiguration->useOnlyRisingEdgeForTrigger = true;
eth.setTriggerType(TT_ONE);

View File

@ -12,7 +12,7 @@ TEST(issues, issueOneCylinderSpecialCase968) {
// set injection_mode 1
engineConfiguration->injectionMode = IM_SEQUENTIAL;
setCrankOperationMode(engineConfiguration);
setCrankOperationMode();
engineConfiguration->useOnlyRisingEdgeForTrigger = true;
eth.setTriggerType(TT_ONE);

View File

@ -42,7 +42,7 @@ TEST(fuel, testTpsAccelEnrichmentMath) {
TEST(fuel, testTpsAccelEnrichmentScheduling) {
EngineTestHelper eth(FORD_ASPIRE_1996);
setCrankOperationMode(engineConfiguration);
setCrankOperationMode();
engineConfiguration->useOnlyRisingEdgeForTrigger = true;
engineConfiguration->tpsAccelEnrichmentThreshold = 5;

View File

@ -26,7 +26,7 @@ TEST(misc, testEngineMath) {
EngineTestHelper eth(FORD_ESCORT_GT);
setCamOperationMode(engineConfiguration);
setCamOperationMode();
engineConfiguration->fuelAlgorithm = LM_SPEED_DENSITY;
ASSERT_NEAR( 50, getOneDegreeTimeMs(600) * 180, EPS4D) << "600 RPM";

View File

@ -20,7 +20,7 @@ TEST(HPFP, IntegratedSchedule) {
engineConfiguration->trigger.customTotalToothCount = 16;
engineConfiguration->trigger.customSkippedToothCount = 0;
eth.setTriggerType(TT_TOOTHED_WHEEL);
setCamOperationMode(engineConfiguration);
setCamOperationMode();
engineConfiguration->isFasterEngineSpinUpEnabled = true;

View File

@ -58,7 +58,7 @@ TEST_P(AllTriggersFixture, TestTrigger) {
EngineTestHelperBase base(engine, &pc.engineConfiguration, &pc);
engineConfiguration->trigger.type = tt;
setCamOperationMode(engineConfiguration);
setCamOperationMode();
TriggerWaveform *shape = &engine->triggerCentral.triggerShape;
TriggerFormDetails *triggerFormDetails = &engine->triggerCentral.triggerFormDetails;

View File

@ -84,7 +84,7 @@ TEST(trigger, testCamInput) {
EngineTestHelper eth(FORD_ESCORT_GT);
// changing to 'ONE TOOTH' trigger on CRANK with CAM/VVT
setCrankOperationMode(engineConfiguration);
setCrankOperationMode();
engineConfiguration->useOnlyRisingEdgeForTrigger = true;
engineConfiguration->vvtMode[0] = VVT_FIRST_HALF;
engineConfiguration->vvtOffsets[0] = 360;

View File

@ -8,7 +8,7 @@
#include "pch.h"
static void boardConfigurationForIssue898(engine_configuration_s *engineConfiguration) {
setCrankOperationMode(engineConfiguration);
setCrankOperationMode();
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_60_2;
engineConfiguration->useOnlyRisingEdgeForTrigger = true;
}

View File

@ -9,7 +9,7 @@ TEST(trigger, testQuadCam) {
// setting some weird engine
EngineTestHelper eth(FORD_ESCORT_GT);
setCrankOperationMode(engineConfiguration);
setCrankOperationMode();
// changing to 'ONE TOOTH' trigger on CRANK with CAM/VVT
engineConfiguration->useOnlyRisingEdgeForTrigger = true;