3.8 Bluetooth® Low Energy Peripheral Transparent UART
This section helps users to create a peripheral device and send/receive characters between two connected BLE devices over Microchip proprietary Transparent UART Profile. Peripheral device will be the Curiosity board and central device can either be a Smart phone with Light Blue app or another Curiosity board.
Users can either choose to run the precompiled application example .hex
file
on the Curiosity board and experience the demo or go through the steps involved in developing
this application from scratch.
Recommendation is to follow the examples in order, by learning the basic concepts first and then progressing to the more advanced topics.
Recommended Reading
- BLE Software Specification
- Getting Started with WME Bluetooth Low Energy Applications
Hardware Requirement
Tool | Qty |
---|---|
Curiosity Board | 1 |
Micro USB cable | 1 |
Android/iOS Smart phone | 1 |
Software Requirement
- MPLAB X IPE: For programming the precompiled hex file.
- MPLAB X IDE: For programming the application example.
- Teraterm: Terminal Emulator for displaying UART output.
Smart phone App
-
Light Blue iOS/Android app available in stores
Programming the Precompiled Hex File or Application Example
Programming the .hex
File using MPLAB X IPE
- Import and program the precompiled
.hex
file is located in “<Harmony Content Path>\wireless_apps_ble\apps\peripheral_trp_uart\hex\peripheral_trp_uart.hex
” folder - For more information on the programming
steps, refer to the Programming a Device in MPLAB IPE.Note: Users must choose the correct device and tool information.
Programming the Application using MPLAB X IDE
- Follow the steps mentioned in Running a Precompiled Example
- Open and program the application example
“
peripheral_trp_uart_xxxx.X
” where xxxx refer to device (for example: WBZ451, project file:peripheral_trp_uart_wbz451.X
) located in “<Harmony Content Path>\wireless_apps_ble\apps\peripheral_trp_uart\firmware
” using MPLAB X IDE
For more details on finding the Harmony content path, refer to Installing the MCC Plugin.
Demo Description
Developing the Application from Scratch Using MCC
- Create a new MCC Harmony Project by selecting the device. For more details, refer to Creating a New MCC Harmony Project.
- Launch the MCC from the toolbar as
illustrated below. The project graph will open with the default components.
Figure 3-84. MCC - In the Device Resources window, expand Libraries > Harmony > Wireless >
Application Services. Then, click the Plus Symbol to add the
Transparent App Service Component to the project
Figure 3-85. Transparent App Service - All BLE Transparent App Service-related components will be added into the project graph. Accept dependencies or satisfiers by selecting Yes.
- For configuring BLE Config App Service component based on the device refer to Adding BLE Config App Service Component to Project Graph and Selecting the Device in Getting Started with WME Bluetooth Low Energy Applications from Related Links.
- To enable digital and communication interfaces, refer to Enabling Digital Input/Output and Communication Interfaces Through System Hardware Definition (SHD) component in Getting Started with WME Bluetooth Low Energy Applications from Related Links.
- For FreeRTOS component settings refer to the Configuring FreeRTOS in Getting Started with WME Bluetooth Low Energy Applications from Related Links.
- Change the Transparent App Service
component settings as illustrated in the following figure.
Figure 3-86. Transparent App Service - For WBZ451
- Verify if the project graph window
has all the expected components, as illustrated in the following figure:
Figure 3-87. Project Graph - Verify FreeRTOS Component
setting for Tick Mode and modify as illustrated in the following figure
Figure 3-88. FreeRTOS
- Verify if the project graph window
has all the expected components, as illustrated in the following figure:
- For WBZ351
- Verify if the project graph window
has all the expected components, as illustrated in the following figure:
Figure 3-89. Project Graph - Verify FreeRTOS Component
setting for Tick Mode and modify as illustrated in the following figure
Figure 3-90. FreeRTOS - Verify SERCOM Component
setting for Enable Run in Standby and modify as illustrated in the following
figure
Figure 3-91. SERCOM
- Verify if the project graph window
has all the expected components, as illustrated in the following figure:
Generating a Code
For more details on code generation, refer to the MPLAB Code Configurator (MCC) Code Generation.
Files Containing User Application Code
Details on files that user can modify
Source Files | Usage |
---|---|
app.c | Application State machine, includes calls for Initialization of all BLE stack (GAP,GATT, SMP, L2CAP) related component configurations |
app_ble_callbacks.c | All the event functions related to GAP, GATT, SMP and L2CAP events that user can use or modify . |
app_trspc_callbacks.c | All the event functions related to trspc event
handles that user can use or modify. |
app_utility.c | Contains generic utility functions that serve the purpose of providing reusable, common functionalities that can be applied across various parts of a program. |
app.c
is auto generated and has a state machine
based application code sample. Users can use this template to develop their application. Main
application logic is implemented in void APP_Tasks()
function. app.c
app.c