Skip to content

Improve ISO15693 listener timing and inventory handling#566

Open
OndrejMiko wants to merge 2 commits into
Next-Flip:devfrom
OndrejMiko:nfc-iso15693-listener-timing
Open

Improve ISO15693 listener timing and inventory handling#566
OndrejMiko wants to merge 2 commits into
Next-Flip:devfrom
OndrejMiko:nfc-iso15693-listener-timing

Conversation

@OndrejMiko

Copy link
Copy Markdown

Summary

This improves NFC-V / ISO15693 listener behavior, especially for emulation and SLIX cards.

The change fixes listener response timing, adds support for selecting the response data rate from the reader request flags, improves ISO15693 inventory mask handling, and adds proper 16-slot inventory EOF flow handling. It also exposes more listener events so the NFC app can log received frames, CRC errors, transmitted responses, and field on/off transitions during emulation.

Changes

  • Fix ISO15693 listener responses to use the data rate requested by the reader instead of always replying at high data rate.
  • Add NFC-V fast listener timing support through the existing Momentum setting.
  • Implement ISO15693 inventory mask matching against the UID bits.
  • Implement 16-slot inventory handling by delaying the response until the matching EOF slot.
  • Reset inventory/session state correctly when a new request or field-off event is received.
  • Add ISO15693 listener events for:
    • field on
    • field off
    • valid request
    • request with CRC/error
    • transmitted response
  • Forward the new ISO15693 events through the SLIX listener.
  • Improve NFC app emulate logging for ISO15693 and SLIX:
    • FIELD ON
    • FIELD OFF
    • R: received request
    • E: received invalid/error frame
    • T: transmitted response
  • Extend ISO15693 signal generation internals to prepare both single-subcarrier and dual-subcarrier frame banks.

Testing

  • Verified the patch with git diff --check.
  • Verified the generated patch applies cleanly on top of the upstream dev base commit.

Add listener-side request/response events for ISO15693 and SLIX so emulate mode can log field transitions, received frames, CRC errors, and transmitted responses.

Handle ISO15693 inventory masks and 16-slot anticollision by matching UID mask bits and deferring slot responses until the correct EOF slot.

Track the requested ISO15693 data rate and use it for listener responses, and keep fast NFC-V listener timing configurable via Momentum settings.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant