Upload files to "scripts/sequences"

Sequences used for testing MLOOP on the "test setup"
This commit is contained in:
castaneda 2025-03-21 14:04:46 +01:00
parent 73754efd3b
commit be2a7831ea
3 changed files with 812 additions and 0 deletions

View File

@ -0,0 +1,45 @@
from labscript import *
import numpy as np
from labscript_utils import import_or_reload
import_or_reload('labscriptlib.NNDy_TestSetup.connection_table')
start()
t0 = 0
#t = reinitialise(t0)
t = t0
#T = 100
#dt = 5
#AnalogueHigh = 1
N = int(T//dt)
#print(np.linspace(t, t+T, N))
#dummyAnalogue_1.constant(t, AnalogueHigh)
CH4.go_high(t)
for i in list(np.linspace(t, t+T, N)):
CH3.go_high(i)
CH3.go_low(i+dt/2)
CH2.constant(i, AnalogueHigh)
CH2.constant(i+dt/2, 0)
#print(i)
t += T
#dummyAnalogue_1.constant(t, 0)
CH4.go_low(t)
#t = reinitialise(t)
t += 5
#print(t)
stop(t)

View File

@ -0,0 +1,108 @@
from labscript import *
import numpy as np
from labscript_utils import import_or_reload
import_or_reload('labscriptlib.NNDy_TestSetup.connection_table')
def wlm(shot_context,t, period = 10, buffer = 1e-3):
import lyse
import time
import pandas as pd
import sys
import h5py
import numpy as np
new_path = r'C:\Users\DyLab\labscript-suite\userlib\labscriptlib\NNDy_TestSetup\Sequences'
if new_path not in sys.path:
sys.path.append(new_path)
import wlmData
# Load the DLL
DLL_PATH = "C:\Windows\SysWOW64\wlmData.dll"
wlmData.LoadDLL(DLL_PATH)
#lyse recalls the hdf5 file, where it will save the measurements
#run = lyse.Run(shot_context.h5_file)
#run.set_group('wlm')
group_name = 'results/wlm'
print(f"Reading wavelength data for {period} seconds. Wait or Press Ctrl+C to stop.")
data = []
start_time = time.time()
#print(start_time)
try:
while True:
# Get the current timestamp
elapsed_time = time.time() - start_time
if elapsed_time > period:
print("Measurement completed!")
break
# Get the wavelength
channel = 4
#second argument is to be left to 0 - see wlm manual page 80
wavelength = wlmData.dll.GetWavelengthNum(channel,0.0)
frequency = wlmData.dll.GetFrequencyNum(channel,0.0)
# Log the data, with a list it's more efficient
data.append([elapsed_time, wavelength, frequency])
#print(f"Time: {elapsed_time}, Wavelength: {wavelength} nm, frequency: {frequency} THz")
# Wait for a short interval before the next reading
time.sleep(buffer)
except KeyboardInterrupt:
print("Measurement stopped.")
#data_df = pd.DataFrame(data, columns = ['timestamp [s]','wavelength [nm]', 'frequency [THz]'])
#the dataframe is saved as wlm_df
frametype = 'wlm_df'
#run.save_result(frametype, data)
with h5py.File(shot_context.h5_file, 'r+') as f:
group = f.require_group(group_name)
dset = group.create_dataset(
frametype, data=data
)
# Specify this dataset should be viewed as an image
dset.attrs['CLASS'] = np.bytes_('TABLE')
fr.add_function('stop',wlm, T_wlm, buffer_wlm)
start()
t0 = 0
t = t0 + wait_AWG
analogue_val = delta_freq * FM_halfrange_analogue / FM_FreqDev
AOM_Control.constant(t, 0)
t+=0.1
AOM_Control.constant(t, analogue_val)
t+=0.5
Camera.expose(t, name = 'camera_snap', frametype = 'image' #name of the frame to be saved in the hdf5 file
)
t+=0.1
CH3.go_high(t + 0.01)
CH3.go_low(t + 0.02)
CH3.go_high(t + 0.03)
CH3.go_low(t + 0.04)
t += 1.05
stop(t)

View File

@ -0,0 +1,659 @@
######################################################################################################
# @package wlmData
# @file wlmData.py
# @copyright HighFinesse GmbH.
# @date 2020.06.02
# @version 0.4
#
# Homepage: http://www.highfinesse.com/
#
# @brief Python wrapper for wlmData.dll.
#
# Changelog:
# ----------
# 2018.09.12
# v0.1 - Initial release
# 2018.09.14
# v0.2 - Constant values added
# 2018.09.15
# v0.3 - Constant values separated to wlmConst.py, LoadDLL() added
# 2020.06.02
# v0.4 - GetPattern... and GetAnalysisData argtypes adapted
#/
import ctypes
dll = None
def LoadDLL(DLL_Path):
global dll
dll = ctypes.CDLL(DLL_Path)
# LONG_PTR Instantiate(long RFC, long Mode, LONG_PTR P1, long P2)
dll.Instantiate.argtypes = [ ctypes.c_long, ctypes.c_long, ctypes.POINTER(ctypes.c_long), ctypes.c_long ]
dll.Instantiate.restype = ctypes.POINTER(ctypes.c_long)
# long WaitForWLMEvent(lref Mode, lref IntVal, dref DblVal)
dll.WaitForWLMEvent.argtypes = [ ctypes.POINTER(ctypes.c_long), ctypes.POINTER(ctypes.c_long), ctypes.POINTER(ctypes.c_double) ]
dll.WaitForWLMEvent.restype = ctypes.c_long
# long WaitForWLMEventEx(lref Ver, lref Mode, lref IntVal, dref DblVal, lref Res1)
dll.WaitForWLMEventEx.argtypes = [ ctypes.POINTER(ctypes.c_long), ctypes.POINTER(ctypes.c_long), ctypes.POINTER(ctypes.c_long), ctypes.POINTER(ctypes.c_double), ctypes.POINTER(ctypes.c_long) ]
dll.WaitForWLMEventEx.restype = ctypes.c_long
# long WaitForNextWLMEvent(lref Mode, lref IntVal, dref DblVal)
dll.WaitForNextWLMEvent.argtypes = [ ctypes.POINTER(ctypes.c_long), ctypes.POINTER(ctypes.c_long), ctypes.POINTER(ctypes.c_double) ]
dll.WaitForNextWLMEvent.restype = ctypes.c_long
# long WaitForNextWLMEventEx(lref Ver, lref Mode, lref IntVal, dref DblVal, lref Res1)
dll.WaitForNextWLMEventEx.argtypes = [ ctypes.POINTER(ctypes.c_long), ctypes.POINTER(ctypes.c_long), ctypes.POINTER(ctypes.c_long), ctypes.POINTER(ctypes.c_double), ctypes.POINTER(ctypes.c_long) ]
dll.WaitForNextWLMEventEx.restype = ctypes.c_long
# void ClearWLMEvents(void)
dll.ClearWLMEvents.argtypes = [ ]
dll.ClearWLMEvents.restype = None
# long ControlWLM(long Action, LONG_PTR App, long Ver)
dll.ControlWLM.argtypes = [ ctypes.c_long, ctypes.POINTER(ctypes.c_long), ctypes.c_long ]
dll.ControlWLM.restype = ctypes.c_long
# long ControlWLMEx(long Action, LONG_PTR App, long Ver, long Delay, long Res)
dll.ControlWLMEx.argtypes = [ ctypes.c_long, ctypes.POINTER(ctypes.c_long), ctypes.c_long, ctypes.c_long, ctypes.c_long ]
dll.ControlWLMEx.restype = ctypes.c_long
# __int64 SynchroniseWLM(long Mode, __int64 TS)
dll.SynchroniseWLM.argtypes = [ ctypes.c_long, ctypes.c_longlong ]
dll.SynchroniseWLM.restype = ctypes.c_longlong
# long SetMeasurementDelayMethod(long Mode, long Delay)
dll.SetMeasurementDelayMethod.argtypes = [ ctypes.c_long, ctypes.c_long ]
dll.SetMeasurementDelayMethod.restype = ctypes.c_long
# long SetWLMPriority(long PPC, long Res1, long Res2)
dll.SetWLMPriority.argtypes = [ ctypes.c_long, ctypes.c_long, ctypes.c_long ]
dll.SetWLMPriority.restype = ctypes.c_long
# long PresetWLMIndex(long Ver)
dll.PresetWLMIndex.argtypes = [ ctypes.c_long ]
dll.PresetWLMIndex.restype = ctypes.c_long
# long GetWLMVersion(long Ver)
dll.GetWLMVersion.argtypes = [ ctypes.c_long ]
dll.GetWLMVersion.restype = ctypes.c_long
# long GetWLMIndex(long Ver)
dll.GetWLMIndex.argtypes = [ ctypes.c_long ]
dll.GetWLMIndex.restype = ctypes.c_long
# long GetWLMCount(long V)
dll.GetWLMCount.argtypes = [ ctypes.c_long ]
dll.GetWLMCount.restype = ctypes.c_long
# double GetWavelength(double WL)
dll.GetWavelength.argtypes = [ ctypes.c_double ]
dll.GetWavelength.restype = ctypes.c_double
# double GetWavelength2(double WL2)
dll.GetWavelength2.argtypes = [ ctypes.c_double ]
dll.GetWavelength2.restype = ctypes.c_double
# double GetWavelengthNum(long num, double WL)
dll.GetWavelengthNum.argtypes = [ ctypes.c_long, ctypes.c_double ]
dll.GetWavelengthNum.restype = ctypes.c_double
# double GetCalWavelength(long ba, double WL)
dll.GetCalWavelength.argtypes = [ ctypes.c_long, ctypes.c_double ]
dll.GetCalWavelength.restype = ctypes.c_double
# double GetCalibrationEffect(double CE)
dll.GetCalibrationEffect.argtypes = [ ctypes.c_double ]
dll.GetCalibrationEffect.restype = ctypes.c_double
# double GetFrequency(double F)
dll.GetFrequency.argtypes = [ ctypes.c_double ]
dll.GetFrequency.restype = ctypes.c_double
# double GetFrequency2(double F2)
dll.GetFrequency2.argtypes = [ ctypes.c_double ]
dll.GetFrequency2.restype = ctypes.c_double
# double GetFrequencyNum(long num, double F)
dll.GetFrequencyNum.argtypes = [ ctypes.c_long, ctypes.c_double ]
dll.GetFrequencyNum.restype = ctypes.c_double
# double GetLinewidth(long Index, double LW)
dll.GetLinewidth.argtypes = [ ctypes.c_long, ctypes.c_double ]
dll.GetLinewidth.restype = ctypes.c_double
# double GetLinewidthNum(long num, double LW)
dll.GetLinewidthNum.argtypes = [ ctypes.c_long, ctypes.c_double ]
dll.GetLinewidthNum.restype = ctypes.c_double
# double GetDistance(double D)
dll.GetDistance.argtypes = [ ctypes.c_double ]
dll.GetDistance.restype = ctypes.c_double
# double GetAnalogIn(double AI)
dll.GetAnalogIn.argtypes = [ ctypes.c_double ]
dll.GetAnalogIn.restype = ctypes.c_double
# double GetTemperature(double T)
dll.GetTemperature.argtypes = [ ctypes.c_double ]
dll.GetTemperature.restype = ctypes.c_double
# long SetTemperature(double T)
dll.SetTemperature.argtypes = [ ctypes.c_double ]
dll.SetTemperature.restype = ctypes.c_long
# double GetPressure(double P)
dll.GetPressure.argtypes = [ ctypes.c_double ]
dll.GetPressure.restype = ctypes.c_double
# long SetPressure(long Mode, double P)
dll.SetPressure.argtypes = [ ctypes.c_long, ctypes.c_double ]
dll.SetPressure.restype = ctypes.c_long
# double GetExternalInput(long Index, double I)
dll.GetExternalInput.argtypes = [ ctypes.c_long, ctypes.c_double ]
dll.GetExternalInput.restype = ctypes.c_double
# long SetExternalInput(long Index, double I)
dll.SetExternalInput.argtypes = [ ctypes.c_long, ctypes.c_double ]
dll.SetExternalInput.restype = ctypes.c_long
# long GetExtraSetting(long Index, lref lGet, dref dGet, sref sGet)
dll.GetExtraSetting.argtypes = [ ctypes.c_long, ctypes.POINTER(ctypes.c_long), ctypes.POINTER(ctypes.c_double), ctypes.c_char_p ]
dll.GetExtraSetting.restype = ctypes.c_long
# long SetExtraSetting(long Index, long lSet, double dSet, sref sSet)
dll.SetExtraSetting.argtypes = [ ctypes.c_long, ctypes.c_long, ctypes.c_double, ctypes.c_char_p ]
dll.SetExtraSetting.restype = ctypes.c_long
# unsigned short GetExposure(unsigned short E)
dll.GetExposure.argtypes = [ ctypes.c_ushort ]
dll.GetExposure.restype = ctypes.c_ushort
# long SetExposure(unsigned short E)
dll.SetExposure.argtypes = [ ctypes.c_ushort ]
dll.SetExposure.restype = ctypes.c_long
# unsigned short GetExposure2(unsigned short E2)
dll.GetExposure2.argtypes = [ ctypes.c_ushort ]
dll.GetExposure2.restype = ctypes.c_ushort
# long SetExposure2(unsigned short E2)
dll.SetExposure2.argtypes = [ ctypes.c_ushort ]
dll.SetExposure2.restype = ctypes.c_long
# long GetExposureNum(long num, long arr, long E)
dll.GetExposureNum.argtypes = [ ctypes.c_long, ctypes.c_long, ctypes.c_long ]
dll.GetExposureNum.restype = ctypes.c_long
# long SetExposureNum(long num, long arr, long E)
dll.SetExposureNum.argtypes = [ ctypes.c_long, ctypes.c_long, ctypes.c_long ]
dll.SetExposureNum.restype = ctypes.c_long
# double GetExposureNumEx(long num, long arr, double E)
dll.GetExposureNumEx.argtypes = [ ctypes.c_long, ctypes.c_long, ctypes.c_double ]
dll.GetExposureNumEx.restype = ctypes.c_double
# long SetExposureNumEx(long num, long arr, double E)
dll.SetExposureNumEx.argtypes = [ ctypes.c_long, ctypes.c_long, ctypes.c_double ]
dll.SetExposureNumEx.restype = ctypes.c_long
# bool GetExposureMode(bool EM)
dll.GetExposureMode.argtypes = [ ctypes.c_bool ]
dll.GetExposureMode.restype = ctypes.c_bool
# long SetExposureMode(bool EM)
dll.SetExposureMode.argtypes = [ ctypes.c_bool ]
dll.SetExposureMode.restype = ctypes.c_long
# long GetExposureModeNum(long num, bool EM)
dll.GetExposureModeNum.argtypes = [ ctypes.c_long, ctypes.c_bool ]
dll.GetExposureModeNum.restype = ctypes.c_long
# long SetExposureModeNum(long num, bool EM)
dll.SetExposureModeNum.argtypes = [ ctypes.c_long, ctypes.c_bool ]
dll.SetExposureModeNum.restype = ctypes.c_long
# long GetExposureRange(long ER)
dll.GetExposureRange.argtypes = [ ctypes.c_long ]
dll.GetExposureRange.restype = ctypes.c_long
# long GetAutoExposureSetting(long num, long AES, lref iVal, dref dVal)
dll.GetAutoExposureSetting.argtypes = [ ctypes.c_long, ctypes.c_long, ctypes.POINTER(ctypes.c_long), ctypes.POINTER(ctypes.c_double) ]
dll.GetAutoExposureSetting.restype = ctypes.c_long
# long SetAutoExposureSetting(long num, long AES, long iVal, double dVal)
dll.SetAutoExposureSetting.argtypes = [ ctypes.c_long, ctypes.c_long, ctypes.c_long, ctypes.c_double ]
dll.SetAutoExposureSetting.restype = ctypes.c_long
# unsigned short GetResultMode(unsigned short RM)
dll.GetResultMode.argtypes = [ ctypes.c_ushort ]
dll.GetResultMode.restype = ctypes.c_ushort
# long SetResultMode(unsigned short RM)
dll.SetResultMode.argtypes = [ ctypes.c_ushort ]
dll.SetResultMode.restype = ctypes.c_long
# unsigned short GetRange(unsigned short R)
dll.GetRange.argtypes = [ ctypes.c_ushort ]
dll.GetRange.restype = ctypes.c_ushort
# long SetRange(unsigned short R)
dll.SetRange.argtypes = [ ctypes.c_ushort ]
dll.SetRange.restype = ctypes.c_long
# unsigned short GetPulseMode(unsigned short PM)
dll.GetPulseMode.argtypes = [ ctypes.c_ushort ]
dll.GetPulseMode.restype = ctypes.c_ushort
# long SetPulseMode(unsigned short PM)
dll.SetPulseMode.argtypes = [ ctypes.c_ushort ]
dll.SetPulseMode.restype = ctypes.c_long
# long GetPulseDelay(long PD)
dll.GetPulseDelay.argtypes = [ ctypes.c_long ]
dll.GetPulseDelay.restype = ctypes.c_long
# long SetPulseDelay(long PD)
dll.SetPulseDelay.argtypes = [ ctypes.c_long ]
dll.SetPulseDelay.restype = ctypes.c_long
# unsigned short GetWideMode(unsigned short WM)
dll.GetWideMode.argtypes = [ ctypes.c_ushort ]
dll.GetWideMode.restype = ctypes.c_ushort
# long SetWideMode(unsigned short WM)
dll.SetWideMode.argtypes = [ ctypes.c_ushort ]
dll.SetWideMode.restype = ctypes.c_long
# long GetDisplayMode(long DM)
dll.GetDisplayMode.argtypes = [ ctypes.c_long ]
dll.GetDisplayMode.restype = ctypes.c_long
# long SetDisplayMode(long DM)
dll.SetDisplayMode.argtypes = [ ctypes.c_long ]
dll.SetDisplayMode.restype = ctypes.c_long
# bool GetFastMode(bool FM)
dll.GetFastMode.argtypes = [ ctypes.c_bool ]
dll.GetFastMode.restype = ctypes.c_bool
# long SetFastMode(bool FM)
dll.SetFastMode.argtypes = [ ctypes.c_bool ]
dll.SetFastMode.restype = ctypes.c_long
# bool GetLinewidthMode(bool LM)
dll.GetLinewidthMode.argtypes = [ ctypes.c_bool ]
dll.GetLinewidthMode.restype = ctypes.c_bool
# long SetLinewidthMode(bool LM)
dll.SetLinewidthMode.argtypes = [ ctypes.c_bool ]
dll.SetLinewidthMode.restype = ctypes.c_long
# bool GetDistanceMode(bool DM)
dll.GetDistanceMode.argtypes = [ ctypes.c_bool ]
dll.GetDistanceMode.restype = ctypes.c_bool
# long SetDistanceMode(bool DM)
dll.SetDistanceMode.argtypes = [ ctypes.c_bool ]
dll.SetDistanceMode.restype = ctypes.c_long
# long GetSwitcherMode(long SM)
dll.GetSwitcherMode.argtypes = [ ctypes.c_long ]
dll.GetSwitcherMode.restype = ctypes.c_long
# long SetSwitcherMode(long SM)
dll.SetSwitcherMode.argtypes = [ ctypes.c_long ]
dll.SetSwitcherMode.restype = ctypes.c_long
# long GetSwitcherChannel(long CH)
dll.GetSwitcherChannel.argtypes = [ ctypes.c_long ]
dll.GetSwitcherChannel.restype = ctypes.c_long
# long SetSwitcherChannel(long CH)
dll.SetSwitcherChannel.argtypes = [ ctypes.c_long ]
dll.SetSwitcherChannel.restype = ctypes.c_long
# long GetSwitcherSignalStates(long Signal, lref Use, lref Show)
dll.GetSwitcherSignalStates.argtypes = [ ctypes.c_long, ctypes.POINTER(ctypes.c_long), ctypes.POINTER(ctypes.c_long) ]
dll.GetSwitcherSignalStates.restype = ctypes.c_long
# long SetSwitcherSignalStates(long Signal, long Use, long Show)
dll.SetSwitcherSignalStates.argtypes = [ ctypes.c_long, ctypes.c_long, ctypes.c_long ]
dll.SetSwitcherSignalStates.restype = ctypes.c_long
# long SetSwitcherSignal(long Signal, long Use, long Show)
dll.SetSwitcherSignal.argtypes = [ ctypes.c_long, ctypes.c_long, ctypes.c_long ]
dll.SetSwitcherSignal.restype = ctypes.c_long
# long GetAutoCalMode(long ACM)
dll.GetAutoCalMode.argtypes = [ ctypes.c_long ]
dll.GetAutoCalMode.restype = ctypes.c_long
# long SetAutoCalMode(long ACM)
dll.SetAutoCalMode.argtypes = [ ctypes.c_long ]
dll.SetAutoCalMode.restype = ctypes.c_long
# long GetAutoCalSetting(long ACS, lref val, long Res1, lref Res2)
dll.GetAutoCalSetting.argtypes = [ ctypes.c_long, ctypes.POINTER(ctypes.c_long), ctypes.c_long, ctypes.POINTER(ctypes.c_long) ]
dll.GetAutoCalSetting.restype = ctypes.c_long
# long SetAutoCalSetting(long ACS, long val, long Res1, long Res2)
dll.SetAutoCalSetting.argtypes = [ ctypes.c_long, ctypes.c_long, ctypes.c_long, ctypes.c_long ]
dll.SetAutoCalSetting.restype = ctypes.c_long
# long GetActiveChannel(long Mode, lref Port, long Res1)
dll.GetActiveChannel.argtypes = [ ctypes.c_long, ctypes.POINTER(ctypes.c_long), ctypes.c_long ]
dll.GetActiveChannel.restype = ctypes.c_long
# long SetActiveChannel(long Mode, long Port, long CH, long Res1)
dll.SetActiveChannel.argtypes = [ ctypes.c_long, ctypes.c_long, ctypes.c_long, ctypes.c_long ]
dll.SetActiveChannel.restype = ctypes.c_long
# long GetChannelsCount(long C)
dll.GetChannelsCount.argtypes = [ ctypes.c_long ]
dll.GetChannelsCount.restype = ctypes.c_long
# unsigned short GetOperationState(unsigned short OS)
dll.GetOperationState.argtypes = [ ctypes.c_ushort ]
dll.GetOperationState.restype = ctypes.c_ushort
# long Operation(unsigned short Op)
dll.Operation.argtypes = [ ctypes.c_ushort ]
dll.Operation.restype = ctypes.c_long
# long SetOperationFile(sref lpFile)
dll.SetOperationFile.argtypes = [ ctypes.c_char_p ]
dll.SetOperationFile.restype = ctypes.c_long
# long Calibration(long Type, long Unit, double Value, long Channel)
dll.Calibration.argtypes = [ ctypes.c_long, ctypes.c_long, ctypes.c_double, ctypes.c_long ]
dll.Calibration.restype = ctypes.c_long
# long RaiseMeasurementEvent(long Mode)
dll.RaiseMeasurementEvent.argtypes = [ ctypes.c_long ]
dll.RaiseMeasurementEvent.restype = ctypes.c_long
# long TriggerMeasurement(long Action)
dll.TriggerMeasurement.argtypes = [ ctypes.c_long ]
dll.TriggerMeasurement.restype = ctypes.c_long
# long GetTriggerState(long TS)
dll.GetTriggerState.argtypes = [ ctypes.c_long ]
dll.GetTriggerState.restype = ctypes.c_long
# long GetInterval(long I)
dll.GetInterval.argtypes = [ ctypes.c_long ]
dll.GetInterval.restype = ctypes.c_long
# long SetInterval(long I)
dll.SetInterval.argtypes = [ ctypes.c_long ]
dll.SetInterval.restype = ctypes.c_long
# bool GetIntervalMode(bool IM)
dll.GetIntervalMode.argtypes = [ ctypes.c_bool ]
dll.GetIntervalMode.restype = ctypes.c_bool
# long SetIntervalMode(bool IM)
dll.SetIntervalMode.argtypes = [ ctypes.c_bool ]
dll.SetIntervalMode.restype = ctypes.c_long
# long GetBackground(long BG)
dll.GetBackground.argtypes = [ ctypes.c_long ]
dll.GetBackground.restype = ctypes.c_long
# long SetBackground(long BG)
dll.SetBackground.argtypes = [ ctypes.c_long ]
dll.SetBackground.restype = ctypes.c_long
# long GetAveragingSettingNum(long num, long AS, long Value)
dll.GetAveragingSettingNum.argtypes = [ ctypes.c_long, ctypes.c_long, ctypes.c_long ]
dll.GetAveragingSettingNum.restype = ctypes.c_long
# long SetAveragingSettingNum(long num, long AS, long Value)
dll.SetAveragingSettingNum.argtypes = [ ctypes.c_long, ctypes.c_long, ctypes.c_long ]
dll.SetAveragingSettingNum.restype = ctypes.c_long
# bool GetLinkState(bool LS)
dll.GetLinkState.argtypes = [ ctypes.c_bool ]
dll.GetLinkState.restype = ctypes.c_bool
# long SetLinkState(bool LS)
dll.SetLinkState.argtypes = [ ctypes.c_bool ]
dll.SetLinkState.restype = ctypes.c_long
# void LinkSettingsDlg(void)
dll.LinkSettingsDlg.argtypes = [ ]
dll.LinkSettingsDlg.restype = None
# long GetPatternItemSize(long Index)
dll.GetPatternItemSize.argtypes = [ ctypes.c_long ]
dll.GetPatternItemSize.restype = ctypes.c_long
# long GetPatternItemCount(long Index)
dll.GetPatternItemCount.argtypes = [ ctypes.c_long ]
dll.GetPatternItemCount.restype = ctypes.c_long
# ULONG_PTR GetPattern(long Index)
dll.GetPattern.argtypes = [ ctypes.c_long ]
dll.GetPattern.restype = ctypes.POINTER(ctypes.c_ulong)
# ULONG_PTR GetPatternNum(long Chn, long Index)
dll.GetPatternNum.argtypes = [ ctypes.c_long, ctypes.c_long ]
dll.GetPatternNum.restype = ctypes.POINTER(ctypes.c_ulong)
# long GetPatternData(long Index, ULONG_PTR PArray)
dll.GetPatternData.argtypes = [ ctypes.c_long, ctypes.POINTER(ctypes.c_short) ]
dll.GetPatternData.restype = ctypes.c_long
# long GetPatternDataNum(long Chn, long Index, ULONG_PTR PArray)
dll.GetPatternDataNum.argtypes = [ ctypes.c_long, ctypes.c_long, ctypes.POINTER(ctypes.c_short) ]
dll.GetPatternDataNum.restype = ctypes.c_long
# long SetPattern(long Index, long iEnable)
dll.SetPattern.argtypes = [ ctypes.c_long, ctypes.c_long ]
dll.SetPattern.restype = ctypes.c_long
# long SetPatternData(long Index, ULONG_PTR PArray)
dll.SetPatternData.argtypes = [ ctypes.c_long, ctypes.POINTER(ctypes.c_ulong) ]
dll.SetPatternData.restype = ctypes.c_long
# bool GetAnalysisMode(bool AM)
dll.GetAnalysisMode.argtypes = [ ctypes.c_bool ]
dll.GetAnalysisMode.restype = ctypes.c_bool
# long SetAnalysisMode(bool AM)
dll.SetAnalysisMode.argtypes = [ ctypes.c_bool ]
dll.SetAnalysisMode.restype = ctypes.c_long
# long GetAnalysisItemSize(long Index)
dll.GetAnalysisItemSize.argtypes = [ ctypes.c_long ]
dll.GetAnalysisItemSize.restype = ctypes.c_long
# long GetAnalysisItemCount(long Index)
dll.GetAnalysisItemCount.argtypes = [ ctypes.c_long ]
dll.GetAnalysisItemCount.restype = ctypes.c_long
# ULONG_PTR GetAnalysis(long Index)
dll.GetAnalysis.argtypes = [ ctypes.c_long ]
dll.GetAnalysis.restype = ctypes.POINTER(ctypes.c_ulong)
# long GetAnalysisData(long Index, ULONG_PTR PArray)
dll.GetAnalysisData.argtypes = [ ctypes.c_long, ctypes.POINTER(ctypes.c_double) ]
dll.GetAnalysisData.restype = ctypes.c_long
# long SetAnalysis(long Index, long iEnable)
dll.SetAnalysis.argtypes = [ ctypes.c_long, ctypes.c_long ]
dll.SetAnalysis.restype = ctypes.c_long
# long GetMinPeak(long M1)
dll.GetMinPeak.argtypes = [ ctypes.c_long ]
dll.GetMinPeak.restype = ctypes.c_long
# long GetMinPeak2(long M2)
dll.GetMinPeak2.argtypes = [ ctypes.c_long ]
dll.GetMinPeak2.restype = ctypes.c_long
# long GetMaxPeak(long X1)
dll.GetMaxPeak.argtypes = [ ctypes.c_long ]
dll.GetMaxPeak.restype = ctypes.c_long
# long GetMaxPeak2(long X2)
dll.GetMaxPeak2.argtypes = [ ctypes.c_long ]
dll.GetMaxPeak2.restype = ctypes.c_long
# long GetAvgPeak(long A1)
dll.GetAvgPeak.argtypes = [ ctypes.c_long ]
dll.GetAvgPeak.restype = ctypes.c_long
# long GetAvgPeak2(long A2)
dll.GetAvgPeak2.argtypes = [ ctypes.c_long ]
dll.GetAvgPeak2.restype = ctypes.c_long
# long SetAvgPeak(long PA)
dll.SetAvgPeak.argtypes = [ ctypes.c_long ]
dll.SetAvgPeak.restype = ctypes.c_long
# long GetAmplitudeNum(long num, long Index, long A)
dll.GetAmplitudeNum.argtypes = [ ctypes.c_long, ctypes.c_long, ctypes.c_long ]
dll.GetAmplitudeNum.restype = ctypes.c_long
# double GetIntensityNum(long num, double I)
dll.GetIntensityNum.argtypes = [ ctypes.c_long, ctypes.c_double ]
dll.GetIntensityNum.restype = ctypes.c_double
# double GetPowerNum(long num, double P)
dll.GetPowerNum.argtypes = [ ctypes.c_long, ctypes.c_double ]
dll.GetPowerNum.restype = ctypes.c_double
# unsigned short GetDelay(unsigned short D)
dll.GetDelay.argtypes = [ ctypes.c_ushort ]
dll.GetDelay.restype = ctypes.c_ushort
# long SetDelay(unsigned short D)
dll.SetDelay.argtypes = [ ctypes.c_ushort ]
dll.SetDelay.restype = ctypes.c_long
# unsigned short GetShift(unsigned short S)
dll.GetShift.argtypes = [ ctypes.c_ushort ]
dll.GetShift.restype = ctypes.c_ushort
# long SetShift(unsigned short S)
dll.SetShift.argtypes = [ ctypes.c_ushort ]
dll.SetShift.restype = ctypes.c_long
# unsigned short GetShift2(unsigned short S2)
dll.GetShift2.argtypes = [ ctypes.c_ushort ]
dll.GetShift2.restype = ctypes.c_ushort
# long SetShift2(unsigned short S2)
dll.SetShift2.argtypes = [ ctypes.c_ushort ]
dll.SetShift2.restype = ctypes.c_long
# bool GetDeviationMode(bool DM)
dll.GetDeviationMode.argtypes = [ ctypes.c_bool ]
dll.GetDeviationMode.restype = ctypes.c_bool
# long SetDeviationMode(bool DM)
dll.SetDeviationMode.argtypes = [ ctypes.c_bool ]
dll.SetDeviationMode.restype = ctypes.c_long
# double GetDeviationReference(double DR)
dll.GetDeviationReference.argtypes = [ ctypes.c_double ]
dll.GetDeviationReference.restype = ctypes.c_double
# long SetDeviationReference(double DR)
dll.SetDeviationReference.argtypes = [ ctypes.c_double ]
dll.SetDeviationReference.restype = ctypes.c_long
# long GetDeviationSensitivity(long DS)
dll.GetDeviationSensitivity.argtypes = [ ctypes.c_long ]
dll.GetDeviationSensitivity.restype = ctypes.c_long
# long SetDeviationSensitivity(long DS)
dll.SetDeviationSensitivity.argtypes = [ ctypes.c_long ]
dll.SetDeviationSensitivity.restype = ctypes.c_long
# double GetDeviationSignal(double DS)
dll.GetDeviationSignal.argtypes = [ ctypes.c_double ]
dll.GetDeviationSignal.restype = ctypes.c_double
# double GetDeviationSignalNum(long Port, double DS)
dll.GetDeviationSignalNum.argtypes = [ ctypes.c_long, ctypes.c_double ]
dll.GetDeviationSignalNum.restype = ctypes.c_double
# long SetDeviationSignal(double DS)
dll.SetDeviationSignal.argtypes = [ ctypes.c_double ]
dll.SetDeviationSignal.restype = ctypes.c_long
# long SetDeviationSignalNum(long Port, double DS)
dll.SetDeviationSignalNum.argtypes = [ ctypes.c_long, ctypes.c_double ]
dll.SetDeviationSignalNum.restype = ctypes.c_long
# double RaiseDeviationSignal(long iType, double dSignal)
dll.RaiseDeviationSignal.argtypes = [ ctypes.c_long, ctypes.c_double ]
dll.RaiseDeviationSignal.restype = ctypes.c_double
# long GetPIDCourse(sref PIDC)
dll.GetPIDCourse.argtypes = [ ctypes.c_char_p ]
dll.GetPIDCourse.restype = ctypes.c_long
# long SetPIDCourse(sref PIDC)
dll.SetPIDCourse.argtypes = [ ctypes.c_char_p ]
dll.SetPIDCourse.restype = ctypes.c_long
# long GetPIDCourseNum(long Port, sref PIDC)
dll.GetPIDCourseNum.argtypes = [ ctypes.c_long, ctypes.c_char_p ]
dll.GetPIDCourseNum.restype = ctypes.c_long
# long SetPIDCourseNum(long Port, sref PIDC)
dll.SetPIDCourseNum.argtypes = [ ctypes.c_long, ctypes.c_char_p ]
dll.SetPIDCourseNum.restype = ctypes.c_long
# long GetPIDSetting(long PS, long Port, lref iSet, dref dSet)
dll.GetPIDSetting.argtypes = [ ctypes.c_long, ctypes.c_long, ctypes.POINTER(ctypes.c_long), ctypes.POINTER(ctypes.c_double) ]
dll.GetPIDSetting.restype = ctypes.c_long
# long SetPIDSetting(long PS, long Port, long iSet, double dSet)
dll.SetPIDSetting.argtypes = [ ctypes.c_long, ctypes.c_long, ctypes.c_long, ctypes.c_double ]
dll.SetPIDSetting.restype = ctypes.c_long
# long GetLaserControlSetting(long PS, long Port, lref iSet, dref dSet, sref sSet)
dll.GetLaserControlSetting.argtypes = [ ctypes.c_long, ctypes.c_long, ctypes.POINTER(ctypes.c_long), ctypes.POINTER(ctypes.c_double), ctypes.c_char_p ]
dll.GetLaserControlSetting.restype = ctypes.c_long
# long SetLaserControlSetting(long PS, long Port, long iSet, double dSet, sref sSet)
dll.SetLaserControlSetting.argtypes = [ ctypes.c_long, ctypes.c_long, ctypes.c_long, ctypes.c_double, ctypes.c_char_p ]
dll.SetLaserControlSetting.restype = ctypes.c_long
# long ClearPIDHistory(long Port)
dll.ClearPIDHistory.argtypes = [ ctypes.c_long ]
dll.ClearPIDHistory.restype = ctypes.c_long
# double ConvertUnit(double Val, long uFrom, long uTo)
dll.ConvertUnit.argtypes = [ ctypes.c_double, ctypes.c_long, ctypes.c_long ]
dll.ConvertUnit.restype = ctypes.c_double
# double ConvertDeltaUnit(double Base, double Delta, long uBase, long uFrom, long uTo)
dll.ConvertDeltaUnit.argtypes = [ ctypes.c_double, ctypes.c_double, ctypes.c_long, ctypes.c_long, ctypes.c_long ]
dll.ConvertDeltaUnit.restype = ctypes.c_double
# bool GetReduced(bool R)
dll.GetReduced.argtypes = [ ctypes.c_bool ]
dll.GetReduced.restype = ctypes.c_bool
# long SetReduced(bool R)
dll.SetReduced.argtypes = [ ctypes.c_bool ]
dll.SetReduced.restype = ctypes.c_long
# unsigned short GetScale(unsigned short S)
dll.GetScale.argtypes = [ ctypes.c_ushort ]
dll.GetScale.restype = ctypes.c_ushort
# long SetScale(unsigned short S)
dll.SetScale.argtypes = [ ctypes.c_ushort ]
dll.SetScale.restype = ctypes.c_long