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