0xBC - backchannel poll
This MAC header is sent by tag in every BC period. The tag is switched to the RX state after being sent of blink with this MAC header.
Structure of BC MAC header:
typedef struct __attribute__((packed, aligned(1))){ uint8_t fcode; uint8_t MAC_addr[MAC_ADDR_BYTE_SIZE]; uint8_t seqNum; uint8_t BC_version; uint8_t BC_ack_num[BC_ACK_NUM_SIZE]; uint8_t BC_T_toRX; }mac_header_bc_t;
field | description | length |
---|---|---|
fcode | MAC header type identifier - 0xBC - Backchannel poll message | 1B |
MAC_addr | MAC address of the tag | 6B |
seqNum | The sequence number of the blink. | 1B |
BC_version | The version of backchannel protocol | 1B |
BC_ack_num | BC transaction number - this number is generated by the server for every BC transaction. The tag does not interpret it. It only put the last received transaction number into the MAC header. | 5B |
BC_T_toRX | The time between TX and RX on the tag side during backchannel transactions. It is the time between Rmarkers of BC and BD messages. Unit = 10 us | 1B |