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

Softdevice crashes/disappears after connection speed test

Hi guys, i was testing the connection speed from android in conjunction with advertisement time to see what will work better in my production code.

The result were:

  • ~3s on 100ms adv time
  • ~7s on 300ms adv time

I have some other sensor readings, adc, flash and timer. I was monitoring firmware status over RTT and what happend was:

after 100 connections the device was unvisible but the code on RTT side was further executing. No reboot or any sign of crash.

This happend multiple times. Do you have any suggestions? Is there somekind of watchdog for Softdevice? Or am i totaly looking at the wrong rabbits hole?

Thanks

Parents
  • FormerMember
    0 FormerMember

    From what I understand, you are measuring the time it takes to connect when a device is advertising.

    1) The longer a connection interval is, the longer time it will take for a scanner to pick up the signals. Especially if the scanner is not scanning continuously. It is hard to know if Android is scanning continuously. To create a continuous scanner, you can for example use pc-ble-driver.

    2) How does the production code work? Does it disconnect immediately after a connect? And after 100 connections, the devices stop to advertise?

  • FormerMember
    0 FormerMember in reply to FormerMember

    In the the cases where it doesn't work, the nRF52 doesn't receive the disconnect command from the phone, could you use the sniffer to check if the disconnect command actually was transmitted?

    If the nRF52 doesn't receive a disconnect event, it will try to send packets until connection supervision timeout. How does your code handle the timeout event BLE_GAP_EVT_TIMEOUT? Does the nRF52 starts to advertise upon a timeout event?

Reply
  • FormerMember
    0 FormerMember in reply to FormerMember

    In the the cases where it doesn't work, the nRF52 doesn't receive the disconnect command from the phone, could you use the sniffer to check if the disconnect command actually was transmitted?

    If the nRF52 doesn't receive a disconnect event, it will try to send packets until connection supervision timeout. How does your code handle the timeout event BLE_GAP_EVT_TIMEOUT? Does the nRF52 starts to advertise upon a timeout event?

Children
No Data
Related