dcttech-usbrelay: accept conn= spec different from hidapi enum details
authorGerhard Sittig <gerhard.sittig@gmx.net>
Thu, 22 Jul 2021 06:03:11 +0000 (08:03 +0200)
committerGerhard Sittig <gerhard.sittig@gmx.net>
Fri, 23 Jul 2021 17:58:46 +0000 (19:58 +0200)
commit0498ef4e42b70e873167e2e5ff8520b692514df0
tree33e023b7ad984a28352fc99a9141b41914f1d7d6
parent996331ce9ba6f43e683b0b8ba4cbf3ef24546d36
dcttech-usbrelay: accept conn= spec different from hidapi enum details

Rework the scan and probe routines. Skip the USB enumeration's result
set when the user provided a conn= spec, instead exclusively open the
specified device. It's acceptable when this user spec does not match
the details which the hidapi enumeration would yield. [ This version
prepares but does not implement yet support for "funny" hidapi(3) paths
on platforms beyond Linux. ]

This also weakens the logic which determines the relay count from the
USB product string. Any trailing number is accepted. Which allows to use
compatible devices with differing vendor/product strings when conn= is
specified. The previous "USBRelay" prefix check remains in place for
automatic enumeration.

Beautify diagnostics, even phrase debug and spew level messages such
that they can be presented to users. Makes -l 5 look more consistent.
src/hardware/dcttech-usbrelay/api.c
src/hardware/dcttech-usbrelay/protocol.c