Add documentation, cleanup

This commit is contained in:
2022-09-17 15:45:48 +02:00
parent bbdd612209
commit 828964bf8f
17 changed files with 215 additions and 121 deletions

View File

@@ -1,17 +1,23 @@
#ifndef HWMONFAN_H_
#define HWMONFAN_H_
#include <memory>
#include <fan/Fan.h>
#include <fan/PwmControl.h>
#include <sensor/Sensor.h>
class HwmonFan : public Fan {
public:
HwmonFan(std::unique_ptr<PwmControl> pwmControl,
std::unique_ptr<Sensor> rpmSensor);
void PWM(int percent) override;
int RPM() override;
private:
PwmControl mPwmControl;
// PwmSensor mPwmSensor;
std::unique_ptr<PwmControl> mPwmControl;
std::unique_ptr<Sensor> mRpmSensor;
};
#endif // HWMONFAN_H_

View File

@@ -0,0 +1,22 @@
#ifndef HWMONSENSOR_H_
#define HWMONSENSOR_H_
#include <sensors/sensors.h>
#include <sensor/Sensor.h>
class HwmonSensor : public Sensor {
public:
HwmonSensor(const sensors_chip_name *chipName, const sensors_feature *feature,
const sensors_subfeature *subfeature);
int value() override;
std::string name() override;
private:
const sensors_chip_name *mChipName;
const sensors_feature *mFeature;
const sensors_subfeature *mSubFeature;
};
#endif // HWMONSENSOR_H_

View File

@@ -1,23 +0,0 @@
#ifndef HWMONTEMPERATURESENSOR_H_
#define HWMONTEMPERATURESENSOR_H_
#include <sensors/sensors.h>
#include <sensor/TemperatureSensor.h>
class HwmonTemperatureSensor : public TemperatureSensor {
public:
HwmonTemperatureSensor(const sensors_chip_name *chipName,
const sensors_feature *feature,
const sensors_subfeature *subfeature);
int temperature() override;
std::string name() override;
private:
const sensors_chip_name *mChipName;
const sensors_feature *mFeature;
const sensors_subfeature *mSubFeature;
};
#endif // HWMONTEMPERATURESENSOR_H_

View File

@@ -0,0 +1,15 @@
#ifndef NVIDIASENSOR_H_
#define NVIDIASENSOR_H_
#include <sensor/Sensor.h>
class NvidiaSensor : public Sensor {
public:
NvidiaSensor();
~NvidiaSensor();
int value() override;
std::string name() override;
};
#endif // NVIDIASENSOR_H_

View File

@@ -1,15 +0,0 @@
#ifndef NVIDIA_H_
#define NVIDIA_H_
#include <sensor/TemperatureSensor.h>
class NvidiaTemperatureSensor : public TemperatureSensor {
public:
NvidiaTemperatureSensor();
~NvidiaTemperatureSensor();
int temperature() override;
std::string name() override;
};
#endif // NVIDIA_H_

View File

@@ -0,0 +1,15 @@
#ifndef SENSOR_H_
#define SENSOR_H_
#include <iostream>
class Sensor {
public:
// Read the current value
virtual int value() = 0;
// Name for displaying. Should be descriptive, e.g. "GPU" or the label from
// libsensors.
virtual std::string name() = 0;
};
#endif // SENSOR_H_

View File

@@ -1,12 +0,0 @@
#ifndef TEMPERATURESENSOR_H_
#define TEMPERATURESENSOR_H_
#include <iostream>
class TemperatureSensor {
public:
virtual int temperature() = 0;
virtual std::string name() = 0;
};
#endif // TEMPERATURESENSOR_H_