-
Notifications
You must be signed in to change notification settings - Fork 6
Kinesis #161
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
base: dev
Are you sure you want to change the base?
Kinesis #161
Conversation
…n certain channel configurations
…hen x, y, z channels are not 1,2,3
| Homed; | ||
| isMoving = false; | ||
|
|
||
| Travel = [-2 2] * 1000; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this hardcoded for all kinesis stages, or what is this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We didn't fully understand what was going on here, but there seemed to be a mysterious factor of 2 between the commands that are sent in and the actual motion of the stage. As far as we know it's the same from device to device. Might be good to test on another setup, but in principle calibration could be handled by the stage calibration if it is different.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've now taken out the default value for calibration and travel. The travel is a required input for this BSC203 stage during initialization. I've changed the 'calibration' property name to 'factor' and made it a pref that the user can set manually depending on how the stage is responding
| obj.currentDeviceSettingsNET{i}=obj.channelsNET{i}.MotorDeviceSettings; | ||
| obj.deviceInfoNET{i} = obj.channelsNET{i}.GetDeviceInfo(); % Get deviceInfo via .NET interface | ||
| catch | ||
| error(['Unable to initialize channel ', num2str(i)]); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there anything helpful in the caught error that should be included in the rethrown error?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will include a line to rethrow the caught error
| end | ||
| end | ||
| else | ||
| error('Target position is out of range') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could shorten this with assert(obj.checkMove(target_pos),'Target position is out of range')
| @@ -0,0 +1,2 @@ | |||
| classdef NanoMax300 < Modules.Stage | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this just a placeholder class, or what is this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This might have been created by mistake. We'll consider deleting it
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This also reminds me we should consider adding a warning message when you try to open up the APT stage that is now deprecated.
ebersin
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Left a few comments here and there, seems good as far as I can tell, though I've never used this hardware so I'd prefer someone else approve before merge. One question; it seems like a lot of the code in the KinesisBSC203 could be in the invisible superclass; can you take a look through and see what could be generalized up one level?
Kinesis driver for stepper stages; tested to work on olympus. Swapping channels currently doesn't work, but we've just locked it in as a read-only pref for now. Will go back and fix later, just wanted to get the bulk of it reviewed.