M5Unit-NFC 0.0.3 git rev:59f5362
Loading...
Searching...
No Matches
m5::nfc::a::PICC Struct Reference

PICC for NFC-A. More...

#include <nfca.hpp>

Public Member Functions

bool valid () const
 Valid?
 
void tail4 (uint8_t buf[4]) const
 Retrieve the last 4 bytes of UID.
 
std::string uidAsString () const
 Gets the uid string.
 
std::string typeAsString () const
 Gets the type string.
 
bool emulate (const Type t, const uint8_t *uid, const uint8_t uid_len)
 Emulation settings.
 
Type
bool isMifare () const
 Is MIFARE?
 
bool isMifareClassic () const
 Is MIFARE classic? (include Plus compatible SL)
 
bool isMifareUltralight () const
 Is MIFARE Ultralight series?
 
bool isMifarePlus () const
 Is MIFARE Plus?
 
bool isMifarePlusX () const
 Is MIFARE Plus X?
 
bool isMifarePlusS () const
 Is MIFARE Plus S?
 
bool isMifarePlusSE () const
 Is MIFARE Plus SE?
 
bool requiresPlusSL3PlainRead () const
 Requires plain mode for SL3 read? (Plus S and SE don't support encrypted read)
 
bool isMifareClassicCompatible () const
 Is MIFARE?
 
bool isMifareDESFire () const
 Is MIFARE DESFire? (include Light)
 
bool isNTAG2 () const
 Is NTAG?
 
bool isISO14443_4 () const
 Is ISO1443-4?
 
bool isST25TA () const
 Is ST25TA?
 
Information
uint16_t totalSize () const
 Total size.
 
uint16_t userAreaSize () const
 Total user area size.
 
uint16_t unitSize () const
 Read/Write unit size.
 
uint16_t firstUserBlock () const
 Gets the first user block/page address.
 
uint16_t lastUserBlock () const
 Total size.
 
bool isUserBlock (const uint8_t block) const
 Is user block?
 
Capability
bool supportsNFC () const
 Supports NFC?
 
bool supportsNDEF () const
 Supports NDEF?
 
NFCForumTag nfcForumTagType () const
 NFC ForumTag.
 
bool canFastRead () const
 Can use FAST_READ command?
 
file_system_feature_t fileSystemFeature () const
 File system features.
 
bool isFileSystemMemory () const
 Supports NFC?
 
bool isFileSystemFile () const
 Supports NFC?
 

Public Attributes

uint8_t _pad {}
 
Type type {}
 PICC type.
 
uint8_t sak {}
 The SAK (Select acknowledge) returned from the PICC after successful selection.
 
uint8_t size {}
 UID size 4, 7 or 10.
 
uint8_t uid [10] {}
 uid (Valid up to the value of size)
 
uint16_t atqa {}
 ATQA.
 
uint16_t blocks {}
 Number of the blocks or pages.
 
ATS ats {}
 
union { 
 
   uint8_t   sub_type {} 
 uint8_t access
 
   SubTypePlus   sub_type_plus 
 For Plus.
 
   SubTypeDESFire   sub_type_desfire 
 For DESFire.
 
};  
 SubType for Plus/DESFire;.
 
union { 
 
   uint8_t   security_level {} 
 Security level for Plus.
 
};  
 Optional information.
 

Detailed Description

PICC for NFC-A.

Member Function Documentation

◆ emulate()

bool m5::nfc::a::PICC::emulate ( const Type t,
const uint8_t * uid,
const uint8_t uid_len )

Emulation settings.

Parameters
tType
uidUID
uid_lenUID length (4,7,10)
Returns
True if successful

Member Data Documentation

◆ ats

ATS m5::nfc::a::PICC::ats {}

RATS for ISO 14443-4