Bluenet  5.7.0
Bluenet, firmware for nRF52 smart home devices
Loading...
Searching...
No Matches
cs_UartProtocol.h File Reference
#include <protocol/cs_UartMsgTypes.h>
#include <protocol/cs_UartOpcodes.h>
#include <cstdint>
Include dependency graph for cs_UartProtocol.h:
This graph shows which files directly or indirectly include this file:

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...
 

Macro Definition Documentation

◆ UART_ESCAPE_BYTE

#define UART_ESCAPE_BYTE   0x5C

◆ UART_ESCAPE_FLIP_MASK

#define UART_ESCAPE_FLIP_MASK   0x40

◆ UART_PROTOCOL_MAJOR

#define UART_PROTOCOL_MAJOR   1

◆ UART_PROTOCOL_MINOR

#define UART_PROTOCOL_MINOR   0

◆ UART_PROTOCOL_VALIDATION

#define UART_PROTOCOL_VALIDATION   0xCAFEBABE

◆ UART_START_BYTE

#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)

Enumeration Type Documentation

◆ UartMsgType

enum class UartMsgType : uint8_t
strong
Enumerator
UART_MSG 
ENCRYPTED_UART_MSG