Commit Graph

176 Commits

Author SHA1 Message Date
Robin Müller 43b7a314b6 bump version 2022-02-04 13:11:27 +01:00
Robin Mueller 751de7accc
Merge remote-tracking branch 'upstream/development' into mueller/cfdp-pdus 2022-02-01 11:00:57 +01:00
Ulrich Mohr 02ac92a6b3 Merge pull request 'CMake optimization' (#533) from mueller/cmake-optimization into development
Reviewed-on: fsfw/fsfw#533
2022-01-31 15:41:09 +01:00
Robin Müller bc5a6b4a51
bump catch2 version to v3.0.0-preview4 2022-01-26 12:23:12 +01:00
Robin Müller 6c63d82f5c better comment 2022-01-18 18:47:29 +01:00
Robin Müller 78ddce249c try an optimization 2022-01-18 18:29:54 +01:00
Robin Müller 602fa3a956 Merge remote-tracking branch 'upstream/development' into mueller/cfdp-pdus 2021-12-06 16:12:06 +01:00
Robin Müller 5907f8ee9d
Added CFDP packet stack
This PR adds the packet stack for the CCSDS File Delivery Protocol.
It also refactors the existing TMTC infastructure to allow sending
of CFDP packets to the CCSDS handlers.

This includes the whole PDU (Protocol Data Unit) stack:

- File Data PDUs

and all file directive PDUs

- ACK PDU
- NAK PDU
- Metadata PDU
- Finished PDU
- Prompt PDU
- Keep Alive PDU
- EOF PDU

The PR includes a full set of unittests for the packet stack
with a coverage of 90+ %.

The refactoring of the existing TMTC infastructure includes non-ideal
solutions like diamond inheritance.
Avoiding this solution would require refactoring the packet stack.
This would be a good idea anyway because the existing stack is tightly
coupled to the FSFW, making reuse more difficult if only the stack is
planned to be used without the store functionalities etc.

The PDU implementation provided here is only weakly coupled to the FSFW,
only using components like returnvalues or the Serialization modules.
There are dedicated serializers and deserializers, which also helps in
creating small focused modules which are easy to test.

Some of the modules here were provied by Matthias Tompert.
2021-12-03 15:37:49 +01:00
Robin Müller c2bf09d506 Introducing documentation with Sphinx
This PR introduces the generation of documentation based on
this excellent blog post: https://devblogs.microsoft.com/cppblog/clear-functional-c-documentation-with-sphinx-breathe-doxygen-cmake/

It combines the tools Sphinx, Doxygen and Breathe to generate good
looking HTML documentation conveniently which can be hosted easily.

The helper scripts were unified and there is now one helper.py script
which can be used to create, build and open both tests and documentation.
"./helper.py -h" can be used to get the different options.

This PR also contains some smaller fixes which were necessary for the docs
to build
2021-12-01 11:17:28 +01:00
Robin Müller 42458725e8
more important fix 2021-10-27 17:10:37 +02:00
Robin Müller 060b3a3b2c
added missing leading * 2021-10-11 17:51:13 +02:00
Robin Müller 348975ba5f additional coverage excludes 2021-10-11 17:31:04 +02:00
Robin Müller d4bb9397ee
better handling for configure files 2021-10-11 16:32:19 +02:00
Robin Müller bf5590ce26
configure file correction 2021-10-11 16:25:01 +02:00
Robin Müller 460941c225
tiny tweak 2021-10-11 16:16:49 +02:00
Robin Müller 306a4b647f
more review corrections 2021-10-11 16:06:12 +02:00
Robin Müller 5798aa1e3a
create project to suppress warning 2021-10-11 15:09:19 +02:00
Robin Müller b00f61445d
works 2021-10-11 15:07:52 +02:00
Robin Müller ad117e07e0
FSFW_CONFIG_PATH update 2021-10-11 15:03:03 +02:00
Robin Müller c26c2a5a96
hardcoding config path 2021-10-11 14:56:42 +02:00
Robin Müller e02ac05097
fixed a bug for default cfg path 2021-10-11 13:57:00 +02:00
Robin Müller dd1631a456
updated CMakeLists.txt
- More information about FSFW build
2021-10-07 14:20:34 +02:00
Robin Müller ade15ad16d
tests can now be built as part of FSFW
This PR refactores the tests so they are built as part of the FSFW.
This is done by adding Catch2 with the FetchContent directive.

A future implementation might also use a system installation of Catch2
by first checking whether Catch2 can already be found as a package

The custom configuration folder testcfg was moved from the user folder
to the actual unittest folder.

The tests can be built by setting the CMake FSFW_BUILD_UNITTESTS option
to TRUE/ON. They are built with the static library and dropped inside
the build folders fsfw directory.
2021-10-07 13:24:46 +02:00
Robin Müller 1148adb43d Merge branch 'development' into mueller/conf-file-update 2021-09-13 15:03:08 +02:00
Robin Müller 92d3f0743b
moved change to another PR 2021-08-16 15:26:28 +02:00
Robin Müller fa14ebbe1f
additional check 2021-08-16 15:19:03 +02:00
Robin Müller 6e9a0ddcf4
cmakedefine for OSAL type 2021-08-16 11:23:44 +02:00
Robin Müller a18706ec53
Make FSFW tests accessible from outside
1. Further reduces the amount of code the user needs to copy and paste
2. Makes FSFW tests more accessible. This can be used to simplify moving mission unit tests
   to the FSFW
3. A lot of include improvements
2021-08-16 10:49:07 +02:00
Robin Müller dee063e259 Merge branch 'mueller/master' of https://egit.irs.uni-stuttgart.de/fsfw/fsfw into mueller/master 2021-08-02 15:47:49 +02:00
Robin Müller aabc729e77
include changes 2021-08-02 15:47:12 +02:00
Robin Müller e1f92b3da4
various fixes and improvements 2021-07-30 13:47:29 +02:00
Robin Müller d4f5c31881
optional module handling complete 2021-07-19 18:26:54 +02:00
Robin Müller 243cf42dc4
added hal subfolder 2021-07-15 18:43:16 +02:00
Robin Müller e5807c396c
adding spg4 code option 2021-07-14 11:03:42 +02:00
Robin Müller 82299c7e3e
new test folder 2021-07-14 10:22:58 +02:00
Robin Müller 936d0e9f0c
a lot of internal include replacements 2021-07-13 20:22:54 +02:00
Robin Müller 3a9add82fe
additonal warning 2021-07-13 18:58:31 +02:00
Robin Müller eee84f9318
some more corrections 2021-07-13 18:53:07 +02:00
Robin Müller f14d5edf42
added more cmakelists files 2021-07-13 18:52:19 +02:00
Robin Müller c9156e1219
some cmake fixes for FreeRTOS 2021-07-12 22:34:59 +02:00
Robin Müller c3be4cdee6 Merge remote-tracking branch 'upstream/mueller/master' into mueller/master 2021-05-31 17:06:07 +02:00
Robin Müller ad820fbe99
important bugfix 2021-05-31 17:00:51 +02:00
Robin Müller 722a7b3240
renamed variable 2021-05-31 16:46:32 +02:00
Robin Müller 2bf5a972e1
introduced std check 2021-05-27 11:56:52 +02:00
Robin Müller 01d0bd6c64 Small patch for CMakeLists file
This adds the additional includes to the interface as well
so libraries linking again fsfw get the additional includes
as well.
2021-04-11 21:20:45 +02:00
Robin Müller 5144cbd789 additional inc path now in IF 2021-04-11 02:26:11 +02:00
Robin Müller 3a75be2683 this version is working 2021-03-27 21:51:04 +01:00
Robin Müller aa9d7b2226 Merge remote-tracking branch 'ksat/mueller/master' into mueller/master 2021-03-27 21:33:22 +01:00
Robin Müller eea482b438 added specific compile definitions 2021-03-27 21:27:46 +01:00
Robin Müller 1d818294e4 added option to remove unused code 2021-03-25 18:48:00 +01:00
Robin Müller 581832e4f4 added unittest folder 2021-03-25 18:05:18 +01:00
Robin Müller 9e559658a7 added way to add additional include paths and libraries 2021-03-25 15:35:05 +01:00
Robin Müller 50733e223a small fix 2021-01-19 16:42:18 +01:00
Robin Müller 6a5f5af233 Merge branch 'eive/develop' into eive/shadow-local-warning 2021-01-19 16:39:23 +01:00
Robin Müller e0f8113eac added missing endif 2021-01-19 16:39:12 +01:00
Robin Müller 2e9a855181 updating cmakelists 2021-01-19 16:33:01 +01:00
Robin Müller b23309a5f4 improved options 2021-01-19 16:30:17 +01:00
Robin Müller ffb6208b24 cmake lists update 2021-01-19 16:13:10 +01:00
Robin Müller 0cd457725e trying to suppress certain warnings 2021-01-13 21:35:17 +01:00
Robin Müller c9913ea53a updated cmakelists 2021-01-13 11:47:04 +01:00
Robin Müller bc1513c649 cmake lists updates 2020-12-28 18:06:00 +01:00
Robin Müller d8e5000d47 msvc tests 2020-12-20 15:32:03 +01:00
Robin Müller 3540adf022 added warning flags 2020-12-20 13:21:12 +01:00
Robin Müller c64a9654ea xcompile update 2020-12-19 22:51:10 +01:00
Robin Müller d186b70d2e comment added 2020-12-19 18:41:28 +01:00
Robin Müller 8ede00fdf1 small bugfixes 2020-12-19 18:38:02 +01:00
Robin Müller b8e703ca83 linked against OS 2020-12-19 13:04:16 +01:00
Robin Müller be20978998 better path determination 2020-12-19 12:10:29 +01:00
Robin Müller e030d7ed97 correct interface and private includes 2020-12-19 02:29:22 +01:00
Robin Müller 62b5c19063 small fix 2020-12-17 20:18:16 +01:00
Robin Müller ac40b1c966 cmake list formatting 2020-12-17 11:46:50 +01:00
Robin Müller f128a1dc3d made datalinklayer optional 2020-12-15 23:44:43 +01:00
Robin Müller 5927d944de cmake fixes 2020-12-12 18:32:24 +01:00
Robin Müller d93a8692e0 cmakelists update 2020-12-07 12:59:09 +01:00
Robin Müller 33d4b57400 additional build option 2020-12-07 02:03:42 +01:00
Robin Müller 5e234f1e23 cmake init, printChar tests 2020-12-07 01:40:10 +01:00