Presentation Layer
All UWB frames can contain an additional payload usually carrying some telemetry data like battery level, metadata about the tag, or data from sensors.
The data payload is sent as TLV structures that are inserted in the universal message type, which has msgType = 0x64.
The payload is inserted in the message just after the header. The TLV structures are composed (and processed) at the presentation layer, which takes the data request from applications or system routines and append a payload.
The frame has the following structure:
MAC header | msgType | TLV_0 | TLV_1 | ….. | TLV_N | CRC |
---|---|---|---|---|---|---|
any type of MAC header | 0x64 | payload data | crc16 |
The UWB frame can also contain another msgTypes with or without an additional payload. Those are msgTypes 0xFC (charging mark) or 0xFD (sleep_mode mark). These marks indicate that the tag is charging or that the tag is in sleep mode. So the final form can be as follows:
UWB frame for tags in charging state (without payload):
MAC header | msgType | CRC |
---|---|---|
any type of MAC header | 0xFC | crc16 |
(with payload):
MAC header | msgType/ | msgType | TLV_0 | TLV_1 | ….. | TLV_N | CRC |
---|---|---|---|---|---|---|---|
any type of MAC header | 0xFC | 0x64 | payload data | crc16 |
UWB frame for tags in sleep mode (without payload):
MAC header | msgType | CRC |
---|---|---|
any type of MAC header | 0xFD | crc16 |
(with payload):
MAC header | msgType/ | msgType | TLV_0 | TLV_1 | ….. | TLV_N | CRC |
---|---|---|---|---|---|---|---|
any type of MAC header | 0xFD | 0x64 | payload data | crc16 |