qpcpp
Super-Simple-Tasker
qpcpp | Super-Simple-Tasker | |
---|---|---|
1 | 3 | |
351 | 130 | |
2.0% | 0.8% | |
6.5 | 4.8 | |
9 days ago | 2 months ago | |
C++ | C | |
- | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
qpcpp
Super-Simple-Tasker
-
At what point would you consider using an RTOS?
Lately I have been working with interrupt driven task frameworks on ARM Cortex-M. Basically they are using the ARM NVIC as a task scheduler. Examples for C/C++ include this one: Super Simple Tasker. For Rust there is RTIC. Both are based on similar ideas of using NVIC as scheduling engine. Very efficient resource-wise but use a somewhat different programming paradigm than traditional RTOS threads.
-
Seeking Innovative Project Suggestions
Take a look at the open-source Super-Simple Tasker project on GitHub. This project implements a preemptive RTOS/scheduler in the hardware of the ARM Cortex-M. It is related to such concepts and projects as:
-
How to deal with fast control loops in a RTOS environment?
I agree with KenaDra that such a kernel would be ideal for fast control loops and hard real-time requirements, so the OP should definitely take a look. Specifically for STM32 (ARM Cortex-M), there are some hardware implementations of such kernels that take advantage of the NVIC. An example is the SST for ARM Cortex-M. This kernel will outperform any traditional RTOS kernel on Cortex-M.
What are some alternatives?
roost_hsm - A C++11 Hierarchical State Machine Library
lwesp - Lightweight and versatile AT parser library for ESP8266 and ESP32 devices.
iara - The asynchronous framework for modern C++
rulos - Ravenna Ultra-Low-Altitude Operating System: An embedded OS for AVR and ARM CPUs
modern-embedded-programming-course - Companion repository to the "Modern Embedded Systems Programming" video course.
crect - A C++, compile-time, reactive RTOS for the Stack Resource Policy based Real-Time For the Masses kernel
VibSense - VibSense: A ~3kHz wireless vibration sensor powered by M5stack-core & MPU6886, optimized with RTOS for real-time measurements.
PIF-Image-Format - Image format, tools & librares for limited embedded systems
QuarkTS - An open-source OS for embedded applications that supports prioritized cooperative scheduling, time control, inter-task communications primitives, hierarchical state machines and CoRoutines.
jerryscript - Ultra-lightweight JavaScript engine for the Internet of Things.
buck50 - STM32F103 logic analyzer and more