Commit Graph

121 Commits

Author SHA1 Message Date
78ddce249c try an optimization 2022-01-18 18:29:54 +01:00
602fa3a956 Merge remote-tracking branch 'upstream/development' into mueller/cfdp-pdus 2021-12-06 16:12:06 +01:00
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
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
42458725e8
more important fix 2021-10-27 17:10:37 +02:00
060b3a3b2c
added missing leading * 2021-10-11 17:51:13 +02:00
348975ba5f additional coverage excludes 2021-10-11 17:31:04 +02:00
d4bb9397ee
better handling for configure files 2021-10-11 16:32:19 +02:00
bf5590ce26
configure file correction 2021-10-11 16:25:01 +02:00
460941c225
tiny tweak 2021-10-11 16:16:49 +02:00
306a4b647f
more review corrections 2021-10-11 16:06:12 +02:00
5798aa1e3a
create project to suppress warning 2021-10-11 15:09:19 +02:00
b00f61445d
works 2021-10-11 15:07:52 +02:00
ad117e07e0
FSFW_CONFIG_PATH update 2021-10-11 15:03:03 +02:00
c26c2a5a96
hardcoding config path 2021-10-11 14:56:42 +02:00
e02ac05097
fixed a bug for default cfg path 2021-10-11 13:57:00 +02:00
dd1631a456
updated CMakeLists.txt
- More information about FSFW build
2021-10-07 14:20:34 +02:00
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
1148adb43d Merge branch 'development' into mueller/conf-file-update 2021-09-13 15:03:08 +02:00
92d3f0743b
moved change to another PR 2021-08-16 15:26:28 +02:00
fa14ebbe1f
additional check 2021-08-16 15:19:03 +02:00
6e9a0ddcf4
cmakedefine for OSAL type 2021-08-16 11:23:44 +02:00
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
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
aabc729e77
include changes 2021-08-02 15:47:12 +02:00
e1f92b3da4
various fixes and improvements 2021-07-30 13:47:29 +02:00
d4f5c31881
optional module handling complete 2021-07-19 18:26:54 +02:00
243cf42dc4
added hal subfolder 2021-07-15 18:43:16 +02:00
e5807c396c
adding spg4 code option 2021-07-14 11:03:42 +02:00
82299c7e3e
new test folder 2021-07-14 10:22:58 +02:00
936d0e9f0c
a lot of internal include replacements 2021-07-13 20:22:54 +02:00
3a9add82fe
additonal warning 2021-07-13 18:58:31 +02:00
eee84f9318
some more corrections 2021-07-13 18:53:07 +02:00
f14d5edf42
added more cmakelists files 2021-07-13 18:52:19 +02:00
c9156e1219
some cmake fixes for FreeRTOS 2021-07-12 22:34:59 +02:00
c3be4cdee6 Merge remote-tracking branch 'upstream/mueller/master' into mueller/master 2021-05-31 17:06:07 +02:00
ad820fbe99
important bugfix 2021-05-31 17:00:51 +02:00
722a7b3240
renamed variable 2021-05-31 16:46:32 +02:00
2bf5a972e1
introduced std check 2021-05-27 11:56:52 +02:00
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
5144cbd789 additional inc path now in IF 2021-04-11 02:26:11 +02:00
3a75be2683 this version is working 2021-03-27 21:51:04 +01:00
aa9d7b2226 Merge remote-tracking branch 'ksat/mueller/master' into mueller/master 2021-03-27 21:33:22 +01:00
eea482b438 added specific compile definitions 2021-03-27 21:27:46 +01:00
1d818294e4 added option to remove unused code 2021-03-25 18:48:00 +01:00
581832e4f4 added unittest folder 2021-03-25 18:05:18 +01:00
9e559658a7 added way to add additional include paths and libraries 2021-03-25 15:35:05 +01:00
50733e223a small fix 2021-01-19 16:42:18 +01:00
6a5f5af233 Merge branch 'eive/develop' into eive/shadow-local-warning 2021-01-19 16:39:23 +01:00
e0f8113eac added missing endif 2021-01-19 16:39:12 +01:00
2e9a855181 updating cmakelists 2021-01-19 16:33:01 +01:00
b23309a5f4 improved options 2021-01-19 16:30:17 +01:00
ffb6208b24 cmake lists update 2021-01-19 16:13:10 +01:00
0cd457725e trying to suppress certain warnings 2021-01-13 21:35:17 +01:00
c9913ea53a updated cmakelists 2021-01-13 11:47:04 +01:00
bc1513c649 cmake lists updates 2020-12-28 18:06:00 +01:00
d8e5000d47 msvc tests 2020-12-20 15:32:03 +01:00
3540adf022 added warning flags 2020-12-20 13:21:12 +01:00
c64a9654ea xcompile update 2020-12-19 22:51:10 +01:00
d186b70d2e comment added 2020-12-19 18:41:28 +01:00
8ede00fdf1 small bugfixes 2020-12-19 18:38:02 +01:00
b8e703ca83 linked against OS 2020-12-19 13:04:16 +01:00
be20978998 better path determination 2020-12-19 12:10:29 +01:00
e030d7ed97 correct interface and private includes 2020-12-19 02:29:22 +01:00
62b5c19063 small fix 2020-12-17 20:18:16 +01:00
ac40b1c966 cmake list formatting 2020-12-17 11:46:50 +01:00
f128a1dc3d made datalinklayer optional 2020-12-15 23:44:43 +01:00
5927d944de cmake fixes 2020-12-12 18:32:24 +01:00
d93a8692e0 cmakelists update 2020-12-07 12:59:09 +01:00
33d4b57400 additional build option 2020-12-07 02:03:42 +01:00
5e234f1e23 cmake init, printChar tests 2020-12-07 01:40:10 +01:00