Closed saphieron closed 3 years ago
Following the unclear interface description, the different headers providing control functionality over the fpga should be restructured into a single, or at least fewer header files in that ElasticNodeMiddleware/ folder. A user of this middleware should optimally have to include as few headers from this single dependency as possible.
The middleware now has a header file which can be includes with and without the DEBUG flag and a separate header file for the monitoring functions on the main MCU.
Following the project structure conventions of the Bazel project creator, that is also followed in e.g. the EmbeddedUtilities project, the Middelware should have 1 or only a few set of public headers that should be exported as library interface. These should be collected in a single subfolder of the same name as the middleware project itself. In our case it would be called a subfolder called "ElasticNodeMiddleware" as well.
This will imply that most of the functionality currently split across multiple internal headers need to be abstracted accordingly by a single API.