Metadata-Version: 2.1
Name: lightcon
Version: 1.1.56
Summary: A set of APIs to Light Conversion devices
Home-page: https://bitbucket.org/harpiasoftware/light-conversion-apis.git
Author: Vytautas Butkus
Author-email: vytautas.butkus@lightcon.com
License: UNKNOWN
Project-URL: Examples, https://bitbucket.org/harpiasoftware/light-conversion-apis/src/master/examples/
Description: # lightcon
        
        ## Installation
        ### Pip
        ```pip install lightcon```
        <!--
        ## Changelog
        ### 1.1
        #### Added
        fast_daq module
        examples/fast_daq_wrapper_example.py
        #### Fixed
        #### Removed
        
        ### 1.0
        Initial release
        <!--
        #### Added
        #### Fixed
        #### Removed
        -->
        -->
        
        ## 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:
        ```python
        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:
        ```python console
        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:
        ```python
        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:
        ```python
        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:
        ```python
        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:
        ```python console
        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:
        ```python
        import lightcon.style
        
        lightcon.style.apply_style()
        
        ...plot whatever here...
        
        lightcon.style.add_watermarks()
        ```
        
        
        
        
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 1 - Planning
Requires-Python: >=3.6
Description-Content-Type: text/markdown
