reducing complexity

This commit is contained in:
Andrey 2021-11-07 01:57:32 -05:00
parent 5de6c2a270
commit 9ac1575777
2 changed files with 6 additions and 19 deletions

View File

@ -85,8 +85,6 @@ void TriggerWaveform::initialize(operation_mode_e operationMode) {
useRiseEdge = true; useRiseEdge = true;
gapBothDirections = false; gapBothDirections = false;
invertOnAdd = false;
this->operationMode = operationMode; this->operationMode = operationMode;
privateTriggerDefinitionSize = 0; privateTriggerDefinitionSize = 0;
triggerShapeSynchPointIndex = 0; triggerShapeSynchPointIndex = 0;
@ -221,7 +219,7 @@ void TriggerWaveform::addEventAngle(angle_t angle, trigger_wheel_e const channel
addEvent(angle / getCycleDuration(), channelIndex, state); addEvent(angle / getCycleDuration(), channelIndex, state);
} }
void TriggerWaveform::addEvent(angle_t angle, trigger_wheel_e const channelIndex, trigger_value_e const stateParam) { void TriggerWaveform::addEvent(angle_t angle, trigger_wheel_e const channelIndex, trigger_value_e const state) {
efiAssertVoid(CUSTOM_OMODE_UNDEF, operationMode != OM_NONE, "operationMode not set"); efiAssertVoid(CUSTOM_OMODE_UNDEF, operationMode != OM_NONE, "operationMode not set");
if (channelIndex == T_SECONDARY) { if (channelIndex == T_SECONDARY) {
@ -230,28 +228,21 @@ void TriggerWaveform::addEvent(angle_t angle, trigger_wheel_e const channelIndex
#if EFI_UNIT_TEST #if EFI_UNIT_TEST
if (printTriggerDebug) { if (printTriggerDebug) {
printf("addEvent2 %.2f i=%d r/f=%d\r\n", angle, channelIndex, stateParam); printf("addEvent2 %.2f i=%d r/f=%d\r\n", angle, channelIndex, state);
} }
#endif #endif
trigger_value_e state;
if (invertOnAdd) {
state = (stateParam == TV_FALL) ? TV_RISE : TV_FALL;
} else {
state = stateParam;
}
#if EFI_UNIT_TEST #if EFI_UNIT_TEST
assertIsInBounds(privateTriggerDefinitionSize, triggerSignalIndeces, "trigger shape overflow"); assertIsInBounds(privateTriggerDefinitionSize, triggerSignalIndeces, "trigger shape overflow");
triggerSignalIndeces[privateTriggerDefinitionSize] = channelIndex; triggerSignalIndeces[privateTriggerDefinitionSize] = channelIndex;
triggerSignalStates[privateTriggerDefinitionSize] = stateParam; triggerSignalStates[privateTriggerDefinitionSize] = state;
#endif // EFI_UNIT_TEST #endif // EFI_UNIT_TEST
// todo: the whole 'useOnlyRisingEdgeForTrigger' parameter and logic should not be here // todo: the whole 'useOnlyRisingEdgeForTrigger' parameter and logic should not be here
// todo: see calculateExpectedEventCounts // todo: see calculateExpectedEventCounts
// related calculation should be done once trigger is initialized outside of trigger shape scope // related calculation should be done once trigger is initialized outside of trigger shape scope
if (!useOnlyRisingEdgeForTriggerTemp || stateParam == TV_RISE) { if (!useOnlyRisingEdgeForTriggerTemp || state == TV_RISE) {
expectedEventCount[channelIndex]++; expectedEventCount[channelIndex]++;
} }
@ -282,7 +273,7 @@ void TriggerWaveform::addEvent(angle_t angle, trigger_wheel_e const channelIndex
wave->setState(/* switchIndex */ 0, /* value */ initialState[i]); wave->setState(/* switchIndex */ 0, /* value */ initialState[i]);
} }
isRiseEvent[0] = TV_RISE == stateParam; isRiseEvent[0] = TV_RISE == state;
wave.setSwitchTime(0, angle); wave.setSwitchTime(0, angle);
wave.channels[channelIndex].setState(/* channelIndex */ 0, /* value */ state); wave.channels[channelIndex].setState(/* channelIndex */ 0, /* value */ state);
return; return;
@ -310,7 +301,7 @@ void TriggerWaveform::addEvent(angle_t angle, trigger_wheel_e const channelIndex
wave.setSwitchTime(i + 1, wave.getSwitchTime(i)); wave.setSwitchTime(i + 1, wave.getSwitchTime(i));
} }
*/ */
isRiseEvent[index] = TV_RISE == stateParam; isRiseEvent[index] = TV_RISE == state;
if ((unsigned)index != privateTriggerDefinitionSize) { if ((unsigned)index != privateTriggerDefinitionSize) {
firmwareError(ERROR_TRIGGER_DRAMA, "are we ever here?"); firmwareError(ERROR_TRIGGER_DRAMA, "are we ever here?");

View File

@ -201,10 +201,6 @@ public:
bool isRiseEvent[PWM_PHASE_MAX_COUNT]; bool isRiseEvent[PWM_PHASE_MAX_COUNT];
/**
* This is a pretty questionable option which is considered by 'addEvent' method
*/
bool invertOnAdd;
/** /**
* Total count of shaft events per CAM or CRANK shaft revolution. * Total count of shaft events per CAM or CRANK shaft revolution.
* TODO this should be migrated to CRANKshaft revolution, this would go together * TODO this should be migrated to CRANKshaft revolution, this would go together