Hi, complementary to the previous diff, adds altitude sensor type (in meters) and speed (in m/s, as it seems that's the common denominator and most accepted unit, even if it doesnt 'mean' anything to humans...) i still have to ponder about the decimals & intervals..
builds, not used yet. Landry
Index: share/snmp/OPENBSD-SENSORS-MIB.txt =================================================================== RCS file: /cvs/src/share/snmp/OPENBSD-SENSORS-MIB.txt,v retrieving revision 1.6 diff -u -r1.6 OPENBSD-SENSORS-MIB.txt --- share/snmp/OPENBSD-SENSORS-MIB.txt 2 Sep 2016 12:17:33 -0000 1.6 +++ share/snmp/OPENBSD-SENSORS-MIB.txt 3 Nov 2018 16:23:57 -0000 @@ -39,6 +39,9 @@ DESCRIPTION "The MIB module for gathering information from OpenBSD's kernel sensor framework." + REVISION "201811030000Z" + DESCRIPTION + "Add new sensor types." REVISION "201209200000Z" DESCRIPTION "Add new sensor types." @@ -136,7 +139,9 @@ angle(17), distance(18), pressure(19), - accel(20) + accel(20), + altitude(21), + speed(22) } MAX-ACCESS read-only STATUS current Index: usr.sbin/snmpd/mib.c =================================================================== RCS file: /cvs/src/usr.sbin/snmpd/mib.c,v retrieving revision 1.85 diff -u -r1.85 mib.c --- usr.sbin/snmpd/mib.c 18 Dec 2017 05:51:53 -0000 1.85 +++ usr.sbin/snmpd/mib.c 3 Nov 2018 16:23:59 -0000 @@ -2617,7 +2617,7 @@ static const char * const sensor_unit_s[SENSOR_MAX_TYPES + 1] = { "degC", "RPM", "V DC", "V AC", "Ohm", "W", "A", "Wh", "Ah", "", "", "%", "lx", "", "sec", "%RH", "Hz", "degree", - "mm", "Pa", "m/s^2", "" + "mm", "Pa", "m/s^2", "m", "m/s", "" }; const char * @@ -2659,6 +2659,8 @@ ret = asprintf(&v, "%.2f", s->value / 1000.0); break; case SENSOR_DISTANCE: + case SENSOR_ALTITUDE: + case SENSOR_SPEED: case SENSOR_PRESSURE: ret = asprintf(&v, "%.2f", s->value / 1000.0); break; Index: usr.sbin/sensorsd/sensorsd.c =================================================================== RCS file: /cvs/src/usr.sbin/sensorsd/sensorsd.c,v retrieving revision 1.62 diff -u -r1.62 sensorsd.c --- usr.sbin/sensorsd/sensorsd.c 22 Oct 2018 16:20:09 -0000 1.62 +++ usr.sbin/sensorsd/sensorsd.c 3 Nov 2018 16:24:01 -0000 @@ -700,6 +700,12 @@ case SENSOR_ACCEL: snprintf(fbuf, RFBUFSIZ, "%2.4f m/s^2", value / 1000000.0); break; + case SENSOR_ALTITUDE: + snprintf(fbuf, RFBUFSIZ, "%4.3f m", value / 1000.0); + break; + case SENSOR_SPEED: + snprintf(fbuf, RFBUFSIZ, "%4.3f m/s", value / 1000.0); + break; default: snprintf(fbuf, RFBUFSIZ, "%lld ???", value); } @@ -821,6 +827,8 @@ case SENSOR_HUMIDITY: case SENSOR_DISTANCE: case SENSOR_PRESSURE: + case SENSOR_ALTITUDE: + case SENSOR_SPEED: rval = val * 1000.0; break; default: Index: sbin/sysctl/sysctl.c =================================================================== RCS file: /cvs/src/sbin/sysctl/sysctl.c,v retrieving revision 1.237 diff -u -r1.237 sysctl.c --- sbin/sysctl/sysctl.c 29 Sep 2018 04:29:48 -0000 1.237 +++ sbin/sysctl/sysctl.c 3 Nov 2018 16:24:02 -0000 @@ -2661,6 +2661,12 @@ case SENSOR_ACCEL: printf("%2.4f m/s^2", s->value / 1000000.0); break; + case SENSOR_ALTITUDE: + printf("%4.3f m", s->value / 1000.0); + break; + case SENSOR_SPEED: + printf("%4.3f m/s", s->value / 1000.0); + break; default: printf("unknown"); } Index: usr.bin/systat/sensors.c =================================================================== RCS file: /cvs/src/usr.bin/systat/sensors.c,v retrieving revision 1.30 diff -u -r1.30 sensors.c --- usr.bin/systat/sensors.c 16 Jan 2015 00:03:38 -0000 1.30 +++ usr.bin/systat/sensors.c 3 Nov 2018 16:24:02 -0000 @@ -288,6 +288,12 @@ case SENSOR_ACCEL: tbprintf("%2.4f m/s^2", s->sn_value / 1000000.0); break; + case SENSOR_ALTITUDE: + tbprintf("%4.3f m", s->sn_value / 1000.0); + break; + case SENSOR_SPEED: + tbprintf("%4.3f m/s", s->sn_value / 1000.0); + break; default: tbprintf("%10lld", s->sn_value); break;