Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds ISO 15693 card communication capabilities to the PN5180-tagomatic library. The changes enable reading and writing memory on ISO 15693 RFID cards by implementing new commands and a card interface class.
Key Changes:
- Added
ISO15693Cardclass with methods for reading/writing memory and retrieving system information - Implemented ISO 15693 request/response helpers (
send_15693_request,send_and_receive_15693) - Added
connect_iso15693method to establish card sessions
Reviewed changes
Copilot reviewed 7 out of 10 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| src/pn5180_tagomatic/iso15693.py | New file implementing ISO15693Card class with memory read/write operations |
| src/pn5180_tagomatic/proxy.py | Added ISO 15693 protocol helpers and pylint disable comments |
| src/pn5180_tagomatic/session.py | Added connect_iso15693 method and refactored inventory to use new helpers |
| src/pn5180_tagomatic/constants.py | Added ISO 15693 command constants |
| src/pn5180_tagomatic/init.py | Exported ISO15693Card class |
| examples/iso_15693-update-memory.py | Example demonstrating ISO 15693 memory operations |
| src/pn5180_tagomatic/pn5180.py | Updated copyright year only |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
d941f95 to
ecad165
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 8 out of 11 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
22a0836 to
95464ac
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 31 out of 32 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
c8baab2 to
f932f5d
Compare
abdb684 to
187300f
Compare
187300f to
c2e90cf
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 31 out of 32 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| GET_SYSTEM_INFORMATION = 0x2B | ||
| GET_MULTIPLE_BLOCK_SECURITY_STATUS = 0x2C | ||
| INVENTORY = 0x01 | ||
| LOCK_BLOCK = 0x22 | ||
| READ_SINGLE_BLOCK = 0x20 | ||
| READ_MULTIPLE_BLOCKS = 0x23 | ||
| RESET_TO_READY = 0x26 | ||
| SELECT = 0x25 | ||
| STAY_QUIET = 0x02 | ||
| WRITE_SINGLE_BLOCK = 0x21 | ||
| WRITE_MULTIPLE_BLOCKS = 0x24 |
There was a problem hiding this comment.
Enum members should be sorted consistently. Consider sorting alphabetically or by command value for better maintainability and readability.
| GET_SYSTEM_INFORMATION = 0x2B | |
| GET_MULTIPLE_BLOCK_SECURITY_STATUS = 0x2C | |
| INVENTORY = 0x01 | |
| LOCK_BLOCK = 0x22 | |
| READ_SINGLE_BLOCK = 0x20 | |
| READ_MULTIPLE_BLOCKS = 0x23 | |
| RESET_TO_READY = 0x26 | |
| SELECT = 0x25 | |
| STAY_QUIET = 0x02 | |
| WRITE_SINGLE_BLOCK = 0x21 | |
| WRITE_MULTIPLE_BLOCKS = 0x24 | |
| INVENTORY = 0x01 | |
| STAY_QUIET = 0x02 | |
| READ_SINGLE_BLOCK = 0x20 | |
| WRITE_SINGLE_BLOCK = 0x21 | |
| LOCK_BLOCK = 0x22 | |
| READ_MULTIPLE_BLOCKS = 0x23 | |
| WRITE_MULTIPLE_BLOCKS = 0x24 | |
| SELECT = 0x25 | |
| RESET_TO_READY = 0x26 | |
| GET_SYSTEM_INFORMATION = 0x2B | |
| GET_MULTIPLE_BLOCK_SECURITY_STATUS = 0x2C |
| frame += uid[::-1] | ||
| frame += parameters | ||
|
|
||
| # print(f"Sending frame {frame.hex(' ')}") |
There was a problem hiding this comment.
Commented-out debug print statement should be removed or converted to proper logging for production code.
Adds commands to read and write to ISO 15639 cards' memory.