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

Garbage Collection callback (FDS_EVT_GC) was delayed by Bluetooth LE connection

Hi all,

Now I'm analyzing the bug that is the fault of my application's timing control.

On analyzing, I found the difference that  garbage collection callback was delayed whether the device is connected by bluetooth LE  or not.

The difference time is about 20msec to 60msec, so I wondered if it was affected connection interval.

But this callback is executed under softdevice, so I can't find why this matter occurs in truth.

I'can fix this bug by my application, but I'd like to know why it happened.

Please could you let me know the reason.

My conditions are bellow.

* Softdevice : S132

* nRF5 SDK : 12.2.0

* device : nRF52832

Thank you in advance for your help.

  • Hi

    I'm not sure I understand what your problem is exactly. The garbage collection will indeed be scheduled to take place when BLE communication is done. This is expected behavior. What "bug" exactly are you seeing? Also, SDK v12.2.0 is very old at this point, and only has experimental support for the nRF52 series devices. I would strongly recommend moving to a newer SDK version as there have been a lot of bug fixes introduced since then.

    Best regards,

    Simon

  • Hi Simonr.

    Thank you for your answer.

    The problem is that my system had turned off before garbage collection completed during BLE connection.

    So I have to make waiting for FDS_EVT_GC.

    That's my fault. But I want to know the relationship between garbage collection and ble communication. 

    And my system was released a few years ago. It has not updated due to increase the evaluation process still now. 

    I'll consider the possibilities. thank you.

  • Hi

    Garbage collection will end up below BLE in the priority list. It is documented in the functionality section of the FDS library that garbage collection ideally should be run when BLE activity is low, otherwise the operation might time out, as the SoftDevice will take precedence. When garbage collection times out and the FDS_ERR_TIMEOUT is returned by the FDS_EVT_GC event, the system can continue normal operation. Successive calls to fds_gc will then resume garbage collection.

    Best regards,

    Simon

Related