M5Unit-RFID 0.2.0 git rev:79c1939
Loading...
Searching...
No Matches
m5::uhf::Tag Struct Reference

A tag, as the EPC Gen2 standard calls it. More...

#include <uhf.hpp>

Public Member Functions

bool valid () const
 Holds a usable EPC?
 
std::string vendorAsString () const
 Mask designer as a printable name, "Unknown" when the identifier is not one we list.
 
std::string chipAsString () const
 Chip name, "Unknown" until the tag has been identified.
 

Public Attributes

uint16_t pc {}
 Protocol Control.
 
uint16_t crc {}
 CRC-16 reported by the tag.
 
int8_t rssi {}
 RSSI in dBm (signed)
 
Epc epc {}
 EPC.
 
Tid tid {}
 TID starting at word 0.
 
Chip chip {Chip::Unknown}
 Identified chip, Unknown when the pair below is not listed.
 
Vendor vendor {Vendor::Unknown}
 Named mask designer, Unknown when mdid is not listed.
 
uint16_t mdid {}
 Raw mask-designer identifier (9 bits)
 
uint16_t model_number {}
 Tag model number (12 bits)
 
uint16_t serial_bits {}
 
uint32_t user_memory_bits {}
 Size of the User bank, 0 when unknown. On a chip that shares a pool with the EPC this is what the bank holds at the EPC length the PC states, not a fixed property.
 
uint32_t epc_max_bits {}
 Largest EPC the chip accepts, 0 when unknown.
 
uint32_t permalock_block_bits {}
 BlockPermalock granularity, 0 when unknown.
 
bool has_xtid {}
 XTID indicator (TID bit 08h)
 
bool supports_security {}
 Security indicator (TID bit 09h)
 
bool supports_file {}
 
bool supports_block_permalock {}
 BlockPermaLock support, as the XTID reports it.
 

Detailed Description

A tag, as the EPC Gen2 standard calls it.

Detection fills the inventory half of this; identifying the tag fills the rest by reading its TID

Member Data Documentation

◆ serial_bits

uint16_t m5::uhf::Tag::serial_bits {}

Length of the XTID serial, 0 when the tag has none

◆ supports_block_permalock

bool m5::uhf::Tag::supports_block_permalock {}

BlockPermaLock support, as the XTID reports it.

Warning
False means the XTID did not say so, which is not the same as the tag not having it: hardly any chip carries the segment that would. tagBlockPermalockSupport() is what answers for the chips whose datasheets do

◆ supports_file

bool m5::uhf::Tag::supports_file {}

File indicator (TID bit 0Ah)