qpc
FreeAct
qpc | FreeAct | |
---|---|---|
3 | 4 | |
892 | 88 | |
1.8% | - | |
6.1 | 2.6 | |
6 days ago | 6 months ago | |
C | C | |
GNU General Public License v3.0 or later | 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.
qpc
-
FreeRTOS Communication between tasks - Physical design
The QP/C framework already seems to solve all your problems, so if you're asking how to organize your code, this is the best answer you can get. It also seems a little inconsistent that you are taking FreeRTOS, so you are not considering writing your own RTOS kernel. But at the same time, you are rolling out your own event-driven framework as though it was somehow easier, which is not the case and probably quite the opposite.
- Generic HSM implementation in C
-
I made a state machine compiler that outputs C
HSM-test code in C (on GitHub)
FreeAct
-
Data Ownership between freeRTOS threads
Perhaps you could take a look at "FreeACT" project on GitHub, which shows the first steps in building an "Active Object" framework on top of FreeRTOS. The "FreeACT" framework currently does not have event management yet, but you could add it. This is an open-source project permissively licensed under the MIT license and everyone is welcome to contribute.
-
Beginner's guide for professional firmware development?
Finally, for anyone interested in specific code, there is a FreeACT project on GitHub, where you can find a rudimentary Active Object Framework built on top of FreeRTOS.
-
FreeRTOS Communication between tasks - Physical design
You will also need to be careful with blocking, because this clogs the event-loop that each of your tasks will be running. Among others, that means that you cannot use vTaskDelay(), for example. Instead, you would need to replace all such blocking mechanisms with event-driven equivalents. For example, you need to implement time-events instead of the blocking delay(). Here, you might want to take a look at the "FreeACT" minimal real-time framework based on FreeRTOS.
- Adding dependencies of FreeRTOS in drivers
What are some alternatives?
rt-thread - RT-Thread is an open source IoT real-time operating system (RTOS).
cFE - The Core Flight System (cFS) Core Flight Executive (cFE)
arm-none-eabi-gcc-xpack - A binary distribution of the Arm Embedded GCC toolchain
mpu925x-driver - Platform independent driver for MPU-9250 and MPU-9255 sensors.
modern-embedded-programming-course - Companion repository to the "Modern Embedded Systems Programming" video course.
QuarkTS - An open-source OS for embedded applications that supports prioritized cooperative scheduling, time control, inter-task communications primitives, hierarchical state machines and CoRoutines.
zephyr - Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.
nanopb - Protocol Buffers with small code size
makina - A simple hierarchical state machine compiler that generates C.
firmware - Firmware projects, shared libraries, and code generation for PER car
qtools - QTools collection of open source tools for embedded systems development on Windows, Linux and MacOS
tiny