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)
I am working with a CYW4343W and WICED Version: Wiced_006.004.000.0061
My Central application is behving as expected for most of the time, scanning for and connecting to a BLE Server, performing Service and Characteristic discovery, writing to the Server's CCCD, pairing and bonding etc. However, if I leave it to run for a few hours it will intermittently receive the BLE management callback event BTM_ENABLED_EVT with a value of WICED_TIMEOUT for p_event_data->enabled.status.
I have found that ignoring these WICED_TIMEOUT events ultimately results in one the of subsequent calles to a WICED BLE API function such as wiced_bt_gatt_send_discover() etc not returning, after which my application will hang awaiting the API call to return.
My short-term solution is to reset my device whenever the application receives BTM_ENABLED_EVT with a value of WICED_TIMEOUT. However, I would like to know what is the recommended procedure for handling such errors, please?
Also, what are the most likely causes of the BTM_ENABLED_EVT with a value of WICED_TIMEOUT, please?