Implement robust configuration
Summary
At the moment any FE instability makes the "Configure", "Start" and "Stop" state transitions fail.
What is the expected correct behavior?
A robust configuration mode that ignores/bypassed/workarounds the communication instabilities should exist.
Possible fixes
Implement the following actions during state transitions:
-
Initial
:- All "hard" configuration loaded, i.e. xDAQ XML configuration, hardware layout tree,...
- No interaction with other software components
- No interaction with the hardware
-
Initialize
:- Establish the communication between the different relevant applications
- No interaction with the hardware, i.e. no recovering of the back-end board
- Duration goal: < 10 s
-
Configure
:- Recover the back-end boards
- Prepare the front-end communication
- Configure the back-end boards
- No non-robust interaction with the FE
- Provides a list of the chambers that can potentially be power-cycled, i.e. the ones that we already know will be disabled
- No timeout
- Duration goal: < 15 s
-
Start
:- Pushes the configuration to the FE:
- Exists in both robust and non-robust mode
- Non-robust mode fails for the first error encountered
- Robust mode disables chambers for which an error is encountered (finer granularity to come later)
- Reset the counters
- Enable the events building and trigger
- Duration goal: < 15 s
- Pushes the configuration to the FE:
-
Stop
- No non-robust interaction with the FE
Edited by Laurent Petre