This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

LAUNCHXL-CC26X2R1: ProjectZero - enable Long Range advertisement set

Part Number: LAUNCHXL-CC26X2R1
Other Parts Discussed in Thread: SYSBIOS

Hello,

I'm having trouble enabling Long Range advertisement set on Project Zero on LaunchPad CC26X2 with SDK 3.10. Steps to reproduce:

1. Import in a fresh CCS 9.0.1 workspace BLE 5 ProjectZero from TI TIREX.

2. Set app project to use FlashROM_Debug configuration.

3. Build all projects and flash them on LP. Verify the console that the device starts (and can be connected to).

4. Add a new advertisement set handle for long range advertisement and add code for configuring and enabling it:

            // Use long range params to create long range set #2
            GapAdv_params_t advParamLongRange = GAPADV_PARAMS_AE_LONG_RANGE_CONN;

            // Create Advertisement set #2 and assign handle
            status = GapAdv_create(&ProjectZero_advCallback, &advParamLongRange,
                                   &advHandleLongRange);
            APP_ASSERT(status == SUCCESS);

            // Load advertising data for set #2 that is statically allocated by the app
            status = GapAdv_loadByHandle(advHandleLongRange, GAP_ADV_DATA_TYPE_ADV,
                                         sizeof(advertData), advertData);
            APP_ASSERT(status == SUCCESS);

            // Load scan response data for set #2 that is statically allocated by the app
            status = GapAdv_loadByHandle(advHandleLongRange, GAP_ADV_DATA_TYPE_SCAN_RSP,
                                         sizeof(scanRspData), scanRspData);
            APP_ASSERT(status == SUCCESS);

            // Set event mask for set #2
            status = GapAdv_setEventMask(advHandleLongRange,
                                         GAP_ADV_EVT_MASK_START_AFTER_ENABLE |
                                         GAP_ADV_EVT_MASK_END_AFTER_DISABLE |
                                         GAP_ADV_EVT_MASK_SET_TERMINATED);

            // Enable long range advertising for set #2
            status = GapAdv_enable(advHandleLongRange, GAP_ADV_ENABLE_OPTIONS_USE_MAX , 0);
            APP_ASSERT(status == SUCCESS);

5. Build and debug

After this step I get the following crash:

abort() at exit.c:105 0x0001DE14	
xdc_runtime_System_abort__E(unsigned char *)() at System.c:98 0x0001CC74	
xdc_runtime_Error_policyDefault__E(struct xdc_runtime_Error_Block *, int, unsigned char *, int, unsigned int, int, int)() at Error.c:172 0x0000BCEA	
xdc_runtime_Error_raiseX__E(struct xdc_runtime_Error_Block *, int, unsigned char *, int, unsigned int, int, int)() at Error.c:119 0x0001CC04	
xdc_runtime_Assert_raise__I(int, unsigned char *, int, unsigned int)() at Assert.c:34 0x000184D6	
ti_sysbios_gates_GateMutex_enter__E(struct ti_sysbios_gates_GateMutex_Object *)() at GateMutex.c:101 0x000114BA	
ti_sysbios_BIOS_rtsLock__I() at ble_debug_pem4f.c:2,471 0x0001C53A	
rand() at rand.c:64 0x0001A7C4	
llGetRandChannelMapIndex(unsigned char)() at ll_ae.c:4,705 0x0001900C	
LL_TxDoneCback() at ll_isr.c:2,249 0x000028F6	
rfCallback(struct RF_ObjectMultiMode *, short, unsigned long long)() at ll_isr.c:295 0x0001703A	
RF_fsmActiveState(struct RF_ObjectMultiMode *, enum RF_FsmEvent_)() at RFCC26X2_multiMode.c:3,156 0x000021BA	
RF_swiFsm(unsigned int, unsigned int)() at RFCC26X2_multiMode.c:2,587 0x0001C346	
ti_sysbios_knl_Swi_run__I(struct ti_sysbios_knl_Swi_Object *)() at Swi.c:118 0x0000CA64	
ti_sysbios_knl_Swi_restoreHwi__E(unsigned int)() at Swi.c:404 0x00015E2C	
ti_sysbios_family_arm_m3_Hwi_dispatch__I() at Hwi_asm.sv7M:205 0x0000E134  (ti_sysbios_family_arm_m3_Hwi_dispatch__I does not contain frame information)	

Please advise.

Thanks,

Igor