#ifndef HWMONFAN_H_ #define HWMONFAN_H_ #include #include #include #include #include class HwmonFan : public Fan { public: HwmonFan(std::shared_ptr pwmControl, std::shared_ptr rpmSensor); void PWM(int percent) override; int RPM() override; void Label(std::string label) override; void MinPWM(int value) override; int MinPWM() override; void StartPWM(int value) override; int StartPWM() override; void FindPWMLimits() override; void AdjustPWMLimits() override; json toJson() const override; const std::string toString() const override; private: std::shared_ptr mPWMControl; std::shared_ptr mRpmSensor; std::string mLabel; int mMinPWM; int mStartPWM; std::chrono::time_point mLastAdjustmentTime; }; #endif // HWMONFAN_H_