39#ifdef USE_OTA_STATE_LISTENER
51 public Parented<bk72xx_ble::BK72xxBLE>
52#ifdef USE_OTA_STATE_LISTENER
59 void setup()
override;
64#ifdef USE_OTA_STATE_LISTENER
114 return {.active_scan =
true, .merges_scan_response =
true, .gatt =
false, .scan_mode_switch =
true};
120 uint8_t mac[MAC_ADDRESS_SIZE];
122 for (
int i = 0; i < 6; i++)
159#ifdef USE_OTA_STATE_LISTENER
Helper class to easily give an object a parent of type T.
bk72xx_ble::BK72xxBLE * parent_
void get_mac_lsb_first(uint8_t out[MAC_ADDRESS_SIZE]) const
Controller BLE address, least-significant octet first (BLE convention).
Consumer interface for controller scan reports.
void set_configured_continuous(bool scan_continuous)
Set from YAML (scan_parameters.continuous); also the value configured_continuous() reports and a bare...
void on_ota_global_state(ota::OTAState state, float progress, uint8_t error, ota::OTAComponent *comp) override
bool try_start_with_backoff_(uint32_t now, bool force=false)
Rate-limited (re)start; true when the scan is running (the caller must not reuse a now older than the...
bool scan_continuous_before_ota_
bool scan_continuous() const
void set_scan_window(uint32_t scan_window)
uint8_t failed_start_count_
void set_scan_interval(uint32_t scan_interval)
void on_scan_report(const bk72xx_ble::BLEScanReport &report) override
void register_listener(ble_device_base::ESPBTDeviceListener *listener)
ble_device_base::AdvDispatcher dispatcher_
void set_scan_continuous(bool scan_continuous)
Runtime control (esp32_ble_tracker lambda parity): does not change the configured value,...
void restart_scan_duration()
Re-anchor the one-shot duration clock of a running scan to now — used when an action changes the scan...
bool request_scan_mode(bool active)
void set_scan_active(bool scan_active)
Set from YAML (scan_parameters.active); runtime mode requests change only the resolved mode.
void mark_scan_ended_(uint32_t now)
void set_scan_duration(uint32_t scan_duration)
uint32_t scan_period_start_
void get_adapter_mac(uint8_t out[MAC_ADDRESS_SIZE])
bool scan_continuous_configured_
ble_device_base::ScanResponseMerger merger_
bk72xx_ble::ScanOpResult controller_scan_start_()
Stamp-and-start for every controller scan attempt, so the retry rate limit covers all callers.
bool scan_requested_before_ota_
void dump_config() override
float get_setup_priority() const override
uint32_t last_scan_start_attempt_
static constexpr ble_device_base::HubCapabilities get_capabilities()
void count_failed_start_()
bool configured_continuous() const
uint32_t scan_start_time_
bool scan_active_configured_
void set_raw_advertisement_callback(ble_device_base::RawAdvertisementCallback callback)
The delivery half of a split-report tracker, shared so the dispatch contract (raw-callback ordering,...
void set_raw_advertisement_callback(RawAdvertisementCallback callback)
void register_listener(ESPBTDeviceListener *listener)
Listener interface for global OTA state changes (includes OTA component pointer).
ScanOpResult
Outcome of one reconciliation step.
constexpr float AFTER_WIFI
For components that should be initialized after WiFi is connected.
One advertisement report from the controller.
What a tracker's controller/SDK can do — consumers branch on data, not #ifdefs.
Subscriber slot for the raw-advertisement stream (the bluetooth_proxy path).