Linux TmTcUnixUdpBridge #125
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
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: fsfw/fsfw#125
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
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?
To enable testing of device handlers or other software components without hardware, I am implementing a TMTC bridge which creates a socket on localhost to send TMTCs with some other software (or possible internally with another FSFW component).
THe first version will use UDP datagrams.
The Tc reception will be handled in a separate software task as it will propably be a blocking call to poll telecommands.
WIP: Linux TmTcUnixUdpBridgeto Linux TmTcUnixUdpBridgeUPDATE: The TMTC bridge is working. There were some issues with the IP address in the reception socket being different from the one in Python, but the current version is working with the TMTC script used by SOURCE.
Any TMTC software can be used, the telecommands are simply sent as udp datagrams to localhost on the port 7301.
The telemetry can be received from any address on port 7302.
I will create a pull request soon.
Those will also include some small changes to the generic TMTC bridge:
A default implementation of handleTc is provided and receiveTc was deleted.
In most cases I have seen so far, the TC reception is handled in a different (polling) task anyway. This was also the case for the UDP reception: There is a TcUnixPollingTask and the TmTcUnixUdpBridge which handles TM sending. The TMTC Bridge will simply forward the messages to the TMTC distributor objects directly, so I implemented that.