39 if (periods == 0 || periods > 10) {
47 float periodTimeMs = cycleTimeMs / periods;
SingleTimerExecutor scheduler
RegisteredOutputPin tachOut
void setFrequency(float frequency)
static float getOrZero(SensorType type)
void setSimplePwmDutyCycle(float dutyCycle) override
void onFastCallback() override
static EngineAccessor engine
static constexpr engine_configuration_s * engineConfiguration
void firmwareError(ObdCode code, const char *fmt,...)
bool isBrainPinValid(brain_pin_e brainPin)
void startSimplePwm(SimplePwm *state, const char *msg, Scheduler *executor, OutputPin *output, float frequency, float dutyCycle, pwm_gen_callback *callback)
scaled_channel< uint16_t, 1000, 1 > tachPulsePerRev
bool tachPulseDurationAsDutyCycle
float tachPulseDuractionMs
output_pin_e tachOutputPin
static SimplePwm tachControl("tach")