ESPHome 2026.2.1
Loading...
Searching...
No Matches
ble_uuid.h
Go to the documentation of this file.
1#pragma once
2
4#include "esphome/core/hal.h"
6
7#ifdef USE_ESP32
8#ifdef USE_ESP32_BLE_UUID
9
10#include <initializer_list>
11#include <span>
12#include <string>
13#include <esp_bt_defs.h>
14
15namespace esphome::esp32_ble {
16
18static constexpr size_t UUID_STR_LEN = 37;
19
20class ESPBTUUID {
21 public:
22 ESPBTUUID();
23
24 static ESPBTUUID from_uint16(uint16_t uuid);
25
26 static ESPBTUUID from_uint32(uint32_t uuid);
27
28 static ESPBTUUID from_raw(const uint8_t *data);
29 static ESPBTUUID from_raw_reversed(const uint8_t *data);
30
31 static ESPBTUUID from_raw(const char *data, size_t length);
32 static ESPBTUUID from_raw(const char *data) { return from_raw(data, strlen(data)); }
33 static ESPBTUUID from_raw(const std::string &data) { return from_raw(data.c_str(), data.length()); }
34 static ESPBTUUID from_raw(std::initializer_list<uint8_t> data) {
35 return from_raw(reinterpret_cast<const char *>(data.begin()), data.size());
36 }
37
38 static ESPBTUUID from_uuid(esp_bt_uuid_t uuid);
39
40 ESPBTUUID as_128bit() const;
41
42 bool contains(uint8_t data1, uint8_t data2) const;
43
44 bool operator==(const ESPBTUUID &uuid) const;
45 bool operator!=(const ESPBTUUID &uuid) const { return !(*this == uuid); }
46
47 esp_bt_uuid_t get_uuid() const;
48
49 // Remove before 2026.8.0
50 ESPDEPRECATED("Use to_str() instead. Removed in 2026.8.0", "2026.2.0")
51 std::string to_string() const; // NOLINT
52 const char *to_str(std::span<char, UUID_STR_LEN> output) const;
53
54 protected:
55 esp_bt_uuid_t uuid_;
56};
57
58} // namespace esphome::esp32_ble
59
60#endif // USE_ESP32_BLE_UUID
61#endif // USE_ESP32
static ESPBTUUID from_raw(const char *data)
Definition ble_uuid.h:32
bool operator!=(const ESPBTUUID &uuid) const
Definition ble_uuid.h:45
static ESPBTUUID from_raw(const std::string &data)
Definition ble_uuid.h:33
static ESPBTUUID from_uuid(esp_bt_uuid_t uuid)
Definition ble_uuid.cpp:84
static ESPBTUUID from_uint32(uint32_t uuid)
Definition ble_uuid.cpp:23
static ESPBTUUID from_uint16(uint16_t uuid)
Definition ble_uuid.cpp:17
ESPDEPRECATED("Use to_str() instead. Removed in 2026.8.0", "2026.2.0") std const char * to_str(std::span< char, UUID_STR_LEN > output) const
Definition ble_uuid.cpp:146
bool operator==(const ESPBTUUID &uuid) const
Definition ble_uuid.cpp:130
static ESPBTUUID from_raw(const uint8_t *data)
Definition ble_uuid.cpp:29
static ESPBTUUID from_raw_reversed(const uint8_t *data)
Definition ble_uuid.cpp:35
esp_bt_uuid_t get_uuid() const
Definition ble_uuid.cpp:145
ESPBTUUID as_128bit() const
Definition ble_uuid.cpp:96
bool contains(uint8_t data1, uint8_t data2) const
Definition ble_uuid.cpp:112
static ESPBTUUID from_raw(std::initializer_list< uint8_t > data)
Definition ble_uuid.h:34
struct ESPDEPRECATED("Use std::index_sequence instead. Removed in 2026.6.0", "2025.12.0") seq
Definition automation.h:25
uint16_t length
Definition tt21100.cpp:0