Skip to main content

No project description provided

Project description

Precilaser

Python interface for precilaser devices

Implements a python interface using pyvisa for 3 Precilaser devices:

  • Precilaser Fiber DFB
  • Precilaser Amplifier
  • Precilaser SHG Amplifier

Implemented Functionality

Precilaser Fiber DFB

  • status
    retrieve the laser status, in a dataclass (with some of the boilerplate code removed; see status.py for more detail):
      @dataclass
      class SeedStatus:
        status_bytes: bytes
        endian: str
        temperature_set: float # grating temperature setpoint [C]
        temperature_act: float # grating temperature [C]
        temperature_diode: float # [C]
        current_set: int # [mA]
        current_act : int # [mA]
        wavelength: float # [nm]
        piezo_voltage: float # [V]
        emission: bool
        power: int
        run_hours: int
        run_minutes: int
    
  • temperature_setpoint
    get or set the grating temperature in C
  • piezo_voltage
    get or set the piezo voltage, from 0 V to 5 V
  • _get_serial_wavelength_params
    retrieve the parameters required to reconstruct the wavelength from the grating temperature
  • wavelength
    calculate the wavelength from the retrieved parameters and the grating temperature

Precilaser Amplifier

  • status
    retrieve the amplifier status, in a dataclass (with some of the boilerplate code removed; see status.py for more detail):
    @dataclass
    class AmplifierStatus:
      status_bytes: bytes
      endian: str
      stable: bool
      system_status: SystemStatus
      driver_unlock: DriverUnlock
      driver_current: Tuple[float, ...]
      pd_value: Tuple[int, ...] # internal photodiode values in arb. units
      pd_status: Tuple[PDStatus, ...]
      temperatures: Tuple[float] # internal temperatures of amplifier stages etc.
    
    @dataclass
    class SystemStatus:
      status: int
      pd_protection: Tuple[bool, ...]
      temperature_protection: Tuple[bool, ...]
      fault: bool
    
    @dataclass
    class DriverUnlock:
      driver_unlock: int
      driver_enable_control: Tuple[bool, ...]
      driver_enable_flag: Tuple[bool, ...]
      interlock: bool # true if the interlock is ok
    
    @dataclass
    class PDStatus:
      status: int
      sampling_enable: bool
      hardware_protection: bool
      upper_limit_enabled: bool
      lower_limit_enabled: bool
      hardware_protection_event: bool
      upper_limit_event: bool
      lower_limit_event: bool
      fault: bool
    
  • current
    get or set the amplifier current [A]
  • enable()
    enable the amplifier
  • disable()
    disable the amplifier
  • save() save amplifier settings to ROM
  • enable_power_stabilization()
    enable power stabilization mode; varies the amplifier current to keep the output power constant
  • disable_power_stabilization() disable power stabilization mode

Precilaser Amplifier

A subclass of the Amplifier, includes all Amplifier functionality plus additionally:

  • shg_temperature get or set the shg crystal temperature [C]

Example

from precilaser import SHGAmplifier

amp = SHGAmplifier("COM50", address = 0)

# change the SHG crystal temperature
amp.shg_temperature = 73.15

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

precilaser-0.1.0.tar.gz (10.5 kB view details)

Uploaded Source

Built Distribution

precilaser-0.1.0-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

File details

Details for the file precilaser-0.1.0.tar.gz.

File metadata

  • Download URL: precilaser-0.1.0.tar.gz
  • Upload date:
  • Size: 10.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.1 CPython/3.9.13 Windows/10

File hashes

Hashes for precilaser-0.1.0.tar.gz
Algorithm Hash digest
SHA256 82bf61dc08d532c5756ab5d548933014f432c1ac1282157dd437782801fbe2b6
MD5 d9ee2ffe4a6672e05f67aa6a3e2f1353
BLAKE2b-256 2f779b12512cea20e97f4613f5fbc0fcd0819e8ef03c170905bbd10b29fb5775

See more details on using hashes here.

File details

Details for the file precilaser-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: precilaser-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 13.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.1 CPython/3.9.13 Windows/10

File hashes

Hashes for precilaser-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7376defaa41d20bda04fac508e11274fba88313cb311ed3860fe162474277b57
MD5 b2b1a4160e005b4c746494e23d36a3ed
BLAKE2b-256 af248d47eb2c1dec7e353372b213bf0eb3cea2f948668f4b29e52d3c68ecba17

See more details on using hashes here.

Supported by

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