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.
Transparent mode with NUCLEO-WBA55CG board and ST-LINK VCP |
---|
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:
Transparent Mode project structure |
---|
WARNING: Do not modify the files in Middlewares folder |
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:
Transparent mode project initialization |
---|
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:
STM32CubeMonitor-RF connection with transparent mode |
---|
Information on the platform and software can be found under VS_HCI_C1_DEVICE_INFORMATION:
STM32CubeMonitor-RF device information |
---|
ACI utilities allows the user to easily launch an advertising or a scan sequence:
STM32CubeMonitor-RF advertising and scan sequences |
---|
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>