Detector cold start
Summary
[Issue initially opened on GitHub by @mdalchen.]
At the moment there's no mechanism to provide a cold start (after powercycle) for the front-end. If the requested OH is not programmed, the system will go into error state, with no recovering actions possible inside cmsgemos
. We need to provide the mechanism of cold start either during "Initialize" or "Configure" state transition.
What is the current behavior?
The system will go into error state during the "Initialize" FSM transition. I.e. powercycle OH, start the cmsgemos
gemsupervisor
application and press "Initialize" button.
What is the expected correct behavior?
Freshly powercycled front end should be initialized and configured correctly.
Context
Requires manual intervention outside the cmsgemos
to recover the front end to operational state. Significantly complicates debugging with the templated RPC modules as no tool for automatic front end recovery with templated RPC modules is present at the moment.
Discussion summary
Ideally, no hardware access is performed during the initialization stage. At the configuration stage, the configuration is retrieved from the DB and be pushed to the front-end, establishing communication.
We need to configure the GBT, SCA and FPGA. As a first step, the GBT can use default configuration files stored on the DAQ machine.They don't have the right RX phases, but one can produce GBT configuration files which are good for all short chambers and all long chambers, possibly all chambers at the same time.
The following sequence of actions was proposed to be performed at configure time:
- Get the hardware layout tree. It is more or less implemented but needs refactoring.
- Configure the GBTx:
- Get the configuration from file. It should be possible to use the same configuration files for all chambers of the same type, if not all chambers.
- Or, get the GBTx configuration from a local DB.
- Configure the OptoHybrid:
- Use only RPC methods: RPC method exists for the GBTx configuration, one method needs to be written to reset the SCA and the RPC method to program the OptoHybrid was never accept.
- Or, use the configuration blaster (it can only exist for the GBTx configuration).
This issues would benefit from the hardware layout tree implementation (see #8 (closed)), but can be implemented with the xDAQ XML-based configuration files. Note that using the hardware layout tree would be a starting point to simplified XML configuration files if the hardware layout would be provided globally on the DAQ machine.
We agreed to first start with a simplified cold start model, so there's no immediate need of configuration tree, DB and blaster (well, blaster will be used anyway).