nfc_supported_card.h 921 B

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