epics-modules / motor

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

devMotorAsyn: remove initEvent in init_record() #167

Closed tboegi closed 1 year ago

tboegi commented 4 years ago

When the motorRecord is initialized, init_record() is called. For asynMotors init_record() calls init_controller() in devMotorAsyn.c

From here, the encoder ratio is send to the driver. After doing that, the code "locks" the execution waiting for a callback to call epicsEventSignal(pPvt->initEvent) which "unlocks" the code.

As Mark Clift points out, this code can be simplified and the initEvent can be removed.

Mark Rivers suggested to use the asynFloat64SyncIO interface, which locks the asyn port when calling the driver.

kmpeters commented 4 years ago

I don't understand why the motorResolution_ parameters is removed and why motorResolutionString is renamed motorRecResolutionString

tboegi commented 4 years ago

I don't understand why the motorResolution_ parameters is removed and why motorResolutionString is renamed motorRecResolutionString Neither do I. I removed the second commit, sorry for confusion.