t5577.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #pragma once
  2. #include <stdint.h>
  3. #include <stdbool.h>
  4. #ifdef __cplusplus
  5. extern "C" {
  6. #endif
  7. #define LFRFID_T5577_BLOCK_COUNT 8
  8. // T5577 block 0 definitions, thanks proxmark3!
  9. #define LFRFID_T5577_POR_DELAY 0x00000001
  10. #define LFRFID_T5577_ST_TERMINATOR 0x00000008
  11. #define LFRFID_T5577_PWD 0x00000010
  12. #define LFRFID_T5577_MAXBLOCK_SHIFT 5
  13. #define LFRFID_T5577_AOR 0x00000200
  14. #define LFRFID_T5577_PSKCF_RF_2 0
  15. #define LFRFID_T5577_PSKCF_RF_4 0x00000400
  16. #define LFRFID_T5577_PSKCF_RF_8 0x00000800
  17. #define LFRFID_T5577_MODULATION_DIRECT 0
  18. #define LFRFID_T5577_MODULATION_PSK1 0x00001000
  19. #define LFRFID_T5577_MODULATION_PSK2 0x00002000
  20. #define LFRFID_T5577_MODULATION_PSK3 0x00003000
  21. #define LFRFID_T5577_MODULATION_FSK1 0x00004000
  22. #define LFRFID_T5577_MODULATION_FSK2 0x00005000
  23. #define LFRFID_T5577_MODULATION_FSK1a 0x00006000
  24. #define LFRFID_T5577_MODULATION_FSK2a 0x00007000
  25. #define LFRFID_T5577_MODULATION_MANCHESTER 0x00008000
  26. #define LFRFID_T5577_MODULATION_BIPHASE 0x00010000
  27. #define LFRFID_T5577_MODULATION_DIPHASE 0x00018000
  28. #define LFRFID_T5577_X_MODE 0x00020000
  29. #define LFRFID_T5577_BITRATE_RF_8 0
  30. #define LFRFID_T5577_BITRATE_RF_16 0x00040000
  31. #define LFRFID_T5577_BITRATE_RF_32 0x00080000
  32. #define LFRFID_T5577_BITRATE_RF_40 0x000C0000
  33. #define LFRFID_T5577_BITRATE_RF_50 0x00100000
  34. #define LFRFID_T5577_BITRATE_RF_64 0x00140000
  35. #define LFRFID_T5577_BITRATE_RF_100 0x00180000
  36. #define LFRFID_T5577_BITRATE_RF_128 0x001C0000
  37. #define LFRFID_T5577_TESTMODE_DISABLED 0x60000000
  38. typedef struct {
  39. uint32_t block[LFRFID_T5577_BLOCK_COUNT];
  40. uint32_t blocks_to_write;
  41. } LFRFIDT5577;
  42. /**
  43. * @brief Write T5577 tag data to tag
  44. *
  45. * @param data
  46. */
  47. void t5577_write(LFRFIDT5577* data);
  48. #ifdef __cplusplus
  49. }
  50. #endif