[Mosca] Chain not working after DS is restarted
Case with Mosca only (no calc counters):
-
start a Mosca DS
-
start a bliss session with a chain, e.g:
name: fx_chain plugin: default chain_config: - device: $falconx._masterCC acquisition_settings: trigger_mode: GATE block_size: 2 master: $p201_lid001
-
run scans: OK, the chain is used.
-
restart the DS without restarting the bliss session
-
run a scan: OK (maybe, see below), the chain is used (haven't check the data though).
-
run a second scan: NOK, the chain is not used anymore
Before starting a scan, the McaController object checks if the DS has been restarted since it (the McaController) has been initialized. If yes, it deletes its master CC (falconx._masterCC in the above chain config), and recreates one -> the chain loses the reference to the master CC -> it can't be used anymore. What about the counters tho, which ones are used? The newly created ones or the ones that are deleted after the timestamp check?
The first scan after a DS restart works bcause the chain is built BEFORE the date is checked, so at that point the reference is still valid.
Mosca + calc counters using mosca counters:
Same as before, as long as the DS is not restarted, all is OK.
If the DS is restarted, only the first scan uses the chain.
After that:
- if using only the calc counters: the chain is used (with MCA is in mapping mode)
- if using only the MCA: the chain isn't used
- if using both: doesn't work at all (looks like conflicting acq params are set)