Whilst we eventually want a nicely laid out and rendered representation of the Finite State Machine (FSM) we're going to focus here on the fundamental functionality and prettify things later. For this current work we can assume the FSM will be as documented in the drunc wiki - https://github.com/DUNE-DAQ/drunc/wiki/FSM - however future work may consider working with arbitrary FSM's that will be loaded from configuration.
This issue proposes a simple representation of the FSM:
a row of labels corresponding to the states of the FSM. The current state of the root controller (as reported by the gRPC interface) is highlighted in a different colour.
a row of buttons corresponding to the transitions of the FSM. The currently available transitions are enabled, all others are disabled. Clicking a button triggers a view function that executes the transition on the root controller (via the gRPC interface) then reloads the page.
You'll need to add relevant view functions and wrapper functions to the controller driver interface module (see #160) as you go.
Requires #160.
Whilst we eventually want a nicely laid out and rendered representation of the Finite State Machine (FSM) we're going to focus here on the fundamental functionality and prettify things later. For this current work we can assume the FSM will be as documented in the drunc wiki - https://github.com/DUNE-DAQ/drunc/wiki/FSM - however future work may consider working with arbitrary FSM's that will be loaded from configuration.
This issue proposes a simple representation of the FSM:
You'll need to add relevant view functions and wrapper functions to the controller driver interface module (see #160) as you go.