I use S130 on two nrf51822/PCA10001 boards. Each nRF scans and advertises simultaneously. Scan parameters are:
scan_param.active = 0;
scan_param.selective = 0;
scan_param.p_whitelist = NULL;
scan_param.timeout = 0;
scan_param.interval = 0x00A0; // 100 ms
scan_param.window = 0x009C; // bit less than 100 ms
Advertising parameters are:
m_adv_params.type = BLE_GAP_ADV_TYPE_ADV_IND;
m_adv_params.p_peer_addr = NULL;
m_adv_params.fp = BLE_GAP_ADV_FP_ANY;
m_adv_params.interval = 0x0320; // 500ms
m_adv_params.timeout = BLE_GAP_ADV_TIMEOUT_GENERAL_UNLIMITED;
In general it works, both nRFs receive adv packets and indicate it by flashing LED for 20mS. But I notice some gaps in receiving packets, sometime this gaps is about few seconds. For verification stability of sending advertising packets by nRFs I use third BLE device CSR1010, that only for scans and indicates advertising packets by LED and this one works fine fine: LED flashes stable, without any delays and gaps - so, packets are transmitted, while LEDs of nRFs flash with gaps. I have used Oscilloscope to record states of LEDs of two nRFs and CSR and made screenshot:
So, could you explain this delays in receiving? Does it expected behavior? Might it be appeared when both transmit data at the same time, then why CSR receives packets at this time?