Commit Graph

176 Commits

Author SHA1 Message Date
Robin Müller da8a108cb7 Merge remote-tracking branch 'origin/development' into mueller/amft-cmakelists 2022-05-09 15:54:10 +02:00
Robin Müller 75132c1e39 Merge branch 'development' into mueller/add-lto-support 2022-05-09 15:52:28 +02:00
Robin Müller 736f8d0238 order fix 2022-05-09 15:50:49 +02:00
Robin Müller f1acf8e18b Merge remote-tracking branch 'upstream/development' into mueller/extend-version-class 2022-05-09 15:48:04 +02:00
Robin Müller aacaf52fd9 Merge branch 'development' into mueller/new-cicd-cmake-opts 2022-05-09 15:34:36 +02:00
Robin Müller 39b7976056 new cmake options for CICD build 2022-05-09 15:26:38 +02:00
Robin Müller 8a40878eb5 Merge remote-tracking branch 'origin/development' into mueller/add-lto-support 2022-05-09 15:17:16 +02:00
Robin Müller 220469a2dd Merge remote-tracking branch 'origin/development' into mueller/amft-cmakelists 2022-05-09 15:16:12 +02:00
Robin Müller 73ff9b97db bump CMAKE_CXX_STANDARD to C++17 2022-05-09 15:07:46 +02:00
Robin Müller 226f28dc7b Move some directives up top 2022-05-09 14:53:52 +02:00
Robin Müller 6308427d03
run auto-formatter over cmakelists.txt 2022-05-09 11:18:56 +02:00
Robin Müller 5d5a355110 Merge remote-tracking branch 'upstream/development' into mueller/extend-version-class 2022-05-09 11:04:15 +02:00
Robin Müller a943e4eebb
enable LTO where applicable 2022-05-09 02:23:20 +02:00
Robin Müller cb0c80d8dc
add option and cmake module for lto support 2022-05-09 02:22:16 +02:00
Robin Müller b62c19a364 Merge branch 'development' into mueller/extend-version-class 2022-05-02 14:48:23 +02:00
Robin Müller 8642b13fd1
Merge branch 'mueller/hotfix-etl' into mueller/bump-catch2 2022-04-27 21:55:45 +02:00
Robin Müller 6aa72892ed
clean usage of FetchContent_MakeAvailable 2022-04-27 21:53:57 +02:00
Robin Müller 50b1b48678
link Catch2 issue 2022-04-27 13:36:26 +02:00
Robin Müller 0e0dbc74aa Merge branch 'mueller/hotfix-etl' into mueller/bump-catch2 2022-04-27 09:45:42 +02:00
Robin Müller 8c34051d8b
bump Catch2 revision 2022-04-27 09:45:20 +02:00
Robin Müller b00d83cb1a
bump ETL revision 2022-04-27 09:41:16 +02:00
Robin Müller 17e609c3a5
some more var replacements 2022-04-27 09:37:11 +02:00
Robin Müller 64f0166b64
hotfix for new ETL dependency 2022-04-27 09:16:52 +02:00
Robin Müller c80f06fbcb
hotfix for ETL lib dep 2022-04-27 09:08:17 +02:00
Robin Müller 4032228005
Merge remote-tracking branch 'upstream/development' into mueller/extend-version-class 2022-04-25 15:15:54 +02:00
Robin Müller 617d41c7d5
maybe this fixed CI/CD issues 2022-04-22 15:08:16 +02:00
Robin Müller cccdced74d
unique helper file name 2022-04-22 15:00:04 +02:00
Robin Müller 750369b0a6
small addition and possible fix 2022-04-22 14:55:17 +02:00
Robin Müller 9c7eba4431
git version handler more robust now 2022-04-22 14:47:28 +02:00
Robin Müller 513ae9dc10
prefixed git info variable 2022-04-22 14:38:32 +02:00
Robin Müller effecd4662
include cmake-modules manually instead
- Instead of using FetchContent
- Separate folder for easier update and for distintion
- LICENSE file included
2022-04-22 14:33:34 +02:00
Robin Müller b951cb736a
add fsfw specific cmake message prefix 2022-04-22 14:08:26 +02:00
Robin Müller 07155e2546
extend version handling with git describe 2022-04-22 14:04:18 +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
Robin Müller 1a530633ca
small fix 2022-03-28 21:10:51 +02:00
Robin Müller 8037e8074b
more docs 2022-03-28 21:03:18 +02:00
Robin Müller d07e0e5576
trying something 2022-03-28 21:01:26 +02:00
Robin Müller c2a89bf709
bugfix 2022-03-28 20:57:13 +02:00
Robin Müller 8dd0b2608d
cache version variables 2022-03-28 20:55:34 +02:00
Robin Müller 05495077ec
doc update 2022-03-28 20:53:39 +02:00
Robin Müller 8ff9eadf30
update changelog, add basic instructions for etl 2022-03-28 20:43:36 +02:00
Robin Müller 082c86ea18
link ETL lib as well 2022-03-28 20:18:49 +02:00
Robin Müller 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
Steffen Gaisser f6357b4531 WIP compiler Flags and new unit tests for fixes 2022-02-23 18:23:22 +01:00
Ulrich Mohr c3d78120ea preparing 4.0.0 2022-02-14 16:42:40 +01:00
Ulrich Mohr 2e4cd80556 workaround for build regression catch2-v3.0.0-preview4 2022-02-07 15:51:06 +01:00
Ulrich Mohr 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
Robin Müller bd29688307 bump revision 2022-02-04 13:11:27 +01:00
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