Strictly necessary cookies are on by default and cannot be turned off. Functional, Performance and Tracking/targeting/sharing cookies can be turned on below based on your preferences (this banner will remain available for you to accept cookies). You may change your cookie settings by deleting cookies from your browser. Then this banner will appear again. You can learn more details about cookies HERE.
Strictly necessary (always on)
Functional, Performance and Tracking/targeting/sharing (default off)
Improve the Performance of CyBle_ProcessEvents() on PSoC 4 Devices
CyBle_ProcessEvents() might crash in a long run, especially when Deep-Sleep or multiple ISRs are enabled on the same PSoC 4 device.
BLESS (BLE Sub-System) is a self-maintained component. The MCU doesn't directly handle the activities of BLESS but only communicates with it using callbacks, which makes the communication asynchronous. Hence when the MCU frequently switches between different power modes or gets interrupted by ISRs, the BLESS might sometimes run into unknown states and cannot be recovered without a reset. It's an inevitable design defect of asynchronous communication.
To improve the reliability and durability, we should try to strengthen the connection between the MCU and the BLESS.
It's always okay to do this. You can put CyBle_ProcessEvents() inside the critical session in most of your applications. This is not an officially documented solution but I highly recommend it. It only makes slightly detectable changes to your application but it prevents many unexpected issues as the tests reveal.