epics-modules / motor

APS BCDA synApps module: motor
https://epics-modules.github.io/motor/
20 stars 47 forks source link

Incorrect position restored on MRES mismatch #196

Open kmpeters opened 1 year ago

kmpeters commented 1 year ago

If the MRES the database/substitutions file that loads a motor record doesn't match the autosaved value, the restored position will (always?) use the MRES value from the database instead of the autosaved MRES.

Bug rediscovered by @tim-speight

tim-speight commented 1 year ago

One assumes that motorAcsAxes.substitions at the running IOC could be set as an initial template - for one Motor Axis.

A user may actively switch scales between mm & µm, then this gets autosaved and never bother to make a mod to the substitution's. I found this with Kevin when testing one of his PR's for motorAcsMotion. I could not figure out why I was getting a 10x multiplier between the values coming back from the controller in respects MRES - ERES everytime I restarted the IOC.