There is no way easy way to know if the initialization process failed while using mbed classic
- Dominant language
- C++
- Stars
- 81
- Forks
- 71
- PR merge metrics
- No merged PRs in 30d
Description
Ble initialisation process in mbed classic should like like this:
``` C++
main() {
BLE::Instance().init();
while (!BLE::Instance().hasInitialized()) {
/* spin wait */
}
/* rest of the initialization ending in the waitForEvent loop */
}
```
If something goes wrong during the initialization, the application has no way to knows it. It will just wait forever that the initialization complete. This can be a problem.
Contributor guide
Research direction
Start at BLE::Instance().init() and BLE::Instance().hasInitialized() in the initialization flow shown in the issue. Trace how initialization failures are handled and define a way for the application to distinguish failure from an ongoing initialization; done should prevent an application from waiting forever without knowing the initialization failed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- embedded-iot
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100