Commit Graph

181 Commits

Author SHA1 Message Date
dd986fefd3
experimenting with PRE_BUILD command 2022-05-10 11:51:25 +02:00
0fe1b70bae
keep LTO option off by default 2022-05-10 11:19:29 +02:00
7b7f5d7e0a Merge branch 'mueller/add-lto-support' of https://egit.irs.uni-stuttgart.de/fsfw/fsfw into mueller/add-lto-support 2022-05-09 16:07:19 +02:00
fd112ed597 enable lto for test target 2022-05-09 16:07:05 +02:00
5989c88c88 indentation 2022-05-09 15:54:29 +02:00
da8a108cb7 Merge remote-tracking branch 'origin/development' into mueller/amft-cmakelists 2022-05-09 15:54:10 +02:00
75132c1e39 Merge branch 'development' into mueller/add-lto-support 2022-05-09 15:52:28 +02:00
736f8d0238 order fix 2022-05-09 15:50:49 +02:00
f1acf8e18b Merge remote-tracking branch 'upstream/development' into mueller/extend-version-class 2022-05-09 15:48:04 +02:00
aacaf52fd9 Merge branch 'development' into mueller/new-cicd-cmake-opts 2022-05-09 15:34:36 +02:00
39b7976056 new cmake options for CICD build 2022-05-09 15:26:38 +02:00
8a40878eb5 Merge remote-tracking branch 'origin/development' into mueller/add-lto-support 2022-05-09 15:17:16 +02:00
220469a2dd Merge remote-tracking branch 'origin/development' into mueller/amft-cmakelists 2022-05-09 15:16:12 +02:00
73ff9b97db bump CMAKE_CXX_STANDARD to C++17 2022-05-09 15:07:46 +02:00
226f28dc7b Move some directives up top 2022-05-09 14:53:52 +02:00
6308427d03
run auto-formatter over cmakelists.txt 2022-05-09 11:18:56 +02:00
5d5a355110 Merge remote-tracking branch 'upstream/development' into mueller/extend-version-class 2022-05-09 11:04:15 +02:00
a943e4eebb
enable LTO where applicable 2022-05-09 02:23:20 +02:00
cb0c80d8dc
add option and cmake module for lto support 2022-05-09 02:22:16 +02:00
b62c19a364 Merge branch 'development' into mueller/extend-version-class 2022-05-02 14:48:23 +02:00
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
4032228005
Merge remote-tracking branch 'upstream/development' into mueller/extend-version-class 2022-04-25 15:15:54 +02:00
617d41c7d5
maybe this fixed CI/CD issues 2022-04-22 15:08:16 +02:00
cccdced74d
unique helper file name 2022-04-22 15:00:04 +02:00
750369b0a6
small addition and possible fix 2022-04-22 14:55:17 +02:00
9c7eba4431
git version handler more robust now 2022-04-22 14:47:28 +02:00
513ae9dc10
prefixed git info variable 2022-04-22 14:38:32 +02:00
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
b951cb736a
add fsfw specific cmake message prefix 2022-04-22 14:08:26 +02:00
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
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' () from master into development
Reviewed-on: 
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' () from mueller/cmake-optimization into development
Reviewed-on: 
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
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