diff options
| author | Lofty Inclination <[email protected]> | 2025-01-01 00:56:16 +0000 |
|---|---|---|
| committer | Lofty Inclination <[email protected]> | 2025-01-01 01:35:41 +0000 |
| commit | b2cc2fda26a7ecd6d64482e1f53eaf213f2b0a54 (patch) | |
| tree | 7917014ad83e8b84b87dbc0357f9bd91acb061b5 /embassy-stm32-wpan/src/tables.rs | |
| parent | c84aef75af6c1e7b60b6c86b7dcd20293f3f5a89 (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.rs | 7 |
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)] |
| 94 | pub struct BleTable { | 95 | pub 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 | ||
