The CALI Metatron node has been modified this morning in order to prevent glitches in FbmAlp latency coming from calls to "wait" function in Metatron.
Instead of calling the function reset_CALnoise(), behind which there were waits for 2+2+1s , the basic actions to Acl are called directly, and timers are used to wait between the calls.
This has been modified in the following states: DOWN, CALIBRATED_* and CALIBRATION_FAILED* .
In the main function:
#set timer to wait between filter relays disabling and reseting CALnoise configuration
self.timer['RESET'] = 2
self.reset = False
# First disable all the relays for filter computations (and apply it immediately)
log.info('DISABLE calibration filters')
disable_CAL_filters_computation('MIR')
disable_CAL_filters_computation('PCAL')
# reset_CALnoise()
In the run fuction (instead of a simple" return True" ) :
def run(self):
#wait until the timer duration is completed to request CALnoise reload
if self.timer['RESET']:
if self.reset == False:
log.info('RESET CALnoise process to its default configuration')
cm_send('CALnoise', 'ReloadConfig','','reset')
self.reset = True
return True #state reached: CALnoise reloaded after timer completed
else:
#state not yet reached: waiting for CALnoise reload to be requested
return False
Hopefully all the glitches from CALI node were coming from the calls to reset_CALnoise and should not be present anymore. To be checked in the coming days.
No side-effects are expected for the calibration injections, but this also needs to be confirmed.