FaradayRF / Faraday-Software

Faraday node software
https://www.faradayrf.com
Other
48 stars 19 forks source link

Develop Minimum Viable Product GUI with OpenMCT #131

Open kb1lqc opened 7 years ago

kb1lqc commented 7 years ago

Summary

Per Issue #41 we are giving OpenMCT from @NASA a shot at being the Faraday user interface. @kb1lqd and @kb1lqc believe it solves many of the tasks Faraday needs to display real-time information. There's no reason to reinvent the wheel. We are giving it one week of development time to produce an MVP.

openmct

Problem Explanation

OpenMCT is a mission control software NASA Ames Research is developing for future space missions. It is continually being update which is a benefit for us and includes native support for telemetry, image, video, and other data display. Faraday will be used in many remote sensing/control applications as well as on missions such as High Altitude Balloon launches. OpenMCT lends itself to these tasks well.

It's important to note that this doesn't have to be the only user interface for Faraday. OpenMCT will obtain custom (open source!) plugins to interface with Faraday applications. We simply think this one has the best shot at providing our needs with the least amount of time invested.

Environment

Software

Hardware

Hardware generating telemetry and having the ability to be controlled will be required at first. Eventually as Issue #108 makes progress the idea of having a sample dataset or mock Faraday radio for testing/demo/development will become a reality.

Supporting Information

The initial efforts will be scrappy. We don't want to spend a huge amount of time developing for OpenMCT to find out it isn't a good option. The first tasks will be simple.

  1. Display Proxy BASE64 strings (Proxy only)
  2. Display Latest Telemetry Packet (Proxy + Telemetry)
  3. Display plot of telemetry from local station (Proxy + Telemetry)

If these items look good then we will dive into actual development rounding out a real user interface with OpenMCT.

kb1lqc commented 7 years ago

Worked through the installation tutorial and all is working well! Actually very simple, at least for those willing to do a bit of node.js installation.

image

kb1lqc commented 7 years ago

I got lost for a little doing the tutorial for a ToDo application and didn't realize that the After index.html file wasn't in the tutorial folder but was in the openmct main folder.

kb1lqc commented 7 years ago

WHEW! OK I am getting used to some syntax and style of tutorials here. I opened an OpenMCT Issue #1475 which documents some descrepancies between tutorials, previous issue tickets, and how I got it to work.

The formatting is different and per the old issue ticket I did not need to add a openmct.install(todoPlugin);

Additionally. One must watch out for the tutorials when copy-pasting source code to move along them. I forgot to remove the + signs in the updated example which caused an error and the plugin to fail loading.

image

Removing those + signs resulted in my code working. OK one step closer.

image

kb1lqc commented 7 years ago

OK made it through the ToDo application tutorial. That was actually pretty straightforward. I'm going to have to get used to model-view-controller programming!

image

kb1lqc commented 7 years ago

@akhenry over at OpenMCT let me know they just updated their tutorial and we should check it out.

https://github.com/nasa/openmct-tutorial