Support for Bare metal/single task/thread
- Dominant language
- C
- Stars
- 893
- Forks
- 512
- Avg merge
- 13d 31m
- Merged PRs (30d)
- 7
Description
Multi task environment for simple applications like beacon/eddystone is kind of overkill and increases ROM/RAM requirements.
Also porting the lib to some new OS becomes challenging when time is scarce.
I would love to have an option to run the entire host stack in single task/thread (similar to LWIP in NO_SYS mode).
Here is the pseudo code that I am after.
```C
int main(){
AppInit(); // initialize system
NimbleHostInit(conf, transport, callbacks); // initialize nimble host
while (true) {
AppTask(); // handle all system operations here
NimbleTask(); // handle all nimble host operations here like read from/write to transport
}
return 0;
}
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by locating the existing host initialization and task-processing entry points corresponding to NimbleHostInit and NimbleTask. Compare them with the AppInit/AppTask loop described in the issue. Done would be a supported bare-metal single-task/thread mode that handles host operations without the multi-task environment.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- embedded-iot
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100