Python library for the Artifex Engineering OPM500
Project description
pyopm500
Python library for the Artifex Engineering OPM500
Installation
Install via pip:
pip install pyopm500
Install manually:
git clone https://github.com/artifex-engineering/pyopm500.git
cd pyopm500
pip install .
Usage
from pyopm500 import OPM500, GAIN, UNITS, BANDWITH
# List all available devices
devices = OPM500.find_devices() # Get all available devices
print("Available Devices: {}\n\n".format(", ".join(devices) if len(devices) > 0 else "None"))
# Create OPM500 instance
opm = OPM500()
# Connect to first OPM500 device in list
opm.connect(devices[0])
opm.opm_set_polarity(False) # Set polarity to not inverted
opm.opm_set_auto_zero() # Set initial auto zero
# Or set initial auto zero reset
opm.opm_set_auto_zero_reset()
opm.opm_set_bandwith(BANDWITH.KHZ_10) # Set bandwith to 100 kHz
# Set wavelength
opm.opm_set_wavelength(660)
# Set gain
opm.opm_set_gain(GAIN.X1)
# Set unit to use in measurements
opm.set_unit(UNITS.MICROAMPERE)
# Print single measurement
print(format(opm.opm_get_measurement(), '.8f'))
opm.disconnect()
Query current states and device informations
print("Firmware version: {}".format(opm.opm_firmware_version))
print("Serial number: {}".format(opm.opm_serial_number))
print("Date of manufacturing: {}".format(opm.opm_date_of_manufacturing))
print("Detector min wavelength: {}".format(opm.opm_detector_min_wavelength))
print("Detector max wavelength: {}".format(opm.opm_detector_max_wavelength))
print("Device info:\n{}\n\n".format(opm.opm_get_info()))
print("Polarity inverted: {}\n\n".format(opm.opm_is_polarity_inverted()))
print("Initial auto zero: {}".format(opm.initial_auto_zero))
print("Current bandwith: {}".format(opm.opm_get_bandwith()))
print("Current wavelength: {}".format(opm.opm_get_wavelength()))
print("Current gain: {}".format(opm.opm_get_gain()))
print("Current Unit: {}".format(opm.unit))
print("Current filter factor: {}\n\n".format(opm.filter))
nW/cm², µW/cm², mW/cm², W/cm²
opm.set_unit(UNITS.MICROWATTS_PER_SQUARE_CENTIMETER) # Set unit to use in measurements
opm.aperture_in_mm = 7.0 # Set aperture in mm
print("Current Aperture in mm: {}".format(opm.aperture_in_mm)) # Print aperture in mm
measurement_value = opm.opm_get_measurement() # Get measurement value in specified unit
print("Measurement Value: {}{}".format(measurement_value[0], measurement_value[1])) # measurement value in specified unit
Available Units
- Nanoampere (nA): UNITS.NANOAMPERE
- Microampere (µA): UNITS.MICROAMPERE
- Milliampere (mA): UNITS.MILLIAMPERE
- Ampere (A): UNITS.AMPERE
- Nanowatts (nW): UNITS.NANOWATTS
- Microwatts (µW): UNITS.MICROWATTS
- Milliwatts (mW): UNITS.MILLIWATTS
- Watts (W): UNITS.WATTS
- Nanowatts per square centimeter (nW/cm²): UNITS.NANOWATTS_PER_SQUARE_CENTIMETER
- Microwatts per square centimeter (µW/cm²): UNITS.MICROWATTS_PER_SQUARE_CENTIMETER
- Milliwatts per square centimeter (mW/cm²): UNITS.MILLIWATTS_PER_SQUARE_CENTIMETER
- Watts per square centimeter (W/cm²): UNITS.WATTS_PER_SQUARE_CENTIMETER
- Decibel-milliwatts (dBm): UNITS.DECIBEL_MILLIWATTS
Gain levels:
- x1: GAIN.X1
- x10: GAIN.X10
- x100: GAIN.X100
- x1000: GAIN.X1000
- x10000: GAIN.X10000
- x100000: GAIN.X100000
- Auto: GAIN.AUTO
Bandwiths
- 10 kHz: BANDWITH.KHZ_10
- 1 kHz: BANDWITH.KHZ_1
- 100 Hz: BANDWITH.HZ_100
- 10 Hz: BANDWITH.HZ_10
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
pyopm500-1.0.1.tar.gz
(10.3 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyopm500-1.0.1.tar.gz.
File metadata
- Download URL: pyopm500-1.0.1.tar.gz
- Upload date:
- Size: 10.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e5a98dee274a9d73b3c30310e22090615cd6f06089e16f2cbc4e83739aa5a249
|
|
| MD5 |
dee56052244609742d7afd8d264513f6
|
|
| BLAKE2b-256 |
eb13d290659bff1b69fca4f4c4eff65a38358146fa9543005b53e2b06f8e55a8
|
File details
Details for the file pyopm500-1.0.1-py3-none-any.whl.
File metadata
- Download URL: pyopm500-1.0.1-py3-none-any.whl
- Upload date:
- Size: 9.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
892b3cd988298220ad08e4347e89f38eae9f1439db2124775bc686ee13644625
|
|
| MD5 |
4cb74812f05e4711dc26852312f7603c
|
|
| BLAKE2b-256 |
1b179e4c4dffd059d3c189d5af0f65eebe2395f92b5597bfe3e69f761ec23a37
|