projects
/
psensor.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
2b0d44a
)
measure with value of different types
author
Jean-Philippe Orsini
<jeanfi@gmail.com>
Tue, 12 Jul 2011 20:22:32 +0000
(20:22 +0000)
committer
Jean-Philippe Orsini
<jeanfi@gmail.com>
Tue, 12 Jul 2011 20:22:32 +0000
(20:22 +0000)
src/graph.c
patch
|
blob
|
history
src/lib/lmsensor.c
patch
|
blob
|
history
src/lib/measure.c
patch
|
blob
|
history
src/lib/measure.h
patch
|
blob
|
history
src/lib/psensor.c
patch
|
blob
|
history
src/libpsensor_json/psensor_json.c
patch
|
blob
|
history
src/ui_sensorlist.c
patch
|
blob
|
history
diff --git
a/src/graph.c
b/src/graph.c
index
51dd1c8
..
db6f7a3
100644
(file)
--- a/
src/graph.c
+++ b/
src/graph.c
@@
-165,9
+165,9
@@
static void draw_sensor_curve(struct psensor *s,
double v;
t = s->measures[i].time.tv_sec;
double v;
t = s->measures[i].time.tv_sec;
- v = s->measures[i].value;
+ v = s->measures[i].value
.d_num
;
- if (v == UNKNOWN_VALUE || !t || (t - bt) < 0)
+ if (v == UNKNOWN_
DBL_
VALUE || !t || (t - bt) < 0)
continue;
x = (t - bt) * g_width / (et - bt) + g_xoff;
continue;
x = (t - bt) * g_width / (et - bt) + g_xoff;
diff --git
a/src/lib/lmsensor.c
b/src/lib/lmsensor.c
index
8f7999b
..
b06129d
100644
(file)
--- a/
src/lib/lmsensor.c
+++ b/
src/lib/lmsensor.c
@@
-42,7
+42,7
@@
lmsensor_get_value(const sensors_chip_name *name,
fprintf(stderr,
_("ERROR: Can't get value of subfeature %s: %s\n"),
sub->name, sensors_strerror(err));
fprintf(stderr,
_("ERROR: Can't get value of subfeature %s: %s\n"),
sub->name, sensors_strerror(err));
- val = UNKNOWN_VALUE;
+ val = UNKNOWN_
DBL_
VALUE;
}
return val;
}
}
return val;
}
@@
-59,7
+59,7
@@
double lmsensor_get_temp_input(struct psensor *sensor)
if (sf)
return lmsensor_get_value(chip, sf);
else
if (sf)
return lmsensor_get_value(chip, sf);
else
- return UNKNOWN_VALUE;
+ return UNKNOWN_
DBL_
VALUE;
}
double lmsensor_get_fan_input(struct psensor *sensor)
}
double lmsensor_get_fan_input(struct psensor *sensor)
@@
-74,7
+74,7
@@
double lmsensor_get_fan_input(struct psensor *sensor)
if (sf)
return lmsensor_get_value(chip, sf);
else
if (sf)
return lmsensor_get_value(chip, sf);
else
- return UNKNOWN_VALUE;
+ return UNKNOWN_
DBL_
VALUE;
}
void lmsensor_psensor_list_update(struct psensor **sensors)
}
void lmsensor_psensor_list_update(struct psensor **sensors)
@@
-149,7
+149,7
@@
lmsensor_psensor_create(const sensors_chip_name *chip,
psensor->feature = feature;
if (feature->type == SENSORS_FEATURE_TEMP
psensor->feature = feature;
if (feature->type == SENSORS_FEATURE_TEMP
- && (lmsensor_get_temp_input(psensor) == UNKNOWN_VALUE)) {
+ && (lmsensor_get_temp_input(psensor) == UNKNOWN_
DBL_
VALUE)) {
free(psensor);
return NULL;
}
free(psensor);
return NULL;
}
diff --git
a/src/lib/measure.c
b/src/lib/measure.c
index
28de019
..
41217a1
100644
(file)
--- a/
src/lib/measure.c
+++ b/
src/lib/measure.c
@@
-23,7
+23,7
@@
#include "measure.h"
#include "measure.h"
-struct measure *measures_create(int size)
+struct measure *measures_
dbl_
create(int size)
{
int i;
struct measure *result;
{
int i;
struct measure *result;
@@
-31,7
+31,7
@@
struct measure *measures_create(int size)
result = malloc(size * sizeof(struct measure));
for (i = 0; i < size; i++) {
result = malloc(size * sizeof(struct measure));
for (i = 0; i < size; i++) {
- result[i].value
= UNKNOWN
_VALUE;
+ result[i].value
.d_num = UNKNOWN_DBL
_VALUE;
timerclear(&result[i].time);
}
timerclear(&result[i].time);
}
diff --git
a/src/lib/measure.h
b/src/lib/measure.h
index
b197245
..
759b08f
100644
(file)
--- a/
src/lib/measure.h
+++ b/
src/lib/measure.h
@@
-22,17
+22,22
@@
#include <sys/time.h>
#include <float.h>
#include <sys/time.h>
#include <float.h>
+#include <stdint.h>
-#define UNKNOWN_VALUE DBL_MIN
+#define UNKNOWN_
DBL_
VALUE DBL_MIN
struct measure {
struct measure {
- double value;
+ union value {
+ double d_num;
+ uint64_t ui64_num;
+ } value;
+
struct timeval time;
};
void measure_copy(struct measure *src, struct measure *dst);
struct timeval time;
};
void measure_copy(struct measure *src, struct measure *dst);
-struct measure *measures_create(int size);
+struct measure *measures_
dbl_
create(int size);
void measures_free(struct measure *measures);
void measures_free(struct measure *measures);
diff --git
a/src/lib/psensor.c
b/src/lib/psensor.c
index
96560db
..
7e31a39
100644
(file)
--- a/
src/lib/psensor.c
+++ b/
src/lib/psensor.c
@@
-40,13
+40,13
@@
struct psensor *psensor_create(char *id, char *name,
psensor->id = id;
psensor->name = name;
psensor->enabled = 1;
psensor->id = id;
psensor->name = name;
psensor->enabled = 1;
- psensor->min = UNKNOWN_VALUE;
- psensor->max = UNKNOWN_VALUE;
+ psensor->min = UNKNOWN_
DBL_
VALUE;
+ psensor->max = UNKNOWN_
DBL_
VALUE;
psensor->type = type;
psensor->values_max_length = values_max_length;
psensor->type = type;
psensor->values_max_length = values_max_length;
- psensor->measures = measures_create(values_max_length);
+ psensor->measures = measures_
dbl_
create(values_max_length);
psensor->alarm_limit = 0;
psensor->alarm_limit = 0;
@@
-70,7
+70,7
@@
void psensor_values_resize(struct psensor *s, int new_size)
cur_size = s->values_max_length;
cur_ms = s->measures;
cur_size = s->values_max_length;
cur_ms = s->measures;
- new_ms = measures_create(new_size);
+ new_ms = measures_
dbl_
create(new_size);
if (cur_ms) {
int i;
if (cur_ms) {
int i;
@@
-233,13
+233,13
@@
psensor_set_current_measure(struct psensor *s,
&s->measures[1],
(s->values_max_length - 1) * sizeof(struct measure));
&s->measures[1],
(s->values_max_length - 1) * sizeof(struct measure));
- s->measures[s->values_max_length - 1].value = v;
+ s->measures[s->values_max_length - 1].value
.d_num
= v;
s->measures[s->values_max_length - 1].time = tv;
s->measures[s->values_max_length - 1].time = tv;
- if (s->min == UNKNOWN_VALUE || v < s->min)
+ if (s->min == UNKNOWN_
DBL_
VALUE || v < s->min)
s->min = v;
s->min = v;
- if (s->max == UNKNOWN_VALUE || v > s->max)
+ if (s->max == UNKNOWN_
DBL_
VALUE || v > s->max)
s->max = v;
if (s->alarm_limit && s->alarm_enabled) {
s->max = v;
if (s->alarm_limit && s->alarm_enabled) {
@@
-257,7
+257,7
@@
psensor_set_current_measure(struct psensor *s,
double psensor_get_current_value(struct psensor *sensor)
{
double psensor_get_current_value(struct psensor *sensor)
{
- return sensor->measures[sensor->values_max_length - 1].value;
+ return sensor->measures[sensor->values_max_length - 1].value
.d_num
;
}
struct measure *psensor_get_current_measure(struct psensor *sensor)
}
struct measure *psensor_get_current_measure(struct psensor *sensor)
@@
-271,7
+271,7
@@
struct measure *psensor_get_current_measure(struct psensor *sensor)
*/
double get_min_value(struct psensor **sensors, int type)
{
*/
double get_min_value(struct psensor **sensors, int type)
{
- double m = UNKNOWN_VALUE;
+ double m = UNKNOWN_
DBL_
VALUE;
struct psensor **s = sensors;
while (*s) {
struct psensor **s = sensors;
while (*s) {
@@
-282,12
+282,12
@@
double get_min_value(struct psensor **sensors, int type)
double t;
for (i = 0; i < sensor->values_max_length; i++) {
double t;
for (i = 0; i < sensor->values_max_length; i++) {
- t = sensor->measures[i].value;
+ t = sensor->measures[i].value
.d_num
;
- if (t == UNKNOWN_VALUE)
+ if (t == UNKNOWN_
DBL_
VALUE)
continue;
continue;
- if (m == UNKNOWN_VALUE || t < m)
+ if (m == UNKNOWN_
DBL_
VALUE || t < m)
m = t;
}
}
m = t;
}
}
@@
-303,7
+303,7
@@
double get_min_value(struct psensor **sensors, int type)
*/
static double get_max_value(struct psensor **sensors, int type)
{
*/
static double get_max_value(struct psensor **sensors, int type)
{
- double m = UNKNOWN_VALUE;
+ double m = UNKNOWN_
DBL_
VALUE;
struct psensor **s = sensors;
while (*s) {
struct psensor **s = sensors;
while (*s) {
@@
-313,12
+313,12
@@
static double get_max_value(struct psensor **sensors, int type)
int i;
double t;
for (i = 0; i < sensor->values_max_length; i++) {
int i;
double t;
for (i = 0; i < sensor->values_max_length; i++) {
- t = sensor->measures[i].value;
+ t = sensor->measures[i].value
.d_num
;
- if (t == UNKNOWN_VALUE)
+ if (t == UNKNOWN_
DBL_
VALUE)
continue;
continue;
- if (m == UNKNOWN_VALUE || t > m)
+ if (m == UNKNOWN_
DBL_
VALUE || t > m)
m = t;
}
}
m = t;
}
}
@@
-331,7
+331,7
@@
static double get_max_value(struct psensor **sensors, int type)
double
psensor_get_max_current_value(struct psensor **sensors, unsigned int type)
{
double
psensor_get_max_current_value(struct psensor **sensors, unsigned int type)
{
- double m = UNKNOWN_VALUE;
+ double m = UNKNOWN_
DBL_
VALUE;
struct psensor **s_cur = sensors;
while (*s_cur) {
struct psensor **s_cur = sensors;
while (*s_cur) {
@@
-340,7
+340,7
@@
psensor_get_max_current_value(struct psensor **sensors, unsigned int type)
if (s->enabled && (s->type & type)) {
double v = psensor_get_current_value(s);
if (s->enabled && (s->type & type)) {
double v = psensor_get_current_value(s);
- if (m == UNKNOWN_VALUE || v > m)
+ if (m == UNKNOWN_
DBL_
VALUE || v > m)
m = v;
}
m = v;
}
diff --git
a/src/libpsensor_json/psensor_json.c
b/src/libpsensor_json/psensor_json.c
index
12bd3ba
..
b31dc35
100644
(file)
--- a/
src/libpsensor_json/psensor_json.c
+++ b/
src/libpsensor_json/psensor_json.c
@@
-53,7
+53,7
@@
json_object *sensor_to_json_object(struct psensor *s)
mo = json_object_new_object();
json_object_object_add(mo,
ATT_MEASURE_VALUE,
mo = json_object_new_object();
json_object_object_add(mo,
ATT_MEASURE_VALUE,
- json_object_new_double(m->value));
+ json_object_new_double(m->value
.d_num
));
json_object_object_add(mo, ATT_MEASURE_TIME,
json_object_new_int((m->time).tv_sec));
json_object_object_add(obj, ATT_SENSOR_LAST_MEASURE, mo);
json_object_object_add(mo, ATT_MEASURE_TIME,
json_object_new_int((m->time).tv_sec));
json_object_object_add(obj, ATT_SENSOR_LAST_MEASURE, mo);
diff --git
a/src/ui_sensorlist.c
b/src/ui_sensorlist.c
index
53235fb
..
ad49b22
100644
(file)
--- a/
src/ui_sensorlist.c
+++ b/
src/ui_sensorlist.c
@@
-72,7
+72,7
@@
void ui_sensorlist_update(struct ui_psensor *ui)
str = psensor_value_to_string(s->type,
s->measures[s->values_max_length -
str = psensor_value_to_string(s->type,
s->measures[s->values_max_length -
- 1].value);
+ 1].value
.d_num
);
gtk_list_store_set(GTK_LIST_STORE(model), &iter, COL_TEMP, str,
-1);
free(str);
gtk_list_store_set(GTK_LIST_STORE(model), &iter, COL_TEMP, str,
-1);
free(str);