ESPHome  2024.3.1
Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes
esphome::esp32_ble_tracker::ESP32BLETracker Class Reference

#include <esp32_ble_tracker.h>

Inheritance diagram for esphome::esp32_ble_tracker::ESP32BLETracker:
esphome::Component esphome::esp32_ble::GAPEventHandler esphome::esp32_ble::GATTcEventHandler esphome::esp32_ble::BLEStatusEventHandler esphome::Parented< ESP32BLE >

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)
 
void set_scan_continuous (bool scan_continuous)
 
void setup () override
 Setup the FreeRTOS task and the Bluetooth stack. More...
 
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
 
- Public Member Functions inherited from esphome::Component
float get_actual_setup_priority () const
 
void set_setup_priority (float priority)
 
virtual float get_loop_priority () const
 priority of loop(). More...
 
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. More...
 
bool is_failed ()
 
bool is_ready ()
 
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. More...
 
const char * get_component_source () const
 Get the integration where this component was declared as a string. More...
 
- Public Member Functions inherited from esphome::Parented< ESP32BLE >
 Parented ()
 
 Parented (ESP32BLE *parent)
 
ESP32BLE * get_parent () const
 Get the parent of this object. More...
 
void set_parent (ESP32BLE *parent)
 Set the parent of this object. More...
 

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. More...
 
void end_of_scan_ ()
 Called when a scan ends. More...
 
void gap_scan_result_ (const esp_ble_gap_cb_param_t::ble_scan_result_evt_param &param)
 Called when a ESP_GAP_BLE_SCAN_RESULT_EVT event is received. More...
 
void gap_scan_set_param_complete_ (const esp_ble_gap_cb_param_t::ble_scan_param_cmpl_evt_param &param)
 Called when a ESP_GAP_BLE_SCAN_PARAM_SET_COMPLETE_EVT event is received. More...
 
void gap_scan_start_complete_ (const esp_ble_gap_cb_param_t::ble_scan_start_cmpl_evt_param &param)
 Called when a ESP_GAP_BLE_SCAN_START_COMPLETE_EVT event is received. More...
 
void gap_scan_stop_complete_ (const esp_ble_gap_cb_param_t::ble_scan_stop_cmpl_evt_param &param)
 Called when a ESP_GAP_BLE_SCAN_STOP_COMPLETE_EVT event is received. More...
 
- Protected Member Functions inherited from esphome::Component
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. More...
 
void set_interval (uint32_t interval, std::function< void()> &&f)
 
bool cancel_interval (const std::string &name)
 Cancel an interval function. More...
 
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. More...
 
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. More...
 
void set_timeout (const std::string &name, uint32_t timeout, std::function< void()> &&f)
 Set a timeout function with a unique name. More...
 
void set_timeout (uint32_t timeout, std::function< void()> &&f)
 
bool cancel_timeout (const std::string &name)
 Cancel a timeout function. More...
 
void defer (const std::string &name, std::function< void()> &&f)
 Defer a callback to the next loop() call. More...
 
void defer (std::function< void()> &&f)
 Defer a callback to the next loop() call. More...
 
bool cancel_defer (const std::string &name)
 Cancel a defer callback using the specified name, name must not be empty. More...
 

Protected Attributes

int app_id_
 
std::vector< uint64_t > already_discovered_
 Vector of addresses that have already been printed in print_bt_device_info. More...
 
std::vector< ESPBTDeviceListener * > listeners_
 
std::vector< ESPBTClient * > clients_
 Client parameters. More...
 
esp_ble_scan_params_t scan_params_
 A structure holding the ESP BLE scan parameters. More...
 
uint32_t scan_duration_
 The interval in seconds to perform scans. More...
 
uint32_t scan_interval_
 
uint32_t scan_window_
 
uint8_t scan_start_fail_count_
 
bool scan_continuous_
 
bool scan_active_
 
bool scanner_idle_
 
bool ble_was_disabled_ {true}
 
bool raw_advertisements_ {false}
 
bool parse_advertisements_ {false}
 
SemaphoreHandle_t scan_result_lock_
 
SemaphoreHandle_t scan_end_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}
 
- Protected Attributes inherited from esphome::Component
uint32_t component_state_ {0x0000}
 State of this component. More...
 
float setup_priority_override_ {NAN}
 
const char * component_source_ {nullptr}
 
- Protected Attributes inherited from esphome::Parented< ESP32BLE >
ESP32BLE * parent_
 

Static Protected Attributes

static const u_int8_t SCAN_RESULT_BUFFER_SIZE = 32
 

Detailed Description

Definition at line 180 of file esp32_ble_tracker.h.

Member Function Documentation

◆ ble_before_disabled_event_handler()

void esphome::esp32_ble_tracker::ESP32BLETracker::ble_before_disabled_event_handler ( )
overridevirtual

Implements esphome::esp32_ble::BLEStatusEventHandler.

Definition at line 238 of file esp32_ble_tracker.cpp.

◆ dump_config()

void esphome::esp32_ble_tracker::ESP32BLETracker::dump_config ( )
overridevirtual

Reimplemented from esphome::Component.

Definition at line 644 of file esp32_ble_tracker.cpp.

◆ end_of_scan_()

void esphome::esp32_ble_tracker::ESP32BLETracker::end_of_scan_ ( )
protected

Called when a scan ends.

Definition at line 296 of file esp32_ble_tracker.cpp.

◆ gap_event_handler()

void esphome::esp32_ble_tracker::ESP32BLETracker::gap_event_handler ( esp_gap_ble_cb_event_t  event,
esp_ble_gap_cb_param_t *  param 
)
overridevirtual

Implements esphome::esp32_ble::GAPEventHandler.

Definition at line 344 of file esp32_ble_tracker.cpp.

◆ gap_scan_result_()

void esphome::esp32_ble_tracker::ESP32BLETracker::gap_scan_result_ ( const esp_ble_gap_cb_param_t::ble_scan_result_evt_param &  param)
protected

Called when a ESP_GAP_BLE_SCAN_RESULT_EVT event is received.

Definition at line 384 of file esp32_ble_tracker.cpp.

◆ gap_scan_set_param_complete_()

void esphome::esp32_ble_tracker::ESP32BLETracker::gap_scan_set_param_complete_ ( const esp_ble_gap_cb_param_t::ble_scan_param_cmpl_evt_param &  param)
protected

Called when a ESP_GAP_BLE_SCAN_PARAM_SET_COMPLETE_EVT event is received.

Definition at line 366 of file esp32_ble_tracker.cpp.

◆ gap_scan_start_complete_()

void esphome::esp32_ble_tracker::ESP32BLETracker::gap_scan_start_complete_ ( const esp_ble_gap_cb_param_t::ble_scan_start_cmpl_evt_param &  param)
protected

Called when a ESP_GAP_BLE_SCAN_START_COMPLETE_EVT event is received.

Definition at line 370 of file esp32_ble_tracker.cpp.

◆ gap_scan_stop_complete_()

void esphome::esp32_ble_tracker::ESP32BLETracker::gap_scan_stop_complete_ ( const esp_ble_gap_cb_param_t::ble_scan_stop_cmpl_evt_param &  param)
protected

Called when a ESP_GAP_BLE_SCAN_STOP_COMPLETE_EVT event is received.

Definition at line 380 of file esp32_ble_tracker.cpp.

◆ gattc_event_handler()

void esphome::esp32_ble_tracker::ESP32BLETracker::gattc_event_handler ( esp_gattc_cb_event_t  event,
esp_gatt_if_t  gattc_if,
esp_ble_gattc_cb_param_t *  param 
)
overridevirtual

Implements esphome::esp32_ble::GATTcEventHandler.

Definition at line 397 of file esp32_ble_tracker.cpp.

◆ get_setup_priority()

float esphome::esp32_ble_tracker::ESP32BLETracker::get_setup_priority ( ) const
overridevirtual

Reimplemented from esphome::Component.

Definition at line 38 of file esp32_ble_tracker.cpp.

◆ loop()

void esphome::esp32_ble_tracker::ESP32BLETracker::loop ( )
overridevirtual

Reimplemented from esphome::Component.

Definition at line 69 of file esp32_ble_tracker.cpp.

◆ print_bt_device_info()

void esphome::esp32_ble_tracker::ESP32BLETracker::print_bt_device_info ( const ESPBTDevice device)

Definition at line 653 of file esp32_ble_tracker.cpp.

◆ recalculate_advertisement_parser_types()

void esphome::esp32_ble_tracker::ESP32BLETracker::recalculate_advertisement_parser_types ( )

Definition at line 325 of file esp32_ble_tracker.cpp.

◆ register_client()

void esphome::esp32_ble_tracker::ESP32BLETracker::register_client ( ESPBTClient client)

Definition at line 313 of file esp32_ble_tracker.cpp.

◆ register_listener()

void esphome::esp32_ble_tracker::ESP32BLETracker::register_listener ( ESPBTDeviceListener listener)

Definition at line 319 of file esp32_ble_tracker.cpp.

◆ set_scan_active()

void esphome::esp32_ble_tracker::ESP32BLETracker::set_scan_active ( bool  scan_active)
inline

Definition at line 189 of file esp32_ble_tracker.h.

◆ set_scan_continuous()

void esphome::esp32_ble_tracker::ESP32BLETracker::set_scan_continuous ( bool  scan_continuous)
inline

Definition at line 190 of file esp32_ble_tracker.h.

◆ set_scan_duration()

void esphome::esp32_ble_tracker::ESP32BLETracker::set_scan_duration ( uint32_t  scan_duration)
inline

Definition at line 186 of file esp32_ble_tracker.h.

◆ set_scan_interval()

void esphome::esp32_ble_tracker::ESP32BLETracker::set_scan_interval ( uint32_t  scan_interval)
inline

Definition at line 187 of file esp32_ble_tracker.h.

◆ set_scan_window()

void esphome::esp32_ble_tracker::ESP32BLETracker::set_scan_window ( uint32_t  scan_window)
inline

Definition at line 188 of file esp32_ble_tracker.h.

◆ setup()

void esphome::esp32_ble_tracker::ESP32BLETracker::setup ( )
overridevirtual

Setup the FreeRTOS task and the Bluetooth stack.

Reimplemented from esphome::Component.

Definition at line 40 of file esp32_ble_tracker.cpp.

◆ start_scan()

void esphome::esp32_ble_tracker::ESP32BLETracker::start_scan ( )

Definition at line 224 of file esp32_ble_tracker.cpp.

◆ start_scan_()

void esphome::esp32_ble_tracker::ESP32BLETracker::start_scan_ ( bool  first)
protected

Start a single scan by setting up the parameters and doing some esp-idf calls.

Definition at line 255 of file esp32_ble_tracker.cpp.

◆ stop_scan()

void esphome::esp32_ble_tracker::ESP32BLETracker::stop_scan ( )

Definition at line 232 of file esp32_ble_tracker.cpp.

◆ stop_scan_()

void esphome::esp32_ble_tracker::ESP32BLETracker::stop_scan_ ( )
protected

Definition at line 243 of file esp32_ble_tracker.cpp.

Field Documentation

◆ already_discovered_

std::vector<uint64_t> esphome::esp32_ble_tracker::ESP32BLETracker::already_discovered_
protected

Vector of addresses that have already been printed in print_bt_device_info.

Definition at line 231 of file esp32_ble_tracker.h.

◆ app_id_

int esphome::esp32_ble_tracker::ESP32BLETracker::app_id_
protected

Definition at line 228 of file esp32_ble_tracker.h.

◆ ble_was_disabled_

bool esphome::esp32_ble_tracker::ESP32BLETracker::ble_was_disabled_ {true}
protected

Definition at line 245 of file esp32_ble_tracker.h.

◆ clients_

std::vector<ESPBTClient *> esphome::esp32_ble_tracker::ESP32BLETracker::clients_
protected

Client parameters.

Definition at line 234 of file esp32_ble_tracker.h.

◆ listeners_

std::vector<ESPBTDeviceListener *> esphome::esp32_ble_tracker::ESP32BLETracker::listeners_
protected

Definition at line 232 of file esp32_ble_tracker.h.

◆ parse_advertisements_

bool esphome::esp32_ble_tracker::ESP32BLETracker::parse_advertisements_ {false}
protected

Definition at line 247 of file esp32_ble_tracker.h.

◆ raw_advertisements_

bool esphome::esp32_ble_tracker::ESP32BLETracker::raw_advertisements_ {false}
protected

Definition at line 246 of file esp32_ble_tracker.h.

◆ scan_active_

bool esphome::esp32_ble_tracker::ESP32BLETracker::scan_active_
protected

Definition at line 243 of file esp32_ble_tracker.h.

◆ scan_continuous_

bool esphome::esp32_ble_tracker::ESP32BLETracker::scan_continuous_
protected

Definition at line 242 of file esp32_ble_tracker.h.

◆ scan_duration_

uint32_t esphome::esp32_ble_tracker::ESP32BLETracker::scan_duration_
protected

The interval in seconds to perform scans.

Definition at line 238 of file esp32_ble_tracker.h.

◆ scan_end_lock_

SemaphoreHandle_t esphome::esp32_ble_tracker::ESP32BLETracker::scan_end_lock_
protected

Definition at line 249 of file esp32_ble_tracker.h.

◆ scan_interval_

uint32_t esphome::esp32_ble_tracker::ESP32BLETracker::scan_interval_
protected

Definition at line 239 of file esp32_ble_tracker.h.

◆ scan_params_

esp_ble_scan_params_t esphome::esp32_ble_tracker::ESP32BLETracker::scan_params_
protected

A structure holding the ESP BLE scan parameters.

Definition at line 236 of file esp32_ble_tracker.h.

◆ scan_result_buffer_

esp_ble_gap_cb_param_t::ble_scan_result_evt_param* esphome::esp32_ble_tracker::ESP32BLETracker::scan_result_buffer_
protected

Definition at line 256 of file esp32_ble_tracker.h.

◆ SCAN_RESULT_BUFFER_SIZE

static const u_int8_t esphome::esp32_ble_tracker::ESP32BLETracker::SCAN_RESULT_BUFFER_SIZE = 32
staticprotected

Definition at line 252 of file esp32_ble_tracker.h.

◆ scan_result_index_

size_t esphome::esp32_ble_tracker::ESP32BLETracker::scan_result_index_ {0}
protected

Definition at line 250 of file esp32_ble_tracker.h.

◆ scan_result_lock_

SemaphoreHandle_t esphome::esp32_ble_tracker::ESP32BLETracker::scan_result_lock_
protected

Definition at line 248 of file esp32_ble_tracker.h.

◆ scan_set_param_failed_

esp_bt_status_t esphome::esp32_ble_tracker::ESP32BLETracker::scan_set_param_failed_ {ESP_BT_STATUS_SUCCESS}
protected

Definition at line 258 of file esp32_ble_tracker.h.

◆ scan_start_fail_count_

uint8_t esphome::esp32_ble_tracker::ESP32BLETracker::scan_start_fail_count_
protected

Definition at line 241 of file esp32_ble_tracker.h.

◆ scan_start_failed_

esp_bt_status_t esphome::esp32_ble_tracker::ESP32BLETracker::scan_start_failed_ {ESP_BT_STATUS_SUCCESS}
protected

Definition at line 257 of file esp32_ble_tracker.h.

◆ scan_window_

uint32_t esphome::esp32_ble_tracker::ESP32BLETracker::scan_window_
protected

Definition at line 240 of file esp32_ble_tracker.h.

◆ scanner_idle_

bool esphome::esp32_ble_tracker::ESP32BLETracker::scanner_idle_
protected

Definition at line 244 of file esp32_ble_tracker.h.


The documentation for this class was generated from the following files: