RA Flexible Software Package Documentation  Release v5.2.0

 
BLE Driver (r_ble_compact)

Driver for the Radio peripheral on RA MCUs. This module implements the BLE Interface.

Overview

The Bluetooth Low Energy (BLE) library in Compact configuration (r_ble) provides an API to control the Radio peripheral. This module is configured via the QE for BLE. QE for BLE provides standard services defined by standardization organization and custom services defined by user. Bluetooth LE Profile API Document User's Manual describes the APIs for standard services.

Features

Supported functions

The supported functions are listed in the table below. Choose the configuration that best suits the functions that target system requires.

BLE library feature Extended Balance Compact
Common API Supported Supported Supported
GATT Common API Supported *1 Limited *1 *2 Limited
GATT Common API Supported Supported Supported
GATT Server API Supported Supported Supported
GATT Client API Supported Supported Supported
L2CAP API Supported Not supported Not supported
Vendor Specific API *3 Limited *3 Limited *3 Limited
Note
1. This configuration dose not support LE Advertising Extensions functionality APIs.
2. This configuration dose not support Central and Observer functionality APIs.
3. This configuration dose not support vender specific firmware update functionality APIs.

Target Devices

The Renesas BLE Library supports the following devices.

Configuration

Clock Configuration

Note
System clock (ICLK): 8 MHz or more
Peripheral module clock A (PCLKA): 8MHz or more
The BLE Protocol Stack is optimized for ICLK and PCLKA frequencies of 32 MHz.
It is recommended that the clock be set so that the ICLK and PCLKA frequencies are 32MHz in order to get the best performance from the BLE.

Pin Configuration

This module does not use I/O pins.

Usage Notes

Figure shows the software structure of the BLE FSP module.

r_ble_fsp_ble_software_structure.svg
BLE software structure

The BLE FSP module consists of the BLE library.
The BLE Application uses the BLE functions via the R_BLE API provided by the BLE Library.
The QE for BLE generates the source codes (BLE base skeleton program) as a base for the BLE Application and the BLE Profile codes including the Profile API.

Initialize the BLE protocol stack

Note
It takes around 250msec to initialize BLE protocol stack.
R_BLE_Open API will be occupied MCU resources during the initialization.

Limitations

Developers should be aware of the following limitations when using the ble:

Note
- This configuration dose not supports LE Advertising Extensions functionality APIs.
If those functionalities need your system, select BLE Driver (r_ble_extended) configration.
- This configuration dose not supports Central and Observer functionality APIs.
If those functionalities need your system, select BLE Driver (r_ble_extended) or BLE Driver (r_ble_balance) configration.
- This configuration dose not supports L2CAP functionality APIs.
If those functionalities need your system, select BLE Driver (r_ble_extended) configration.
- This configuration dose not supports vender specific firmware update functionality APIs.
Those APIs are only supported by SPP BLE Abstraction (rm_ble_abs_spp) module.

Limitations on FreeRTOS environment

Developers should be aware of the following limitations when using the ble on FreeRTOS environment: When use deep sleep, sleep mode or standby mode, there is following two wake up option from RF module.

Note
Event Groups is processing as a delay handler by timer task.
Therefore, if blocked by interrupts or if the timer task is blocked by another high-priority task,
the existing connection will be broken.