Digitizer and Improved Monitoring
This is a bit of a joint MR with the following :
- Inclusion of the digitizer receiver module alone with a monitoring module (which will be developed in the future to a greater extent but just put in place to serve as an example
- Improvement of the base monitoring software from which other monitoring modules inherit
- This pulls in the latest version of faser-common which has a fix in the Digitizer code to fix a small, but significant, bug in the parsing of the header
This supercedes the MRs : https://gitlab.cern.ch/faser/daq/-/merge_requests/48 and https://gitlab.cern.ch/faser/daq/-/merge_requests/47
All of the suggestions in the Digitizer MR (https://gitlab.cern.ch/faser/daq/-/merge_requests/47) have been incorporated here to the degree that they should still be reviewed and discussed. In particular :
- In the polling, if there are no events in the buffer then a 1.5 ms pause occurs
- The sendECR() and runner() use a common mutex to protect against race conditions which would otherwise exist when reading out the digitizer event buffer