feat: Denkovi USB 4/8 (selectable) + generic USB-serial relay board (CH340/LCUS)

- Denkovi (FT245 D2XX) now selectable as 4 or 8 relays (a 4-relay board just uses
  the low nibble); NewDenkovi takes a count, driven by the device's Channels.
- New 'usbrelay' backend: cheap CH340/LCUS USB-serial boards over a COM port
  using the common A0 protocol ([0xA0][relay][state][checksum]); write-only, so
  Status is a shadow. Channel count configurable (1/2/4/8/16).
- StationDevice gains Channels; deviceRelayCount() drives label/relay counts for
  the variable-size types. Device editor: channel selector + COM-port picker
  (usbrelay) / FTDI-serial (denkovi).

Both untested on hardware; the A0 command set / Denkovi bit order may need a tweak
after a live test.
This commit is contained in:
2026-07-20 17:23:38 +02:00
parent c07a17dc47
commit fe69bc308c
8 changed files with 189 additions and 23 deletions
+2
View File
@@ -2600,6 +2600,7 @@ export namespace main {
host: string;
user?: string;
pass?: string;
channels?: number;
labels: string[];
static createFrom(source: any = {}) {
@@ -2614,6 +2615,7 @@ export namespace main {
this.host = source["host"];
this.user = source["user"];
this.pass = source["pass"];
this.channels = source["channels"];
this.labels = source["labels"];
}
}