A set of APIs to Light Conversion devices
Project description
lightcon
Installation
Pip
pip install lightcon
-->
Modules
lightcon.beam_alignment
Beam Alignment App REST client
lightcon.common
Tools and converters
lightcon.laser_clients
REST API clients for PHAROS and CARBIDE lasers
Example:
from lightcon.laser_clients import Carbide, Pharos
import time
my_laser = Pharos('192.168.8.113')
# my_laser = Carbide('192.168.8.113')
pp_ratio = my_laser.get_pp()
print("Pulse picker ratio: {:d}".format(pp_ratio))
target_pp_ratio = pp_ratio + 1
print("Setting pulse picker to PP={:d}...".format(
target_pp_ratio), end='', flush=True)
my_laser.set_pp(target_pp_ratio, blocking=True)
print("OK", flush=True)
print("Setting pulse picker to PP={:d}...".format(pp_ratio), end='', flush=True)
my_laser.set_pp(pp_ratio, blocking=True)
print("OK", flush=True)
print("Enabling laser output...")
my_laser.enable_output()
print("Waiting for 3s...")
time.sleep(3)
print("Disabling laser output...")
my_laser.close_output()
Output:
Pharos initialized at http://192.168.8.113:20020/v1/
Pulse picker ratio: 1
Setting pulse picker to PP=2...OK
Setting pulse picker to PP=1...OK
Enabling laser output...
Waiting for 3s...
Disabling laser output...
lightcon.harpia
HARPIA Service App REST client
lightcon.fast_daq
Interface to the fast single-channel DAQ (E13-10023-02 or newer) DLL wrapper Example:
import lightcon.fast_daq
fdw = lightcon.fast_daq.FastDaqWrapper()
if fdw.is_connected():
# sets missing trigger/clock timeout, after which TimeoutException is raised
fdw.set_timeout(1000)
# choose channel 'PFI0' for external clocking, 'internal' for internal clocking. Use 'rising' or 'falling' for active_edge
fdw.configure_sample_clock(channel = 'PFI0', active_edge = 'rising')
# choose channel 'PFI0' for external clocking, 'internal' for internal triggering
fdw.configure_start_trigger(channel = 'internal')
# sets external trigger delay for sampling to 100 ns
fdw.set_external_trigger_delay(1000)
# acquires n = 1000 samples as one-dimensional array
data = fdw.get_daq_data(10)
fdw.close()
lightcon.harpia_daq
Interface to the universal six-channel DAQ (PE04-005-04 or newer) DLL wrapper Example:
import lightcon.harpia_daq
# provide in ascending order to keep plot labels right
enabled_channels = ['AI0', 'AI1', 'AI3']
hdw = lightcon.harpia_daq.HarpiaDaqWrapper()
if hdw.is_connected:
# sets missing trigger/clock timeout, after which TimeoutException is raised
hdw.set_timeout(100)
# enable analog input channels
hdw.enable_channels(enabled_channels)
# choose channel 'PFI0' - 'PFI5' for external clocking, 'internal' for internal clocking. Use 'rising' or 'falling' for active_edge
hdw.configure_sample_clock(channel = 'internal', active_edge = 'falling')
# choose channel 'PFI0' - 'PFI5' for external clocking, 'internal' for internal triggering
hdw.configure_start_trigger(channel = 'PFI0')
# acquires n=1000 samples and arranges to (m,n) two-dimensonal array, where m is number of enabled channels (in ascending order)
data = hdw.get_daq_data(1000)
lightcon.timing_controller
Timing controller API
Example:
import lightcon.timing_controller
tc = TimingController()
tc.connect()
if tc.connected:
print ('Trigger source', 'EXTERNAL' if tc.get_trigger_source() == 1 else 'INTERNAL {:} Hz'.format(tc.get_frequency()))
print ('\n'.join(['Channel {:}, delay {:} ns, {:}'.format(i, tc.get_delay(i), 'ENABLED' if tc.get_enabled(i)==1 else 'DISABLED') for i in [1,2,3,4]]))
Output:
Connected to timer_stopwatch on COM12 (E131001401, firmware version: 1.0.1)
Trigger source INTERNAL 1750 Hz
Channel 1, delay 0 ns, DISABLED
Channel 2, delay 0 ns, DISABLED
Channel 3, delay 0 ns, DISABLED
Channel 4, delay 0 ns, DISABLED
lightcon.wintopas
WinTopas REST client
lightcon.camera_app_client
CameraApp REST client
lightcon.style
Light Conversion style for 1D graphs
Example:
import lightcon.style
lightcon.style.apply_style()
...plot whatever here...
lightcon.style.add_watermarks()
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
lightcon-1.1.51.tar.gz
(216.5 kB
view details)
Built Distribution
lightcon-1.1.51-py3-none-any.whl
(231.1 kB
view details)
File details
Details for the file lightcon-1.1.51.tar.gz
.
File metadata
- Download URL: lightcon-1.1.51.tar.gz
- Upload date:
- Size: 216.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.6.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 63544bb929b080c642638ed41af99f9f53f45a96d4e3ee332a61237a6699b1b3 |
|
MD5 | 222d7ddce66544f2ffea319c8f522f41 |
|
BLAKE2b-256 | 851e11fd4a3fd0f660235713577bb76789c5a2010555264203f068487cb6a915 |
File details
Details for the file lightcon-1.1.51-py3-none-any.whl
.
File metadata
- Download URL: lightcon-1.1.51-py3-none-any.whl
- Upload date:
- Size: 231.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.6.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dbd06f2cbade4e78104a3aa08ab711d723af4c2b31a69de0f545dc3b06e4e9de |
|
MD5 | c7c7889e2862daf4f208356d34765679 |
|
BLAKE2b-256 | 725f47d1e494aa1a29902b4d53a0d2bb1ec634cd248653df5590923851d97edb |