Cleanup, rename
This commit is contained in:
@@ -9,7 +9,7 @@ find_package(Boost 1.79.0 COMPONENTS json)
|
|||||||
|
|
||||||
add_executable(app
|
add_executable(app
|
||||||
src/main.cxx
|
src/main.cxx
|
||||||
src/Nvidia.cxx
|
src/NvidiaTemperatureSensor.cxx
|
||||||
src/Pwm.cxx
|
src/Pwm.cxx
|
||||||
src/SensorsWrapper.cxx
|
src/SensorsWrapper.cxx
|
||||||
src/HwmonTemperatureSensor.cxx
|
src/HwmonTemperatureSensor.cxx
|
||||||
|
|||||||
@@ -1,16 +0,0 @@
|
|||||||
#ifndef CORRELATEPWMRPM_H_
|
|
||||||
#define CORRELATEPWMRPM_H_
|
|
||||||
|
|
||||||
/*
|
|
||||||
** What I need:
|
|
||||||
** - All system RPM sensors
|
|
||||||
** - All system PWM controls
|
|
||||||
**
|
|
||||||
** ToDo: Find which PWM controller affects which RPM sensor
|
|
||||||
**
|
|
||||||
*/
|
|
||||||
class CorrelatePwmRpm {
|
|
||||||
public:
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // CORRELATEPWMRPM_H_
|
|
||||||
@@ -8,12 +8,15 @@
|
|||||||
class HwmonTemperatureSensor : public TemperatureSensor {
|
class HwmonTemperatureSensor : public TemperatureSensor {
|
||||||
public:
|
public:
|
||||||
HwmonTemperatureSensor(const sensors_chip_name *chipName,
|
HwmonTemperatureSensor(const sensors_chip_name *chipName,
|
||||||
|
const sensors_feature *feature,
|
||||||
const sensors_subfeature *subfeature);
|
const sensors_subfeature *subfeature);
|
||||||
|
|
||||||
int getTemperature() override;
|
int temperature() override;
|
||||||
|
std::string name() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const sensors_chip_name *mChipName;
|
const sensors_chip_name *mChipName;
|
||||||
|
const sensors_feature *mFeature;
|
||||||
const sensors_subfeature *mSubFeature;
|
const sensors_subfeature *mSubFeature;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +0,0 @@
|
|||||||
#ifndef NVIDIA_H_
|
|
||||||
#define NVIDIA_H_
|
|
||||||
|
|
||||||
class Nvidia {
|
|
||||||
public:
|
|
||||||
Nvidia();
|
|
||||||
~Nvidia();
|
|
||||||
double get_gpu_temperature();
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // NVIDIA_H_
|
|
||||||
15
app/include/NvidiaTemperatureSensor.h
Normal file
15
app/include/NvidiaTemperatureSensor.h
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
#ifndef NVIDIA_H_
|
||||||
|
#define NVIDIA_H_
|
||||||
|
|
||||||
|
#include <TemperatureSensor.h>
|
||||||
|
|
||||||
|
class NvidiaTemperatureSensor : public TemperatureSensor {
|
||||||
|
public:
|
||||||
|
NvidiaTemperatureSensor();
|
||||||
|
~NvidiaTemperatureSensor();
|
||||||
|
|
||||||
|
int temperature() override;
|
||||||
|
std::string name() override;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // NVIDIA_H_
|
||||||
@@ -5,7 +5,8 @@
|
|||||||
|
|
||||||
class TemperatureSensor {
|
class TemperatureSensor {
|
||||||
public:
|
public:
|
||||||
virtual int getTemperature() = 0;
|
virtual int temperature() = 0;
|
||||||
|
virtual std::string name() = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // TEMPERATURESENSOR_H_
|
#endif // TEMPERATURESENSOR_H_
|
||||||
|
|||||||
@@ -5,12 +5,17 @@
|
|||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
HwmonTemperatureSensor::HwmonTemperatureSensor(
|
HwmonTemperatureSensor::HwmonTemperatureSensor(
|
||||||
const sensors_chip_name *chipName, const sensors_subfeature *subfeature)
|
const sensors_chip_name *chipName, const sensors_feature *feature,
|
||||||
: mChipName(chipName), mSubFeature(subfeature) {}
|
const sensors_subfeature *subfeature)
|
||||||
|
: mChipName(chipName), mFeature(feature), mSubFeature(subfeature) {}
|
||||||
|
|
||||||
int HwmonTemperatureSensor::getTemperature() {
|
int HwmonTemperatureSensor::temperature() {
|
||||||
double *value;
|
double *value;
|
||||||
sensors_get_value(mChipName, mSubFeature->number, value);
|
sensors_get_value(mChipName, mSubFeature->number, value);
|
||||||
|
|
||||||
return static_cast<int>(*value);
|
return static_cast<int>(*value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
string HwmonTemperatureSensor::name() {
|
||||||
|
return sensors_get_label(mChipName, mFeature);
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,17 +0,0 @@
|
|||||||
#include <include/nvml.h>
|
|
||||||
|
|
||||||
#include <Nvidia.h>
|
|
||||||
|
|
||||||
Nvidia::Nvidia() { nvmlInit_v2(); }
|
|
||||||
Nvidia::~Nvidia() { nvmlShutdown(); }
|
|
||||||
|
|
||||||
double Nvidia::get_gpu_temperature() {
|
|
||||||
nvmlDevice_t device;
|
|
||||||
|
|
||||||
nvmlDeviceGetHandleByIndex_v2(0, &device);
|
|
||||||
|
|
||||||
unsigned int temp;
|
|
||||||
nvmlDeviceGetTemperature(device, NVML_TEMPERATURE_GPU, &temp);
|
|
||||||
|
|
||||||
return static_cast<double>(temp);
|
|
||||||
}
|
|
||||||
21
app/src/NvidiaTemperatureSensor.cxx
Normal file
21
app/src/NvidiaTemperatureSensor.cxx
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
#include <include/nvml.h>
|
||||||
|
|
||||||
|
#include <NvidiaTemperatureSensor.h>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
NvidiaTemperatureSensor::NvidiaTemperatureSensor() { nvmlInit_v2(); }
|
||||||
|
NvidiaTemperatureSensor::~NvidiaTemperatureSensor() { nvmlShutdown(); }
|
||||||
|
|
||||||
|
int NvidiaTemperatureSensor::temperature() {
|
||||||
|
nvmlDevice_t device;
|
||||||
|
|
||||||
|
nvmlDeviceGetHandleByIndex_v2(0, &device);
|
||||||
|
|
||||||
|
unsigned int temp;
|
||||||
|
nvmlDeviceGetTemperature(device, NVML_TEMPERATURE_GPU, &temp);
|
||||||
|
|
||||||
|
return static_cast<int>(temp);
|
||||||
|
}
|
||||||
|
|
||||||
|
string NvidiaTemperatureSensor::name() { return "GPU"; }
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
#include <sensors/sensors.h>
|
#include <sensors/sensors.h>
|
||||||
|
|
||||||
#include <HwmonTemperatureSensor.h>
|
#include <HwmonTemperatureSensor.h>
|
||||||
#include <Nvidia.h>
|
#include <NvidiaTemperatureSensor.h>
|
||||||
#include <Pwm.h>
|
#include <Pwm.h>
|
||||||
|
|
||||||
#define CONFIG_FILE "/etc/conf.d/sensors"
|
#define CONFIG_FILE "/etc/conf.d/sensors"
|
||||||
@@ -29,19 +29,17 @@ std::vector<std::shared_ptr<TemperatureSensor>> sensors() {
|
|||||||
auto tempFeature = sensors_get_subfeature(chipName, feature,
|
auto tempFeature = sensors_get_subfeature(chipName, feature,
|
||||||
SENSORS_SUBFEATURE_TEMP_INPUT);
|
SENSORS_SUBFEATURE_TEMP_INPUT);
|
||||||
if (tempFeature)
|
if (tempFeature)
|
||||||
sensors.push_back(
|
sensors.push_back(std::make_shared<HwmonTemperatureSensor>(
|
||||||
std::make_shared<HwmonTemperatureSensor>(chipName, tempFeature));
|
chipName, feature, tempFeature));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sensors.push_back(std::make_shared<NvidiaTemperatureSensor>());
|
||||||
|
|
||||||
return sensors;
|
return sensors;
|
||||||
}
|
}
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
Nvidia nv;
|
|
||||||
auto temp = nv.get_gpu_temperature();
|
|
||||||
std::cout << "\nGPU Temp: " << temp << std::endl;
|
|
||||||
|
|
||||||
class PWM pwm;
|
class PWM pwm;
|
||||||
std::cout << '\n';
|
std::cout << '\n';
|
||||||
pwm.dumpValues();
|
pwm.dumpValues();
|
||||||
@@ -53,7 +51,7 @@ int main() {
|
|||||||
auto tempSensors = sensors();
|
auto tempSensors = sensors();
|
||||||
|
|
||||||
for (auto s : tempSensors) {
|
for (auto s : tempSensors) {
|
||||||
std::cout << s->getTemperature() << std::endl;
|
std::cout << s->name() << ": " << s->temperature() << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user