|
Bluenet
5.7.0
Bluenet, firmware for nRF52 smart home devices
|


Go to the source code of this file.
Classes | |
| struct | uart_msg_size_header_t |
| Very first header, right after the start byte. More... | |
| struct | uart_msg_wrapper_header_t |
| Wrapper header, after the initial size field. More... | |
| struct | uart_encrypted_msg_header_t |
| Non-encrypted header for encrypted uart msg. More... | |
| struct | uart_encrypted_data_header_t |
| Encrypted header for encrypted uart msg. More... | |
| struct | uart_msg_header_t |
| UART message, either non-encrypted, or after decryption. More... | |
| struct | uart_msg_tail_t |
| Final bytes. More... | |
Namespaces | |
| namespace | UartProtocol |
Macros | |
| #define | UART_START_BYTE 0x7E |
| Author: Crownstone Team Copyright: Crownstone (https://crownstone.rocks) Date: Jan 17, 2018 License: LGPLv3+, Apache License 2.0, and/or MIT (triple-licensed) More... | |
| #define | UART_ESCAPE_BYTE 0x5C |
| #define | UART_ESCAPE_FLIP_MASK 0x40 |
| #define | UART_PROTOCOL_MAJOR 1 |
| #define | UART_PROTOCOL_MINOR 0 |
| #define | UART_PROTOCOL_VALIDATION 0xCAFEBABE |
Enumerations | |
| enum class | UartMsgType : uint8_t { UART_MSG = 0 , ENCRYPTED_UART_MSG = 128 } |
Functions | |
| void | UartProtocol::escape (uint8_t &val) |
| Escape a value: converts a value to the an escaped version. More... | |
| void | UartProtocol::unEscape (uint8_t &val) |
| Unescape a value: converts an escaped value back to the original value. More... | |
| uint16_t | UartProtocol::crc16 (const uint8_t *data, uint16_t size) |
| Calculate the CRC of given data. More... | |
| void | UartProtocol::crc16 (const uint8_t *data, const uint16_t size, uint16_t &crc) |
| Calculate the CRC of given data, with given CRC as start. More... | |
| #define UART_ESCAPE_BYTE 0x5C |
| #define UART_ESCAPE_FLIP_MASK 0x40 |
| #define UART_PROTOCOL_MAJOR 1 |
| #define UART_PROTOCOL_MINOR 0 |
| #define UART_PROTOCOL_VALIDATION 0xCAFEBABE |
| #define UART_START_BYTE 0x7E |
Author: Crownstone Team Copyright: Crownstone (https://crownstone.rocks) Date: Jan 17, 2018 License: LGPLv3+, Apache License 2.0, and/or MIT (triple-licensed)
|
strong |