dcttech-usbrelay: implement multiplexer driver for USB relay card
authorGerhard Sittig <gerhard.sittig@gmx.net>
Wed, 21 Jul 2021 18:30:29 +0000 (20:30 +0200)
committerGerhard Sittig <gerhard.sittig@gmx.net>
Wed, 21 Jul 2021 20:03:18 +0000 (22:03 +0200)
commit321f85fb07ea38d81abfde7769833838e8aef068
tree2bcce7a39e599d3dd408839ce83c14907168f843
parent64d54a719aed9204091b8d88c1b881f1341f0592
dcttech-usbrelay: implement multiplexer driver for USB relay card

Implement support for the "www.dcttech.com USBRelay<n>" card. This V-USB
based HID device communicates HID reports to control up to 8 relays. The
driver depends on the HIDAPI external dependency for maximum portability.

Support for the conn= parameters is limited. A path that HIDAPI can open
is expected, which depends on the platform and HIDAPI implementation,
and may not always be expressed by means of sigrok command line options.
See README.devices for a discussion.

The USB serial number is not considered. This is an implementation
detail of the relay card's firmware. HID reports carry a five character
identifier for the board.

Relay state is cached in the driver. It's assumed that relay state won't
change outside of libsigrok control as long as the device is opened. The
single request to activate/deactivate all relays at once is supported.
configure.ac
src/hardware/dcttech-usbrelay/api.c
src/hardware/dcttech-usbrelay/protocol.c
src/hardware/dcttech-usbrelay/protocol.h