#[non_exhaustive]pub struct BT<'a> { /* private fields */ }unstable only.Expand description
BT peripheral singleton
§Stability
This API is marked as unstable and is only available when the unstable
crate feature is enabled. This comes with no stability guarantees, and could be changed
or removed at any time.
Implementations§
Source§impl BT<'_>
impl BT<'_>
Sourcepub unsafe fn steal() -> Self
pub unsafe fn steal() -> Self
Unsafely create an instance of this peripheral out of thin air.
§Safety
You must ensure that you’re only using one instance of this type at a time.
Sourcepub unsafe fn clone_unchecked(&self) -> Self
pub unsafe fn clone_unchecked(&self) -> Self
Unsafely clone this peripheral reference.
§Safety
You must ensure that you’re only using one instance of this type at a time.
Sourcepub fn reborrow(&mut self) -> BT<'_>
pub fn reborrow(&mut self) -> BT<'_>
Creates a new peripheral reference with a shorter lifetime.
Use this method if you would like to keep working with the peripheral after you dropped the driver that consumes this.
Sourcepub fn bind_bb_interrupt(&self, handler: InterruptHandler)
pub fn bind_bb_interrupt(&self, handler: InterruptHandler)
Binds an interrupt handler to the corresponding interrupt for this peripheral, and enables the interrupt.
§Stability
This API is marked as unstable and is only available when the unstable
crate feature is enabled. This comes with no stability guarantees, and could be changed
or removed at any time.
Sourcepub fn enable_bb_interrupt(&self, priority: Priority)
pub fn enable_bb_interrupt(&self, priority: Priority)
Enables the BT_BB peripheral interrupt on the given priority level.
Note that a suitable interrupt handler needs to be set up before the first interrupt
is triggered, otherwise the default handler will panic.
To set up an interrupt handler, use Self::bind_bb_interrupt or create a function that has the same (non-mangled) name as the interrupt you want to handle.
§Examples
use esp_hal::interrupt::Priority;
#[unsafe(no_mangle)]
unsafe extern "C" fn BT_BB() {
// do something
}
peripherals.BT.enable_bb_interrupt(Priority::Priority1);
peripherals.BT.disable_bb_interrupt_on_all_cores();Sourcepub fn disable_bb_interrupt(&self)
pub fn disable_bb_interrupt(&self)
Disables the BT_BB peripheral interrupt handler on the current CPU core.
This API is marked as unstable and is only available when the unstable
crate feature is enabled. This comes with no stability guarantees, and could be changed
or removed at any time.
Sourcepub fn disable_bb_interrupt_on_all_cores(&self)
pub fn disable_bb_interrupt_on_all_cores(&self)
Disables the BT_BB peripheral interrupt handler on all cores.
Sourcepub fn bind_rwble_interrupt(&self, handler: InterruptHandler)
pub fn bind_rwble_interrupt(&self, handler: InterruptHandler)
Binds an interrupt handler to the corresponding interrupt for this peripheral, and enables the interrupt.
§Stability
This API is marked as unstable and is only available when the unstable
crate feature is enabled. This comes with no stability guarantees, and could be changed
or removed at any time.
Sourcepub fn enable_rwble_interrupt(&self, priority: Priority)
pub fn enable_rwble_interrupt(&self, priority: Priority)
Enables the RWBLE peripheral interrupt on the given priority level.
Note that a suitable interrupt handler needs to be set up before the first interrupt
is triggered, otherwise the default handler will panic.
To set up an interrupt handler, use Self::bind_rwble_interrupt or create a function that has the same (non-mangled) name as the interrupt you want to handle.
§Examples
use esp_hal::interrupt::Priority;
#[unsafe(no_mangle)]
unsafe extern "C" fn RWBLE() {
// do something
}
peripherals.BT.enable_rwble_interrupt(Priority::Priority1);
peripherals.BT.disable_rwble_interrupt_on_all_cores();Sourcepub fn disable_rwble_interrupt(&self)
pub fn disable_rwble_interrupt(&self)
Disables the RWBLE peripheral interrupt handler on the current CPU core.
This API is marked as unstable and is only available when the unstable
crate feature is enabled. This comes with no stability guarantees, and could be changed
or removed at any time.
Sourcepub fn disable_rwble_interrupt_on_all_cores(&self)
pub fn disable_rwble_interrupt_on_all_cores(&self)
Disables the RWBLE peripheral interrupt handler on all cores.
Sourcepub fn bind_rwbt_interrupt(&self, handler: InterruptHandler)
pub fn bind_rwbt_interrupt(&self, handler: InterruptHandler)
Binds an interrupt handler to the corresponding interrupt for this peripheral, and enables the interrupt.
§Stability
This API is marked as unstable and is only available when the unstable
crate feature is enabled. This comes with no stability guarantees, and could be changed
or removed at any time.
Sourcepub fn enable_rwbt_interrupt(&self, priority: Priority)
pub fn enable_rwbt_interrupt(&self, priority: Priority)
Enables the RWBT peripheral interrupt on the given priority level.
Note that a suitable interrupt handler needs to be set up before the first interrupt
is triggered, otherwise the default handler will panic.
To set up an interrupt handler, use Self::bind_rwbt_interrupt or create a function that has the same (non-mangled) name as the interrupt you want to handle.
§Examples
use esp_hal::interrupt::Priority;
#[unsafe(no_mangle)]
unsafe extern "C" fn RWBT() {
// do something
}
peripherals.BT.enable_rwbt_interrupt(Priority::Priority1);
peripherals.BT.disable_rwbt_interrupt_on_all_cores();Sourcepub fn disable_rwbt_interrupt(&self)
pub fn disable_rwbt_interrupt(&self)
Disables the RWBT peripheral interrupt handler on the current CPU core.
This API is marked as unstable and is only available when the unstable
crate feature is enabled. This comes with no stability guarantees, and could be changed
or removed at any time.
Sourcepub fn disable_rwbt_interrupt_on_all_cores(&self)
pub fn disable_rwbt_interrupt_on_all_cores(&self)
Disables the RWBT peripheral interrupt handler on all cores.