|
|
| 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.
Feature Description
Move the YAMCS transport out of
fprime-gdsand ship it as a plugin in thefprime-yamcspackage instead.yamcs_transport.pycurrently lives infprime-gdscore. 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 inPLUGIN_METADATAinplugin/system.pywithTransportClientas the spec class andPluginType.SELECTION, since only one backend runs at a time. After thatfprime-yamcscan registerYamcsClientthrough asetuptoolsentry point underfprime_gds.Rationale
The current layout implies the same architecture for the next backend.
yamcs_transport.pysits infprime-gdscore next to the standard GDS transport, so the current way to add a ground system is to editfprime-gds. A third backend means another file in core, another optional dependency, and another branch wherever the transport gets selected.