36 #include <sensors/sensors.h> 43 double default_critical_temp,
44 double default_max_temp)
47 int feature_number = 0;
48 for (
const sensors_feature* feature =
49 sensors_get_features(
chip_name_, &feature_number);
51 feature = sensors_get_features(
chip_name_, &feature_number))
54 chip_name_, feature, default_critical_temp, default_max_temp))
63 std::vector<temperature_info> readings;
67 auto temp_info = temperature_feature.read_temperature_info(
chip_name_);
68 readings.push_back(temp_info);
83 feature.set_critical_temp(critical_temp);
90 feature.set_max_temp(max_temp);
93 namespace sensors_chip_factory
97 std::vector<SensorChip> valid_chips;
99 for (
const sensors_chip_name* chip_name =
100 sensors_get_detected_chips(
nullptr, &chip_number);
101 chip_name !=
nullptr;
102 chip_name = sensors_get_detected_chips(
nullptr, &chip_number))
104 if (std::string(chip_name->prefix) == name)
106 valid_chips.emplace_back(chip_name);
void critical_temp_override(double critical_temp)
const sensors_chip_name * chip_name_
SensorChip(const sensors_chip_name *chip, double default_critical_temp=100, double default_max_temp=85)
Construct a new Sensor Chip object.
std::vector< temperature_info > get_temperature_readings() const
std::string get_identifier() const
std::vector< TemperatureFeature > temperature_features_
void max_temp_override(double max_temp)
static std::optional< TemperatureFeature > make_temp_feature(const sensors_chip_name *chip_name, const sensors_feature *feature, double default_critical_temp=100, double defaut_max_temp=85)
std::vector< SensorChip > get_chips_with_prefix(const std::string &name)