Commit Graph

4215 Commits

Author SHA1 Message Date
30687f84c8 Merge branch 'mueller/cmd-executor' of https://egit.irs.uni-stuttgart.de/eive/fsfw into mueller/cmd-executor 2022-02-02 09:56:41 +01:00
fed39defd3
update helper script 2022-02-02 09:56:12 +01:00
acbc2cd749
valgrind why 2022-02-01 18:04:08 +01:00
368481f88b
move strcmp outside of macro 2022-02-01 14:04:13 +01:00
d2b561ba2f
test 2022-02-01 13:57:27 +01:00
990e8672a8
update dockerfile 2022-02-01 13:47:16 +01:00
Robin Mueller
9cde8c7f45 Merge branch 'mueller/cfdp-pdus' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/cfdp-pdus 2022-02-01 11:01:19 +01:00
Robin Mueller
751de7accc
Merge remote-tracking branch 'upstream/development' into mueller/cfdp-pdus 2022-02-01 11:00:57 +01:00
74ae3f1371 Merge remote-tracking branch 'upstream/development' into mueller/cmd-executor 2022-02-01 10:49:14 +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
b83b2e8f89 Merge pull request 'Catch 2 Update' (#538) from mueller/catch2-update into development
Reviewed-on: fsfw/fsfw#538
2022-01-31 15:18:42 +01:00
8a39971a1c oops, wrong language 2022-01-31 15:11:37 +01:00
1ead156c64 added --pull to the docker build 2022-01-31 15:08:52 +01:00
5b968f7e5a Can't use env variables in top leve agent section 2022-01-31 15:01:45 +01:00
b98127cea6 Updated CI Build
- Always clean and rebuild docker image.
- Use single docker container
2022-01-31 14:59:45 +01:00
eba9abfc9a Jenkinsfile syntax is weird, maybe this works... 2022-01-28 14:10:24 +01:00
Robin Mueller
bf7fabd7ba
commented out when block 2022-01-28 13:46:05 +01:00
Robin Mueller
cf3d4d8de3
cleanDocker 2022-01-28 13:43:21 +01:00
Robin Mueller
8414c9d471
added steps 2022-01-28 13:36:43 +01:00
Robin Mueller
386843e3e7
update jenkinsfile 2022-01-28 13:33:06 +01:00
441b3b83c8
Changes to Dockerfile and Jenkinsfile
1. Install Catch2 from sources inside a Docker stage/layer
2. Some tweaks to Jenkinsfile
2022-01-27 11:30:33 +01:00
c453af5911
cleanCI 2022-01-26 15:30:01 +01:00
fe95c3337a
changed builddir name in Jenkinsfile 2022-01-26 12:28:30 +01:00
bc5a6b4a51
bump catch2 version to v3.0.0-preview4 2022-01-26 12:23:12 +01:00
371ff931bf
Linux CommandExecutor
The CommandExecutor helper class can execute shell commands in blocking and non-blocking mode
This class is able to execute processes by using the Linux popen call. It also has the capability of writing
the read output of a process into a provided ring buffer.

The executor works by first loading the command which should be executed and specifying whether
it should be executed blocking or non-blocking. After that, execution can be started with the execute call.

Using non-blocking mode allows to execute commands which might take a longer time in the background,
and allowing the user thread to check completion status with the check function

Moved to HAL like requested in code review and unit tested with failing commands as well.
Also, Linux HAL components are compiled by default now unless explicitely disabled.
2022-01-26 12:11:52 +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
2a268e14d1 Merge pull request 'Release v3.0.0' (#532) from development into master
Reviewed-on: fsfw/fsfw#532
2022-01-10 14:52:31 +01:00
d93f2c5055 Merge branch 'development' into mueller/cfdp-pdus 2021-12-20 14:16:02 +01:00
bd64a43819 Merge pull request 'simplified test controller and added docs gitignore' (#530) from mueller/controller-update into development
Reviewed-on: fsfw/fsfw#530
2021-12-20 14:15:37 +01:00
d0c7878da4
simplified test controller and added docs gitignore 2021-12-14 17:50:23 +01:00
2bd1e6acbd Merge pull request 'Added formatting scripts' (#527) from KSat/fsfw:mueller/clang-shell-script into development
Reviewed-on: fsfw/fsfw#527
2021-12-13 14:26:22 +01:00
9697575f50 Merge branch 'development' into mueller/clang-shell-script 2021-12-13 14:25:11 +01:00
cec44ad44c Merge pull request 'improved win32 define' (#529) from KSat/fsfw:woodward/define-improvement into development
Reviewed-on: fsfw/fsfw#529
2021-12-13 14:20:50 +01:00
David
661b7b44e0 improved win32 define 2021-12-12 19:28:51 +01:00
d39e0c8bb6
renamed test folder 2021-12-07 14:08:26 +01:00
e952a82b65
small tweaks and fixes 2021-12-07 13:14:57 +01:00
7a84dff7d6
maybe this fixes the build error? 2021-12-06 16:23:09 +01:00
6a6f6011ba Merge branch 'mueller/cfdp-pdus' of https://egit.irs.uni-stuttgart.de/KSat/fsfw into mueller/cfdp-pdus 2021-12-06 16:12:32 +01:00
602fa3a956 Merge remote-tracking branch 'upstream/development' into mueller/cfdp-pdus 2021-12-06 16:12:06 +01:00
c3a0aabfb8 Merge branch 'development' into mueller/cfdp-pdus 2021-12-06 15:07:51 +01:00
cbcfa8fe56 Merge remote-tracking branch 'upstream/development' into mueller/clang-shell-script 2021-12-06 15:06:05 +01:00
32ba4301e4 Merge pull request 'Introducing documentation with Sphinx' (#526) from mueller/sphinx-docs into development
Reviewed-on: fsfw/fsfw#526
2021-12-06 15:05:29 +01:00
4a5204d6f6
small fix for helper script 2021-12-06 14:46:31 +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
df45f02c39
script fixes, odd behaviour 2021-12-03 14:55:00 +01:00
15dddd7fc4
small README section for formatting 2021-12-01 16:17:27 +01:00
fd7581f8ba Added formatting scripts
1. Added .clang-format file which contains information for the
   clang-format tool on how to format source files
2. Added shell helper script to apply all changes on HAL soures,
   test sources and primary sources

The shell script was not applied yet. This should be done shortly
before introducing the release. Also, it might be good idea to provide
instructions on how to set up the formatter for Eclipse
2021-12-01 16:11:57 +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
bf31248a50 Merge pull request 'Update SerializeAdapter' (#513) from KSat/fsfw:mueller/serializeif-update into development
Reviewed-on: fsfw/fsfw#513
2021-11-29 14:37:40 +01:00