Hello,
I’m in the process of writing a model 3 motor driver using version 6-11 of the motor record.
I have found some unexpected behaviour on initialisation if the driver has no device connected.
It appears the motor stays in the following state unless a parameter is updated at some point after initialisation (I’m not sure when):
caget –a MOTOR
MOTOR <undefined> 0
If I have no device connected I set motorStatusCommsError_ to 1 on the first call to poll(). However, because all subsequent calls to poll() do not change any parameters I stay in the above state. I would instead expect to see something like:
caget –a MOTOR
MOTOR 2019-08-15 15:57:41.931650 0 COMM INVALID
as in the undefined timestamp situation it’s not obvious to users that there is a comm error.
Setting motorStatusCommsError_ to 1 at some time after initialisation does give me the expected state.
Is this actually expected behaviour? Do other people see something similar?
Thanks,
Dominic Oram
Senior Software Engineer
Experimental Controls
ISIS Neutron and Muon Source