Hi, followup on a diff from last month, updated to -current:
- adds SENSOR_VELOCITY, internal unit um/s, display unit m/s - changes SENSOR_DISTANCE to display as meters, with 3 decimals which gives: hw.sensors.nmea0.distance0=335.600 m (Altitude), OK hw.sensors.nmea0.velocity0=18.337 m/s (Ground speed), OK should the LAST-UPDATED field in the snmp sensors mib be updated to the commit date ? looking for okays so that i can make progress on the nmea changes for altitude/speed. Landry
Index: sys/sys/sensors.h =================================================================== RCS file: /cvs/src/sys/sys/sensors.h,v retrieving revision 1.35 diff -u -r1.35 sensors.h --- sys/sys/sensors.h 8 Apr 2017 04:06:01 -0000 1.35 +++ sys/sys/sensors.h 8 Dec 2018 09:51:00 -0000 @@ -52,6 +52,7 @@ SENSOR_DISTANCE, /* distance (uMeter) */ SENSOR_PRESSURE, /* pressure (mPa) */ SENSOR_ACCEL, /* acceleration (u m/s^2) */ + SENSOR_VELOCITY, /* velocity (u m/s) */ SENSOR_MAX_TYPES }; @@ -78,6 +79,7 @@ "distance", "pressure", "acceleration", + "velocity", "undefined" }; #endif /* !_KERNEL */ 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 8 Dec 2018 09:51:00 -0000 @@ -26,7 +26,7 @@ FROM SNMPv2-CONF; sensorsMIBObjects MODULE-IDENTITY - LAST-UPDATED "201209200000Z" + LAST-UPDATED "201811030000Z" ORGANIZATION "OpenBSD" CONTACT-INFO "Editor: Reyk Floeter @@ -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,8 @@ angle(17), distance(18), pressure(19), - accel(20) + accel(20), + velocity(21) } 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.91 diff -u -r1.91 mib.c --- usr.sbin/snmpd/mib.c 31 Aug 2018 05:20:36 -0000 1.91 +++ usr.sbin/snmpd/mib.c 8 Dec 2018 09:51:06 -0000 @@ -2658,7 +2658,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", "" + "m", "Pa", "m/s^2", "m/s", "" }; const char * @@ -2690,6 +2690,8 @@ case SENSOR_LUX: case SENSOR_FREQ: case SENSOR_ACCEL: + case SENSOR_VELOCITY: + case SENSOR_DISTANCE: ret = asprintf(&v, "%.2f", s->value / 1000000.0); break; case SENSOR_INDICATOR: @@ -2699,7 +2701,6 @@ case SENSOR_HUMIDITY: ret = asprintf(&v, "%.2f", s->value / 1000.0); break; - case SENSOR_DISTANCE: 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 8 Dec 2018 09:51:06 -0000 @@ -692,7 +692,7 @@ snprintf(fbuf, RFBUFSIZ, "%lld", value); break; case SENSOR_DISTANCE: - snprintf(fbuf, RFBUFSIZ, "%.2f mm", value / 1000.0); + snprintf(fbuf, RFBUFSIZ, "%.3f m", value / 1000000.0); break; case SENSOR_PRESSURE: snprintf(fbuf, RFBUFSIZ, "%.2f Pa", value / 1000.0); @@ -700,6 +700,9 @@ case SENSOR_ACCEL: snprintf(fbuf, RFBUFSIZ, "%2.4f m/s^2", value / 1000000.0); break; + case SENSOR_VELOCITY: + snprintf(fbuf, RFBUFSIZ, "%4.3f m/s", value / 1000000.0); + break; default: snprintf(fbuf, RFBUFSIZ, "%lld ???", value); } @@ -813,13 +816,14 @@ case SENSOR_LUX: case SENSOR_FREQ: case SENSOR_ACCEL: + case SENSOR_DISTANCE: + case SENSOR_VELOCITY: rval = val * 1000 * 1000; break; case SENSOR_TIMEDELTA: rval = val * 1000 * 1000 * 1000; break; case SENSOR_HUMIDITY: - case SENSOR_DISTANCE: case SENSOR_PRESSURE: rval = val * 1000.0; break; Index: sbin/sysctl/sysctl.c =================================================================== RCS file: /cvs/src/sbin/sysctl/sysctl.c,v retrieving revision 1.238 diff -u -r1.238 sysctl.c --- sbin/sysctl/sysctl.c 6 Nov 2018 07:55:08 -0000 1.238 +++ sbin/sysctl/sysctl.c 8 Dec 2018 09:51:07 -0000 @@ -2654,13 +2654,16 @@ printf("%3.4f degrees", s->value / 1000000.0); break; case SENSOR_DISTANCE: - printf("%.2f mm", s->value / 1000.0); + printf("%.3f m", s->value / 1000000.0); break; case SENSOR_PRESSURE: printf("%.2f Pa", s->value / 1000.0); break; case SENSOR_ACCEL: printf("%2.4f m/s^2", s->value / 1000000.0); + break; + case SENSOR_VELOCITY: + printf("%4.3f m/s", s->value / 1000000.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 8 Dec 2018 09:51:07 -0000 @@ -280,13 +280,16 @@ tbprintf("%3.4f degrees", s->sn_value / 1000000.0); break; case SENSOR_DISTANCE: - tbprintf("%.2f mm", s->sn_value / 1000.0); + tbprintf("%.3f m", s->sn_value / 1000000.0); break; case SENSOR_PRESSURE: tbprintf("%.2f Pa", s->sn_value / 1000.0); break; case SENSOR_ACCEL: tbprintf("%2.4f m/s^2", s->sn_value / 1000000.0); + break; + case SENSOR_VELOCITY: + tbprintf("%4.3f m/s", s->sn_value / 1000000.0); break; default: tbprintf("%10lld", s->sn_value);