picopass_protocol.h 977 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #pragma once
  2. #include "../picopass_device.h"
  3. #define PICOPASS_BLOCK_LEN 8
  4. #define PICOPASS_MAX_APP_LIMIT 32
  5. #define PICOPASS_UID_LEN 8
  6. #define PICOPASS_READ_CHECK_RESP_LEN 8
  7. #define PICOPASS_CHECK_RESP_LEN 4
  8. #define PICOPASS_MAC_LEN 4
  9. #define PICOPASS_KEY_LEN 8
  10. #define PICOPASS_FDT_LISTEN_FC (1000)
  11. #ifdef __cplusplus
  12. extern "C" {
  13. #endif
  14. typedef enum {
  15. PicopassErrorNone,
  16. PicopassErrorTimeout,
  17. PicopassErrorIncorrectCrc,
  18. PicopassErrorProtocol,
  19. } PicopassError;
  20. typedef struct {
  21. uint8_t data[RFAL_PICOPASS_UID_LEN];
  22. } PicopassColResSerialNum;
  23. typedef struct {
  24. uint8_t data[RFAL_PICOPASS_UID_LEN];
  25. } PicopassSerialNum;
  26. typedef struct {
  27. uint8_t data[PICOPASS_READ_CHECK_RESP_LEN];
  28. } PicopassReadCheckResp;
  29. typedef struct {
  30. uint8_t data[PICOPASS_CHECK_RESP_LEN];
  31. } PicopassCheckResp;
  32. typedef struct {
  33. uint8_t data[PICOPASS_MAC_LEN];
  34. } PicopassMac;
  35. #ifdef __cplusplus
  36. }
  37. #endif