feat: add readMemoryLocation method and update GatewayController for memory identity reads

Signed-off-by: Tony <tonylu@tony-cloud.com>
This commit is contained in:
Tony
2026-06-15 17:01:27 +08:00
parent 780b4aa8d5
commit 49dcd8785b
5 changed files with 77 additions and 0 deletions
+9
View File
@@ -112,6 +112,15 @@ Unsupported ids return an `unsupported` operation error so old clients can fall
back to their app-side workflow. Legacy opcodes such as `0x12`, `0x13`, `0x14`,
`0x30`, `0x32`, `0x60`-`0x65`, and `0x39` remain available for compatibility.
Operation id `84` performs a direct-short-address DALI identity memory batch
read. The start TLV must include target field `0x01` as a u8 short address
`0..63`; group and broadcast reads are rejected. Kind field `0x20` as u8
selects compact (`0`) or extended (`nonzero`) identity coverage. Results are
repeated field `0x30` byte-list entries, each with payload
`[bank, location, value]`. Missing byte replies are omitted; a completed result
with no entries reports `no response` so clients can fall back to single-byte
`READ MEMORY LOCATION` reads.
Opcode `0x66` controls passive raw-report leases. Command
`28 01 <gw> 66 01 <enabled> <ttlLo> <ttlHi> <checksum>` enables or disables a
volatile per-gateway lease; `ttl=0` disables. The response is