143#pragma GCC diagnostic push
144#pragma GCC diagnostic ignored "-Wnoexcept-type"
146#pragma GCC diagnostic pop
SyncStatus
The decoder trigger status.
Definition decoder_t.h:57
static constexpr uint8_t TRIGGER_EDGE_NONE
This constant represents no trigger edge.
Definition decoder_t.h:7
Definition decoder_t.h:76
decoder_features_t(void)
Whether or not the decoder supports per-tooth ignition
Definition decoder_t.h:82
bool supportsPerToothIgnition
Whether or not the decoder supports fixed cranking timing
Definition decoder_t.h:80
bool supportsSequential
The use of the 2nd derivative calculation is limited to certain decoders.
Definition decoder_t.h:78
bool supports2ndDeriv
Definition decoder_t.h:77
bool hasFixedCrankingTiming
Whether or not the decoder supports sequential operation
Definition decoder_t.h:79
Current decoder status.
Definition decoder_t.h:69
SyncStatus syncStatus
Whether or not the triggerToothAngle variable is currently accurate. Some patterns have times when t...
Definition decoder_t.h:72
bool toothAngleIsCorrect
Is set true when the last trigger (Primary or secondary) was valid (ie passed filters)
Definition decoder_t.h:71
bool validTrigger
Definition decoder_t.h:70
This structure represents a decoder configuration.
Definition decoder_t.h:95
getCrankAngle_t getCrankAngle
The function to get the crank angle.
Definition decoder_t.h:112
reset_t reset
The function to reset the decoder. Called when the engine is stopped, or when the engine is started.
Definition decoder_t.h:124
feature_fun_t getFeatures
The function to get the current decoder feature set.
Definition decoder_t.h:153
interrupt_t tertiary
The tertiary interrupt configuration - for decoders that use a 3rd input. E.g. VVT.
Definition decoder_t.h:101
engine_running_t isEngineRunning
The function to test if the engine is running.
Definition decoder_t.h:138
setEndTeeth_t setEndTeeth
The function to set the end teeth for ignition calculations.
Definition decoder_t.h:118
getRPM_t getRPM
The function to get the RPM.
Definition decoder_t.h:106
interrupt_t secondary
The secondary interrupt configuration - usually the cam trigger.
Definition decoder_t.h:99
interrupt_t primary
The primary interrupt configuration - usually the crank trigger.
Definition decoder_t.h:97
status_fun_t getStatus
The function to get the current decoder status.
Definition decoder_t.h:147
This structure represents a trigger interrupt.
Definition decoder_t.h:11
void detach(uint8_t pin)
Detach the interrupt from a pin.
Definition decoder_t.cpp:27
uint8_t attach(uint8_t pin)
Attach the interrupt to a pin.
Definition decoder_t.cpp:13
uint8_t edge
The edge type for the interrupt. E.g. RISING, FALLING, CHANGE.
Definition decoder_t.h:17
callback_t callback
The callback function to be called on interrupt.
Definition decoder_t.h:15
boardInputPin_t _pin
Definition decoder_t.h:51
interrupt_t(callback_t _callback, uint8_t _edge)
Definition decoder_t.h:20
bool isValid(void) const
Is the interrupt configured correctly?
Definition decoder_t.h:40
bool isTriggered(void) const
Does the pin state match the edge setting?
Definition decoder_t.cpp:33
bool isPinHigh(void) const
Definition decoder_t.h:47