DHB refactor TM handler #669
Labels
No Label
API Change
Breaking API Change
bug
build
cosmetics
Documentation
duplicate
feature
help wanted
hotfix
invalid
question
Refactor
Tests
wontfix
No Milestone
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: fsfw/fsfw#669
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "mueller/dhb-handle-device-tm"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
SerializeIF
DeviceTmReportingWrapper
to be able to use the newutil::DataWrapper
tagged unionDeviceTmReportingWrapper
deserialize is never used and is kind of tricky to implement now because one would have to pass the length of the expected data. I think the easier solution for now is to just forbid deserializationI am not sure if I completely grasp the scope of this PR but following some thoughts:
SerializeIF
is our generic interface for passing data. Buffer/Size combinations are a subset of it viaSerialBufferAdapter
.For sending raw, uninterpreted data to ground within a DHB class, one can use
DeviceHandlerBase::replyRawReplyIfnotWiretapped()
, which has the benefit of sending it via special PUS Subservice, which lets the MCS detect that it is raw data.replyRawReplyIfnotWiretapped()
is to be preferred overreplyRawData()
as it checks if wiretapping is active to avoid duplicate packets.I needed this after processing a data reply coming from a service 8 request. This was the most intuitive solution for me after having seen how
handleDeviceTm
was used at other places inside the EIVE code. It was used to package data replies for service 8 request. The only addition I really needed was to be able to supply raw buffers, so I would not have to create a dummy class just to wrap the raw pointer.One other way: Supply a second variant of
handleDeviceTm
which takes a raw pointer and a size and converts them to SerializeIF using theSerialBufferAdapter
. See #671Superseded by #671
Pull request closed