epics-motor / motorPIGCS2

EPICS asyn motor drivers for PI GCS2 controllers
2 stars 4 forks source link

Creation of an IOC that uses the asynMotorController driver alone. #1

Closed allanbugyi closed 1 year ago

allanbugyi commented 5 years ago

Hello,

My name is Allan S. B. Bugyi, I work at the Brazilian Synchrotron Light Laboratory and I am responsible for integrating two PI Piezo stages: Mars 563 and M-686. I'm using E-727 and C-867 controllers, respectively, to control them. I have been in contact with PI since the end of the last year in order to debug this EPICS submodule. I had also consulted tech-talk. I came to the conclusion that the code need some little improvements, and I had made a thorough analysis of the following classes:

In the following 5 commits you will find an useful description of the alterations. I was able to validate the IOC, except that the C-867 is complaining about limit switches for bigger target values (still debugging). Apart from that, the IOC is able to initialize the controller, establish connection, detected all the axes, set reference at initialization (my alteration), read position in encoder steps and in EGUs from axes (my alteration), move to targets (my alteration), set velocity and acceleration for given axis (my alteration), stop axes (my alteration). The IOC is called 'pigcsWithoutDevSup', since it doesn't use a motor device support (just the standard ones: asynInt32 and asynFloat64). I also implemented some safety checks described in the commits. I will be addind a configure directory and a Readme file in the following days.

I hope this may contribute for the project. Sincerely, Allan S. B. Bugyi.

kmpeters commented 5 years ago

This pull request has a lot of changes in it. I've created a PR1 branch in my fork of motorPIGCS2 to make it easier to see subsets of the proposed changes in this pull request.

This commit contains the changes from this pull request to pigcs2App: https://github.com/kmpeters/motorPIGCS2/commit/035a937791173525fb32a195347fa349db5cf81a

This commit contains an alternate way of including the IOC without the motor record, which requires duplication of fewer files: https://github.com/kmpeters/motorPIGCS2/commit/09f401088ba975b3f1174d5e31d5775c3409290f

I'm still working on my comments for the proposed changes.

allanbugyi commented 5 years ago

Hi Kevin, I'll proceed with the requested changes.

allanbugyi commented 5 years ago

Hello Kevin,

If you still thinks worthy merging, I finally took time to make the requested modifications.

Best regards, Allan.