Skip to content
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

Incorrect position scaling for Thorlabs Elliptec linear stages #90

Open
malc0 opened this issue Aug 24, 2024 · 0 comments
Open

Incorrect position scaling for Thorlabs Elliptec linear stages #90

malc0 opened this issue Aug 24, 2024 · 0 comments

Comments

@malc0
Copy link

malc0 commented Aug 24, 2024

The scaling factor calculated at line 97 for elliptec.py (

self._stage_scale[a]=dev_info.pulse/dev_info.travel if dev_info.pulse>0 else 1
) doesn't work for an ELL20 stage, and I suspect not for any Elliptec linear stage. The documentation indicates for linear stages that the device's 'pulses' information field gives pulses /per millimetre/, independent of the available travel length, for linear stages.

Unfortunately I can't see an explicit way of telling linear and rotation stages apart from the device info response; you could have a model number look-up table (like https://gitlab.com/ptapping/thorlabs-elliptec/-/blob/main/thorlabs_elliptec/__init__.py?ref_type=heads#L127 ), but since the 'pulses' value is very different for all current linear and rotation stages (see page 8 of https://www.thorlabs.com/Software/Elliptec/Communications_Protocol/ELLx%20modules%20protocol%20manual_Issue7.pdf ), I'm currently using a crude heuristic:
self._stage_scale[a]=dev_info.pulse/dev_info.travel if dev_info.pulse > 100000 else dev_info.pulse if dev_info.pulse>0 else 1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant