Add mapping logic, refactor stuff

This commit is contained in:
2022-09-19 20:02:18 +02:00
parent dccd6f2773
commit f507912623
19 changed files with 275 additions and 187 deletions

View File

@@ -9,15 +9,15 @@
class HwmonFan : public Fan {
public:
HwmonFan(std::unique_ptr<PwmControl> pwmControl,
std::unique_ptr<Sensor> rpmSensor);
HwmonFan(std::shared_ptr<PwmControl> pwmControl,
std::shared_ptr<Sensor> rpmSensor);
void pwm(int percent) override;
int rpm() override;
private:
std::unique_ptr<PwmControl> mPwmControl;
std::unique_ptr<Sensor> mRpmSensor;
std::shared_ptr<PwmControl> mPwmControl;
std::shared_ptr<Sensor> mRpmSensor;
};
#endif // HWMONFAN_H_

View File

@@ -3,11 +3,13 @@
#include <string>
#include <Printable.h>
enum class PWM_CONTROL_PROPERTY { CONTROL, ENABLE, MODE };
enum class PWM_ENABLE { FULL_SPEED = 0, MANUAL_CONTROL };
enum class PWM_MODE { DC = 0, PWM };
class PwmControl {
class PwmControl : public Printable {
public:
PwmControl(std::string controlPath);
@@ -17,6 +19,8 @@ public:
void enableManualControl();
void reset();
const std::string toString() const override;
private:
int readValue(std::string path);