HID-Sensor (Usage Page 0x20)

Endlich, etwa 20 Jahre nach Einführung von HID gibt es Bewegung bei der Standardisierung von Usage Tables für Sensoren. Sowie ab Windows 7 ein Anzeigeprogramm dafür. Aber letztlich ist das beim Betrachten von PnPSA ein satter Reinfall!

Immerhin, SensorDoagnosticTool.exe aus dem Windows SDK funktioniert. Theoretisch ab Windows 7, hier unter Windows 10-64. Aber nur, wenn man in den Systemeinstellungen den Zugriff auf die Geo-Position erlaubt! Mithin eine Privatsphäre an alle Programme freigibt, die Hosen runterlässt. Sonst erscheint nichts, kein Fenster, das Programm stürzt sang- und klanglos ab.

Den Mikrocontroller STM32F103 habe ich mit mit dem HID-Deskriptor von jener Webseite gefüttert und diesen erst mal aufs nötigste geschrumpft. Das ergibt schließlich einen HID-Reportdeskriptor von ca. 120 Byte Länge, nicht rund 300 Byte von der Vorlage. Wohlgemerkt, für eine einzige Messgröße!

Screenshot von SensorDiagnosticTool mit Kommentaren

Bei der Festlegung des HID-Sensor-Standards hat man ganz offensichtlich nicht die HID-Dokumentation gelesen! Denn so viel Unfug hätte man sonst nicht festnageln können. Aber erst mal die positiven Seiten:

Aber das war's auch schon! Was mit nicht ausgelesenen Abtastwerten passiert? In die Tonne. Kein Puffern. Kein HDA. Nun, zu den ganzen Schattenseiten:

Nun muss noch geprüft werden, ob andere Software in der Lage ist, HID-Reportdeskriptoren vollumfänglich auszuwerten, um dann wenigstens erwartungsgemäß zu funktionieren. Ansonsten bleibt immer noch das WebUSB-Interface als Ausweg.

Firmware für STM32F103 auf BluePill, Schaltplan dazu.