在广播中启用远距模式后 observer无法获取广播内容

远距模式好像只有这个配置能被发现 但advertData中的内容丢失了

uint8_t initial_adv_event_type = GAP_ADTYPE_EXT_NONCONN_NONSCAN_UNDIRECT;

GAP_SetParamValue(TGAP_ADV_PRIMARY_PHY, GAP_PHY_VAL_LE_CODED);
GAP_SetParamValue(TGAP_ADV_SECONDARY_PHY, GAP_PHY_VAL_LE_CODED);



不清楚以下几种广播方式的区别 有没有办法将advertData中的内容也发出去

#define GAP_ADTYPE_EXT_CONN_DIRECT            
#define GAP_ADTYPE_EXT_SCAN_UNDIRECT         
#define GAP_ADTYPE_EXT_NONCONN_NONSCAN_UNDIRECT
#define GAP_ADTYPE_EXT_CONN_UNDIRECT           
#define GAP_ADTYPE_EXT_SCAN_DIRECT            
#define GAP_ADTYPE_EXT_NONCONN_NONSCAN_DIRECT

您好,可以参考主机例程,在ObserverEventCB回调中添加 case GAP_EXT_ADV_DEVICE_INFO_EVENT: 事件。


有效果

     case GAP_EXT_ADV_DEVICE_INFO_EVENT:
        {
            int i;
                        for(i=0; ideviceInfo.dataLen; i++)
                        {
                            PRINT("%02x ",pEvent->deviceInfo.pEvtData[i]);
                        }
                        PRINT("\n");

   }

但数据和广播对不上  得到的结果分别为observer 得到的数据分别为6f 10 d0   00 00 00   


static uint8_t advertData[] = {

    0x02,
        GAP_ADTYPE_FLAGS,
        GAP_ADTYPE_FLAGS_BREDR_NOT_SUPPORTED,

        0x02,
        0x01,0x18

};

static uint8_t advertData2[] = {

    0x02,
        GAP_ADTYPE_FLAGS,
        GAP_ADTYPE_FLAGS_LIMITED,

        0x02,
        0x01,0x17

};


static void advTask(void)
{
  if (open) {
    GAP_UpdateAdvertisingData(Broadcaster_TaskID,TRUE,sizeof(advertData2), advertData2);
    open = FALSE;
  }else {
    GAP_UpdateAdvertisingData(Broadcaster_TaskID,TRUE,sizeof(advertData), advertData);
    open = TRUE;
  }

}


谢谢 用pEvent->deviceExtAdvInfo.pEvtData 就ok


只有登录才能回复,可以选择微信账号登录