Skip to content

Transitioning YAMCS Integration to a GDS Plugin #5546

Description

@yvijay99
F´ Version fprime-gds 4.2.2a4
Affected Component yamcs_transport.py

Feature Description

Move the YAMCS transport out of fprime-gds and ship it as a plugin in the fprime-yamcs package instead.

yamcs_transport.py currently lives in fprime-gds core. The plugin system already handles this pattern for framing and comm adapters, but there's no category that fits a test API transport. This would need a new category in PLUGIN_METADATA in plugin/system.py with TransportClient as the spec class and PluginType.SELECTION, since only one backend runs at a time. After that fprime-yamcs can register YamcsClient through a setuptools entry point under fprime_gds.

Rationale

The current layout implies the same architecture for the next backend. yamcs_transport.py sits in fprime-gds core next to the standard GDS transport, so the current way to add a ground system is to edit fprime-gds. A third backend means another file in core, another optional dependency, and another branch wherever the transport gets selected.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status
    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions