This is the directory structure I try to follow:
![Image]()
The vendor folder is stuff I pull in with git clone (I mostly need to change the makefile, so a reverence does not work well).
The lib stuff is all my modules, each module is about 1 class in size depending what it does, some helper modules.
The folder hold's the main, it basically just loads each module I want to load.
Everything is build around FreeRTOS to make it easy to pull in and start specific functionality. Most modules communicate with eachother using a from etlcpp.
Each library has it's own makefile that get's used and included.
That's my basic structure I try to follow.
For testing I create _tests folders with specific tests using catch2. I don't test everything.. sorry, but important parts at least![Smile :)]()
Hope that helps...

The vendor folder is stuff I pull in with git clone (I mostly need to change the makefile, so a reverence does not work well).
The lib stuff is all my modules, each module is about 1 class in size depending what it does, some helper modules.
The
Code:
pico_smpEverything is build around FreeRTOS to make it easy to pull in and start specific functionality. Most modules communicate with eachother using a
Code:
messagebusEach library has it's own makefile that get's used and included.
That's my basic structure I try to follow.
For testing I create _tests folders with specific tests using catch2. I don't test everything.. sorry, but important parts at least
Hope that helps...
Statistics: Posted by rvt — Tue Apr 16, 2024 6:52 pm