diff options
author | Michael Shalayeff <mickey@cvs.openbsd.org> | 2006-09-16 10:46:27 +0000 |
---|---|---|
committer | Michael Shalayeff <mickey@cvs.openbsd.org> | 2006-09-16 10:46:27 +0000 |
commit | ef2aa9643016734172847ee2ed95b440994ac64d (patch) | |
tree | 84034b3344ea3a1e295b1b8a693aa87c9e56301f /usr.sbin/sensorsd/sensorsd.c | |
parent | 6cd150bc8594fceadd0998082cc4f68e79637f89 (diff) |
sync printing w/ sysctl and also add missing sensor types to the conf parser; deraadt@ ok
Diffstat (limited to 'usr.sbin/sensorsd/sensorsd.c')
-rw-r--r-- | usr.sbin/sensorsd/sensorsd.c | 31 |
1 files changed, 25 insertions, 6 deletions
diff --git a/usr.sbin/sensorsd/sensorsd.c b/usr.sbin/sensorsd/sensorsd.c index af7649a0699..ac4dc0d5e5f 100644 --- a/usr.sbin/sensorsd/sensorsd.c +++ b/usr.sbin/sensorsd/sensorsd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sensorsd.c,v 1.23 2006/08/23 11:18:00 mickey Exp $ */ +/* $OpenBSD: sensorsd.c,v 1.24 2006/09/16 10:46:26 mickey Exp $ */ /* * Copyright (c) 2003 Henning Brauer <henning@openbsd.org> @@ -317,18 +317,29 @@ print_sensor(enum sensor_type type, int64_t value) switch (type) { case SENSOR_TEMP: - snprintf(fbuf, RFBUFSIZ, "%.2fC/%.2fF", - (value - 273150000) / 1000000.0, - (value - 273150000) / 1000000.0 * 9 / 5 + 32); + snprintf(fbuf, RFBUFSIZ, "%.2f degC", + (value - 273150000) / 1000000.0); break; case SENSOR_FANRPM: snprintf(fbuf, RFBUFSIZ, "%lld RPM", value); break; case SENSOR_VOLTS_DC: - snprintf(fbuf, RFBUFSIZ, "%.2fV", value / 1000.0 / 1000.0); + snprintf(fbuf, RFBUFSIZ, "%.2f V DC", value / 1000000.0); + break; + case SENSOR_AMPS: + snprintf(fbuf, RFBUFSIZ, "%.2f A", value / 1000000.0); + break; + case SENSOR_INDICATOR: + snprintf(fbuf, RFBUFSIZ, "%s", value? "On" : "Off"); break; case SENSOR_INTEGER: - snprintf(fbuf, RFBUFSIZ, "%lld", value); + snprintf(fbuf, RFBUFSIZ, "%lld raw", value); + break; + case SENSOR_PERCENT: + snprintf(fbuf, RFBUFSIZ, "%.2f%%", value / 1000.0); + break; + case SENSOR_LUX: + snprintf(fbuf, RFBUFSIZ, "%.2f lx", value / 1000000.0); break; case SENSOR_DRIVE: if (0 < value && value < sizeof(drvstat)/sizeof(drvstat[0])) { @@ -424,9 +435,17 @@ get_val(char *buf, int upper, enum sensor_type type) errx(1, "unknown unit %s for voltage sensor", p); rval = val * 1000 * 1000; break; + case SENSOR_PERCENT: + rval = val * 1000.0; + break; + case SENSOR_INDICATOR: case SENSOR_INTEGER: + case SENSOR_DRIVE: rval = val; break; + case SENSOR_LUX: + rval = val * 1000 * 1000; + break; default: errx(1, "unsupported sensor type"); /* not reached */ |