This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

S120 scanning can not be sustained

Hi,

There are two advertise nodes, only broadcast (one packet/s) . The S120 star scan. At the beginning everything is OK,but after a while, maybe 3-5 minutes, only one advertise node can be discovered. Then, after an other 3-5 minutes, the scan return to normal.And this appearance happened periodically, seem there some buffer not be cleaned, or need reset.

For find out what the reason, 1,Already use packet sniffer to test and verify at the same time. 2,Only the most basic codes stay in program.

=========================here the codes ===================SDK 6.1================

SOFTDEVICE_HANDLER_INIT(NRF_CLOCK_LFCLKSRC_XTAL_20_PPM, false);
err_code = softdevice_ble_evt_handler_set(ble_evt_dispatch);
APP_ERROR_CHECK(err_code);
err_code = softdevice_sys_evt_handler_set(sys_evt_dispatch);
APP_ERROR_CHECK(err_code);

    m_scan_param.active       = 0;            // Active scanning set.
    m_scan_param.selective    = 0;            // Selective scanning not set.
    m_scan_param.interval     = 0x00A0;     // Scan interval.
    m_scan_param.window       = 0x00A0;   // Scan window.
    m_scan_param.p_whitelist  = NULL;         // No whitelist provided.
    m_scan_param.timeout      = 0x0000;       // No timeout.

    err_code = sd_ble_gap_scan_start(&m_scan_param);
    APP_ERROR_CHECK(err_code);
Parents
  • Ah! Before your answer, I have already suspect the scan_window and tried "m_scan_param.window = 0x009F; ", it was not work correctly. Ok, let me try "0x009E".

    If there always need to minus 2 from scan_interval? And minus 2 mean 1.25mS, may be miss one pack. Could you tell me why minus 2?

    if I need scan_interval be 0X3E8(1000mS), scan_window will be 0X3E6(998.75mS), Is that right ?

Reply
  • Ah! Before your answer, I have already suspect the scan_window and tried "m_scan_param.window = 0x009F; ", it was not work correctly. Ok, let me try "0x009E".

    If there always need to minus 2 from scan_interval? And minus 2 mean 1.25mS, may be miss one pack. Could you tell me why minus 2?

    if I need scan_interval be 0X3E8(1000mS), scan_window will be 0X3E6(998.75mS), Is that right ?

Children
No Data
Related