Hi
I am running some thing similar to the multiprotocol ble_app_gzll example but using freeRTOS and peer manager. Effectively the the main in ble_app_gzll example is a freeRTOS task.
- The first issue I came across was reinitialising ble. (ie this is the second time the ble is started) The conn_params_init()->ble_conn_params_init() failed with the error NRF_ERROR_INVALID_STATE It looks like the timer cannot be reinitialized.
Do I have to some how delete the timer when stopping the ble task. This would mean it would behave differently to the non freeRTOS version.
I have commented out the APP_CHECK error so it continues to run. I am assuming this timer never gets destroyed which is why the osHandle is not NULL
I can now stop and start the ble module. Is there a better way of doing this?
- However on the 3rd time of initialising there is now a problem with the peer manager. It fails in pm_init -> gcm_init() All the flags are BLE_CONN_STATE_USER_FLAG_INVALID
Any suggestions?