rusEFI
The most advanced open source ECU
|
#include <trigger_central.h>
Public Member Functions | |
void | resetAccumSignalData () |
bool | noiseFilter (efitick_t nowNt, TriggerDecoderBase *triggerState, trigger_event_e signal) |
Data Fields | |
efitick_t | lastSignalTimes [HW_EVENT_TYPES] |
efitick_t | accumSignalPeriods [HW_EVENT_TYPES] |
efitick_t | accumSignalPrevPeriods [HW_EVENT_TYPES] |
Definition at line 32 of file trigger_central.h.
bool TriggerNoiseFilter::noiseFilter | ( | efitick_t | nowNt, |
TriggerDecoderBase * | triggerState, | ||
trigger_event_e | signal | ||
) |
This is used to filter noise spikes (interference) in trigger signal. See The basic idea is to use not just edges, but the average amount of time the signal stays in '0' or '1'. So we update 'accumulated periods' to track where the signal is. And then compare between the current period and previous, with some tolerance (allowing for the wheel speed change).
Definition at line 592 of file trigger_central.cpp.
Referenced by TriggerCentral::handleShaftSignal().
void TriggerNoiseFilter::resetAccumSignalData | ( | ) |
Definition at line 48 of file trigger_central.cpp.
Referenced by onConfigurationChangeTriggerCallback(), RpmCalculator::setStopSpinning(), and TriggerCentral::TriggerCentral().
efitick_t TriggerNoiseFilter::accumSignalPeriods[HW_EVENT_TYPES] |
Definition at line 40 of file trigger_central.h.
Referenced by noiseFilter(), and resetAccumSignalData().
efitick_t TriggerNoiseFilter::accumSignalPrevPeriods[HW_EVENT_TYPES] |
Definition at line 41 of file trigger_central.h.
Referenced by noiseFilter(), and resetAccumSignalData().
efitick_t TriggerNoiseFilter::lastSignalTimes[HW_EVENT_TYPES] |
Definition at line 39 of file trigger_central.h.
Referenced by noiseFilter(), and resetAccumSignalData().