Skip to content

feat(readers): support PN532Killer UART readers - #1158

Draft
treyturner wants to merge 1 commit into
ZaparooProject:mainfrom
treyturner:feat/pn532killer-support
Draft

feat(readers): support PN532Killer UART readers#1158
treyturner wants to merge 1 commit into
ZaparooProject:mainfrom
treyturner:feat/pn532killer-support

Conversation

@treyturner

Copy link
Copy Markdown

Summary

Complete the Zaparoo Core integration for PN532Killer UART readers.

Protocol and transport compatibility are implemented in the companion go-pn532 change:

This PR is intentionally a draft until that change is merged and released. The branch currently contains the Linux permission and installer integration. After the library release is available, a final commit will update the go-pn532 dependency without using a committed replace directive.

Changes

  • Add a dedicated Linux udev rule for devices matching:
    • Vendor 1a86
    • Product ID 55d3
    • Product string PN532Killer-UART
  • Grant group read/write access with mode 0660 and the uaccess tag.
  • Manage the existing and PN532Killer udev rules as separate files.
  • Install missing rule files without overwriting existing user-modified files.
  • Support upgrades where the original Zaparoo rule already exists.
  • Reload and trigger udev only when rule state changes.
  • Remove both managed rule files during hardware uninstall.
  • Update go-pn532 to the first released version containing PN532Killer support before marking this PR ready.

No new reader ID or configuration syntax is introduced. PN532Killer uses the existing native UART reader path, such as:

pn532_uart:/dev/ttyACM0

The legacy libnfc reader remains unchanged.

Validation

  • go test ./pkg/platforms/linux/installer
  • Added installer tests covering:
    • Fresh installation of both udev files
    • Upgrade from an existing original rule
    • Preservation of existing user-modified files
    • No-op reinstallation without a udev reload
    • Removal of both files during uninstall
  • Built Core locally against the companion go-pn532 branch using an uncommitted go.work.
  • Built and ran the MiSTer distribution with the embedded Zaparoo App.
  • Confirmed the configured PN532Killer reader opens through the existing PN532 UART driver.
  • Completed tag detection, NDEF reading, and NDEF writing through the running Zaparoo installation.

@coderabbitai

coderabbitai Bot commented Jul 27, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@wizzomafizzo

Copy link
Copy Markdown
Member

@treyturner i got mine today! will be testing it soon

@treyturner
treyturner force-pushed the feat/pn532killer-support branch from 1709cb9 to 62273c2 Compare August 29, 2026 14:31
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.

2 participants