ESPHome
2026.3.0
Loading...
Searching...
No Matches
esphome
components
rp2040_ble
rp2040_ble.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
esphome/core/defines.h
"
// Must be included before conditional includes
4
5
#ifdef USE_RP2040_BLE
6
7
#include "
esphome/core/component.h
"
8
9
#include <btstack.h>
10
11
namespace
esphome::rp2040_ble
{
12
13
enum class
BLEComponentState
: uint8_t {
14
OFF
= 0,
15
ENABLING
,
16
ACTIVE
,
17
DISABLING
,
18
DISABLED
,
19
};
20
21
class
RP2040BLE
:
public
Component
{
22
public
:
23
void
setup
()
override
;
24
void
loop
()
override
;
25
void
dump_config
()
override
;
26
float
get_setup_priority
()
const override
;
27
28
void
enable
();
29
void
disable
();
30
bool
is_active
()
const
{
return
this->
state_
==
BLEComponentState::ACTIVE
; }
31
32
void
set_enable_on_boot
(
bool
enable_on_boot) { this->
enable_on_boot_
= enable_on_boot; }
33
34
protected
:
35
static
void
packet_handler_
(uint8_t
type
, uint16_t channel, uint8_t *packet, uint16_t
size
);
36
37
btstack_packet_callback_registration_t
hci_event_callback_registration_
{};
38
btstack_packet_callback_registration_t
sm_event_callback_registration_
{};
39
40
BLEComponentState
state_
{
BLEComponentState::OFF
};
41
bool
enable_on_boot_
{
true
};
42
bool
btstack_initialized_
{
false
};
43
bool
active_logged_
{
false
};
44
};
45
46
// NOLINTNEXTLINE(cppcoreguidelines-avoid-non-const-global-variables)
47
extern
RP2040BLE *
global_ble
;
48
49
}
// namespace esphome::rp2040_ble
50
51
#endif
// USE_RP2040_BLE
esphome::Component
Definition
component.h:87
esphome::rp2040_ble::RP2040BLE
Definition
rp2040_ble.h:21
esphome::rp2040_ble::RP2040BLE::loop
void loop() override
Definition
rp2040_ble.cpp:64
esphome::rp2040_ble::RP2040BLE::btstack_initialized_
bool btstack_initialized_
Definition
rp2040_ble.h:42
esphome::rp2040_ble::RP2040BLE::enable_on_boot_
bool enable_on_boot_
Definition
rp2040_ble.h:41
esphome::rp2040_ble::RP2040BLE::active_logged_
bool active_logged_
Definition
rp2040_ble.h:43
esphome::rp2040_ble::RP2040BLE::is_active
bool is_active() const
Definition
rp2040_ble.h:30
esphome::rp2040_ble::RP2040BLE::get_setup_priority
float get_setup_priority() const override
Definition
rp2040_ble.cpp:96
esphome::rp2040_ble::RP2040BLE::disable
void disable()
Definition
rp2040_ble.cpp:50
esphome::rp2040_ble::RP2040BLE::setup
void setup() override
Definition
rp2040_ble.cpp:14
esphome::rp2040_ble::RP2040BLE::enable
void enable()
Definition
rp2040_ble.cpp:24
esphome::rp2040_ble::RP2040BLE::packet_handler_
static void packet_handler_(uint8_t type, uint16_t channel, uint8_t *packet, uint16_t size)
Definition
rp2040_ble.cpp:98
esphome::rp2040_ble::RP2040BLE::dump_config
void dump_config() override
Definition
rp2040_ble.cpp:88
esphome::rp2040_ble::RP2040BLE::set_enable_on_boot
void set_enable_on_boot(bool enable_on_boot)
Definition
rp2040_ble.h:32
esphome::rp2040_ble::RP2040BLE::state_
BLEComponentState state_
Definition
rp2040_ble.h:40
esphome::rp2040_ble::RP2040BLE::hci_event_callback_registration_
btstack_packet_callback_registration_t hci_event_callback_registration_
Definition
rp2040_ble.h:37
esphome::rp2040_ble::RP2040BLE::sm_event_callback_registration_
btstack_packet_callback_registration_t sm_event_callback_registration_
Definition
rp2040_ble.h:38
component.h
defines.h
type
uint16_t type
Definition
dns_server_esp32_idf.cpp:0
esphome::rp2040_ble
Definition
rp2040_ble.cpp:7
esphome::rp2040_ble::global_ble
RP2040BLE * global_ble
Definition
rp2040_ble.cpp:12
esphome::rp2040_ble::BLEComponentState
BLEComponentState
Definition
rp2040_ble.h:13
esphome::rp2040_ble::BLEComponentState::DISABLED
@ DISABLED
esphome::rp2040_ble::BLEComponentState::ACTIVE
@ ACTIVE
esphome::rp2040_ble::BLEComponentState::ENABLING
@ ENABLING
esphome::rp2040_ble::BLEComponentState::OFF
@ OFF
esphome::rp2040_ble::BLEComponentState::DISABLING
@ DISABLING
esphome::size
size_t size
Definition
helpers.h:929
Generated by
1.12.0