diff --git a/esphome/components/bluetooth_proxy/bluetooth_proxy.cpp b/esphome/components/bluetooth_proxy/bluetooth_proxy.cpp index 98f11fac7a..ce820694c4 100644 --- a/esphome/components/bluetooth_proxy/bluetooth_proxy.cpp +++ b/esphome/components/bluetooth_proxy/bluetooth_proxy.cpp @@ -63,6 +63,12 @@ static std::vector &get_batch_buffer() { return batch_buffer; } +// Global batch buffer to avoid guard variable (saves 8 bytes) +// This is initialized at program startup before any threads +static std::vector batch_buffer; + +static std::vector &get_batch_buffer() { return batch_buffer; } + bool BluetoothProxy::parse_devices(const esp32_ble::BLEScanResult *scan_results, size_t count) { if (!api::global_api_server->is_connected() || this->api_connection_ == nullptr || !this->raw_advertisements_) return false;