void psensor_free(struct psensor *sensor)
{
if (sensor) {
+ log_debug("Cleanup %s", sensor->id);
+
free(sensor->name);
free(sensor->id);
return c * (9.0/5.0) + 32;
}
-char *psensor_value_to_string(unsigned int type,
- double value,
- int use_celcius)
+double fahrenheit_to_celcius(double f)
+{
+ return (f - 32) * (5.0/9.0);
+}
+
+char *
+psensor_value_to_str(unsigned int type, double value, int use_celcius)
{
/* should not be possible to exceed 20 characters with temp or
rpm values the .x part is never displayed */
if (is_temp_type(type))
if (use_celcius) {
- unit = "C";
+ unit = "°C";
} else {
- unit = "F";
+ unit = "°F";
value = celcius_to_fahrenheit(value);
}
else if (type & SENSOR_TYPE_CPU_USAGE)
&s->measures[1],
(s->values_max_length - 1) * sizeof(struct measure));
- s->measures[s->values_max_length - 1].value.d_num = v;
+ s->measures[s->values_max_length - 1].value = v;
s->measures[s->values_max_length - 1].time = tv;
if (s->min == UNKNOWN_DBL_VALUE || v < s->min)
double psensor_get_current_value(struct psensor *sensor)
{
- return sensor->measures[sensor->values_max_length - 1].value.d_num;
+ return sensor->measures[sensor->values_max_length - 1].value;
}
struct measure *psensor_get_current_measure(struct psensor *sensor)
double t;
for (i = 0; i < sensor->values_max_length; i++) {
- t = sensor->measures[i].value.d_num;
+ t = sensor->measures[i].value;
if (t == UNKNOWN_DBL_VALUE)
continue;
int i;
double t;
for (i = 0; i < sensor->values_max_length; i++) {
- t = sensor->measures[i].value.d_num;
+ t = sensor->measures[i].value;
if (t == UNKNOWN_DBL_VALUE)
continue;
{
if (type & SENSOR_TYPE_TEMP) {
if (use_celcius)
- return _("C");
+ return _("°C");
else
- return _("F");
+ return _("°F");
}
if (type & SENSOR_TYPE_FAN)