embassy-stm32-wpan

Crates

git

Versions

default

Flavors

Crate embassy_stm32_wpan

Source
Expand description

The embassy-stm32-wpan crate aims to provide safe use of the commands necessary to interface with the Cortex C0 CPU2 coprocessor of STM32WB microcontrollers. It implements safe wrappers around the Transport Layer, and in particular the system, memory, BLE and Mac channels.

§Design

This crate loosely follows the Application Note 5289 “How to build wireless applications with STM32WB MCUs”; several of the startup procedures laid out in Annex 14.1 are implemented using inline copies of the code contained within the stm32wb_copro C library.

BLE commands are implemented via use of the stm32wb_hci crate, for which the stm32wb_hci::Controller trait has been implemented.

§embassy-stm32-wpan

Async WPAN (short range wireless) on STM32WB families.

§Features

  • Rust interface to the WPAN stack running on the STM32WB co-processor .
  • Controller trait implementation for the stm32wb-hci crate.
  • Embassy-net driver implementation for 802.15.4 MAC.

§Examples

See the stm32wb examples.

Re-exports§

  • pub use crate::sub::ble::hci;

Modules§

  • CPU1 CPU2 | (SYSTEM) | |––HW_IPCC_SYSTEM_CMD_RSP_CHANNEL–––––––>| | | |<—HW_IPCC_SYSTEM_EVENT_CHANNEL—————–| | | | (ZIGBEE) | |––HW_IPCC_ZIGBEE_CMD_APPLI_CHANNEL————>| | | |––HW_IPCC_ZIGBEE_CMD_CLI_CHANNEL–––––––>| | | |<—HW_IPCC_ZIGBEE_APPLI_NOTIF_ACK_CHANNEL—––| | | |<—HW_IPCC_ZIGBEE_CLI_NOTIF_ACK_CHANNEL———| | | | (THREAD) | |––HW_IPCC_THREAD_OT_CMD_RSP_CHANNEL———–>| | | |––HW_IPCC_THREAD_CLI_CMD_CHANNEL–––––––>| | | |<—HW_IPCC_THREAD_NOTIFICATION_ACK_CHANNEL——| | | |<—HW_IPCC_THREAD_CLI_NOTIFICATION_ACK_CHANNEL–| | | | (BLE) | |––HW_IPCC_BLE_CMD_CHANNEL———————>| | | |––HW_IPCC_HCI_ACL_DATA_CHANNEL––––––––>| | | |<—HW_IPCC_BLE_EVENT_CHANNEL––––––––––| | | | (BLE LLD) | |––HW_IPCC_BLE_LLD_CMD_CHANNEL—————–>| | | |<—HW_IPCC_BLE_LLD_RSP_CHANNEL——————| | | |<—HW_IPCC_BLE_LLD_M0_CMD_CHANNEL—————| | | | (MAC) | |––HW_IPCC_MAC_802_15_4_CMD_RSP_CHANNEL––––>| | | |<—HW_IPCC_MAC_802_15_4_NOTIFICATION_ACK_CHANNEL| | | | (BUFFER) | |––HW_IPCC_MM_RELEASE_BUFFER_CHANNE————>| | | | (TRACE) | |<––HW_IPCC_TRACES_CHANNEL–––––––––––| | |
  • Unsafe linked list. Translated from ST’s C by c2rust tool.

Macros§

Structs§

  • Transport Layer for the Mailbox interface