aboutsummaryrefslogtreecommitdiff
path: root/embassy-stm32-wpan/src/tables.rs
diff options
context:
space:
mode:
authorLofty Inclination <[email protected]>2025-01-01 00:56:16 +0000
committerLofty Inclination <[email protected]>2025-01-01 01:35:41 +0000
commitb2cc2fda26a7ecd6d64482e1f53eaf213f2b0a54 (patch)
tree7917014ad83e8b84b87dbc0357f9bd91acb061b5 /embassy-stm32-wpan/src/tables.rs
parentc84aef75af6c1e7b60b6c86b7dcd20293f3f5a89 (diff)
Add docs for the BLE bindings
These new docs explain a lot of the current implementation for the BLE stack, with reference to AN5289 14.1. They also detail the additional requirements around BLE startup behaviour; specifically, that certain SYS events must be awaited, and that shci_c2_ble_init should be called. Since the ble feature is now enabled by default for the docs, the remaining documentation for the BLE behaviour (as implemented by the `stm32wb-hci` crate) should be bought in automatically.
Diffstat (limited to 'embassy-stm32-wpan/src/tables.rs')
-rw-r--r--embassy-stm32-wpan/src/tables.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/embassy-stm32-wpan/src/tables.rs b/embassy-stm32-wpan/src/tables.rs
index f2c250527..e730d6d87 100644
--- a/embassy-stm32-wpan/src/tables.rs
+++ b/embassy-stm32-wpan/src/tables.rs
@@ -89,12 +89,19 @@ pub struct DeviceInfoTable {
89 pub wireless_fw_info_table: WirelessFwInfoTable, 89 pub wireless_fw_info_table: WirelessFwInfoTable,
90} 90}
91 91
92/// The bluetooth reference table, as defined in figure 67 of STM32WX AN5289.
92#[derive(Debug)] 93#[derive(Debug)]
93#[repr(C)] 94#[repr(C)]
94pub struct BleTable { 95pub struct BleTable {
96 /// A pointer to the buffer that is used for sending BLE commands.
95 pub pcmd_buffer: *mut CmdPacket, 97 pub pcmd_buffer: *mut CmdPacket,
98 /// A pointer to the buffer used for storing Command statuses.
96 pub pcs_buffer: *const u8, 99 pub pcs_buffer: *const u8,
100 /// A pointer to the event queue, over which IPCC BLE events are sent. This may be accessed via
101 /// [crate::sub::ble::tl_read].
97 pub pevt_queue: *const u8, 102 pub pevt_queue: *const u8,
103 /// A pointer to the buffer that is used for sending HCI (Host-Controller Interface) ACL
104 /// (Asynchronous Connection-oriented Logical transport) commands (unused).
98 pub phci_acl_data_buffer: *mut AclDataPacket, 105 pub phci_acl_data_buffer: *mut AclDataPacket,
99} 106}
100 107