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 |