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

#include <esp32_ble_tracker.h>

Inheritance diagram for esphome::esp32_ble_tracker::ESP32BLETracker:
esphome::Component

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 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 print_bt_device_info (const ESPBTDevice &device)
 
- 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 ()
 
virtual bool can_proceed ()
 
bool status_has_warning ()
 
bool status_has_error ()
 
void status_set_warning ()
 
void status_set_error ()
 
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...
 

Protected Member Functions

void start_scan_ (bool first)
 Start a single scan by setting up the parameters and doing some esp-idf calls. More...
 
void real_gap_event_handler_ (esp_gap_ble_cb_event_t event, esp_ble_gap_cb_param_t *param)
 
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...
 
void real_gattc_event_handler_ (esp_gattc_cb_event_t event, esp_gatt_if_t gattc_if, esp_ble_gattc_cb_param_t *param)
 
- 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()> &&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()> &&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...
 

Static Protected Member Functions

static bool ble_setup ()
 The FreeRTOS task managing the bluetooth interface. More...
 
static void gap_event_handler (esp_gap_ble_cb_event_t event, esp_ble_gap_cb_param_t *param)
 Callback that will handle all GAP events and redistribute them to other callbacks. More...
 
static void gattc_event_handler (esp_gattc_cb_event_t event, esp_gatt_if_t gattc_if, esp_ble_gattc_cb_param_t *param)
 Callback that will handle all GATTC events and redistribute them to other callbacks. 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_
 
bool scan_active_
 
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_ [16]
 
esp_bt_status_t scan_start_failed_ {ESP_BT_STATUS_SUCCESS}
 
esp_bt_status_t scan_set_param_failed_ {ESP_BT_STATUS_SUCCESS}
 
Queue< BLEEventble_events_
 
- 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
 

Detailed Description

Definition at line 167 of file esp32_ble_tracker.h.

Member Function Documentation

◆ ble_setup()

bool esphome::esp32_ble_tracker::ESP32BLETracker::ble_setup ( )
staticprotected

The FreeRTOS task managing the bluetooth interface.

Definition at line 129 of file esp32_ble_tracker.cpp.

◆ dump_config()

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

Reimplemented from esphome::Component.

Definition at line 705 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 
)
staticprotected

Callback that will handle all GAP events and redistribute them to other callbacks.

Definition at line 240 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 276 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 264 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 268 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 272 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 
)
staticprotected

Callback that will handle all GATTC events and redistribute them to other callbacks.

Definition at line 289 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 43 of file esp32_ble_tracker.cpp.

◆ loop()

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

Reimplemented from esphome::Component.

Definition at line 58 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 712 of file esp32_ble_tracker.cpp.

◆ real_gap_event_handler_()

void esphome::esp32_ble_tracker::ESP32BLETracker::real_gap_event_handler_ ( esp_gap_ble_cb_event_t  event,
esp_ble_gap_cb_param_t *  param 
)
protected

Definition at line 245 of file esp32_ble_tracker.cpp.

◆ real_gattc_event_handler_()

void esphome::esp32_ble_tracker::ESP32BLETracker::real_gattc_event_handler_ ( esp_gattc_cb_event_t  event,
esp_gatt_if_t  gattc_if,
esp_ble_gattc_cb_param_t *  param 
)
protected

Definition at line 295 of file esp32_ble_tracker.cpp.

◆ register_client()

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

Definition at line 235 of file esp32_ble_tracker.cpp.

◆ register_listener()

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

Definition at line 181 of file esp32_ble_tracker.h.

◆ set_scan_active()

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

Definition at line 172 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 169 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 170 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 171 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 45 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 208 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 213 of file esp32_ble_tracker.h.

◆ app_id_

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

Definition at line 207 of file esp32_ble_tracker.h.

◆ ble_events_

Queue<BLEEvent> esphome::esp32_ble_tracker::ESP32BLETracker::ble_events_
protected

Definition at line 231 of file esp32_ble_tracker.h.

◆ clients_

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

Client parameters.

Definition at line 216 of file esp32_ble_tracker.h.

◆ listeners_

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

Definition at line 214 of file esp32_ble_tracker.h.

◆ scan_active_

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

Definition at line 223 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 220 of file esp32_ble_tracker.h.

◆ scan_end_lock_

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

Definition at line 225 of file esp32_ble_tracker.h.

◆ scan_interval_

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

Definition at line 221 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 218 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_[16]
protected

Definition at line 227 of file esp32_ble_tracker.h.

◆ scan_result_index_

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

Definition at line 226 of file esp32_ble_tracker.h.

◆ scan_result_lock_

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

Definition at line 224 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 229 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 228 of file esp32_ble_tracker.h.

◆ scan_window_

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

Definition at line 222 of file esp32_ble_tracker.h.


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