Commit Graph

122 Commits

Author SHA1 Message Date
29bcaee196
some tests for new var len field 2022-08-03 13:34:49 +02:00
60ea9a9a7c
clean up a few tests 2022-08-03 13:15:49 +02:00
458fe460eb
TMTC Routing Refactoring
1. Make TcDistributor less powerful / more flexible and rename it to TcDistributorBase
2. Require AcceptsTelecommandsIF to have an abstract function returning the name
3. Allows the CCSDS distributor to remove the CCSDS header before rerouting. This is useful
for protocols like CFDP which are CCSDS agnostic.

WIP: Still need to implement the removal of the CCSDS header
2022-08-01 11:00:36 +02:00
c7b4dc349a
using uint32_t for getIdentifier of AcceptsTcIF 2022-07-29 15:53:39 +02:00
6c5bbfa080
some renaming 2022-07-29 12:03:14 +02:00
fc3412fa35
set sec header flag and add unit test for it 2022-07-28 15:13:27 +02:00
30ba9ab916
some more fixes 2022-07-28 13:00:53 +02:00
fb4ba487b5
Merge remote-tracking branch 'origin/mueller/expand-retval-if' into mueller/refactor-tmtc-stack 2022-07-28 12:55:42 +02:00
5355e63711
use result instead of retval 2022-07-27 21:43:32 +02:00
f1c37203a4
some more API improvements and replacements 2022-07-26 11:14:40 +02:00
4ed028000d Merge branch 'mueller/expand-retval-if' into mueller/refactor-tmtc-stack 2022-07-26 10:29:51 +02:00
88ebb67c8d
fix deprecation warnings 2022-07-26 10:27:44 +02:00
899d021e00
using uint32_t as store_address requires explicit cast 2022-07-25 11:15:45 +02:00
6c636661b6
a lot of refactoring 2022-07-19 18:13:25 +02:00
7fee852dbd
re-apply updated auto-formatter 2022-05-16 14:55:15 +02:00
7d61e67d20 more macos changes 2022-04-30 19:02:41 +02:00
0e8328fca3 Fixed include based on Feedback 2022-02-24 11:22:51 +01:00
1ef3dae72e Fixed an missing include 2022-02-23 22:36:29 +01:00
09815f5cce Clang format 2022-02-23 18:24:07 +01:00
f6357b4531 WIP compiler Flags and new unit tests for fixes 2022-02-23 18:23:22 +01:00
ddcac2bbac
reapply clang format 2022-02-02 10:29:30 +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