14#ifdef USE_OTA_STATE_LISTENER
22 public Parented<rp2040_ble::RP2040BLE>
23#ifdef USE_OTA_STATE_LISTENER
30 void setup()
override;
35#ifdef USE_OTA_STATE_LISTENER
65#ifdef USE_BLE_GATT_CLIENT
66 constexpr bool has_gatt =
true;
68 constexpr bool has_gatt =
false;
70 return {.active_scan =
true, .merges_scan_response =
true, .gatt = has_gatt, .scan_mode_switch =
true};
100#ifdef USE_OTA_STATE_LISTENER
Helper class to easily give an object a parent of type T.
rp2040_ble::RP2040BLE * parent_
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).
Consumer interface for controller scan reports.
void get_mac_msb_first(uint8_t out[MAC_ADDRESS_SIZE]) const
Controller BLE address in printable (MSB-first) order, as gap_local_bd_addr() delivers it — note BLES...
void set_scan_continuous(bool scan_continuous)
ble_device_base::AdvDispatcher dispatcher_
void set_raw_advertisement_callback(ble_device_base::RawAdvertisementCallback callback)
uint32_t scan_period_start_
static constexpr ble_device_base::HubCapabilities get_capabilities()
void set_scan_active(bool scan_active)
bool controller_scan_start_()
void set_scan_duration(uint32_t scan_duration)
uint32_t last_scan_start_attempt_
bool scan_continuous_before_ota_
float get_setup_priority() const override
void set_scan_window(uint32_t scan_window)
bool request_scan_mode(bool active)
void on_scan_report(const rp2040_ble::BLEScanReport &report) override
ble_device_base::ScanResponseMerger merger_
void register_listener(ble_device_base::ESPBTDeviceListener *listener)
void get_adapter_mac(uint8_t out[MAC_ADDRESS_SIZE])
void dump_config() override
bool scan_pending_before_ota_
void set_scan_interval(uint32_t scan_interval)
void on_ota_global_state(ota::OTAState state, float progress, uint8_t error, ota::OTAComponent *comp) override
constexpr float AFTER_WIFI
For components that should be initialized after WiFi is connected.
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).
One advertisement report from the controller.