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; seestatus.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 Cpiezo_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 temperaturewavelength
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; seestatus.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 amplifierdisable()
disable the amplifiersave()
save amplifier settings to ROMenable_power_stabilization()
enable power stabilization mode; varies the amplifier current to keep the output power constantdisable_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
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 Distribution
precilaser-0.1.0.tar.gz
(10.5 kB
view details)
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 82bf61dc08d532c5756ab5d548933014f432c1ac1282157dd437782801fbe2b6 |
|
MD5 | d9ee2ffe4a6672e05f67aa6a3e2f1353 |
|
BLAKE2b-256 | 2f779b12512cea20e97f4613f5fbc0fcd0819e8ef03c170905bbd10b29fb5775 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7376defaa41d20bda04fac508e11274fba88313cb311ed3860fe162474277b57 |
|
MD5 | b2b1a4160e005b4c746494e23d36a3ed |
|
BLAKE2b-256 | af248d47eb2c1dec7e353372b213bf0eb3cea2f948668f4b29e52d3c68ecba17 |