nanopb
qpc
nanopb | qpc | |
---|---|---|
19 | 3 | |
4,066 | 892 | |
1.4% | 1.8% | |
7.9 | 6.1 | |
9 days ago | 8 days ago | |
C | C | |
zlib License | GNU General Public License v3.0 or later |
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.
nanopb
- Nanopb – Protocol Buffers for Embedded Systems
-
Looking for a data serialization/deserialization library for use in an embedded system
While I don't have much experience with it directly, I do know that Google's protobuf was designed with minimal footprint capabilities in mind. While it might not work out-the-box for embedded systems, it looks like there is a well maintained open source library NanoPB that "is a small code-size Protocol Buffers implementation in ansi C. It is especially suitable for use in microcontrollers, but fits any memory restricted system." And for added reassurance, it looks like Chromium has a dependency on NanoPB.
-
Embedded communication protocols doc gen
nanopb
-
Lightweight data serialization/deserialization format
Protocol buffers are designed for this. Consider using nanopb on the device side.
-
serialization protocol for rf messages in C
I think you're looking for nanopb, the lightweight implementation of Google's protocol buffers.
-
How to create a program that sends to and receive data from Arduino via Bluetooth using C?
In that runtime environment, using only C is indeed the (very) safe "bet". In particular, I might personally prefer using Nanopb - Protocol Buffers for Embedded Systems.
-
Is a packed struct always the same in size?
I know it’s not the question you asked, but the answer might be this: https://github.com/nanopb/nanopb
-
ESP-Now: multiple devices, but how to do multiple types of data?
The OTHER way to do it is with protobufs, since they don't encode parts of the message that aren't included (that is: any missing part of the message has 0 transmission overhead). nanopb works well on the ESP32.
-
looking for c++ libraries whose equivalent c libraries are also present..
You could look at my library Embedded Proto and Nanopb. If you have any questions let me know.
- How many of you do you actually use C++ for device drivers?
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)
What are some alternatives?
protobuf-c - Protocol Buffers implementation in C
rt-thread - RT-Thread is an open source IoT real-time operating system (RTOS).
EmbeddedProto - Embedded Proto is a C++ Protocol Buffers implementation specifically suitable for microcontrollers. It is small, reliable and easy to use.
arm-none-eabi-gcc-xpack - A binary distribution of the Arm Embedded GCC toolchain
nanopb-example - This is a simple project created to test the capabilities of Google's protobuf C implementation, nanopb.
modern-embedded-programming-course - Companion repository to the "Modern Embedded Systems Programming" video course.
raylib - A simple and easy-to-use library to enjoy videogames programming
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.
stuff_sack - Efficient multi-language message packing / serialization.
makina - A simple hierarchical state machine compiler that generates C.