|
PebbleOS
|
Wire format of binary log messages. More...
Data Structures | |
| struct | Time_Full |
| Time of day in UTC. More... | |
| struct | Time_Tick |
| 48-bit tick count. More... | |
| struct | Date |
| Date. More... | |
Typedefs | |
| typedef uint32_t | BinLogMessage_IntParam |
| Integer parameter. | |
Wire format of binary log messages.
A message is a header, whose version byte says which optional fields follow, and a body: hashed (a message ID and its parameters), unhashed (file, line and text) or a plain string. Without PULSE, messages are SLIP framed as END, message, CRC-32, END.
| struct BinLogMessage_Version |
Message version, a set of flags describing the header and body.
| Data Fields | ||
|---|---|---|
| union BinLogMessage_Version.__unnamed33__ | __unnamed__ | |
| struct Time_Full |
| struct Time_Tick |
| struct Date |
| struct MessageID |
Message ID of a hashed message.
| Data Fields | ||
|---|---|---|
| union MessageID.__unnamed37__ | __unnamed__ | |
| struct BinLogMessage_Header |
Common start of every header.
| Data Fields | ||
|---|---|---|
| uint8_t | length | Message length in bytes. |
| uint8_t | version | Version flags, see BinLogMessage_Version. |
| struct BinLogMessage_Header_v0 |
| struct BinLogMessage_Header_v1 |
| struct BinLogMessage_Header_v2 |
Header with a tick count.
| Data Fields | ||
|---|---|---|
| uint8_t | length | Message length in bytes. |
| uint8_t | reserved[2] | Reserved. |
| Time_Tick | tick_count | Tick count. |
| uint8_t | version | Version flags. |
| struct BinLogMessage_Header_v3 |
| struct BinLogMessage_ParamBody |
Body of a hashed message.
| Data Fields | ||
|---|---|---|
| MessageID | msgid | Message ID. |
| uint32_t | payload[0] | Parameters: BinLogMessage_IntParam or BinLogMessage_StringParam entries. |
| struct BinLogMessage_StringParam |
String parameter, padded to a multiple of 4 bytes.
| Data Fields | ||
|---|---|---|
| uint8_t | length | Length of string. |
| uint8_t | string[0] | Characters, followed by padding. |
| struct BinLogMessage_UnhashedBody |
Body of an unhashed message.
| Data Fields | ||
|---|---|---|
| uint8_t | core_number: 2 | Core that logged the message. |
| uint8_t | filename[16] | Source file name. |
| uint8_t | length | Length of string. |
| uint8_t | level | Log level. |
| uint16_t | line_number | Source line number. |
| uint8_t | reserved: 2 | Reserved. |
| uint8_t | string[0] | Message, followed by padding. |
| uint8_t | task_id: 4 | Task that logged the message. |
| struct BinLogMessage_Param_v0 |
Hashed message with a v0 header.
| Data Fields | ||
|---|---|---|
| BinLogMessage_ParamBody | body | Body. |
| BinLogMessage_Header_v0 | header | Header. |
| struct BinLogMessage_Param_v1 |
Hashed message with a v1 header.
| Data Fields | ||
|---|---|---|
| BinLogMessage_ParamBody | body | Body. |
| BinLogMessage_Header_v1 | header | Header. |
| struct BinLogMessage_Param_v2 |
Hashed message with a v2 header.
| Data Fields | ||
|---|---|---|
| BinLogMessage_ParamBody | body | Body. |
| BinLogMessage_Header_v2 | header | Header. |
| struct BinLogMessage_Param_v3 |
Hashed message with a v3 header.
| Data Fields | ||
|---|---|---|
| BinLogMessage_ParamBody | body | Body. |
| BinLogMessage_Header_v3 | header | Header. |
| struct BinLogMessage_Unhashed_v0 |
Unhashed message with a v0 header.
| Data Fields | ||
|---|---|---|
| BinLogMessage_UnhashedBody | body | Body. |
| BinLogMessage_Header_v0 | header | Header. |
| struct BinLogMessage_Unhashed_v1 |
Unhashed message with a v1 header.
| Data Fields | ||
|---|---|---|
| BinLogMessage_UnhashedBody | body | Body. |
| BinLogMessage_Header_v1 | header | Header. |
| struct BinLogMessage_Unhashed_v2 |
Unhashed message with a v2 header.
| Data Fields | ||
|---|---|---|
| BinLogMessage_UnhashedBody | body | Body. |
| BinLogMessage_Header_v2 | header | Header. |
| struct BinLogMessage_Unhashed_v3 |
Unhashed message with a v3 header.
| Data Fields | ||
|---|---|---|
| BinLogMessage_UnhashedBody | body | Body. |
| BinLogMessage_Header_v3 | header | Header. |
| struct BinLogMessage_String_v1 |
Plain string message with a v1 header.
| Data Fields | ||
|---|---|---|
| BinLogMessage_Header_v1 | header | Header. |
| uint8_t | string[0] | Message. |
| union BinLogMessage_Version.__unnamed33__ |
| Data Fields | ||
|---|---|---|
| struct BinLogMessage_Version.__unnamed33__.__unnamed35__ | __unnamed__ | |
| uint8_t | version | All flags. |
| struct BinLogMessage_Version.__unnamed33__.__unnamed35__ |
| union MessageID.__unnamed37__ |
| Data Fields | ||
|---|---|---|
| struct MessageID.__unnamed37__.__unnamed39__ | __unnamed__ | |
| uint32_t | msg_id | All fields. |
| struct MessageID.__unnamed37__.__unnamed39__ |
| #define BINLOGMSG_VERSION_HEADER_V0 (0) |
Version flags of BinLogMessage_Header_v0.
| #define BINLOGMSG_VERSION_HEADER_V1 (BINLOGMSG_VERSION_TIME_DATE) |
Version flags of BinLogMessage_Header_v1.
| #define BINLOGMSG_VERSION_HEADER_V2 (BINLOGMSG_VERSION_TICK_COUNT) |
Version flags of BinLogMessage_Header_v2.
| #define BINLOGMSG_VERSION_HEADER_V3 (BINLOGMSG_VERSION_TIME_DATE | BINLOGMSG_VERSION_TICK_COUNT) |
Version flags of BinLogMessage_Header_v3.
| #define BINLOGMSG_VERSION_PARAM_V0 (BINLOGMSG_VERSION_HEADER_V0 | BINLOGMSG_VERSION_PARAMETERIZED) |
Version flags of BinLogMessage_Param_v0.
| #define BINLOGMSG_VERSION_PARAM_V1 (BINLOGMSG_VERSION_HEADER_V1 | BINLOGMSG_VERSION_PARAMETERIZED) |
Version flags of BinLogMessage_Param_v1.
| #define BINLOGMSG_VERSION_PARAM_V2 (BINLOGMSG_VERSION_HEADER_V2 | BINLOGMSG_VERSION_PARAMETERIZED) |
Version flags of BinLogMessage_Param_v2.
| #define BINLOGMSG_VERSION_PARAM_V3 (BINLOGMSG_VERSION_HEADER_V3 | BINLOGMSG_VERSION_PARAMETERIZED) |
Version flags of BinLogMessage_Param_v3.
| #define BINLOGMSG_VERSION_PARAMETERIZED (1 << 2) |
Version flag: the body is a hashed message with parameters.
| #define BINLOGMSG_VERSION_STRING_V1 (BINLOGMSG_VERSION_HEADER_V1) |
Version flags of BinLogMessage_String_v1.
| #define BINLOGMSG_VERSION_TICK_COUNT (1 << 1) |
Version flag: the header has a tick count.
| #define BINLOGMSG_VERSION_TIME_DATE (1 << 0) |
Version flag: the header has a date and time.
| #define BINLOGMSG_VERSION_UNHASHED_MSG (1 << 3) |
Version flag: the body is an unhashed message.
| #define BINLOGMSG_VERSION_UNHASHED_V0 (BINLOGMSG_VERSION_HEADER_V0 | BINLOGMSG_VERSION_UNHASHED_MSG) |
Version flags of BinLogMessage_Unhashed_v0.
| #define BINLOGMSG_VERSION_UNHASHED_V1 (BINLOGMSG_VERSION_HEADER_V1 | BINLOGMSG_VERSION_UNHASHED_MSG) |
Version flags of BinLogMessage_Unhashed_v1.
| #define BINLOGMSG_VERSION_UNHASHED_V2 (BINLOGMSG_VERSION_HEADER_V2 | BINLOGMSG_VERSION_UNHASHED_MSG) |
Version flags of BinLogMessage_Unhashed_v2.
| #define BINLOGMSG_VERSION_UNHASHED_V3 (BINLOGMSG_VERSION_HEADER_V3 | BINLOGMSG_VERSION_UNHASHED_MSG) |
Version flags of BinLogMessage_Unhashed_v3.
| #define END 0xC0 |
SLIP frame delimiter.
| #define ESC 0xDB |
SLIP escape.
| #define ESC_END 0xDC |
SLIP escaped frame delimiter.
| #define ESC_ESC 0xDD |
SLIP escaped escape.
| typedef uint32_t BinLogMessage_IntParam |
Integer parameter.