ARMmbed / ARMmbed/ble

There is no way easy way to know if the initialization process failed while using mbed classic

Open
#98 0 comments 0 reactions 0 assignees View on GitHub
enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.