amp-embedded-infra-lib
RIOT
amp-embedded-infra-lib | RIOT | |
---|---|---|
17 | 39 | |
152 | 4,782 | |
2.6% | 0.5% | |
9.3 | 9.9 | |
5 days ago | 6 days ago | |
C++ | C | |
MIT License | GNU Lesser General Public License v3.0 only |
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.
amp-embedded-infra-lib
- Semantic Version GitHub Action
-
Code coverage with clang and gcovr
Have a look here: https://github.com/philips-software/amp-embedded-infra-lib/blob/modern-cmake/cmake/emil_test_helpers.cmake where we use the EMIL_ENABLE_COVERAGE flag.
-
Looking for well written, modern C++ (17/20) example projects for microcontrollers
I can recommend having a look at: - https://github.com/philips-software/amp-embedded-infra-lib (stl-like replacement and utility library including a HAL definition - https://github.com/philips-software/amp-hal-st (HAL implementation for STs based on EMiL HAL) - https://github.com/philips-software/amp-preview (a GUI library for STs based on above mentioned repo's)
- What is on your CI?
-
FreeRTOS-Cpp: C++17 header-only interface to the FreeRTOS kernel API
Not to downplay your work. But, we are in the process, almost finalised, tests and all of adding this kind of support as well. But then to allow freertos to work with c++'s native threading API. https://github.com/philips-software/amp-embedded-infra-lib/tree/feature/add-osal We have a thin wrapper, and during configuration you choose: None, native, freertos or zephyr.
-
What criteria do you use to choose super loop over RTOS
Everything that needs to do something is scheduled using a simple EventDispatcher.schedule(lambda) construction; adding the lambda to the event queue. If you want an example of such a system: https://github.com/philips-software/amp-embedded-infra-lib/blob/modern-cmake/infra/event/EventDispatcher.hpp
-
Looking for a GitHub repo which contains unit tests
You can have a look at https://github.com/philips-software/amp-embedded-infra-lib it is a library project. So not an actual embedded teacher. Although the library is aimed at embedded usage.
-
Implementing callbacks using abstract classes in C++
If you want a good example of a full library then take a look at https://github.com/philips-software/amp-embedded-infra-lib
-
USB HID Device Configuration using nanopb and gRPC
https://github.com/philips-software/amp-embedded-infra-lib had support for RPC over protobuf.
- Looking for modern CMake tutorials or good open spurce examples
RIOT
-
Comp Sci Student Interested in Embedded
RIOT-OS is somewhat popular in academia, it tries to be very approachable but there are still plenty of low hanging fruits with all kinds of hardware and you can use it for software and thesis projects.
-
Open source embedded projects
Just one example: https://github.com/RIOT-OS/RIOT
-
Is Mbed still relevant?
You could also take a look at RIOT-OS. http://riot-os.org
- Woke up today to my first ever pull request of one of my public repos! Wait... oh... oh god...
-
Looking for a GitHub repo which contains unit tests
RIOT-OS has a lot of unit tests for all the boards they support. And it's written in C. https://github.com/RIOT-OS/RIOT/tree/master/tests
-
What's the best book and microcontroller to learn embedded design?
Another option is using RIOT-OS. But that unfortunately doesn't support PWM for the Weact. It does support PWM for the Bluepill and Blackpill STM32f103 and the Nucleo-f446 After quick search. \ https://riot-os.org
-
What should I buy to begin learning embedded systems development?
If you want to use C, I would suggest trying out RIOT-OS. It's a modern embedded operating system, written in C and focussed on IOT. It works on a lot of different boards. https://github.com/RIOT-OS/RIOT
- Best kit to get started using C.
- RIOT-OS 2022.10 ยท Release Notes
-
Programming arduino in actual C
Alternatively, you can also write your code in an RTOS. They often have scripts that make flashing and debugging easy. One that I personally like, and also supports Arduino, is RIOT-OS.
What are some alternatives?
EmbeddedProto - Embedded Proto is a C++ Protocol Buffers implementation specifically suitable for microcontrollers. It is small, reliable and easy to use.
FreeRTOS-Kernel - FreeRTOS kernel files only, submoduled into https://github.com/FreeRTOS/FreeRTOS and various other repos.
etl - Embedded Template Library
zephyr - Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.
IoT-For-Beginners - 12 Weeks, 24 Lessons, IoT for All!
pico-sdk
HFSM2 - High-Performance Hierarchical Finite State Machine Framework
mbed-os - Arm Mbed OS is a platform operating system designed for the internet of things
CubeCell-Helium-vindriktning-particle-sensor - Helium LoRaWAN data reporting via a Heltec Cubecell for the Ikea VINDRIKTNING PM2.5 air quality sensor
mongoose-os - Mongoose OS - an IoT Firmware Development Framework. Supported microcontrollers: ESP32, ESP8266, CC3220, CC3200, STM32F4, STM32L4, STM32F7. Amazon AWS IoT, Microsoft Azure, Google IoT Core integrated. Code in C or JavaScript.
compile-time-init-build - C++ library for composing modular firmware at compile-time.
lwcell - Lightweight cellular modem host AT library