From b503e4973900010ba724a995fd6adfc36449a093 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sun, 5 Oct 2025 22:51:36 -0500 Subject: [PATCH] revert --- .../esp32_ble_server/ble_server.cpp | 3 +-- .../components/esp32_ble_server/ble_server.h | 23 +++++++------------ 2 files changed, 9 insertions(+), 17 deletions(-) diff --git a/esphome/components/esp32_ble_server/ble_server.cpp b/esphome/components/esp32_ble_server/ble_server.cpp index 0e3a3b4a49..25cc97eeaf 100644 --- a/esphome/components/esp32_ble_server/ble_server.cpp +++ b/esphome/components/esp32_ble_server/ble_server.cpp @@ -99,8 +99,7 @@ bool BLEServer::can_proceed() { return this->is_running() || !this->parent_->is_ void BLEServer::restart_advertising_() { if (this->is_running()) { - this->parent_->advertising_set_manufacturer_data( - std::span(this->manufacturer_data_.get(), this->manufacturer_data_length_)); + this->parent_->advertising_set_manufacturer_data(this->manufacturer_data_); } } diff --git a/esphome/components/esp32_ble_server/ble_server.h b/esphome/components/esp32_ble_server/ble_server.h index 788ad377ef..6fa86dd67f 100644 --- a/esphome/components/esp32_ble_server/ble_server.h +++ b/esphome/components/esp32_ble_server/ble_server.h @@ -35,11 +35,7 @@ class BLEServer : public Component, public GATTsEventHandler, public BLEStatusEv bool is_running(); void set_manufacturer_data(const std::vector &data) { - this->manufacturer_data_length_ = data.size(); - this->manufacturer_data_.reset(data.empty() ? nullptr : new uint8_t[data.size()]); - if (!data.empty()) { - memcpy(this->manufacturer_data_.get(), data.data(), data.size()); - } + this->manufacturer_data_ = data; this->restart_advertising_(); } @@ -91,27 +87,24 @@ class BLEServer : public Component, public GATTsEventHandler, public BLEStatusEv void remove_client_(uint16_t conn_id); void dispatch_callbacks_(CallbackType type, uint16_t conn_id); - // 4-byte aligned (pointers and vectors on 32-bit) std::vector callbacks_; + + std::vector manufacturer_data_{}; + esp_gatt_if_t gatts_if_{0}; + bool registered_{false}; + + uint16_t clients_[USE_ESP32_BLE_MAX_CONNECTIONS]{}; + uint8_t client_count_{0}; std::vector services_{}; std::vector services_to_start_{}; - std::unique_ptr manufacturer_data_{}; BLEService *device_information_service_{}; - // 2-byte aligned - uint16_t clients_[USE_ESP32_BLE_MAX_CONNECTIONS]{}; - - // 1-byte aligned - uint8_t manufacturer_data_length_{0}; - uint8_t client_count_{0}; - esp_gatt_if_t gatts_if_{0}; enum State : uint8_t { INIT = 0x00, REGISTERING, STARTING_SERVICE, RUNNING, } state_{INIT}; - bool registered_{false}; }; // NOLINTNEXTLINE(cppcoreguidelines-avoid-non-const-global-variables)