/*
- * Copyright (C) 2010-2012 jeanfi@gmail.com
+ * Copyright (C) 2010-2013 jeanfi@gmail.com
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
#include "cpu.h"
#endif
-
struct psensor *psensor_create(char *id,
char *name,
char *chip,
unit = psensor_type_to_unit_str(type, use_celcius);
- if (!use_celcius)
+ if (is_temp_type(type) && !use_celcius)
value = celcius_to_fahrenheit(value);
sprintf(str, "%.0f%s", value, unit);
}
}
-double psensor_get_current_value(struct psensor *sensor)
+double psensor_get_current_value(const struct psensor *sensor)
{
return sensor->measures[sensor->values_max_length - 1].value;
}
{
lmsensor_cleanup();
}
+
+struct psensor **psensor_list_copy(struct psensor **sensors)
+{
+ struct psensor **result;
+ int n, i;
+
+ n = psensor_list_size(sensors);
+ result = malloc((n+1) * sizeof(struct psensor *));
+ for (i = 0; i < n; i++)
+ result[i] = sensors[i];
+ result[n] = NULL;
+
+ return result;
+}
+
+char *
+psensor_current_value_to_str(const struct psensor *s, unsigned int celcius)
+{
+ return psensor_value_to_str(s->type,
+ psensor_get_current_value(s),
+ celcius);
+}