ESPHome 2026.6.0-dev
Loading...
Searching...
No Matches
constants.h
Go to the documentation of this file.
1#pragma once
2
3#include <array>
4#include <cstdint>
5
6namespace esphome::sml {
7
8enum SmlType : uint8_t {
14 SML_HEX = 10,
15 SML_UNDEFINED = 255
16};
17
18enum SmlMessageType : uint16_t { SML_PUBLIC_OPEN_RES = 0x0101, SML_GET_LIST_RES = 0x701 };
19
20// masks with two-bit mapping 0x1b -> 0b01; 0x01 -> 0b10; 0x1a -> 0b11
21const uint16_t START_MASK = 0x55aa; // 0x1b 1b 1b 1b 01 01 01 01
22const uint16_t END_MASK = 0x0157; // 0x1b 1b 1b 1b 1a
23
24constexpr std::array<uint8_t, 8> START_SEQ = {0x1b, 0x1b, 0x1b, 0x1b, 0x01, 0x01, 0x01, 0x01};
25
26} // namespace esphome::sml
const uint16_t START_MASK
Definition constants.h:21
constexpr std::array< uint8_t, 8 > START_SEQ
Definition constants.h:24
@ SML_PUBLIC_OPEN_RES
Definition constants.h:18
const uint16_t END_MASK
Definition constants.h:22