Commit Graph

102 Commits

Author SHA1 Message Date
8642b13fd1
Merge branch 'mueller/hotfix-etl' into mueller/bump-catch2 2022-04-27 21:55:45 +02:00
6aa72892ed
clean usage of FetchContent_MakeAvailable 2022-04-27 21:53:57 +02:00
50b1b48678
link Catch2 issue 2022-04-27 13:36:26 +02:00
0e0dbc74aa Merge branch 'mueller/hotfix-etl' into mueller/bump-catch2 2022-04-27 09:45:42 +02:00
8c34051d8b
bump Catch2 revision 2022-04-27 09:45:20 +02:00
b00d83cb1a
bump ETL revision 2022-04-27 09:41:16 +02:00
17e609c3a5
some more var replacements 2022-04-27 09:37:11 +02:00
64f0166b64
hotfix for new ETL dependency 2022-04-27 09:16:52 +02:00
c80f06fbcb
hotfix for ETL lib dep 2022-04-27 09:08:17 +02:00
Robin Mueller
4f0669c574
doc update 2022-04-11 16:44:20 +02:00
Robin Mueller
b2252bdc0b
Merge remote-tracking branch 'upstream/development' into mueller/add-etl-dependency 2022-04-04 14:18:30 +02:00
1a530633ca
small fix 2022-03-28 21:10:51 +02:00
8037e8074b
more docs 2022-03-28 21:03:18 +02:00
d07e0e5576
trying something 2022-03-28 21:01:26 +02:00
c2a89bf709
bugfix 2022-03-28 20:57:13 +02:00
8dd0b2608d
cache version variables 2022-03-28 20:55:34 +02:00
05495077ec
doc update 2022-03-28 20:53:39 +02:00
8ff9eadf30
update changelog, add basic instructions for etl 2022-03-28 20:43:36 +02:00
082c86ea18
link ETL lib as well 2022-03-28 20:18:49 +02:00
2800d6f28c
add ETL dependency 2022-03-28 20:16:11 +02:00
Cleanroom Laptop L590
d95582b81b cmake lists update to suppress large warning 2022-03-24 16:54:41 +01:00
f6357b4531 WIP compiler Flags and new unit tests for fixes 2022-02-23 18:23:22 +01:00
c3d78120ea preparing 4.0.0 2022-02-14 16:42:40 +01:00
2e4cd80556 workaround for build regression catch2-v3.0.0-preview4 2022-02-07 15:51:06 +01:00
f93c173715 Merge pull request 'Update development to master v3.0.1' (#546) from master into development
Reviewed-on: fsfw/fsfw#546
2022-02-04 13:29:59 +01:00
bd29688307 bump revision 2022-02-04 13:11:27 +01:00
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
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
bc5a6b4a51
bump catch2 version to v3.0.0-preview4 2022-01-26 12:23:12 +01:00
6c63d82f5c better comment 2022-01-18 18:47:29 +01:00
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