Home - jesdev-io/jescore GitHub Wiki
jescore
Welcome to the wiki for:
J's Embedded Systems Core: a convenient, dynamic and portable wrapper for FreeRTOS running on embedded systems with a central core unit that makes adding, debugging and abstracting new features easy.
About
Want an RTOS-driven, self-aware, dynamic, system daemon-like and user-centric core with native CLI support for your embedded system? jescore
does that: Run multiple jobs concurrently, check and control your system via CLI just like a big-boy OS and test your code like a pro by talking to your MCU directly.
jescore
is a dynamic abstraction library for commonly used FreeRTOS tasks written in C. Its goal is to make development of multitasking procedures easier with more focus on the actual application than the boring backend-stuff. jescore
does that for you. A second goal is native CLI support: As a huge fan of CLIs, I also want this functionality on my embedded systems, to better interact with the device and to test software without hardware. This way, graphical UI elements become naturally abstracted from the actual process. On a desktop OS, calling cd folder
is exactly the same as double-clicking on that folder with the cursor, but the second method provides a good-looking UI, then calls cd folder
by itself. jescore
follows a similar philosophy.
Check the stats of your program
help
command
Run the Activate hardware
Why?
Many times I find myself needing the same type of overarching architecture for embedded systems projects. This includes things like multitasking, interrupts, sampling tasks and user input tasks. As of now, every project consists of me setting up this architecture manually for every project, always slightly different with new knowledge added. At one point I stopped and thought, why not outsource this specific framework into its own project, software, module... Something that is always at the center of my projects: jescore.
The great thing about this name is that it can stand for "J's embedded systems core" but it can also be an homage to the legacy YouTube name "J's e-shack", which inspired this core system in the first place.
Disclaimer
The software shown here is how I like to structure my projects. You might disagree with the way the code is structured. If you would like to try this code out as well, and you are not happy with certain features, you are very welcome to contribute. I keep this core updated to always reflect my current coding style for embedded systems.