pyrolab.drivers#

Warning

It is the responsibility of the user to ensure parameters are within the physical limits of the hardware. The software may or may not perform checks to validate input, but given the nature of a driver potentially working with several devices with different valid ranges, and the possibility of drivers being contributed by many different parties, this behavior cannot be guaranteed.

It is possible that the device firmware may save you, but this is device dependent and untested. Be careful to prevent damaging devices with bad inputs.

Note

You should always close connections to the device when you are finished. This will ensure proper recovery of resources and prevent access errors from subsequent connections.

More important than closing connections, though, is making sure the hardware device is in a safe state. For example, a laser doesn’t automatically turn off between runs. This is so if you disconnect but continue using it, you don’t have the pain of it automatically turning itself off. Additionally, there’s often a time penalty for each reconnect; so the devices typically maintain their state when disconnected. So, be aware of your instruments!

Base Instrument#

Instrument()

Abstract base class provides a common interface for services and instruments.

Cameras#

thorcam

ThorCam

uc480

Thorlabs UC480 Scientific Camera

sciTSI

Thorlabs Scientific Camera

Lasers#

tsl550

Santec Tunable Semiconductor Laser 550 (TSL550)

ppcl55x

Pure Photonics Tunable Laser

Scopes#

rohdeschwarz

Rohde & Schwarz Digital Oscilloscopes

Source-Measure Units#

keysight

Keysight B2900/BL series SMU

Motion#

max31x

ThorLabs 3-Axis NanoMax Flexure Stages

prm1z8

Motorized Precision Rotation Stage

z8xx

DC Servo Motor Actuator

Microcontrollers/Processors#

arduino

Arduino Driver

FPGA’s#

analogdiscovery

Analog Discovery

Mixins#

Note that certain mixins will add functionality to services that are hosted on a PyroLab network. Individually, the above drivers do not have these functions, and they are not available when the drivers are used locally. But, some daemons add these mixins when hosting services. These functions then become available to the Proxy. So, a list of mixins is maintained here, as these functions are not documented with each driver but may be available to them.

Debugging/Sample Services#

sample

Sample Services