15#define PERCENT_TO_DUTY(x) (x) * 0.01
17#define NAN_FREQUENCY_SLEEP_PERIOD_MS 100
130#define PWM_MAX_DUTY 1
Single output pin reference and state.
Multi-channel software PWM output configuration.
pwm_gen_callback * m_stateChangeCallback
OutputPin * outputPins[PWM_PHASE_MAX_WAVE_PER_PWM]
void weComplexInit(Scheduler *executor, MultiChannelStateSequence const *seq, pwm_cycle_callback *pwmCycleCallback, pwm_gen_callback *callback)
MultiChannelStateSequence const * multiChannelStateSequence
efitick_t togglePwmState()
void setFrequency(float frequency)
pwm_config_safe_state_s safe
pwm_cycle_callback * m_pwmCycleCallback
void applyPwmValue(OutputPin *output, int stateIndex, int channelIndex=0)
void setSimplePwmDutyCycle(float dutyCycle) override
MultiChannelStateSequenceWithData< 2 > seq
void startSimplePwmExt(SimplePwm *state, const char *msg, Scheduler *executor, brain_pin_e brainPin, OutputPin *output, float frequency, float dutyCycle, pwm_gen_callback *callback=NULL)
void applyPinState(int stateIndex, PwmConfig *state)
void() pwm_gen_callback(int stateIndex, PwmConfig *pwm)
void() pwm_cycle_callback(PwmConfig *state)
void startSimplePwmHard(SimplePwm *state, const char *msg, Scheduler *executor, brain_pin_e brainPin, OutputPin *output, float frequency, float dutyCycle)
void copyPwmParameters(PwmConfig *state, MultiChannelStateSequence const *seq)
void startSimplePwm(SimplePwm *state, const char *msg, Scheduler *executor, OutputPin *output, float frequency, float dutyCycle, pwm_gen_callback *callback=NULL)
state("state", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1871, 1.0, -1.0, -1.0, "")
virtual void setSimplePwmDutyCycle(float dutyCycle)=0