This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nRF52833 advertising packet missing while in scanning Mode.

Hi,

We are developing central scanning mode for our project requirement. We want to scan BLE tags which are transmitting at every 10 seconds. I have been using nRF52833 DK for testing scanning functionality. We also set filters to scan our specific BLE tags.

Above code is for setting up filter. 

Scanning window and Interval setting.

Above code is for matching specific tag to observe missing packets.

this are logs taken on UART in which fist is counter and 3rd is timestamp taken. The Highlighter part shows missing packet in that duration. I put counter to check if if we were missing handling of advertising packet. but as per counter we are not getting event in scan_evt_handler. 

Could anyone please suggest what could be the possible reason of missing packets.

Parents
  • Hi Swapnil, 

    Even if your central is scanning all the time, i.e. Scan windon == Scan Interval, you will still have a short period when the RADIO is switching scan frequency where you cannot receive any packets. In addition there might be packet collisions, interference etc that causes a packet to be discarded. Hence, if you need the data to arrive reliably, then you need to be in a connection where the link layer ensures that lost packets are retransmitted. 

    Best regards

    Bjørn

  • Hi Bjørn,

    I do apologize, but i didn't get the last line 

    • "then you need to be in a connection where the link layer ensures that lost packets are retransmitted. "

    Is this mean central needs to connected with peripheral?  or could you give us more information regarding this?

    In Our case all tags are non connectable and we need to scan only adverting packet of our pro priority tags. The nos could go up to 100 tags per 10 seconds.

    For packet missing testing i am searching for only fixed tag with comparing MAC Addr and print timings. 

  • Swapnil Karkare said:

    I do apologize, but i didn't get the last line 

    • "then you need to be in a connection where the link layer ensures that lost packets are retransmitted. "

    Is this mean central needs to connected with peripheral?  or could you give us more information regarding this?

     Yes, that is what I meant. In order to guarantee that all packets sent by the peripheral is received by the central, then the peripheral and central must be connected. If the peripheral is only advertising and the central is scanning, then there will be packets lost either due to packet collisions or the central switching between the advertisement channels. 

     

    Swapnil Karkare said:

    In Our case all tags are non connectable and we need to scan only adverting packet of our pro priority tags. The nos could go up to 100 tags per 10 seconds.

    For packet missing testing i am searching for only fixed tag with comparing MAC Addr and print timings. 

     In this scenario you will have to accept missing packets due to packet collisions or the central switching between the advertisement channels. 

    Best regards

    Bjørn

  • Hi Bjørn,

    Do you have any suggestion regarding how to minimize packet losses?

    Best Regards,

    Swapnil

  • You can make sure thatthe central is scanning all the time, i.e. Scan windon == Scan Interval. Other than that its the RF environment that dictates how often a packet collision occurs. So make sure that there are as little 2.4GHz interference as possible in the area where you are deploying your tags. 

    Best regards

    Bjørn

Reply Children
No Data
Related