#include "psensor.h"
#include "lmsensor.h"
+#ifdef HAVE_GTOP
+#include "cpu.h"
+#endif
+
+
struct psensor *psensor_create(char *id, char *name,
unsigned int type, int values_max_length)
{
if (is_temp_type(type))
unit = "C";
+ else if (type & SENSOR_TYPE_CPU_USAGE)
+ unit = "%";
else
unit = "";
Returns the maximal value of a given 'type' (SENSOR_TYPE_TEMP or
SENSOR_TYPE_FAN)
*/
-static double get_max_value(struct psensor **sensors, int type)
+double get_max_value(struct psensor **sensors, int type)
{
double m = UNKNOWN_DBL_VALUE;
struct psensor **s = sensors;
psensors = lmsensor_psensor_list_add(NULL, values_max_length);
tmp_psensors = hdd_psensor_list_add(psensors, values_max_length);
-
if (tmp_psensors != psensors) {
free(psensors);
psensors = tmp_psensors;
if (type & SENSOR_TYPE_HDD_TEMP)
return "HDD Temperature";
+ if (type & SENSOR_TYPE_CPU_USAGE)
+ return "CPU Usage";
+
return "N/A"; /* should not be possible */
}
if (type & SENSOR_TYPE_FAN)
return _("RPM");
+ if (type & SENSOR_TYPE_CPU_USAGE)
+ return _("%");
+
return "N/A";
}
{
lmsensor_psensor_list_update(sensors);
+#ifdef HAVE_GTOP
+ cpu_psensor_list_update(sensors);
+#endif
+
if (psensor_list_contains_type(sensors, SENSOR_TYPE_HDD_TEMP))
hdd_psensor_list_update(sensors);
}