auto-sync
This commit is contained in:
parent
0f1606d43f
commit
dd0a831964
|
@ -132,9 +132,6 @@ void TriggerCentral::handleShaftSignal(trigger_event_e signal DECLARE_ENGINE_PAR
|
||||||
|
|
||||||
nowNt = getTimeNowNt();
|
nowNt = getTimeNowNt();
|
||||||
|
|
||||||
efiAssertVoid(engine->engineConfiguration!=NULL, "engineConfiguration");
|
|
||||||
efiAssertVoid(engine->engineConfiguration2!=NULL, "engineConfiguration2");
|
|
||||||
|
|
||||||
engine->onTriggerEvent(nowNt);
|
engine->onTriggerEvent(nowNt);
|
||||||
|
|
||||||
#if EFI_HISTOGRAMS && EFI_PROD_CODE
|
#if EFI_HISTOGRAMS && EFI_PROD_CODE
|
||||||
|
@ -178,10 +175,7 @@ void TriggerCentral::handleShaftSignal(trigger_event_e signal DECLARE_ENGINE_PAR
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (triggerState.currentCycle.current_index >= TRIGGER_SHAPE(size)) {
|
if (triggerState.isValidIndex(PASS_ENGINE_PARAMETER_F)) {
|
||||||
warning(OBD_PCM_Processor_Fault, "unexpected eventIndex=%d while size %d", triggerState.currentCycle.current_index, TRIGGER_SHAPE(size));
|
|
||||||
} else {
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Here we invoke all the listeners - the main engine control logic is inside these listeners
|
* Here we invoke all the listeners - the main engine control logic is inside these listeners
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -67,6 +67,10 @@ bool_t isTriggerDecoderError(void) {
|
||||||
return errorDetection.sum(6) > 4;
|
return errorDetection.sum(6) > 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool_t TriggerState::isValidIndex(DECLARE_ENGINE_PARAMETER_F) {
|
||||||
|
return currentCycle.current_index < TRIGGER_SHAPE(size);
|
||||||
|
}
|
||||||
|
|
||||||
float TriggerState::getTriggerDutyCycle(int index) {
|
float TriggerState::getTriggerDutyCycle(int index) {
|
||||||
float time = prevTotalTime[index];
|
float time = prevTotalTime[index];
|
||||||
|
|
||||||
|
@ -276,6 +280,10 @@ void TriggerState::decodeTriggerEvent(trigger_event_e const signal, efitime_t no
|
||||||
toothed_previous_duration = currentDuration;
|
toothed_previous_duration = currentDuration;
|
||||||
toothed_previous_time = nowNt;
|
toothed_previous_time = nowNt;
|
||||||
}
|
}
|
||||||
|
if (!isValidIndex(PASS_ENGINE_PARAMETER_F)) {
|
||||||
|
warning(OBD_PCM_Processor_Fault, "unexpected eventIndex=%d while size %d", currentCycle.current_index, TRIGGER_SHAPE(size));
|
||||||
|
}
|
||||||
|
|
||||||
if (boardConfiguration->sensorChartMode == SC_RPM_ACCEL || boardConfiguration->sensorChartMode == SC_DETAILED_RPM) {
|
if (boardConfiguration->sensorChartMode == SC_RPM_ACCEL || boardConfiguration->sensorChartMode == SC_DETAILED_RPM) {
|
||||||
angle_t currentAngle = TRIGGER_SHAPE(eventAngles[currentCycle.current_index]);
|
angle_t currentAngle = TRIGGER_SHAPE(eventAngles[currentCycle.current_index]);
|
||||||
// todo: make this '90' depend on cylinder count?
|
// todo: make this '90' depend on cylinder count?
|
||||||
|
|
|
@ -53,6 +53,7 @@ public:
|
||||||
efitime_t getStartOfRevolutionIndex();
|
efitime_t getStartOfRevolutionIndex();
|
||||||
void decodeTriggerEvent(trigger_event_e const signal, efitime_t nowUs DECLARE_ENGINE_PARAMETER_S);
|
void decodeTriggerEvent(trigger_event_e const signal, efitime_t nowUs DECLARE_ENGINE_PARAMETER_S);
|
||||||
|
|
||||||
|
bool_t isValidIndex(DECLARE_ENGINE_PARAMETER_F);
|
||||||
float getTriggerDutyCycle(int index);
|
float getTriggerDutyCycle(int index);
|
||||||
TriggerStateCallback cycleCallback;
|
TriggerStateCallback cycleCallback;
|
||||||
|
|
||||||
|
|
|
@ -143,6 +143,14 @@ public class AutoTest {
|
||||||
assertWave(true, msg, chart, EngineChart.INJECTOR_2, 0.1553333333333329, 0.01, 0.1, x + 180);
|
assertWave(true, msg, chart, EngineChart.INJECTOR_2, 0.1553333333333329, 0.01, 0.1, x + 180);
|
||||||
assertWave(true, msg, chart, EngineChart.INJECTOR_3, 0.1553333333333329, 0.01, 0.1, x + 540);
|
assertWave(true, msg, chart, EngineChart.INJECTOR_3, 0.1553333333333329, 0.01, 0.1, x + 540);
|
||||||
assertWave(true, msg, chart, EngineChart.INJECTOR_4, 0.1553333333333329, 0.01, 0.1, x);
|
assertWave(true, msg, chart, EngineChart.INJECTOR_4, 0.1553333333333329, 0.01, 0.1, x);
|
||||||
|
|
||||||
|
sendCommand("enable trigger_only_front");
|
||||||
|
chart = nextChart();
|
||||||
|
x = 124.12;
|
||||||
|
assertWave(true, msg, chart, EngineChart.INJECTOR_1, 0.1553333333333329, 0.02, 0.1, x + 360);
|
||||||
|
assertWave(true, msg, chart, EngineChart.INJECTOR_2, 0.1553333333333329, 0.02, 0.1, x + 180);
|
||||||
|
assertWave(true, msg, chart, EngineChart.INJECTOR_3, 0.1553333333333329, 0.02, 0.1, x + 540);
|
||||||
|
assertWave(true, msg, chart, EngineChart.INJECTOR_4, 0.1553333333333329, 0.02, 0.1, x);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void testMazdaProtege() {
|
private static void testMazdaProtege() {
|
||||||
|
|
Loading…
Reference in New Issue