Mode Tree #15
Labels
No Label
api
b-api
bug
concepts
duplicate
enhancement
help wanted
invalid
question
wontfix
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: rust/sat-rs#15
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
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?
The FSFW provides the capability to build a mode tree consisting of subsystem, assemblies, device handler and controller nodes.
The mode tree is an abstraction which allows treating and working with the whole system like a high-level object. This is a core component for any framework modelling complex systems like satellites/rovers.
My suggestion would be to implement this in Rust as a composite tree
Just like the FSFW, dedicated mode messages could be used to perform the mode commanding. Every object (or even function) would then get a RX channel object to receive these mode messages and then send a reply accordingly after mode handling is done.
muellerr referenced this issue2022-09-05 13:04:34 +02:00
Actually forget the composite tree.. This might just be a network of Sender/Receiver components, or some related abstraction.. I'd like to keep the information of mode processing capability local to the object in some shape or form..
UPDATE: It appears the biggest challenge is to write beautiful abstractions for the full duplex nature of mode messaging (e.g. Rust mpsc channels only go into one direction) so that the API becomes a bit more intuitive.