Add FSM features to AMCMonitor
Description
This implements the FSM structure detailed in !100 (closed). This requires moving existing setting up the monitoring connection to the rpc and timer in individual xgi functions, setting up the FSM structure, and creating a javascript file for displaying the buttons to change the states.
There is a lot of boilerplate code that exists in setting up the FSM (the xgiXXX functions used to send the soap commands are very redundant and hopefully could be turned into some template/macro or bypassed) as well as minimizing the amount of code for setting up by having the GEMGenericFSMApp
do more of the in the background with helper functions.
This MR also acts as a proof of concept for MR !100 (closed). This could be expanded to add fail transitions (ie failed -> Initial)
Related Issue
Closes #141 (closed) and closes #38 (closed) (FSM states include a stopped and running state)
How Has This Been Tested?
↕
Screenshots (if appropriate)
Types of changes
-
Bug fix (non-breaking change which fixes an issue) -
New feature (non-breaking change which adds functionality) -
Breaking change (fix or feature that would cause existing functionality to change)
Checklist:
-
My code follows the code style of this project. -
My change requires a change to the documentation. -
I have updated the documentation accordingly. -
I have read the CONTRIBUTING document. -
I have added tests to cover my changes. -
All new and existing tests passed.