Overview¶
This section describes the high level design and functionality of the Micro BLE Stack that provides a non-connectable undirected advertising feature for a broadcaster application or a dual-mode application where a broadcaster and another communication protocol stack-based application are integrated.
Constraints and Requirements¶
The Micro BLE Stack has the following internal constraints and requirements:
- This design optionally depends on partial integration of ICall to save system resources if there already is an application using ICall in the dual-mode use case. In the case of using the ICall module, ICall’s system heap management and TI-RTOS service abstraction will be used.
- There is no HCI because there is no separation between the controller and the host.
- The privancy feature is not supported, but random address generation is supported
- To minimize the memory overhead and remove redundant context switching, the Micro BLE Stack doesn’t have a separate TI-RTOS tastk. It is instead integrated in the application task.
Functional Overview¶
The Micro BLE Stack consists of two layers: The Micro Link Layer (Micro LL or uLL) and Micro Generic Access Profile (Micro GAP or uGAP).
Micro LL performs:
- Radio management
- Device state management between stanby and advertising
Micro GAP performs:
- Broadcaster role
- Initialization and configuration of the Micro LL
- State Management within the role
- Interfacing with the application
Using the Micro BLE Stack¶
The source files for the Micro BLE Stack can be found in: <SDK_INSTALL_DIR>\source\ti\ble5stack\microstack, and the header files can be found in: <SDK_INSTALL_DIR>\source\ti\ble5stack\inc. The Micro Eddystone Beacon example demonstrates the use of the Micro BLE Stack, and it can be found at: <SDK_INSTALL_DIR>\examples\rtos\CC2640R2_LAUNCHXL\ble5stack\micro_eddystone_beacon An explanation and overview of this project can be found in the README.html within this folder.