FSFW Internal Restructuring - Pulling HAL back into FSFW #443
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
I think it would be a good idea to pull the HAL library back into the FSFW because it is tightly bound to the FSFW in some aspects, and compiling it as a separate library makes some steps a lot more complicated when using CMake.
I think it would be a good idea to rethink the internal structure of the FSFW if this is done, also keeping issue #429 in mind. A new internal structure could also be used to avoid using relativ paths in the internal include structure. This would require separating header files fron source files. The new structure could look like this
optwould contain optional components like RMAP and Datalinklayer. These would only be compiled if the user application explicitely linked against FSFW::DATALINKLAYER or FSFW::RMAP.osalcontains the OSAL, and is linked through a CMake target likeFSFW::OSAL::LINUXorFSFW::OSAL::FREERTOScontrib
components and thehalwhich would be exposed through targers likeFSFW::HAL::STM32H7,FSFW::HAL::LINUXorFSFW::CONTRIB::SPG4`.testcontains the unittests source files, and would only be compiled when linking againFSFW::TESTSSeparating source from header files allows using something like
#include "fsfw/returnvalues/HasReturnvaluesIF.h"in the framework again without changing the API for a user. This increased the number of include paths add by the FSFW (core/inc/fsfw,hal/inc/fsfw) but I don't think this is an issue.Probably better (for developers especially):
Was merged in #445