Refactor Trigger System #635

This commit is contained in:
rusefi 2019-02-03 01:34:20 -05:00
parent 8d43038981
commit 8d3d716d7f
2 changed files with 8 additions and 9 deletions

View File

@ -151,7 +151,7 @@ angle_t TriggerShape::getAngle(int index) const {
void TriggerShape::addEvent3(angle_t angle, trigger_wheel_e const channelIndex, trigger_value_e const stateParam, float filterLeft, float filterRight) {
if (angle > filterLeft && angle < filterRight)
addEvent(useOnlyRisingEdgeForTriggerTemp, angle / getEngineCycle(operationMode), channelIndex, stateParam);
addEvent(angle / getEngineCycle(operationMode), channelIndex, stateParam);
}
operation_mode_e TriggerShape::getOperationMode() {
@ -171,14 +171,10 @@ void TriggerShape::calculateExpectedEventCounts(bool useOnlyRisingEdgeForTrigger
}
void TriggerShape::addEvent720(angle_t angle, trigger_wheel_e const channelIndex, trigger_value_e const stateParam) {
addEvent(useOnlyRisingEdgeForTriggerTemp, angle / 720, channelIndex, stateParam);
addEvent(angle / 720, channelIndex, stateParam);
}
// todo: the whole 'useOnlyRisingEdgeForTrigger' parameter and logic should not be here
// todo: see calculateExpectedEventCounts
// related calculation should be done once trigger is initialized outside of trigger shape scope
void TriggerShape::addEvent(bool useOnlyRisingEdgeForTrigger, angle_t angle, trigger_wheel_e const channelIndex, trigger_value_e const stateParam) {
void TriggerShape::addEvent(angle_t angle, trigger_wheel_e const channelIndex, trigger_value_e const stateParam) {
efiAssertVoid(CUSTOM_OMODE_UNDEF, operationMode != OM_NONE, "operationMode not set");
efiAssertVoid(CUSTOM_ERR_6598, channelIndex!= T_SECONDARY || needSecondTriggerInput, "secondary needed or not?");
@ -202,7 +198,10 @@ void TriggerShape::addEvent(bool useOnlyRisingEdgeForTrigger, angle_t angle, tri
#endif
if (!useOnlyRisingEdgeForTrigger || stateParam == TV_RISE) {
// todo: the whole 'useOnlyRisingEdgeForTrigger' parameter and logic should not be here
// todo: see calculateExpectedEventCounts
// related calculation should be done once trigger is initialized outside of trigger shape scope
if (!useOnlyRisingEdgeForTriggerTemp || stateParam == TV_RISE) {
expectedEventCount[channelIndex]++;
}

View File

@ -211,7 +211,7 @@ public:
bool useOnlyRisingEdgeForTriggerTemp;
/* 0..1 angle range */
void addEvent(bool useOnlyRisingEdgeForTrigger, angle_t angle, trigger_wheel_e const channelIndex, trigger_value_e const state);
void addEvent(angle_t angle, trigger_wheel_e const channelIndex, trigger_value_e const state);
/* 0..720 angle range
* Deprecated?
*/