diff options
author | reinelt <> | 2002-12-05 19:12:47 +0000 |
---|---|---|
committer | reinelt <> | 2002-12-05 19:12:47 +0000 |
commit | 8bfbb55ebf0a185469cf073af0317e4b17aa9acd (patch) | |
tree | a3a9196fd47e0c3fe2a4a707d9e4c84b6e7fac47 | |
parent | 291b96fbc7ecd7227174d5061ce2e1ff109a6466 (diff) | |
download | lcd4linux-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.c | 18 |
1 files changed, 15 insertions, 3 deletions
@@ -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; |