1. Introduction
The transparent mode application is used to:
- receive commands on UART RX and propagate them to the Bluetooth® Low Energy stack.
- transmit events from Bluetooth®Low Energy stack on UART TX.
A set of commands/events are sent though the STM32WBA UART to control the Bluetooth® Low Energy stack via the transparent mode application.
Level shifter, VCP ST-LINK or applicative VCP can be used to manage transmission and reception.
2. Requirements
2.1. Software and Hardware requirements
For software and hardware requirements refer to STM32WBA Build BLE Project wiki page.
3. Transparent mode example description
3.1. Project directory
The "BLE_TransparentMode" application is available by downloading the STM32CubeWBA MCU Package[1].
Refer to the How to Build a Bluetooth® LE project wiki page for information on the project directory.
3.2. Project description
3.2.1. Software project structure
Below the software project structure with its main parts:
3.2.2. Bluetooth® Low Energy host stack
The transparent mode application uses the Full host stack + ST LL controller library (stm32wba_ble_stack_full.a), which requires LinkLayer_BLE_Full_lib.a to work.
Refer to Bluetooth LE Host Stack and Link Layer Libraries compatibilities section.
This configuration supports all the available ACI and HCI commands, as well as Bluetooth® Low Energy features.
More information about the Bluetooth® Low Energy host stack library and the different Bluetooth® Low Energy stack configurations for STM32WBA projects are available in: Middlewares/ST/STM32_WPAN/ble/stack/doc/STM32WBA_BLE_Stack_User_Manual.html.
3.2.3. Application initialization
The different steps of the application initialization are described below:
3.3. Build and install
Follow the steps described in Bluetooth® LE Build and Install Application page, and apply them to the STM32WBA BLE_TransparentMode project.
3.4. How to use the Bluetooth® Low Energy transparent mode application
Once the Bluetooth® Low Energy transparent mode application is installed on the STM32WBA platform, launch the STM32CubeMonitor-RF [2] application on the computer connected to the platform via USB.
3.4.1. STM32CubeMonitor-RF interface
From the STM32CubeMonitor-RF interface, select the COM port of the NUCLEO-WBA55CG board, and click the CONNECT button:
Information on the platform and software can be found under VS_HCI_C1_DEVICE_INFORMATION:
ACI utilities allows the user to easily launch an advertising or a scan sequence:
3.4.2. Vendor-specific commands
Vendor-specific commands have been developed to read the device information, and read/write registers from the command interface:
- VS_HCI_C1_DEVICE_INFORMATION
- VS_HCI_C1_WRITE_REGISTER
- VS_HCI_C1_READ_REGISTER
Transparent mode vendor-specific commands | ||||
---|---|---|---|---|
Command name | HCI packet indicator | OCF | Description | Parameter |
VS_HCI_C1_WRITE_REGISTER | 0x20 | 0x160 | Request core to write a register (Atomic write) |
1byte [0]: Bus size access - 1 : 8bits - 2 : 16bits - 4 : 32bits 4bytes [1:4]: Mask 4byte [5:8]: Address 4byte [9:12]: Value |
VS_HCI_C1_READ_REGISTER | 0x20 | 0x161 | Request core to read a register (Atomic read) |
1byte [0]: Bus size access - 1 : 8bits - 2 : 16bits - 4 : 32bits 4bytes [1:4]: Address |
VS_HCI_C1_DEVICE_INFORMATION | 0x20 | 0x162 | Return device information | N/A |
4. References
<noinclud>
</noinclud>