flipperzero-firmware
flipperzero-firmware copied to clipboard
[FL-3638] EMV card detection
What's new
- New card type: EMV
- When reading an EMV card, the data shown is equivalent to the regular ISO14443-4A data, but with "EMV Card" added to the header
- This PR does not add support for emulation or reading EMV-specific data
Verification
- Read an EMV card, check that the additional header is displayed in info and that all the other ISO14443-4A data is correct.
- Verify that saving and loading the card file works as expected
- Verify that reading non-emv cards isn't affected
Checklist (For Reviewer)
- [ ] PR has description of feature/bug or link to Confluence/Jira task
- [ ] Description contains actions to verify feature/bugfix
- [ ] I've built this code, uploaded it to the device and verified feature/bugfix
Compiled f7 firmware for commit 78e5698b:
bt
#0 0x080160fc in __furi_crash_implementation () at furi/core/check.c:172
#1 0x0804ec78 in emv_poller_detect (event=..., context=<optimized out>) at lib/nfc/protocols/emv/emv_poller.c:137
#2 0x0804c6a0 in nfc_poller_detect_tail_callback (event=..., context=0x2000cf10) at lib/nfc/nfc_poller.c:217
#3 0x0805093e in iso14443_4a_poller_handler_ready (instance=<optimized out>) at lib/nfc/protocols/iso14443_4a/iso14443_4a_poller.c:80
#4 0x080509ac in iso14443_4a_poller_run (event=..., context=<optimized out>) at lib/nfc/protocols/iso14443_4a/iso14443_4a_poller.c:116
#5 0x0804d012 in iso14443_3a_poller_run (event=..., context=0x2000cf80) at lib/nfc/protocols/iso14443_3a/iso14443_3a_poller.c:91
#6 0x0804c66c in nfc_poller_detect_head_callback (event=..., context=<optimized out>) at lib/nfc/nfc_poller.c:242
#7 0x0804b40a in nfc_worker_poller_ready_handler (instance=0x2000ba08) at lib/nfc/nfc.c:182
#8 0x0804b4be in nfc_worker_poller (context=0x2000ba08) at lib/nfc/nfc.c:232
#9 0x0801a67c in furi_thread_body (context=<optimized out>) at furi/core/thread.c:117
#10 0x08019f4e in furi_thread_catch () at furi/core/thread.c:89
@RebornedBrain check this out