Implement min PWM finding logic

This commit is contained in:
2022-09-28 21:21:13 +02:00
parent a81e8c31ee
commit cce6478eec
7 changed files with 73 additions and 19 deletions

View File

@@ -6,8 +6,11 @@
class Fan : public Serializable, public Printable {
public:
virtual void pwm(int percent) = 0;
virtual int rpm() = 0;
virtual void PWM(int percent) = 0;
virtual int RPM() = 0;
virtual void FindMinPWM() = 0;
virtual void FindStartPWM() = 0;
};
#endif // FAN_H_

View File

@@ -11,10 +11,14 @@
class HwmonFan : public Fan {
public:
HwmonFan(std::shared_ptr<PWMControl> pwmControl,
std::shared_ptr<Sensor> rpmSensor);
std::shared_ptr<Sensor> rpmSensor, std::string label = "",
int minPWM = 0, int startPWM = 0);
void pwm(int percent) override;
int rpm() override;
void PWM(int percent) override;
int RPM() override;
void FindMinPWM() override;
void FindStartPWM() override;
json toJson() const override;
@@ -24,6 +28,9 @@ private:
std::shared_ptr<PWMControl> mPWMControl;
std::shared_ptr<Sensor> mRpmSensor;
std::string mLabel;
int mMinPWM;
int mStartPWM;
};
#endif // HWMONFAN_H_