Open DominicOram opened 9 months ago
Do this early next week
The XBPM/transmission wrapper logs that it is changing for a collection, it's not, it's changing for an energy change
Energy change at 14:12 12kev -> 8kev. Should have changed pitch to ~0.707 mrad but didn't. The issue here was that we were trying to take the bragg angle for the lookup tables from the PV but the PV was not yet updated. Instead we have to calculate it ourselves. It is probably worth talking to controls about whether we can get the calculation in one place - https://github.com/DiamondLightSource/mx-bluesky/issues/520
Issue timing out on voltage sets:
Traceback (most recent call last):
File "/dls_sw/i03/software/bluesky/hyperion_v9.5.2/dodal/src/dodal/devices/focusing_mirror.py", line 88, in set
await setpoint_v.set(value)
File "/dls_sw/i03/software/bluesky/hyperion_v9.5.2/hyperion/.venv/lib/python3.11/site-packages/ophyd_async/core/signal.py", line 239, in do_set
await self._backend.put(value, wait=wait, timeout=timeout)
File "/dls_sw/i03/software/bluesky/hyperion_v9.5.2/hyperion/.venv/lib/python3.11/site-packages/ophyd_async/epics/_backend/_aioca.py", line 286, in put
await caput(
File "/dls_sw/i03/software/bluesky/hyperion_v9.5.2/hyperion/.venv/lib/python3.11/site-packages/aioca/_catools.py", line 126, in call_wrapper
return await throw_wrapper(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/dls_sw/i03/software/bluesky/hyperion_v9.5.2/hyperion/.venv/lib/python3.11/site-packages/aioca/_catools.py", line 108, in throw_wrapper
return await awaitable
^^^^^^^^^^^^^^^
File "/dls_sw/i03/software/bluesky/hyperion_v9.5.2/hyperion/.venv/lib/python3.11/site-packages/aioca/_catools.py", line 156, in ca_timeout
raise CANothing(name, cadef.ECA_TIMEOUT) from e
aioca._catools.CANothing: BL03I-MO-PSU-01:BM:V21D: User specified timeout on IO operation expired
Fixed by specifying the setpoint timeout explicitly setpoint_v.set(value, timeout=DEFAULT_SETTLE_TIME_S)
and upping the timeout to 120s - fixed in https://github.com/DiamondLightSource/dodal/pull/800 by moving the wait for the set to finish until after the readbacks have come back correctly
Hyperion is not changing HFM
voltages, only VFM
. The logic is that we need to change just the VFM stripe but then change the voltages for both based on looking up the VFM material in the mirrorFocus.json
table - https://github.com/DiamondLightSource/mx-bluesky/issues/521
Log of "Demand not accepted" is odd as it sounds like an issue but is actually fine (fixed in https://github.com/DiamondLightSource/dodal/pull/800)
Got an error when trying to move to 6keV (https://github.com/DiamondLightSource/mx-bluesky/issues/522):
setpoint = lookup_table(input)
^^^^^^^^^^^^^^^^^^^
File "/dls_sw/i03/software/bluesky/hyperion_v9.5.2/dodal/src/dodal/devices/util/lookup_tables.py", line 58, in s_to_t2
raise ValueError(
ValueError: Lookup table does not support extrapolation from file /dls_sw/i03/software/daq_configuration/lookup/BeamLineEnergy_DCM_Pitch_converter.txt, s=19.244267647056205
Issue with robot load timing out sometimes when energy changes are happening - needs further investigation
Added a property to GDA of gda.mx.hyperion.set_energy.enabled
, this needs pushing into gerrit
Still need to test changing lots of energies on the test puck
We now have energy changing code in Hyperion. However, it has not been regularly tested on the beamline. We should test it with a number of collections moving back and forth between energies. Then once we are confident leave it on for @neil-i03 to be confident.
Acceptance Criteria