FSFW Internal Restructuring - Pulling HAL back into FSFW #443
Labels
No Label
API Change
Breaking API Change
bug
build
cosmetics
Documentation
duplicate
feature
help wanted
hotfix
invalid
question
Refactor
Tests
wontfix
No Milestone
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: fsfw/fsfw#443
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
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
opt
would contain optional components like RMAP and Datalinklayer. These would only be compiled if the user application explicitely linked against FSFW::DATALINKLAYER or FSFW::RMAP.osal
contains the OSAL, and is linked through a CMake target likeFSFW::OSAL::LINUX
orFSFW::OSAL::FREERTOS
contrib
components and the
halwhich would be exposed through targers like
FSFW::HAL::STM32H7,
FSFW::HAL::LINUXor
FSFW::CONTRIB::SPG4`.test
contains the unittests source files, and would only be compiled when linking againFSFW::TESTS
Separating 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