ESPHome 2025.5.0
|
#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 | 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 () |
uint32_t | get_component_state () const |
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} |
SemaphoreHandle_t | scan_result_lock_ |
size_t | scan_result_index_ {0} |
esp_ble_gap_cb_param_t::ble_scan_result_evt_param * | scan_result_buffer_ |
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} |
![]() | |
uint32_t | component_state_ {0x0000} |
State of this component. | |
float | setup_priority_override_ {NAN} |
const char * | component_source_ {nullptr} |
uint32_t | warn_if_blocking_over_ {WARN_IF_BLOCKING_OVER_MS} |
std::string | error_message_ {} |
![]() | |
ESP32BLE * | parent_ |
Static Protected Attributes | |
static const u_int8_t | SCAN_RESULT_BUFFER_SIZE = 32 |
Definition at line 211 of file esp32_ble_tracker.h.
|
inline |
Definition at line 245 of file esp32_ble_tracker.h.
|
overridevirtual |
Implements esphome::esp32_ble::BLEStatusEventHandler.
Definition at line 251 of file esp32_ble_tracker.cpp.
|
overridevirtual |
Reimplemented from esphome::Component.
Definition at line 732 of file esp32_ble_tracker.cpp.
|
protected |
Called when a scan ends.
Definition at line 325 of file esp32_ble_tracker.cpp.
|
overridevirtual |
Implements esphome::esp32_ble::GAPEventHandler.
Definition at line 371 of file esp32_ble_tracker.cpp.
|
protected |
Called when a ESP_GAP_BLE_SCAN_RESULT_EVT
event is received.
Definition at line 447 of file esp32_ble_tracker.cpp.
|
protected |
Called when a ESP_GAP_BLE_SCAN_PARAM_SET_COMPLETE_EVT
event is received.
Definition at line 393 of file esp32_ble_tracker.cpp.
|
protected |
Called when a ESP_GAP_BLE_SCAN_START_COMPLETE_EVT
event is received.
Definition at line 402 of file esp32_ble_tracker.cpp.
|
protected |
Called when a ESP_GAP_BLE_SCAN_STOP_COMPLETE_EVT
event is received.
Definition at line 429 of file esp32_ble_tracker.cpp.
|
overridevirtual |
Implements esphome::esp32_ble::GATTcEventHandler.
Definition at line 475 of file esp32_ble_tracker.cpp.
|
inline |
Definition at line 221 of file esp32_ble_tracker.h.
|
inline |
Definition at line 248 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 78 of file esp32_ble_tracker.cpp.
void esphome::esp32_ble_tracker::ESP32BLETracker::print_bt_device_info | ( | const ESPBTDevice & | device | ) |
Definition at line 766 of file esp32_ble_tracker.cpp.
void esphome::esp32_ble_tracker::ESP32BLETracker::recalculate_advertisement_parser_types | ( | ) |
Definition at line 352 of file esp32_ble_tracker.cpp.
void esphome::esp32_ble_tracker::ESP32BLETracker::register_client | ( | ESPBTClient * | client | ) |
Definition at line 340 of file esp32_ble_tracker.cpp.
void esphome::esp32_ble_tracker::ESP32BLETracker::register_listener | ( | ESPBTDeviceListener * | listener | ) |
Definition at line 346 of file esp32_ble_tracker.cpp.
|
inline |
Definition at line 220 of file esp32_ble_tracker.h.
|
inline |
Definition at line 222 of file esp32_ble_tracker.h.
|
inline |
Definition at line 217 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.
|
protected |
Called to set the scanner state. Will also call callbacks to let listeners know when state is changed.
Definition at line 482 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 243 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 275 of file esp32_ble_tracker.cpp.
void esphome::esp32_ble_tracker::ESP32BLETracker::stop_scan | ( | ) |
Definition at line 245 of file esp32_ble_tracker.cpp.
|
protected |
Definition at line 253 of file esp32_ble_tracker.cpp.
|
protected |
Vector of addresses that have already been printed in print_bt_device_info.
Definition at line 270 of file esp32_ble_tracker.h.
|
protected |
Definition at line 267 of file esp32_ble_tracker.h.
|
protected |
Definition at line 285 of file esp32_ble_tracker.h.
|
protected |
Client parameters.
Definition at line 273 of file esp32_ble_tracker.h.
|
protected |
Definition at line 303 of file esp32_ble_tracker.h.
|
protected |
Definition at line 298 of file esp32_ble_tracker.h.
|
protected |
Definition at line 301 of file esp32_ble_tracker.h.
|
protected |
Definition at line 299 of file esp32_ble_tracker.h.
|
protected |
Definition at line 271 of file esp32_ble_tracker.h.
|
protected |
Definition at line 287 of file esp32_ble_tracker.h.
|
protected |
Definition at line 286 of file esp32_ble_tracker.h.
|
protected |
Definition at line 282 of file esp32_ble_tracker.h.
|
protected |
Definition at line 281 of file esp32_ble_tracker.h.
|
protected |
The interval in seconds to perform scans.
Definition at line 277 of file esp32_ble_tracker.h.
|
protected |
Definition at line 278 of file esp32_ble_tracker.h.
|
protected |
A structure holding the ESP BLE scan parameters.
Definition at line 275 of file esp32_ble_tracker.h.
|
protected |
Definition at line 295 of file esp32_ble_tracker.h.
|
staticprotected |
Definition at line 291 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 280 of file esp32_ble_tracker.h.
|
protected |
Definition at line 296 of file esp32_ble_tracker.h.
|
protected |
Definition at line 279 of file esp32_ble_tracker.h.
|
protected |
Definition at line 283 of file esp32_ble_tracker.h.
|
protected |
Definition at line 284 of file esp32_ble_tracker.h.
|
protected |
Definition at line 300 of file esp32_ble_tracker.h.