BLE5-Stack 2.02.04 (SDK 5.40) to BLE5-Stack 2.02.05 (SDK 6.10)

This section will describe a way to migrate a project from BLE5-Stack 2.02.04 to a BLE5-Stack 2.02.05 project.

The best way to migrate is to open a new project from the new SDK and transfer your changes and application code over to the new example.

Porting Simple Peripheral

For this migration guide, Simple Peripheral from BLE5-Stack 2.02.04 will be ported over to BLE5-Stack 2.02.05. The recommended approach is to start with a BLE5-Stack 2.02.05 project that contains the same base functionality as the porting target project and merge in any custom functionality.

  1. Choose a BLE5-Stack 2.02.05 example project that contains your target project’s base functionality.

  2. Transfer all modified application files from BLE5-Stack 2.02.04 into the BLE5-Stack 2.02.05 example project.

    In this example, the following files from BLE5-Stack 2.02.04 were moved into Simple Peripheral BLE5-Stack 2.02.05 example:

    • simple_peripheral.c

    • simple_peripheral.h

  3. Move any profiles and services that the application is using to the BLE5-Stack 2.02.05 project.

  4. Transfer the SysConfig settings either visually through the GUI or open both the old and the new project .syscfg files and copy-paste the desired settings. Additional details are provided in A Few Noteworthy Changes from BLE5-Stack 2.02.04 to BLE5-Stack 2.02.05.

  5. Modify the calls to Gap_RegisterConnEventCb() as detailed in Connection Event Callback Update in BLE5-Stack 2.02.05.

  6. If necessary, update the project to use the newer TI-RTOS drivers that are supplied with the SimpleLink CC13xx/CC26xx SDK.

  7. Refer to the Core SDK release notes for additional information and the TI-RTOS examples included with SimpleLink CC13xx/CC26xx SDK.

    For additional information on how BLE5-Stack 2.02.05 uses TI-RTOS see TI-RTOS (RTOS Kernel) Overview.

    For any utilized TI Drivers, review TI-RTOS Kernel (SYS/BIOS) User’s Guide and TI Drivers API Reference.

Porting Simple Central

This section of the migration guide will focus on porting Simple Central from BLE5-Stack 2.02.04 to the BLE5-Stack 2.02.05. The recommended approach is to start with a BLE5-Stack 2.02.05 project that contains the same base functionality as the porting target project and merge in any custom functionality.

  1. Choose a BLE5-Stack 2.02.05 example project that contains your target project’s base functionality.

  2. Transfer all modified application files from BLE5-Stack 2.02.04 into the BLE5-Stack 2.02.05 example project.

    In this example, the following files from BLE5-Stack 2.02.04 were moved into Simple Central BLE5-Stack 2.02.05 example:

    • simple_central.c

    • simple_central.h

  3. Modify main.c in the BLE5-Stack 2.02.05 example if additional tasks were added in the BLE5-Stack 2.02.04 project.

  4. Move any profiles and services that the application is using to the BLE5-Stack 2.02.05.

  5. Transfer the Sysconfig settings either visually through the GUI or open both the old and the new project .syscfg files and copy-paste the desired settings. Additional details are provided in A Few Noteworthy Changes from BLE5-Stack 2.02.04 to BLE5-Stack 2.02.05.

  6. If used, modify the calls to Gap_RegisterConnEventCb() as detailed in Connection Event Callback Update in BLE5-Stack 2.02.05.

  7. If necessary, update the project to use the newer TI-RTOS drivers that are supplied with the SimpleLink CC13xx/CC26xx SDK.

  8. Refer to the Core SDK release notes for additional information and the TI-RTOS examples included with SimpleLink CC13xx/CC26xx SDK.

    For additional information on how BLE5-Stack 2.02.05 uses TI-RTOS see TI-RTOS (RTOS Kernel) Overview.

    For any utilized TI Drivers, review TI-RTOS Kernel (SYS/BIOS) User’s Guide and TI Drivers API Reference.

Connection Event Callback Update in BLE5-Stack 2.02.05

Attention

This update leads to an API compatibility break when migrating from BLE5-Stack 2.02.04 to BLE5-Stack 2.02.05.

BLE5-Stack 2.02.05 implements improved connection event callbacks providing more information about the connection event. In depth description of this feature is provided in Connection Event Callback section.

Connection event callback registration and unregistration takes one more argument(GAP_CB_Event_e) in BLE5-Stack 2.02.05.

Listing 207. New Gap_RegisterConnEventCb() adds the event parameter
   bStatus_t Gap_RegisterConnEventCb(pfnGapConnEvtCB_t cb,
                                     GAP_CB_Action_t action,
                                     GAP_CB_Event_e event,
                                     uint16_t connHandle);

Calls to Gap_RegisterConnEventCb() should be modified as shown below.

Listing 208. Connection event callback registering
// Old function call
// Gap_RegisterConnEventCb(SimplePeripheral_connEvtCB, GAP_CB_REGISTER, connHandle);

// New function call
Gap_RegisterConnEventCb(SimplePeripheral_connEvtCB, GAP_CB_REGISTER, GAP_CB_CONN_EVENT_ALL, connHandle);
Listing 209. Connection event callback unregistering
// Old function call
// Gap_RegisterConnEventCb(NULL, GAP_CB_UNREGISTER, connHandle);

// New function call
Gap_RegisterConnEventCb(NULL, GAP_CB_UNREGISTER, GAP_CB_CONN_EVENT_ALL, connHandle);

A Few Noteworthy Changes from BLE5-Stack 2.02.04 to BLE5-Stack 2.02.05

You can follow the guide above without addressing these updates, they are listed for your information only. All fine grained details might not be mentioned, please refer to the specific example you need to port and do a compare between the old and new project files. Please refer to the BLE5-Stack Release Notes for all the details.

  • Examples for the new system-in-package module with integrated antenna LP_CC2651R3SIPA have been added. The device and evaluation modules will be available soon on ti.com

  • The examples for LP_CC2651R3SIPA, LP_CC2652RSIP and LP_CC2652PSIP have been configured to use TIRTOS7. TIRTOS7 is not yet supported by the projects provided for the other devices.

  • The content of the .syscfg file for most of the projects* has been updated in prevision of the migration to TIRTOS7. As long as TIRTOS7 is not used, these changes do NOT affect the content of the files generated by SysConfig. and can be ignored.

  • The path of the .syscfg file has been modified for most of the projects*. The .syscfg file is now stored in the folder <EXAMPLE>\<RTOS> (it was previously stored directly in the <EXAMPLE> folder). The affected projects have been modified to automatically import the proper .syscfg file.

* All the projects in the |SDK| are affected by these changes, except the RTLS examples, the simple_broadcaster, the multi_sensor and the connection monitor projects.