Interface to Zaber motorized linear slides.
Project description
This Python package (zaber_device) creates a class named ZaberDevice, which contains an instance of serial_device2.SerialDevice and adds methods to it to interface to Zaber motorized linear slides.
Authors:
Peter Polidoro <polidorop@janelia.hhmi.org>
License:
BSD
Example Usage:
from zaber_device import ZaberDevice dev = ZaberDevice() # Might automatically find device if one available # if it is not found automatically, specify port directly dev = ZaberDevice(port='/dev/ttyUSB0') # Linux dev = ZaberDevice(port='/dev/tty.usbmodem262471') # Mac OS X dev = ZaberDevice(port='COM3') # Windows dev.get_actuator_count() 2 dev.get_position() [130000, 160000] dev.home() dev.moving() [True, True] dev.moving() [False, False] dev.get_position() [0, 0] dev.move_relative(10000) dev.get_position() [10000, 10000] dev.move_relative(10000,0) dev.moving() [True, False] dev.get_position() [20000, 10000] dev.store_position(0) dev.get_stored_position(0) [20000, 10000] dev.move_at_speed(1000) dev.stop() dev.get_position() [61679, 51679] dev.move_to_stored_position(0) dev.get_position() [20000, 10000] from zaber_device import ZaberDevices devs = ZaberDevices() # Might automatically find all available devices # if they are not found automatically, specify ports to use devs = ZaberDevices(use_ports=['/dev/ttyUSB0','/dev/ttyUSB1']) # Linux devs = ZaberDevices(use_ports=['/dev/tty.usbmodem262471','/dev/tty.usbmodem262472']) # Mac OS X devs = ZaberDevices(use_ports=['COM3','COM4']) # Windows devs.keys() dev = devs[serial_number] from zaber_device import ZaberStage stage = ZaberStage() # Might automatically find all available devices # if they are not found automatically, specify ports to use stage = ZaberStage(use_ports=['/dev/ttyUSB0','/dev/ttyUSB1']) # Linux stage = ZaberStage(use_ports=['/dev/tty.usbmodem262471','/dev/tty.usbmodem262472']) # Mac OS X stage = ZaberStage(use_ports=['COM3','COM4']) # Windows stage.get_aliases() {123: [10, 11]} serial_number = 123 alias = 10 stage.set_x_axis(serial_number,alias) alias = 11 stage.set_y_axis(serial_number,alias) # Lookup microstep_size on Zaber website stage.set_x_microstep_size(0.49609375e-3) stage.get_x_microstep_size() 0.00049609375 stage.set_y_microstep_size(0.49609375e-3) stage.home() stage.moving() (True, True, False) stage.moving() (False, False, False) stage.get_positions() (0.0, 0.0, 0) stage.move_x_at_speed(5) stage.moving() (True, False, False) stage.get_positions() (76.4619375, 0.0, 0) stage.stop_x() stage.moving() (False, False, False) stage.get_positions() (94.38133984375, 0.0, 0) stage.move_y_relative(125) stage.moving() (False, True, False) stage.moving() (False, False, False) stage.get_positions() (94.38133984375, 124.99975, 0) stage.move_x_absolute(50) stage.move_y_absolute(75) stage.moving() (False, False, False) stage.store_x_position(0) stage.get_stored_x_position(0) 49.99980078125 stage.move_x_relative(50) stage.get_positions() (99.9996015625, 74.99994921875, 0) stage.move_to_stored_x_position(0) stage.get_positions() (49.99980078125, 74.99994921875, 0)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
zaber_device-1.7.1.zip
(18.4 kB
view hashes)
zaber_device-1.7.1.tar.gz
(13.1 kB
view hashes)