22#define BANK_BY_INDEX(index) (index / CAMS_PER_BANK)
23#define CAM_BY_INDEX(index) (index % CAMS_PER_BANK)
24#define INDEX_BY_BANK_CAM(bank, cam) ((bank) * CAMS_PER_BANK + (cam))
Single output pin reference and state.
void onFastCallback() override
bool m_engineRunningLongEnough
expected< angle_t > getSetpoint() override
void onConfigurationChange(engine_configuration_s const *previousConfig) override
expected< percent_t > getOpenLoop(angle_t target) override
expected< percent_t > getClosedLoop(angle_t setpoint, angle_t observation) override
void setOutput(expected< percent_t > outputValue) override
const ValueProvider3D * m_targetMap
expected< angle_t > observePlant() override
void init(const ValueProvider3D *targetMap, IPwm *pwm)
void stopVvtControlPins()
void startVvtControlPins()
OutputPin * getVvtOutputPin(int index)