Hi all,
I implemented a central profile using as starting point the DSPS project (I am not sure if SDK is 3.0.8 or 3.0.10). With this code when i start the scan i can receive the message GAPM_ADV_REPORT_IND and then the advertising data of peripherals which are advertising in undirected mode, but i cannot receive the advertising data of peripherals which are in direct advertising mode. My app_scanning function is the same of the original project:
空白app_scanning(空白)
{
ke_state_set(TASK_APP, APP_CONNECTABLE);
// create a kernel message to start the scanning
struct gapm_start_scan_cmd *msg = (struct gapm_start_scan_cmd *)KE_MSG_ALLOC(GAPM_START_SCAN_CMD, TASK_GAPM, TASK_APP, gapm_start_scan_cmd);
// Maximal peer connection
msg->mode = GAP_GEN_DISCOVERY;
msg->op.code = GAPM_SCAN_PASSIVE;
msg->op.addr_src = GAPM_PUBLIC_ADDR;
msg->filter_duplic = SCAN_FILT_DUPLIC_EN;//SCAN_FILT_DUPLIC_DIS;
msg->interval = APP_SCAN_INTERVAL;
msg->window = APP_SCAN_WINDOW;
// Send the message
ke_msg_send(msg);
}
What should i do to make my central receive the direct advertising packet from peripherals? Another question is about the APP_SCAN_INTERVAL and APP_SCAN_WINDOW. I tried to change them but they seems to be ineffective.
Best regards,
Dario
Hi pnndra,
Have you set your device to advertise directly to the bdaddress of your host ?
Thanks MT_dialog
Hi MT_dialog,
I encountered the same problem. I used same code with DA14580 peripheral to do direct advertise for reconnection, IOS and Nordic central can catch the report well but DA14580 central not. why?
I look forward your reply.
Best regards.
An addition: If DA14580 central connect the peripheral directly, it can establish connection well.
Hi Zhao Gui Meng,
Make sure that your advertiser has the correct bd_address and also in order to get indications from directed advertising try to set your scanning mode to GAP_OBSERVER_MODE.
Thanks MT_dialog
MT_dialog ,
I got the report from either undirect advertising or direct advertising with GAP_OBSERVER_MODE.
Thank you very much.