You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It seems complicated. The call to set_lim() is working, setting the .LLM and .HLM fields in the motor record. But the ophyd object for motor.user_setpoint.limits (a tuple) is not updated. This tuple is set on initial connection with the motor record but is not updated from any code I can find.
Is it fair to just replace the tuple with the new values?
class ChangeableLimitsMotor(APS_devices.EpicsMotorLimitsMixin, EpicsMotor):
""
m1 = ChangeableLimitsMotor('sky:m1', name='m1', labels=("motor",))
In [2]: m1.limits
Out[2]: (-32000.0, 32000.0)
In [4]: m1.user_setpoint.limits
Out[4]: (-32000.0, 32000.0)
In [5]: m1.user_setpoint.limits??
Type: property
String form: <property object at 0x7fb31c267e90>
Source:
# m1.user_setpoint.limits.fget
@property
def limits(self):
'''The PV control limits (low, high), such that low <= value <= high'''
# This overrides the base Signal limits
return (self._metadata['lower_ctrl_limit'],
self._metadata['upper_ctrl_limit'])
In [6]: m1.user_setpoint._metadata['lower_ctrl_limit']
Out[6]: -32000.0
Need to update the dictionary values for lower_ctrl_limit and upper_ctrl_limit.
Can't move a
EpicsMotorLimitsMixin
motor after callingset_lim()
due to move target is out of limits. this is a blocker for the USAXS instrument now.The text was updated successfully, but these errors were encountered: