/* * @file trigger_simulator.h * @brief This class knows how to produce synthetic shaft signals based on triggerShape * * @date Sep 23, 2015 * @author Andrey Belomutskiy, (c) 2012-2020 */ #pragma once #include "trigger_decoder.h" class TriggerStimulatorHelper { public: uint32_t findTriggerSyncPoint(TriggerWaveform * shape, const TriggerConfiguration * triggerConfiguration, TriggerState *state); void assertSyncPositionAndSetDutyCycle(const TriggerStateCallback triggerCycleCallback, const TriggerConfiguration * triggerConfiguration, const uint32_t index, TriggerState *state, TriggerWaveform * shape ); private: // send next event so that we can see how state reacts void feedSimulatedEvent(const TriggerStateCallback triggerCycleCallback, const TriggerConfiguration * triggerConfiguration, TriggerState *state, TriggerWaveform * shape, int i); }; bool isUsefulSignal(trigger_event_e signal, const TriggerConfiguration * triggerConfiguration);