aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorreinelt <>2002-12-05 19:12:47 +0000
committerreinelt <>2002-12-05 19:12:47 +0000
commit8bfbb55ebf0a185469cf073af0317e4b17aa9acd (patch)
treea3a9196fd47e0c3fe2a4a707d9e4c84b6e7fac47
parent291b96fbc7ecd7227174d5061ce2e1ff109a6466 (diff)
downloadlcd4linux-8bfbb55ebf0a185469cf073af0317e4b17aa9acd.tar.gz
[lcd4linux @ 2002-12-05 19:12:47 by reinelt]
sensors factor and offset patch from Petri Damsten <petri.damsten@raketti.net>
Diffstat (limited to '')
-rw-r--r--system.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/system.c b/system.c
index d62f871..a7fc947 100644
--- a/system.c
+++ b/system.c
@@ -1,4 +1,4 @@
-/* $Id: system.c,v 1.24 2001/08/05 17:13:29 reinelt Exp $
+/* $Id: system.c,v 1.25 2002/12/05 19:12:47 reinelt Exp $
*
* system status retreivement
*
@@ -20,6 +20,9 @@
*
*
* $Log: system.c,v $
+ * Revision 1.25 2002/12/05 19:12:47 reinelt
+ * sensors factor and offset patch from Petri Damsten <petri.damsten@raketti.net>
+ *
* Revision 1.24 2001/08/05 17:13:29 reinelt
*
* cleaned up inlude of sys/time.h and time.h
@@ -743,6 +746,8 @@ int Sensor (int index, double *val, double *min, double *max)
static double val_buf[SENSORS+1]={0.0,};
static double min_buf[SENSORS+1]={0.0,};
static double max_buf[SENSORS+1]={0.0,};
+ static double factor_buf[SENSORS+1]={0.0,};
+ static double offset_buf[SENSORS+1]={0.0,};
static time_t now[SENSORS+1]={0,};
if (index<0 || index>SENSORS) return -1;
@@ -772,7 +777,13 @@ int Sensor (int index, double *val, double *min, double *max)
snprintf(buffer, 32, "Sensor%d_max", index);
max_buf[index]=atof(cfg_get(buffer)?:"100");
*max=max_buf[index];
-
+
+ snprintf(buffer, 32, "Sensor%d_factor", index);
+ factor_buf[index]=atof(cfg_get(buffer)?:"1");
+
+ snprintf(buffer, 32, "Sensor%d_offset", index);
+ offset_buf[index]=atof(cfg_get(buffer)?:"0");
+
fd[index]=open(sensor[index], O_RDONLY);
if (fd[index]==-1) {
error ("open(%s) failed: %s", sensor[index], strerror(errno));
@@ -798,7 +809,8 @@ int Sensor (int index, double *val, double *min, double *max)
fd[index]=-1;
return -1;
}
-
+ value *= factor_buf[index];
+ value += offset_buf[index];
val_buf[index]=value;
*val=value;
return 0;