Part Number: CC2640R2F
Hi,
I am using simplelink_cc2640r2_sdk_3_10_00_15 version to implement long range Application,
By making use of example simple peripheral code , I was testing.
But I was not able to see long range advertisement set. Can anyone please explain how to test this feature.
Code snippet:
static void SimplePeripheral_processGapMessage(gapEventHdr_t *pMsg)
{
switch(pMsg->opcode)
{
case GAP_DEVICE_INIT_DONE_EVENT:
{
bStatus_t status = FAILURE;
gapDeviceInitDoneEvent_t *pPkt = (gapDeviceInitDoneEvent_t *)pMsg;
if(pPkt->hdr.status == SUCCESS)
{
// Temporary memory for advertising parameters for set #1. These will be copied
// by the GapAdv module
// GapAdv_params_t advParamLegacy = GAPADV_PARAMS_LEGACY_SCANN_CONN;
// Create Advertisement set #1 and assign handle
// status = GapAdv_create(&SimplePeripheral_advCallback, &advParamLegacy,
// &advHandleLegacy);
// SIMPLEPERIPHERAL_ASSERT(status == SUCCESS);
// Load advertising data for set #1 that is statically allocated by the app
// status = GapAdv_loadByHandle(advHandleLegacy, GAP_ADV_DATA_TYPE_ADV,
// sizeof(advertData), advertData);
// SIMPLEPERIPHERAL_ASSERT(status == SUCCESS);
// Load scan response data for set #1 that is statically allocated by the app
//status = GapAdv_loadByHandle(advHandleLegacy, GAP_ADV_DATA_TYPE_SCAN_RSP,
// sizeof(scanRspData), scanRspData);
//SIMPLEPERIPHERAL_ASSERT(status == SUCCESS);
// Set event mask for set #1
//status = GapAdv_setEventMask(advHandleLegacy,
// GAP_ADV_EVT_MASK_START_AFTER_ENABLE |
// GAP_ADV_EVT_MASK_END_AFTER_DISABLE |
// GAP_ADV_EVT_MASK_SET_TERMINATED);
// Enable legacy advertising for set #1
// status = GapAdv_enable(advHandleLegacy, GAP_ADV_ENABLE_OPTIONS_USE_MAX , 0);
// SIMPLEPERIPHERAL_ASSERT(status == SUCCESS);
// Use long range params to create long range set #2
GapAdv_params_t advParamLongRange = GAPADV_PARAMS_AE_LONG_RANGE_CONN;
//advParamLongRange.primPhy = GAP_ADV_PRIM_PHY_CODED_S8;
// Create Advertisement set #2 and assign handle
status = GapAdv_create(&SimplePeripheral_advCallback, &advParamLongRange,
&advHandleLongRange);
SIMPLEPERIPHERAL_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);
SIMPLEPERIPHERAL_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);
SIMPLEPERIPHERAL_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);
SIMPLEPERIPHERAL_ASSERT(status == SUCCESS);
}
break;
}
But If I use advParamLegacy as GAPADV_PARAMS_LEGACY_SCANN_CONN I am able to see my device is advertising, But If I go for GAPADV_PARAMS_AE_LONG_RANGE_CONN alone I dont see my device advertising.
Please let me know If i am missing something.