-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for Thorlabs Kinesis Piezo Controllers #10
Comments
EPICS motor driver development is usually driven by those who have the hardware and need it to work. As far as I know the organizations I support don't have any Kinesis piezo motor controllers and consequently I won't be allowed to develop a driver for the KIM101 in the foreseeable future. @keenanlang, the author of the existing Kinesis support, might be able to comment on how much effort it would take to adapt the existing support for the KIM101. |
The way the Kinesis C++ libraries are written, each different class of motors have their own functions to call, so each needs to be their own controller in the code. We wrote the DC and Stepper controllers because those were the models that we have. We don't have any KIM101 motors to test things out, but you should be able to set up support for them yourself. The layout of the kinesis support is written in a way to make it relatively easy to add support for the other categories of KCube motors. You can copy-paste the contents of drvKinesisStepper.cpp or drvKinesisDC.cpp into a new file, replacing all of the "Stepper/DC" naming conventions with your own (Piezo, Inertial, etc). At the top of the file, there is an include line, you would replace that with the one for the KIM101
Then do a find/replace to change the function call prefixes in the file to the KIM_ prefix that the KIM101 uses
In drvKinesis.h, you will then need to add the class template, this is again a copy/paste/replace operation using the naming convention you chose before.
and add in the option to the Enum in that file
In drvKinesis.cpp, you'll need to tell it to recognize that option in the constructor
Then bind that option to a string, so users can designate the type in the startup script
Then, finally, you just need to tell the Makefile to include your new files and the proper vendor DLL
|
Hi,
if I understand correctly only DC and Stepper motor controllers are currently supported with Kinesis in the motorThorlabs module. I'm working on an application where I need to integrate a Kinesis Piezo motor controller (KIM101) with motorRecord.
Would you be willing to also add an EPICS motor driver support for Thorlabs Kinesis Piezo motor controllers? If yes, could you give me an approximate time frame how long it would take to add this to the motorThorlabs module?
I appreciate any help you can provide.
Best regards,
Petra Smid
The text was updated successfully, but these errors were encountered: