mifare_common.c 546 B

1234567891011121314151617
  1. #include "mifare_common.h"
  2. MifareType mifare_common_get_type(uint8_t ATQA0, uint8_t ATQA1, uint8_t SAK) {
  3. MifareType type = MifareTypeUnknown;
  4. if((ATQA0 == 0x44) && (ATQA1 == 0x00) && (SAK == 0x00)) {
  5. type = MifareTypeUltralight;
  6. } else if(
  7. ((ATQA0 == 0x44 || ATQA0 == 0x04) && (SAK == 0x08)) ||
  8. ((ATQA0 == 0x42 || ATQA0 == 0x02) && (SAK == 0x18))) {
  9. type = MifareTypeClassic;
  10. } else if(ATQA0 == 0x44 && ATQA1 == 0x03 && SAK == 0x20) {
  11. type = MifareTypeDesfire;
  12. }
  13. return type;
  14. }