Make DaqMonitor a xDAQ application

Dylan Oliver Teague requested to merge feature/amcMonitor into develop


This MR creates a new class, AMCMonitor which is a xDAQ application as well as an XHAL object. The idea being DaqMonitor is replaced by AMCMonitor, html functionality is gutted, and ShelfMonitor just accrues all of the AMCMonitor objects together to display them together.

This does require creating a new XHALInterface constructor that doesn't initialize the XHAL immediately. The xdaq doesn't get the xml initial values until late (after constructor has been called), so the delayed connection is needed. An attempt as have teh XHAL as a pointer and only instantiated after the xml values are read was tried, but interfacing with templated RPC functions without access to the actual rpc seemed intractable to me. If a method is known, that can be fixed possibly with a different MR.

I've set this as WIP because I don't know what boundaries we want to place on this MR. In making code that is working, I started affecting the ShelfMonitor class and making it work with the new AMCMonitor, but this starts to target other issues as well, so it might be preferable to merge in the new AMCMonitor and start a new MR with the ShelfMonitor changes (as they are expanded).

The current code does not crash, but the monitoring does not work at present. ShelfMonitor is now linked to the instances of AMCMonitor as needed, but the json updating and putting it into the webpage is still TBD. This might take some time since the GEMWebApplication has a specific format that might be in competition with what the new monitoring suite needs.

Related Issue

Closes #140 (closed)

Possibly bleeds into #141 (closed), #142 (closed), and #143 (closed) since they are all closely linked

How Has This Been Tested?

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)


  • 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.
Edited by Laurent Petre

Merge request reports