Ichor
etl
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.
Ichor
-
Ichor v0.3.0 released: async file I/O now included
More information on the async I/O can be found in the docs.
- Ichor v0.2.0: C++ Framework for Event Loops, Dependency Injection and More
- Ichor v0.2.0: C++ Framework for Event Loops, Dependency Injection and premade services, now supports constructor injection
-
C++ Show and Tell - March 2023
Ichor v0.2.0 has been released today: https://github.com/volt-software/Ichor/releases/tag/v0.2.0
-
Ichor v0.1.0: dependency injection now with co_await
supporting `co_await` for handling events as well as providing an example HTTP implementation showcasing `co_await`.
-
I'm giving out microgrants to open source projects for the third year in a row! Brag about your projects here so I can see them, big or small!
I've been working on and off as time permits on Ichor. It's a c++ middleware designed to take away a couple problems I had with writing large scale applications:
-
DI in c++ hurt by lack of good libraries?
Kind of tooting my own horn here, but I agree with you and have therefore written my own DI-esque library, Ichor. It does support the use-case of resolve-per-graph, but does this through what Ichor calls filters. Essentially, every created dependency can have a custom filter installed that allows run-time control of which requesting entities are requesting it. The repository has some code examples for you to look at. I'm pretty (but not completely) happy with it.
- Ichor - A framework for combining dependency injection and thread safety with C++20
-
What's needed to bring C++20 to the embedded world?
I've been working on bringing C++20 to the soft-realtime domain through Ichor. I've already managed to get dynamic memory allocations to 0 by using memory allocators everywhere.
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!
What are some alternatives?
kangaru - 🦘 A dependency injection container for C++11, C++14 and later
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.
ConverterNOW - The Unit Converter app: easy, immediate and multi-platform
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)
Simple-Log
ordered-map - C++ hash map and hash set which preserve the order of insertion
sysidentpy - A Python Package For System Identification Using NARMAX Models
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)
mandelbrot-sfml-imgui - Interactive multi-threaded C++ Mandelbrot renderer using SFML + ImGui running at constant 60 FPS
RxCpp - Reactive Extensions for C++
crystal - The Crystal Programming Language
Ygg - An intrusive C++17 implementation of a Red-Black-Tree, a Weight Balanced Tree, a Dynamic Segment Tree and much more!