Commit Graph

35 Commits

Author SHA1 Message Date
Ulrich Mohr bd594123a2 Merge remote-tracking branch 'upstream/development' into mohr/merge-upstream 2022-09-14 12:54:15 +02:00
Robin Müller 80464f2a81
Merge branch 'mueller/refactor-serial-buffer-adapter' into mueller/refactor-tmtc-stack 2022-09-05 16:38:58 +02:00
Robin Müller 16688316a8
rename setBuffer to setConstBuffer 2022-09-05 16:31:56 +02:00
Robin Müller 3583e30ee6
rename const buf setter 2022-09-05 16:27:20 +02:00
Robin Müller f91ad84bdc
Merge remote-tracking branch 'upstream/mueller/refactor-tmtc-stack' into mueller/refactor-tmtc-stack-retval-merged 2022-08-24 17:13:41 +02:00
Robin Müller ba5c6410d6
tests running again 2022-08-22 16:23:36 +02:00
Robin Müller 10f34e5a48
Merge remote-tracking branch 'origin/development' into mueller/refactor-tmtc-stack-with-retval-refactoring 2022-08-22 15:57:22 +02:00
Robin Müller 8c8d1cfa84
apply auto-formatter 2022-08-22 15:02:16 +02:00
Ulrich Mohr 217276d50c renamed returnvalue header 2022-08-16 12:48:22 +02:00
Ulrich Mohr f63f3fa564 more occurences in comments 2022-08-16 12:12:21 +02:00
Robin Müller 1037102349
merge retval refactoring 2022-08-16 01:08:26 +02:00
Robin Müller 62fe75ee40
perform renaming 2022-08-15 20:28:16 +02:00
Robin Müller d022ce82c5
Merge remote-tracking branch 'upstream/mueller/refactor-tmtc-stack' into mueller/tmtc-stack-refactoring 2022-08-15 11:30:09 +02:00
Robin Müller fc3412fa35
set sec header flag and add unit test for it 2022-07-28 15:13:27 +02:00
Robin Müller 30ba9ab916
some more fixes 2022-07-28 13:00:53 +02:00
Robin Müller fb4ba487b5
Merge remote-tracking branch 'origin/mueller/expand-retval-if' into mueller/refactor-tmtc-stack 2022-07-28 12:55:42 +02:00
Robin Müller 5355e63711
use result instead of retval 2022-07-27 21:43:32 +02:00
Robin Müller f1c37203a4
some more API improvements and replacements 2022-07-26 11:14:40 +02:00
Robin Müller 4ed028000d Merge branch 'mueller/expand-retval-if' into mueller/refactor-tmtc-stack 2022-07-26 10:29:51 +02:00
Robin Müller 88ebb67c8d
fix deprecation warnings 2022-07-26 10:27:44 +02:00
Robin Müller 899d021e00
using uint32_t as store_address requires explicit cast 2022-07-25 11:15:45 +02:00
Robin Müller 6c636661b6
a lot of refactoring 2022-07-19 18:13:25 +02:00
Robin Müller 942bfafaa3
Merge remote-tracking branch 'upstream/mueller/tc-11-tweaks' into mueller/tc-11-tweaks-eive 2022-05-20 15:39:40 +02:00
Robin Müller 7fee852dbd
re-apply updated auto-formatter 2022-05-16 14:55:15 +02:00
Robin Müller 7f6c8b8b12
Merge remote-tracking branch 'upstream/development' into eive/develop 2022-05-02 16:15:27 +02:00
Robin Müller 7d61e67d20 more macos changes 2022-04-30 19:02:41 +02:00
Robin Müller d6c1041133
Merge remote-tracking branch 'upstream/development' into eive/develop 2022-03-07 15:34:11 +01:00
Steffen Gaisser 0e8328fca3 Fixed include based on Feedback 2022-02-24 11:22:51 +01:00
Steffen Gaisser 1ef3dae72e Fixed an missing include 2022-02-23 22:36:29 +01:00
Steffen Gaisser 09815f5cce Clang format 2022-02-23 18:24:07 +01:00
Steffen Gaisser f6357b4531 WIP compiler Flags and new unit tests for fixes 2022-02-23 18:23:22 +01:00
Robin Müller 701135e2a6
applied clang format 2022-02-22 10:17:56 +01:00
Robin Müller cf69af4e7e
passing mqArgs to all mq ctor calls 2022-02-19 16:14:02 +01:00
Robin Müller ddcac2bbac
reapply clang format 2022-02-02 10:29:30 +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