This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2541: Proper sequence to restart BLE state machine

Part Number: CC2541

Customer using Peripheral+Observer code. They encounter CC2541's RF function would hang when receiving bursts of advertising data in Observer mode, while trying to Advertise in Peripheral mode. 

For the 8051 to recover the RF function, what is the proper sequence to halt/stop or put into reset the RF state machine? After that, what other function calls do they need to use before re-starting the peripheral+observer mode?

Customer cannot let MCU/8051 go into full MCU reset state due to requirement to control GPIO while BLE is resetting.

  • Hi Eddie,

    Running the stack initialisation should do it, have they tried it?

  • Hi Joakim,

    We're debugging a hang issue, which is not always repeatable. Stack init was used, but we do not know if it caused the crash.

    When observer is receiving a constant flood of incoming advertising packets, can we simply call stack init while Observer is halfway receiving the packet?

    We're looking for advise on proper sequence, so that we know the sequence is not causing the crash.

  • Hi Eddie,

    I believe all necessary operations are reset as well as queues flushes, but I do not know for sure as we don't have those types of reports/ test cases.

    The better path would be to resolve the issue resulting in the needed reset. Do they have full control of memory utilization?