Dedicated interfaces to expose mode tree functionality
ModeTreeChildIF for objects which can be mode tree children
HasModeTreeChildrenIF for parent objects
ModeTreeConnectionIF for connecting parent and child
The EIVE SW was developed with the V-model, which means that lower level components like assemblies, device handlers and controllers are developed first. The previous implementation meant that objects::NO_OBJECT was passed as the parent parameter everywhere. The parent is now not passed to base classes like SubsystemBase and ControllerBase anymore, and there is a deciated function connectModeTreeParent exposed by the ModeTreeConnectionIF to connect a parent component to a mode tree child.
The new connector function does everything in one place: Registering the child in the parent, and setting the parent command queue in the children. This means there is no confusion about the call direction anymore: This function does both.
DHB is now a regular mode tree object, no need for the ChildHandler just to attach it to a subsystem. In my opinion, not every satellite has or needs an assembly for every device handler
- Improved API and logic for mode tree build up
- Dedicated interfaces to expose mode tree functionality
- `ModeTreeChildIF` for objects which can be mode tree children
- `HasModeTreeChildrenIF` for parent objects
- `ModeTreeConnectionIF` for connecting parent and child
- The EIVE SW was developed with the V-model, which means that lower level components like assemblies, device handlers and controllers are developed first. The previous implementation meant that `objects::NO_OBJECT` was passed as the parent parameter everywhere. The parent is now not passed to base classes like `SubsystemBase` and `ControllerBase` anymore, and there is a deciated function `connectModeTreeParent` exposed by the `ModeTreeConnectionIF` to connect a parent component to a mode tree child.
- The new connector function does everything in one place: Registering the child in the parent, and setting the parent command queue in the children. This means there is no confusion about the call direction anymore: This function does both.
- DHB is now a regular mode tree object, no need for the ChildHandler just to attach it to a subsystem. In my opinion, not every satellite has or needs an assembly for every device handler
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
ModeTreeChildIFfor objects which can be mode tree childrenHasModeTreeChildrenIFfor parent objectsModeTreeConnectionIFfor connecting parent and childobjects::NO_OBJECTwas passed as the parent parameter everywhere. The parent is now not passed to base classes likeSubsystemBaseandControllerBaseanymore, and there is a deciated functionconnectModeTreeParentexposed by theModeTreeConnectionIFto connect a parent component to a mode tree child.