1. Introduction
Transparent Mode application is used to:
- Receive commands on UART RX and propagate it to the BLE Stack.
- Transmit events from BLA stack on UART TX.
A set of commands/events has to go through the STM32WBA UART to control BLE stack via Transparent mode application.
Level shifter, VCP ST-LINK or applicative VCP can be used to manage the TX and RX.
Transparent mode with P-NUCLEO-WBA5 board and ST-LINK VCP |
---|
2. Requirements
2.1. Software and system requirements
The software required are the following (minimum IDEs version):
- IAR Embedded Workbench for ARM (EWARM) toolchain V9.20.1, plus a patch available in WBA Firmware package STM32Cube_FW_WBA_Vx.x.x/Utilities/PC_Software/EWARMv8_STM32WBAx_V1.2.zip
- RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.37, plus a patch available in WBA Firmware Package STM32Cube_FW_WBA_Vx.x.x/Utilities/PC_Software/Keil.STM32WBAx_DFP.1.0.0.zip
- STM32CubeIDE toolchain V1.12.0 [1].
Programmer:
- STM32CubeProgrammer[2] : To flash the board with an already generated binary
To interface with Transparent Mode Application, STM32CubeMonitor-RF software is also required:
- STM32CubeMonitor-RF V2.11.0 [3]
2.2. Hardware requirements
NUCLEO-WBA5 [4] is necessary to install the application.
Hardware platform illustration |
---|
|
3. Transparent Mode example description
3.1. Project directory
The "BLE_TransparentMode" application is available by downloading STM32CubeWBA MCU Package[5].
Refer to How to Build a BLE Project wiki page for project directory information.
3.2. Project description
3.2.1. Structure
Software project structure with the most important parts:
Transparent Mode project structure |
---|
WARNING: Do not modify the files in Middlewares folder |
3.2.2. BLE Host Stack
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 available ACI and HCI commands, and BLE features.
More information about the BLE Host Stack library and the different BLE 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, applying them for STM32WBA BLE_TransparentMode project.
3.4. How to use
Once the BLE Transparent Mode application is installed on the STM32WBA platform, launch STM32CubeMonitor-RF [3] application on the computer connected to the WBA platform via USB.
3.4.1. STM32CubeMonitor-RF interface
On STM32CubeMonitor-RF interface, select the COM port of the WBA nucleo platform and click on CONNECT button:
STM32CubeMonitor-RF connection with Transparent Mode |
---|
Platform and SW information can be found in VS_HCI_C1_DEVICE_INFORMATION answer:
STM32CubeMonitor-RF device information |
---|
ACI Utilities allows user to easily launch Advertising or Scan Sequence:
STM32CubeMonitor-RF Advertising and Scan Sequences |
---|
3.4.2. Vendor Specific Commands
Vendor specific commands have been developed to Read device information, Read and Write registers from 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 |