etl
amp-embedded-infra-lib
Our great sponsors
etl | amp-embedded-infra-lib | |
---|---|---|
55 | 17 | |
1,949 | 152 | |
2.4% | 6.6% | |
9.2 | 9.3 | |
6 days ago | about 24 hours ago | |
C++ | C++ | |
MIT License | 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.
etl
-
Modern C++ Programming Course
If you can't use the STL because of exceptions: https://www.etlcpp.com/
- How many of you do you actually use C++?
-
Undefined Behavior?
You can also use ETL (https://www.etlcpp.com)
-
As an embedded programmer which parts of C++ should I focus?
Use ETL for embedded standard library functionality: https://www.etlcpp.com/
-
C++ on embedded studio
The best choice here is use embedded Template Library: https://www.etlcpp.com/
-
C++20 for bare-metal microcontroller programming
If you can't get C++23, expected it's implemented in the ETL (it's also just a really amazing library for this kind of stuff - highly recommend!).
-
Recompile C++ Standard library to only include classes that are embedded system friendly
I want to use some of C++ std library classes/functions in my embedded system library project that I'm writing. However as the environment has limited ressources I don't want to have use or expose classes or functions that do the following: * Dynamic memory allocations * RTTI * Runtime exceptions I will be rewriting some basic container and algorithms according to my needs. I know that there are other re writes of STL like ESTL but I don't want to have any external dependencies So my question is can I somehow compile/package a fork of C++ std library that only include embedded systems friendly classes such as: - array - tuple - variant - type_traits Etc This compiled library must be completely standalone. The compiler that I use can support upto C++17 standard.
- Looking for well written, modern C++ (17/20) example projects for microcontrollers
-
What are some essential libraries for embedded systems everyone should learn?
I will never not recommend the Embedded Template Library
-
What programming language should I pick up as a senior developer ?
STL containers use dynamic memory allocation which is often a no-no in embedded contexts. there is the ETL https://www.etlcpp.com/ but I haven't used it!
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
What are some alternatives?
EA Standard Template Library - EASTL stands for Electronic Arts Standard Template Library. It is an extensive and robust implementation that has an emphasis on high performance.
EmbeddedProto - Embedded Proto is a C++ Protocol Buffers implementation specifically suitable for microcontrollers. It is small, reliable and easy to use.
graphMat - A matrix header-only library, uses graphs internally, helpful when your matrix is part of a simulation where it needs to grow many times (or auto expand)
IoT-For-Beginners - 12 Weeks, 24 Lessons, IoT for All!
ordered-map - C++ hash map and hash set which preserve the order of insertion
HFSM2 - High-Performance Hierarchical Finite State Machine Framework
libsrt - libsrt is a C library for writing fast and safe C code, faster. It provides string, vector, bit set, set, map, hash set, and hash map handling. Suitable for soft and hard real-time. Allows both heap and stack allocation. *BETA* (API still can change: suggestions are welcome)
CubeCell-Helium-vindriktning-particle-sensor - Helium LoRaWAN data reporting via a Heltec Cubecell for the Ikea VINDRIKTNING PM2.5 air quality sensor
RxCpp - Reactive Extensions for C++
compile-time-init-build - C++ library for composing modular firmware at compile-time.
Ygg - An intrusive C++17 implementation of a Red-Black-Tree, a Weight Balanced Tree, a Dynamic Segment Tree and much more!
sml - C++14 State Machine library