nfc_supported_card.h 944 B

1234567891011121314151617181920212223242526272829303132333435
  1. #pragma once
  2. #include <furi_hal_nfc.h>
  3. #include "../nfc_worker.h"
  4. #include "../nfc_device.h"
  5. #include <m-string.h>
  6. typedef enum {
  7. NfcSupportedCardTypePlantain,
  8. NfcSupportedCardTypeTroika,
  9. NfcSupportedCardTypePlantain4K,
  10. NfcSupportedCardTypeTroika4K,
  11. NfcSupportedCardTypeTwoCities,
  12. NfcSupportedCardTypeAllInOne,
  13. NfcSupportedCardTypeEnd,
  14. } NfcSupportedCardType;
  15. typedef bool (*NfcSupportedCardVerify)(NfcWorker* nfc_worker, FuriHalNfcTxRxContext* tx_rx);
  16. typedef bool (*NfcSupportedCardRead)(NfcWorker* nfc_worker, FuriHalNfcTxRxContext* tx_rx);
  17. typedef bool (*NfcSupportedCardParse)(NfcDeviceData* dev_data);
  18. typedef struct {
  19. NfcProtocol protocol;
  20. NfcSupportedCardVerify verify;
  21. NfcSupportedCardRead read;
  22. NfcSupportedCardParse parse;
  23. } NfcSupportedCard;
  24. extern NfcSupportedCard nfc_supported_card[NfcSupportedCardTypeEnd];
  25. bool nfc_supported_card_verify_and_parse(NfcDeviceData* dev_data);