feat(rawcli): full INVENTORY_READ request body (mask + AFI) — 15693 complete
_inv_read_frame builds the complete ICODE inventory-read request body: [AFI] | mask_len(bits) | mask value | first_block | count-1. INVENTORY_READ and FAST_INVENTORY_READ gain optional mask_len/mask (selective anticollision, ceil(bits/8) value bytes) and afi (filter byte + the 0x10 inventory flag, flags -> 0x36). Mask-less stays the default, so existing frames are unchanged. With this the ISO 15693 support is datasheet-complete end to end: the full request-flags byte, both SLIX and SLIX2 command sets, and the inventory-read body. Verified live (mask-less / 16-bit mask / AFI forms build + decode + round-trip) and unit-tested. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -57,10 +57,11 @@ rendered dropdown on a real terminal is the only thing left unautomated.
|
||||
4. Autocomplete UX ✅ (hex + binary, command names + opcode-by-value; the byte-line completion bug
|
||||
is fixed).
|
||||
|
||||
`INVENTORY_READ` (0xA0) / `FAST_INVENTORY_READ` (0xA1) ✅ — added to `_SLIX` (and inherited by
|
||||
`_SLIX2`) with the inventory flags (0x26) + mask-less body (`mask_len 0 | first_block | count-1`)
|
||||
via a new `inventory=` option on `iso15_frame`. Mask-based inventory (AFI/mask value) is a further
|
||||
refinement if ever needed.
|
||||
`INVENTORY_READ` (0xA0) / `FAST_INVENTORY_READ` (0xA1) ✅ — in `_SLIX` (inherited by `_SLIX2`),
|
||||
**full request body** via `_inv_read_frame`: `[AFI] | mask_len(bits) | mask value | first_block |
|
||||
count-1`, with the inventory flags set by `iso15_frame(inventory=…, afi=…)`. Mask-less (default),
|
||||
mask-based selective anticollision, and AFI filter all supported. **15693 is now datasheet-complete
|
||||
end to end** (flags byte + both SLIX/SLIX2 command sets + inventory-read body).
|
||||
|
||||
**Hardware verify pending:** SLIX2 catalog was verified only against unit tests + a live-session
|
||||
drive (no SLIX2 tag on the reader). Confirm on a real SLIX2 when one is available.
|
||||
|
||||
Reference in New Issue
Block a user