NASA-AMMOS / AIT-DSN

MIT License
19 stars 10 forks source link

Issue #210 - Adding DSN Monitor plugin #211

Closed nttoole closed 5 months ago

nttoole commented 5 months ago

Lunar Trailblazer (LTB) is using AIT and is curious about AIT adding support to display the DSN monitor data.

SunRise implemented a plugin that performs the processing of monitor data using the AMPCS monitor dictionary (monitor_channel.xml). They wrote a module to retrieve the '0158 Station Monitor Data' and re-encode into a JSON. While they use OpenMCT for spacecraft telemetry, they did not have the resources to implement station

This PR took the SunRise plugin, refactored it, fixed a couple of minor bugs, and added documentation. Caveat: this plugin has not been tested, so LTB team may need do some and provide feedback to us if necessary.

Closes #210

jllamas commented 5 months ago

Hello,

Is there ait.yml config example on how to enable the plugin? Do I need a dictionary yml similar like I do for tlm.yml?

Cheers, Jake

nttoole commented 5 months ago

For general guidance on activating and configuring AIT plugins, please review these docs: https://ait-core.readthedocs.io/en/master/server_architecture.html

More specifically, you will want to add an entry similar to the following to your high-level config.yaml, under the serversection (caveat: this is a quick draft) :

...

server:
        plugins:
            - plugin:
                name: ait.dsn.plugins.dsn_monitor.DSN_Monitor_Plugin
                inputs: []
                outputs:
                    - stream_name_for_plugin_output
                host: hostname_for_input_telem
                port: port_for_input_telem
                monitor_channel_file: /path/to/mission/monitor_channel.xml  

           ....

Then, whatever you decide will ingest the Plugin's output will set 'stream_name_for_plugin_output' (or something more appropriate) as one of it's inputs.