All packets share the same layout: A header followed by the packet payload. The packet header has the following format:
offset | type | value |
---|---|---|
0x00 | ui8 | Packet identifier |
0x01 | ui8 | Payload size |
The following tables only detail the payload and omit the packet header. The offsets are relative to the payload (i.e. starting at 0x00). The packets are sorted by packet ID in the following sections.
offset | size | type | comments |
---|---|---|---|
0x00 | 8 | file_time | Current UTC time stamp as a FILETIME |
All chunks appear to start with a timestamp packet. Timestamp packets have been observed in locations other than the chunk start (e.g. during bike rides). Some timestamp packages have a value of 0xFFFFFFFF'FFFFFFFF
(-1 in decimal). They do not represent actual time stamps. It is unclear, whether those are the result of an error condition ("could not gather time stamp"), or whether they are used as special markers.
offset | size | type | comments |
---|---|---|---|
0x00 | 4 | ui32 | Sequence ID |
The sequence ID represents the current chunk index. It is the final packet in any chunk. Consecutive chunks have consecutive sequence IDs.
offset | size | type | comments |
---|---|---|---|
0x00 | 4 | ui32 | Cumulative worn period in seconds |
0x04 | 2 | ui16 | Seconds since last cumulative |
offset | size | type | comments |
---|---|---|---|
0x00 | 1 | ui8 | Current heart rate reading |
0x01 | 1 | ui8 | Unknown value in the range [0..10] |
The value at offset 0x01 has unknown meaning. It could be some sort of confidence measure (where 0 means "inaccurate" and 10 "fully accurate"), a time interval of sorts, or something else. During sleep tracking that value seems to be consistently recorded as 10.
Appears to be 3 flags (either 0x00
or 0x01
). Probably related to device state (worn, not worn, charging, etc.).
offset | size | type | comments |
---|---|---|---|
0x00 | 2 | ui16 | Unknown |
The value appears to be somewhat constant when the Band isn't worn. This could be a measure of the galvanic skin resistance/conductance.