ESPHome 2025.9.0-dev
|
#include <ble_client_base.h>
Public Member Functions | |
void | setup () override |
void | loop () override |
float | get_setup_priority () const override |
void | dump_config () override |
void | run_later (std::function< void()> &&f) |
bool | parse_device (const espbt::ESPBTDevice &device) override |
void | on_scan_end () override |
bool | gattc_event_handler (esp_gattc_cb_event_t event, esp_gatt_if_t gattc_if, esp_ble_gattc_cb_param_t *param) override |
void | gap_event_handler (esp_gap_ble_cb_event_t event, esp_ble_gap_cb_param_t *param) override |
void | connect () override |
esp_err_t | pair () |
void | disconnect () override |
void | unconditional_disconnect () |
void | release_services () |
bool | connected () |
void | set_auto_connect (bool auto_connect) |
virtual void | set_address (uint64_t address) |
const std::string & | address_str () const |
BLEService * | get_service (espbt::ESPBTUUID uuid) |
BLEService * | get_service (uint16_t uuid) |
BLECharacteristic * | get_characteristic (espbt::ESPBTUUID service, espbt::ESPBTUUID chr) |
BLECharacteristic * | get_characteristic (uint16_t service, uint16_t chr) |
BLECharacteristic * | get_characteristic (uint16_t handle) |
BLEDescriptor * | get_descriptor (espbt::ESPBTUUID service, espbt::ESPBTUUID chr, espbt::ESPBTUUID descr) |
BLEDescriptor * | get_descriptor (uint16_t service, uint16_t chr, uint16_t descr) |
BLEDescriptor * | get_descriptor (uint16_t handle) |
BLEDescriptor * | get_config_descriptor (uint16_t handle) |
float | parse_char_value (uint8_t *value, uint16_t length) |
int | get_gattc_if () const |
uint8_t * | get_remote_bda () |
esp_ble_addr_type_t | get_remote_addr_type () const |
void | set_remote_addr_type (esp_ble_addr_type_t address_type) |
uint16_t | get_conn_id () const |
uint64_t | get_address () const |
bool | is_paired () const |
uint8_t | get_connection_index () const |
virtual void | set_connection_type (espbt::ConnectionType ct) |
bool | check_addr (esp_bd_addr_t &addr) |
void | set_state (espbt::ClientState st) override |
![]() | |
bool | disconnect_pending () const |
void | cancel_pending_disconnect () |
ClientState | state () const |
![]() | |
virtual bool | parse_devices (const BLEScanResult *scan_results, size_t count) |
virtual AdvertisementParserType | get_advertisement_parser_type () |
void | set_parent (ESP32BLETracker *parent) |
![]() | |
float | get_actual_setup_priority () const |
void | set_setup_priority (float priority) |
virtual float | get_loop_priority () const |
priority of loop(). | |
void | call () |
virtual void | on_shutdown () |
virtual void | on_safe_shutdown () |
virtual bool | teardown () |
Called during teardown to allow component to gracefully finish operations. | |
virtual void | on_powerdown () |
Called after teardown is complete to power down hardware. | |
uint8_t | get_component_state () const |
void | reset_to_construction_state () |
Reset this component back to the construction state to allow setup to run again. | |
bool | is_in_loop_state () const |
Check if this component has completed setup and is in the loop state. | |
virtual void | mark_failed () |
Mark this component as failed. | |
void | mark_failed (const char *message) |
void | disable_loop () |
Disable this component's loop. | |
void | enable_loop () |
Enable this component's loop. | |
void | enable_loop_soon_any_context () |
Thread and ISR-safe version of enable_loop() that can be called from any context. | |
bool | is_failed () const |
bool | is_ready () const |
virtual bool | can_proceed () |
bool | status_has_warning () const |
bool | status_has_error () const |
void | status_set_warning (const char *message=nullptr) |
void | status_set_error (const char *message=nullptr) |
void | status_clear_warning () |
void | status_clear_error () |
void | status_momentary_warning (const std::string &name, uint32_t length=5000) |
void | status_momentary_error (const std::string &name, uint32_t length=5000) |
bool | has_overridden_loop () const |
void | set_component_source (const char *source) |
Set where this component was loaded from for some debug messages. | |
const char * | get_component_source () const |
Get the integration where this component was declared as a string. | |
bool | should_warn_of_blocking (uint32_t blocking_time) |
Protected Member Functions | |
void | log_event_ (const char *name) |
void | log_gattc_event_ (const char *name) |
void | restore_medium_conn_params_ () |
void | log_gattc_warning_ (const char *operation, esp_gatt_status_t status) |
void | log_gattc_warning_ (const char *operation, esp_err_t err) |
void | log_connection_params_ (const char *param_type) |
![]() | |
virtual void | call_loop () |
virtual void | call_setup () |
virtual void | call_dump_config () |
void | set_component_state_ (uint8_t state) |
Helper to set component state (clears state bits and sets new state) | |
void | set_interval (const std::string &name, uint32_t interval, std::function< void()> &&f) |
Set an interval function with a unique name. | |
void | set_interval (const char *name, uint32_t interval, std::function< void()> &&f) |
Set an interval function with a const char* name. | |
void | set_interval (uint32_t interval, std::function< void()> &&f) |
bool | cancel_interval (const std::string &name) |
Cancel an interval function. | |
bool | cancel_interval (const char *name) |
void | set_retry (const std::string &name, uint32_t initial_wait_time, uint8_t max_attempts, std::function< RetryResult(uint8_t)> &&f, float backoff_increase_factor=1.0f) |
Set an retry function with a unique name. | |
void | set_retry (uint32_t initial_wait_time, uint8_t max_attempts, std::function< RetryResult(uint8_t)> &&f, float backoff_increase_factor=1.0f) |
bool | cancel_retry (const std::string &name) |
Cancel a retry function. | |
void | set_timeout (const std::string &name, uint32_t timeout, std::function< void()> &&f) |
Set a timeout function with a unique name. | |
void | set_timeout (const char *name, uint32_t timeout, std::function< void()> &&f) |
Set a timeout function with a const char* name. | |
void | set_timeout (uint32_t timeout, std::function< void()> &&f) |
bool | cancel_timeout (const std::string &name) |
Cancel a timeout function. | |
bool | cancel_timeout (const char *name) |
void | defer (const std::string &name, std::function< void()> &&f) |
Defer a callback to the next loop() call. | |
void | defer (const char *name, std::function< void()> &&f) |
Defer a callback to the next loop() call with a const char* name. | |
void | defer (std::function< void()> &&f) |
Defer a callback to the next loop() call. | |
bool | cancel_defer (const std::string &name) |
Cancel a defer callback using the specified name, name must not be empty. | |
Protected Attributes | |
uint64_t | address_ {0} |
std::string | address_str_ {} |
std::vector< BLEService * > | services_ |
int | gattc_if_ |
esp_gatt_status_t | status_ {ESP_GATT_OK} |
esp_bd_addr_t | remote_bda_ |
uint16_t | conn_id_ {UNSET_CONN_ID} |
uint16_t | mtu_ {23} |
esp_ble_addr_type_t | remote_addr_type_ {BLE_ADDR_TYPE_PUBLIC} |
espbt::ConnectionType | connection_type_ {espbt::ConnectionType::V1} |
uint8_t | connection_index_ |
uint8_t | service_count_ {0} |
bool | auto_connect_ {false} |
bool | paired_ {false} |
![]() | |
ClientState | state_ {ClientState::INIT} |
bool | want_disconnect_ {false} |
![]() | |
ESP32BLETracker * | parent_ {nullptr} |
![]() | |
const char * | component_source_ {nullptr} |
uint16_t | warn_if_blocking_over_ {WARN_IF_BLOCKING_OVER_MS} |
Warn if blocked for this many ms (max 65.5s) | |
uint8_t | component_state_ {0x00} |
State of this component - each bit has a purpose: Bits 0-2: Component state (0x00=CONSTRUCTION, 0x01=SETUP, 0x02=LOOP, 0x03=FAILED, 0x04=LOOP_DONE) Bit 3: STATUS_LED_WARNING Bit 4: STATUS_LED_ERROR Bits 5-7: Unused - reserved for future expansion. | |
volatile bool | pending_enable_loop_ {false} |
ISR-safe flag for enable_loop_soon_any_context. | |
Additional Inherited Members | |
![]() | |
uint8_t | app_id |
Definition at line 27 of file ble_client_base.h.
|
inline |
Definition at line 70 of file ble_client_base.h.
|
inline |
Definition at line 99 of file ble_client_base.h.
|
overridevirtual |
Implements esphome::esp32_ble_tracker::ESPBTClient.
Definition at line 109 of file ble_client_base.cpp.
|
inline |
Definition at line 48 of file ble_client_base.h.
|
overridevirtual |
Implements esphome::esp32_ble_tracker::ESPBTClient.
Definition at line 155 of file ble_client_base.cpp.
|
overridevirtual |
Reimplemented from esphome::Component.
Reimplemented in esphome::bluetooth_proxy::BluetoothConnection.
Definition at line 76 of file ble_client_base.cpp.
|
overridevirtual |
Implements esphome::esp32_ble_tracker::ESPBTClient.
Reimplemented in esphome::bluetooth_proxy::BluetoothConnection.
Definition at line 494 of file ble_client_base.cpp.
|
overridevirtual |
Implements esphome::esp32_ble_tracker::ESPBTClient.
Reimplemented in esphome::bluetooth_proxy::BluetoothConnection.
Definition at line 250 of file ble_client_base.cpp.
|
inline |
Definition at line 92 of file ble_client_base.h.
BLECharacteristic * esphome::esp32_ble_client::BLEClientBase::get_characteristic | ( | espbt::ESPBTUUID | service, |
espbt::ESPBTUUID | chr ) |
Definition at line 595 of file ble_client_base.cpp.
BLECharacteristic * esphome::esp32_ble_client::BLEClientBase::get_characteristic | ( | uint16_t | handle | ) |
Definition at line 606 of file ble_client_base.cpp.
BLECharacteristic * esphome::esp32_ble_client::BLEClientBase::get_characteristic | ( | uint16_t | service, |
uint16_t | chr ) |
Definition at line 602 of file ble_client_base.cpp.
BLEDescriptor * esphome::esp32_ble_client::BLEClientBase::get_config_descriptor | ( | uint16_t | handle | ) |
Definition at line 618 of file ble_client_base.cpp.
|
inline |
Definition at line 91 of file ble_client_base.h.
|
inline |
Definition at line 95 of file ble_client_base.h.
BLEDescriptor * esphome::esp32_ble_client::BLEClientBase::get_descriptor | ( | espbt::ESPBTUUID | service, |
espbt::ESPBTUUID | chr, | ||
espbt::ESPBTUUID | descr ) |
Definition at line 631 of file ble_client_base.cpp.
BLEDescriptor * esphome::esp32_ble_client::BLEClientBase::get_descriptor | ( | uint16_t | handle | ) |
Definition at line 646 of file ble_client_base.cpp.
BLEDescriptor * esphome::esp32_ble_client::BLEClientBase::get_descriptor | ( | uint16_t | service, |
uint16_t | chr, | ||
uint16_t | descr ) |
Definition at line 641 of file ble_client_base.cpp.
|
inline |
Definition at line 87 of file ble_client_base.h.
|
inline |
Definition at line 89 of file ble_client_base.h.
|
inline |
Definition at line 88 of file ble_client_base.h.
BLEService * esphome::esp32_ble_client::BLEClientBase::get_service | ( | espbt::ESPBTUUID | uuid | ) |
Definition at line 585 of file ble_client_base.cpp.
BLEService * esphome::esp32_ble_client::BLEClientBase::get_service | ( | uint16_t | uuid | ) |
Definition at line 593 of file ble_client_base.cpp.
|
overridevirtual |
Reimplemented from esphome::Component.
Definition at line 74 of file ble_client_base.cpp.
|
inline |
Definition at line 93 of file ble_client_base.h.
|
protected |
Definition at line 233 of file ble_client_base.cpp.
|
protected |
Definition at line 216 of file ble_client_base.cpp.
|
protected |
Definition at line 220 of file ble_client_base.cpp.
|
protected |
Definition at line 229 of file ble_client_base.cpp.
|
protected |
Definition at line 224 of file ble_client_base.cpp.
|
overridevirtual |
Reimplemented from esphome::Component.
Reimplemented in esphome::bluetooth_proxy::BluetoothConnection.
Definition at line 54 of file ble_client_base.cpp.
|
inlineoverridevirtual |
Reimplemented from esphome::esp32_ble_tracker::ESPBTDeviceListener.
Definition at line 38 of file ble_client_base.h.
esp_err_t esphome::esp32_ble_client::BLEClientBase::pair | ( | ) |
Definition at line 153 of file ble_client_base.cpp.
float esphome::esp32_ble_client::BLEClientBase::parse_char_value | ( | uint8_t * | value, |
uint16_t | length ) |
Definition at line 531 of file ble_client_base.cpp.
|
overridevirtual |
Implements esphome::esp32_ble_tracker::ESPBTDeviceListener.
Definition at line 90 of file ble_client_base.cpp.
void esphome::esp32_ble_client::BLEClientBase::release_services | ( | ) |
Definition at line 205 of file ble_client_base.cpp.
|
protected |
Definition at line 237 of file ble_client_base.cpp.
void esphome::esp32_ble_client::BLEClientBase::run_later | ( | std::function< void()> && | f | ) |
Definition at line 490 of file ble_client_base.cpp.
|
inlinevirtual |
Reimplemented in esphome::bluetooth_proxy::BluetoothConnection.
Definition at line 52 of file ble_client_base.h.
|
inline |
Definition at line 50 of file ble_client_base.h.
|
inlinevirtual |
Definition at line 97 of file ble_client_base.h.
|
inline |
Definition at line 90 of file ble_client_base.h.
|
overridevirtual |
Reimplemented from esphome::esp32_ble_tracker::ESPBTClient.
Definition at line 42 of file ble_client_base.cpp.
|
overridevirtual |
Reimplemented from esphome::Component.
Definition at line 37 of file ble_client_base.cpp.
void esphome::esp32_ble_client::BLEClientBase::unconditional_disconnect | ( | ) |
Definition at line 170 of file ble_client_base.cpp.
|
protected |
Definition at line 106 of file ble_client_base.h.
|
protected |
Definition at line 109 of file ble_client_base.h.
|
protected |
Definition at line 130 of file ble_client_base.h.
|
protected |
Definition at line 122 of file ble_client_base.h.
|
protected |
Definition at line 128 of file ble_client_base.h.
|
protected |
Definition at line 127 of file ble_client_base.h.
|
protected |
Definition at line 115 of file ble_client_base.h.
|
protected |
Definition at line 123 of file ble_client_base.h.
|
protected |
Definition at line 131 of file ble_client_base.h.
|
protected |
Definition at line 126 of file ble_client_base.h.
|
protected |
Definition at line 119 of file ble_client_base.h.
|
protected |
Definition at line 129 of file ble_client_base.h.
|
protected |
Definition at line 111 of file ble_client_base.h.
|
protected |
Definition at line 116 of file ble_client_base.h.