Skip to main content

Unified control library for lab equipment (oscilloscopes, power supplies, lasers, etc.)

Project description

Weeroc Lab Devices Package

This is an attempt to make a single python package containing all the tools for controlling the lab equipment as simply as possible.

Install

PyPI

To install the package use pip install WeeLab

Currently available devices

  • CAEN A7585 SiPM power supply (device tested)

    from WeeLab import SerialConnection, CAEN_A7585
    caen = CAEN_A7585(
        conn=SerialConnection(port="COM6", baudrate=115200))
    caen.set_voltage(30)  # Set voltage to 30V
    caen.wait_setpoint_reached()  # Wait until the setpoint is reached
    caen.get_IV()  # Get the current and voltage values
    
  • Lecroy WaveRunner (device tested)

    from WeeLab import Vxi11Connection, LeCroyWaveRunner
    lecroy = LeCroyWaveRunner(conn=Vxi11Connection(ip="192.168.2.21"))
    p1_mean = lecroy.getMeasure(1, "MEAN") # Returns mean value of P1 measurement 
    lecroy.clear_sweeps() # Clear sweeps
    
  • NKT Pilas Laser (device tested)

    from WeeLab import SerialConnection, NktPilasLaser
    laser = NktPilasLaser(
        conn=SerialConnection(port="COM6", baudrate=19200))
    laser.set_tune(500) # Sets tune 50%
    laser.set_frequency(20_000_00) # Sets frequency 20 MHz
    laser.enable() # Enables radiation
    
  • Keithley 2100 digital multimeter (device tested)

    from WeeLab import KeithleyMultimetre, VisaConnection
    keithley = KeithleyMultimetre(
        conn=VisaConnection(resource_name='USB0::0x05E6::0x2100::8012509::INSTR'))
    keithley.configure_voltage(0.001, 0.001) # Configures voltage measurement with 1 mV range and 1 mV resolution
    keithley.configure_current(0.001, 0.001) # Configures current measurement with 1 mA range and 1 mA resolution
    keithley.set_sample_count(100)      # Collect 100 samples per measurement
    current = keithley.get_current()    # Get an average current from samples
    voltage = keithley.get_voltage()    # Get an average voltage from samples
    
  • Tektronix AWG generator (test TODO)

    from WeeLab import VisaConnection, Tektronix_AFG3252
    afg = Tektronix_AFG3252(
        conn=VisaConnection("USB0::0x0699::0x0345::C010630::INSTR"))
    afg.do_set_voltage_ch1(5) # Sets voltage on ch1 to 5 V
    afg.set_frequency_ch1(10_000) # Sets frequency 10 kHz
    afg.do_set_status_ch1("on") # Enables generation in ch1
    
  • WeeMove translation stage (test TODO)

    from WeeLab import SerialConnection, Stage
    stage = Stage(
        conn=SerialConnection(port="COM4", baudrate=9600))
    stage.move(10, 20) # Moves to x=10cm, y=20cm
    stage.wait_arrived() # Waits until the stage is no longer moving
    stage.ask_position() # Prints current position
    

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

weelab-0.1.3.tar.gz (19.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

weelab-0.1.3-py3-none-any.whl (24.6 kB view details)

Uploaded Python 3

File details

Details for the file weelab-0.1.3.tar.gz.

File metadata

  • Download URL: weelab-0.1.3.tar.gz
  • Upload date:
  • Size: 19.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.2

File hashes

Hashes for weelab-0.1.3.tar.gz
Algorithm Hash digest
SHA256 1a62a6ac007bb3e82c936c80048fb1e2c2f21d5141b90fdb8b42a4022b7624d7
MD5 5b345a63f366c28c444d176d57a143ee
BLAKE2b-256 453b2b9264abe3daf3f0c70c5afd3610b2fafe3856dfb8f9365bb5f816959852

See more details on using hashes here.

File details

Details for the file weelab-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: weelab-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 24.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.2

File hashes

Hashes for weelab-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c71409c349c688c1587f4966ceac73e6236a048e49eb2dce07086bcc3a03924a
MD5 e88039c34f54aa10a29dc1e809413f0a
BLAKE2b-256 2ac64926eda2df0dc79f380711909549a659b5c527eb61cb67f3911146ca8241

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page