ESPHome 2025.6.3
|
#include <esp32_ble_tracker.h>
Public Member Functions | |
void | set_scan_duration (uint32_t scan_duration) |
void | set_scan_interval (uint32_t scan_interval) |
void | set_scan_window (uint32_t scan_window) |
void | set_scan_active (bool scan_active) |
bool | get_scan_active () const |
void | set_scan_continuous (bool scan_continuous) |
void | setup () override |
Setup the FreeRTOS task and the Bluetooth stack. | |
void | dump_config () override |
float | get_setup_priority () const override |
void | loop () override |
void | register_listener (ESPBTDeviceListener *listener) |
void | register_client (ESPBTClient *client) |
void | recalculate_advertisement_parser_types () |
void | print_bt_device_info (const ESPBTDevice &device) |
void | start_scan () |
void | stop_scan () |
void | 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 | gap_scan_event_handler (const BLEScanResult &scan_result) override |
void | ble_before_disabled_event_handler () override |
void | add_scanner_state_callback (std::function< void(ScannerState)> &&callback) |
ScannerState | get_scanner_state () const |
![]() | |
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) |
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="unspecified") |
void | status_set_error (const char *message="unspecified") |
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) |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
Parented () | |
Parented (ESP32BLE *parent) | |
ESP32BLE * | get_parent () const |
Get the parent of this object. | |
void | set_parent (ESP32BLE *parent) |
Set the parent of this object. | |
Protected Member Functions | |
void | stop_scan_ () |
void | start_scan_ (bool first) |
Start a single scan by setting up the parameters and doing some esp-idf calls. | |
void | end_of_scan_ () |
Called when a scan ends. | |
void | gap_scan_result_ (const esp_ble_gap_cb_param_t::ble_scan_result_evt_param ¶m) |
Called when a ESP_GAP_BLE_SCAN_RESULT_EVT event is received. | |
void | gap_scan_set_param_complete_ (const esp_ble_gap_cb_param_t::ble_scan_param_cmpl_evt_param ¶m) |
Called when a ESP_GAP_BLE_SCAN_PARAM_SET_COMPLETE_EVT event is received. | |
void | gap_scan_start_complete_ (const esp_ble_gap_cb_param_t::ble_scan_start_cmpl_evt_param ¶m) |
Called when a ESP_GAP_BLE_SCAN_START_COMPLETE_EVT event is received. | |
void | gap_scan_stop_complete_ (const esp_ble_gap_cb_param_t::ble_scan_stop_cmpl_evt_param ¶m) |
Called when a ESP_GAP_BLE_SCAN_STOP_COMPLETE_EVT event is received. | |
void | set_scanner_state_ (ScannerState state) |
Called to set the scanner state. Will also call callbacks to let listeners know when state is changed. | |
![]() | |
virtual void | call_loop () |
virtual void | call_setup () |
virtual void | call_dump_config () |
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 (uint32_t interval, std::function< void()> &&f) |
bool | cancel_interval (const std::string &name) |
Cancel an interval function. | |
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 (uint32_t timeout, std::function< void()> &&f) |
bool | cancel_timeout (const std::string &name) |
Cancel a timeout function. | |
void | defer (const std::string &name, std::function< void()> &&f) |
Defer a callback to the next loop() call. | |
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 | |
int | app_id_ {0} |
std::vector< uint64_t > | already_discovered_ |
Vector of addresses that have already been printed in print_bt_device_info. | |
std::vector< ESPBTDeviceListener * > | listeners_ |
std::vector< ESPBTClient * > | clients_ |
Client parameters. | |
esp_ble_scan_params_t | scan_params_ |
A structure holding the ESP BLE scan parameters. | |
uint32_t | scan_duration_ |
The interval in seconds to perform scans. | |
uint32_t | scan_interval_ |
uint32_t | scan_window_ |
uint8_t | scan_start_fail_count_ {0} |
bool | scan_continuous_ |
bool | scan_active_ |
ScannerState | scanner_state_ {ScannerState::IDLE} |
CallbackManager< void(ScannerState)> | scanner_state_callbacks_ |
bool | ble_was_disabled_ {true} |
bool | raw_advertisements_ {false} |
bool | parse_advertisements_ {false} |
BLEScanResult * | scan_ring_buffer_ |
std::atomic< size_t > | ring_write_index_ {0} |
std::atomic< size_t > | ring_read_index_ {0} |
std::atomic< size_t > | scan_results_dropped_ {0} |
esp_bt_status_t | scan_start_failed_ {ESP_BT_STATUS_SUCCESS} |
esp_bt_status_t | scan_set_param_failed_ {ESP_BT_STATUS_SUCCESS} |
int | connecting_ {0} |
int | discovered_ {0} |
int | searching_ {0} |
int | disconnecting_ {0} |
bool | coex_prefer_ble_ {false} |
![]() | |
uint8_t | component_state_ {0x00} |
State of this component - each bit has a purpose: Bits 0-1: Component state (0x00=CONSTRUCTION, 0x01=SETUP, 0x02=LOOP, 0x03=FAILED) Bit 2: STATUS_LED_WARNING Bit 3: STATUS_LED_ERROR Bits 4-7: Unused - reserved for future expansion (50% of the bits are free) | |
float | setup_priority_override_ {NAN} |
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) | |
std::string | error_message_ {} |
![]() | |
ESP32BLE * | parent_ |
Definition at line 211 of file esp32_ble_tracker.h.
|
inline |
Definition at line 247 of file esp32_ble_tracker.h.
|
overridevirtual |
Implements esphome::esp32_ble::BLEStatusEventHandler.
Definition at line 263 of file esp32_ble_tracker.cpp.
|
overridevirtual |
Reimplemented from esphome::Component.
Definition at line 762 of file esp32_ble_tracker.cpp.
|
protected |
Called when a scan ends.
Definition at line 337 of file esp32_ble_tracker.cpp.
|
overridevirtual |
Implements esphome::esp32_ble::GAPEventHandler.
Definition at line 383 of file esp32_ble_tracker.cpp.
|
overridevirtual |
Implements esphome::esp32_ble::GAPScanEventHandler.
Definition at line 403 of file esp32_ble_tracker.cpp.
|
protected |
Called when a ESP_GAP_BLE_SCAN_RESULT_EVT
event is received.
|
protected |
Called when a ESP_GAP_BLE_SCAN_PARAM_SET_COMPLETE_EVT
event is received.
Definition at line 448 of file esp32_ble_tracker.cpp.
|
protected |
Called when a ESP_GAP_BLE_SCAN_START_COMPLETE_EVT
event is received.
Definition at line 457 of file esp32_ble_tracker.cpp.
|
protected |
Called when a ESP_GAP_BLE_SCAN_STOP_COMPLETE_EVT
event is received.
Definition at line 484 of file esp32_ble_tracker.cpp.
|
overridevirtual |
Implements esphome::esp32_ble::GATTcEventHandler.
Definition at line 502 of file esp32_ble_tracker.cpp.
|
inline |
Definition at line 222 of file esp32_ble_tracker.h.
|
inline |
Definition at line 250 of file esp32_ble_tracker.h.
|
overridevirtual |
Reimplemented from esphome::Component.
Definition at line 45 of file esp32_ble_tracker.cpp.
|
overridevirtual |
Reimplemented from esphome::Component.
Definition at line 76 of file esp32_ble_tracker.cpp.
void esphome::esp32_ble_tracker::ESP32BLETracker::print_bt_device_info | ( | const ESPBTDevice & | device | ) |
Definition at line 799 of file esp32_ble_tracker.cpp.
void esphome::esp32_ble_tracker::ESP32BLETracker::recalculate_advertisement_parser_types | ( | ) |
Definition at line 364 of file esp32_ble_tracker.cpp.
void esphome::esp32_ble_tracker::ESP32BLETracker::register_client | ( | ESPBTClient * | client | ) |
Definition at line 352 of file esp32_ble_tracker.cpp.
void esphome::esp32_ble_tracker::ESP32BLETracker::register_listener | ( | ESPBTDeviceListener * | listener | ) |
Definition at line 358 of file esp32_ble_tracker.cpp.
|
inline |
Definition at line 221 of file esp32_ble_tracker.h.
|
inline |
Definition at line 223 of file esp32_ble_tracker.h.
|
inline |
Definition at line 218 of file esp32_ble_tracker.h.
|
inline |
Definition at line 219 of file esp32_ble_tracker.h.
|
inline |
Definition at line 220 of file esp32_ble_tracker.h.
|
protected |
Called to set the scanner state. Will also call callbacks to let listeners know when state is changed.
Definition at line 509 of file esp32_ble_tracker.cpp.
|
overridevirtual |
Setup the FreeRTOS task and the Bluetooth stack.
Reimplemented from esphome::Component.
Definition at line 47 of file esp32_ble_tracker.cpp.
void esphome::esp32_ble_tracker::ESP32BLETracker::start_scan | ( | ) |
Definition at line 255 of file esp32_ble_tracker.cpp.
|
protected |
Start a single scan by setting up the parameters and doing some esp-idf calls.
Definition at line 287 of file esp32_ble_tracker.cpp.
void esphome::esp32_ble_tracker::ESP32BLETracker::stop_scan | ( | ) |
Definition at line 257 of file esp32_ble_tracker.cpp.
|
protected |
Definition at line 265 of file esp32_ble_tracker.cpp.
|
protected |
Vector of addresses that have already been printed in print_bt_device_info.
Definition at line 272 of file esp32_ble_tracker.h.
|
protected |
Definition at line 269 of file esp32_ble_tracker.h.
|
protected |
Definition at line 287 of file esp32_ble_tracker.h.
|
protected |
Client parameters.
Definition at line 275 of file esp32_ble_tracker.h.
|
protected |
Definition at line 307 of file esp32_ble_tracker.h.
|
protected |
Definition at line 302 of file esp32_ble_tracker.h.
|
protected |
Definition at line 305 of file esp32_ble_tracker.h.
|
protected |
Definition at line 303 of file esp32_ble_tracker.h.
|
protected |
Definition at line 273 of file esp32_ble_tracker.h.
|
protected |
Definition at line 289 of file esp32_ble_tracker.h.
|
protected |
Definition at line 288 of file esp32_ble_tracker.h.
|
protected |
Definition at line 297 of file esp32_ble_tracker.h.
|
protected |
Definition at line 296 of file esp32_ble_tracker.h.
|
protected |
Definition at line 284 of file esp32_ble_tracker.h.
|
protected |
Definition at line 283 of file esp32_ble_tracker.h.
|
protected |
The interval in seconds to perform scans.
Definition at line 279 of file esp32_ble_tracker.h.
|
protected |
Definition at line 280 of file esp32_ble_tracker.h.
|
protected |
A structure holding the ESP BLE scan parameters.
Definition at line 277 of file esp32_ble_tracker.h.
|
protected |
Definition at line 298 of file esp32_ble_tracker.h.
|
protected |
Definition at line 295 of file esp32_ble_tracker.h.
|
protected |
Definition at line 301 of file esp32_ble_tracker.h.
|
protected |
Definition at line 282 of file esp32_ble_tracker.h.
|
protected |
Definition at line 300 of file esp32_ble_tracker.h.
|
protected |
Definition at line 281 of file esp32_ble_tracker.h.
|
protected |
Definition at line 285 of file esp32_ble_tracker.h.
|
protected |
Definition at line 286 of file esp32_ble_tracker.h.
|
protected |
Definition at line 304 of file esp32_ble_tracker.h.