/** * @file alternator_controller.h * @brief alternator controller * * @date Apr 6, 2014 * @author Dmitry Sidin * @author Andrey Belomutskiy, (c) 2012-2020 * */ #pragma once #include "engine_module.h" #include "closed_loop_controller.h" void initAlternatorCtrl(); class AlternatorController : public EngineModule, public ClosedLoopController { public: void onFastCallback() override; void onConfigurationChange(engine_configuration_s const* previousConfiguration) override; protected: expected observePlant() const override; expected getSetpoint() override; expected getOpenLoop(float target) override; expected getClosedLoop(float setpoint, float observation) override; void setOutput(expected outputValue) override; };