0xBD - backchannel data
This MAC header can be only sent by the anchor. It's used in data messages during backchannel transactions.
Structure of BD 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_options; }mac_header_bd_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. | 5B |
BC_options | Options that determine if the tag should send immediate ACK, and how many ACK tags should send after the successful reception of the BD message. Lowes bite - if 1 - immediate ack should be sent after receiving this BD message. Bite 4:1 - number of ACK, that should be sent by tag after successful reception of this BD message. <0;15> Other bites are unused. | 1B |