common.c 863 B

123456789101112131415161718192021222324252627282930313233
  1. #include "common.h"
  2. #include <furi_hal_nfc.h>
  3. #define REQA (0x26)
  4. #define CL1_PREFIX (0x93)
  5. #define SELECT (0x70)
  6. #define MAGIC_BUFFER_SIZE (32)
  7. bool magic_activate() {
  8. FuriHalNfcReturn ret = 0;
  9. // Setup nfc poller
  10. furi_hal_nfc_exit_sleep();
  11. furi_hal_nfc_ll_txrx_on();
  12. furi_hal_nfc_ll_poll();
  13. ret = furi_hal_nfc_ll_set_mode(
  14. FuriHalNfcModePollNfca, FuriHalNfcBitrate106, FuriHalNfcBitrate106);
  15. if(ret != FuriHalNfcReturnOk) return false;
  16. furi_hal_nfc_ll_set_fdt_listen(FURI_HAL_NFC_LL_FDT_LISTEN_NFCA_POLLER);
  17. furi_hal_nfc_ll_set_fdt_poll(FURI_HAL_NFC_LL_FDT_POLL_NFCA_POLLER);
  18. furi_hal_nfc_ll_set_error_handling(FuriHalNfcErrorHandlingNfc);
  19. furi_hal_nfc_ll_set_guard_time(FURI_HAL_NFC_LL_GT_NFCA);
  20. return true;
  21. }
  22. void magic_deactivate() {
  23. furi_hal_nfc_ll_txrx_off();
  24. furi_hal_nfc_sleep();
  25. }