diff --git a/AWGCommandScripts/WindowsScripts/AWGCommand.py b/AWGCommandScripts/WindowsScripts/AWGCommand.py new file mode 100644 index 0000000..0dabd6e --- /dev/null +++ b/AWGCommandScripts/WindowsScripts/AWGCommand.py @@ -0,0 +1,57 @@ +import socket +import sys +import subprocess + +arg_message = sys.argv[1] + +if len(sys.argv)>2: + freq = sys.argv[2] +else: + freq = '140' + +freq_add = '2;'+freq +freq_drop = '14;'+freq +channel0 = '12;0' +channel1 = '12;1' + +if arg_message == '1chan_start': # Set channel0 to freq MHz, channel1 is off (only works if AWG.ini is configured T,F,F,F) + socket.socket(socket.AF_INET, socket.SOCK_DGRAM).sendto(bytes(channel0, "utf-8"), ("192.168.1.179", 5080)) + socket.socket(socket.AF_INET, socket.SOCK_DGRAM).sendto(bytes(freq_add, "utf-8"), ("192.168.1.179", 5080)) + +elif arg_message == '2chan_start': # Set channel0 to freq MHz, channel1 is freq MHz + socket.socket(socket.AF_INET, socket.SOCK_DGRAM).sendto(bytes(channel0, "utf-8"), ("192.168.1.179", 5080)) + socket.socket(socket.AF_INET, socket.SOCK_DGRAM).sendto(bytes(freq_add, "utf-8"), ("192.168.1.179", 5080)) + socket.socket(socket.AF_INET, socket.SOCK_DGRAM).sendto(bytes(channel1, "utf-8"), ("192.168.1.179", 5080)) + socket.socket(socket.AF_INET, socket.SOCK_DGRAM).sendto(bytes(freq_add, "utf-8"), ("192.168.1.179", 5080)) + +elif arg_message == 'start': # Start server + socket.socket(socket.AF_INET, socket.SOCK_DGRAM).sendto(bytes('6', "utf-8"), ("192.168.1.179", 5080)) + +elif arg_message == 'stop': # Stop server + socket.socket(socket.AF_INET, socket.SOCK_DGRAM).sendto(bytes('7', "utf-8"), ("192.168.1.179", 5080)) + +elif arg_message == 'bootup': # Kill server + try: + socket.socket(socket.AF_INET, socket.SOCK_DGRAM).sendto(bytes('1', "utf-8"), ("192.168.1.179", 5080)) # Kills any running instance of server + subprocess.check_output('ssh awglics@192.168.1.179 ". run_server.sh"') # Starts new server + except: + subprocess.check_output('ssh awglics@192.168.1.179 ". run_server.sh"') # Starts new server + +elif arg_message == 'kill': # Kill server + socket.socket(socket.AF_INET, socket.SOCK_DGRAM).sendto(bytes('1', "utf-8"), ("192.168.1.179", 5080)) + +else: + socket.socket(socket.AF_INET, socket.SOCK_DGRAM).sendto(bytes(arg_message, "utf-8"), ("192.168.1.179", 5080)) + +############ For reference: ############ + +# EXIT: 1 +# FREQ: 2 +# ADD: 3 +# MODIFY: 4 +# START: 6 +# STOP: 7 +# CHAN: 12 +# SWEEP: 13 +# DUMP: 14 +# RESTORE 15 \ No newline at end of file diff --git a/AWGCommandScripts/WindowsScripts/sample.py b/AWGCommandScripts/WindowsScripts/sample.py new file mode 100644 index 0000000..0dabd6e --- /dev/null +++ b/AWGCommandScripts/WindowsScripts/sample.py @@ -0,0 +1,57 @@ +import socket +import sys +import subprocess + +arg_message = sys.argv[1] + +if len(sys.argv)>2: + freq = sys.argv[2] +else: + freq = '140' + +freq_add = '2;'+freq +freq_drop = '14;'+freq +channel0 = '12;0' +channel1 = '12;1' + +if arg_message == '1chan_start': # Set channel0 to freq MHz, channel1 is off (only works if AWG.ini is configured T,F,F,F) + socket.socket(socket.AF_INET, socket.SOCK_DGRAM).sendto(bytes(channel0, "utf-8"), ("192.168.1.179", 5080)) + socket.socket(socket.AF_INET, socket.SOCK_DGRAM).sendto(bytes(freq_add, "utf-8"), ("192.168.1.179", 5080)) + +elif arg_message == '2chan_start': # Set channel0 to freq MHz, channel1 is freq MHz + socket.socket(socket.AF_INET, socket.SOCK_DGRAM).sendto(bytes(channel0, "utf-8"), ("192.168.1.179", 5080)) + socket.socket(socket.AF_INET, socket.SOCK_DGRAM).sendto(bytes(freq_add, "utf-8"), ("192.168.1.179", 5080)) + socket.socket(socket.AF_INET, socket.SOCK_DGRAM).sendto(bytes(channel1, "utf-8"), ("192.168.1.179", 5080)) + socket.socket(socket.AF_INET, socket.SOCK_DGRAM).sendto(bytes(freq_add, "utf-8"), ("192.168.1.179", 5080)) + +elif arg_message == 'start': # Start server + socket.socket(socket.AF_INET, socket.SOCK_DGRAM).sendto(bytes('6', "utf-8"), ("192.168.1.179", 5080)) + +elif arg_message == 'stop': # Stop server + socket.socket(socket.AF_INET, socket.SOCK_DGRAM).sendto(bytes('7', "utf-8"), ("192.168.1.179", 5080)) + +elif arg_message == 'bootup': # Kill server + try: + socket.socket(socket.AF_INET, socket.SOCK_DGRAM).sendto(bytes('1', "utf-8"), ("192.168.1.179", 5080)) # Kills any running instance of server + subprocess.check_output('ssh awglics@192.168.1.179 ". run_server.sh"') # Starts new server + except: + subprocess.check_output('ssh awglics@192.168.1.179 ". run_server.sh"') # Starts new server + +elif arg_message == 'kill': # Kill server + socket.socket(socket.AF_INET, socket.SOCK_DGRAM).sendto(bytes('1', "utf-8"), ("192.168.1.179", 5080)) + +else: + socket.socket(socket.AF_INET, socket.SOCK_DGRAM).sendto(bytes(arg_message, "utf-8"), ("192.168.1.179", 5080)) + +############ For reference: ############ + +# EXIT: 1 +# FREQ: 2 +# ADD: 3 +# MODIFY: 4 +# START: 6 +# STOP: 7 +# CHAN: 12 +# SWEEP: 13 +# DUMP: 14 +# RESTORE 15 \ No newline at end of file diff --git a/FAST ComTec/Files from FAST ComTec/dllmcs6a.pdf b/FAST ComTec/Files from FAST ComTec/dllmcs6a.pdf new file mode 100644 index 0000000..9404908 Binary files /dev/null and b/FAST ComTec/Files from FAST ComTec/dllmcs6a.pdf differ diff --git a/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/SETUP.EXE b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/SETUP.EXE new file mode 100644 index 0000000..5b6e491 Binary files /dev/null and b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/SETUP.EXE differ diff --git a/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/SETUPX64.EXE b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/SETUPX64.EXE new file mode 100644 index 0000000..63e406d Binary files /dev/null and b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/SETUPX64.EXE differ diff --git a/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/SERVER03/IA64/MCS6.SYS b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/SERVER03/IA64/MCS6.SYS new file mode 100644 index 0000000..2ed947c Binary files /dev/null and b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/SERVER03/IA64/MCS6.SYS differ diff --git a/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/SERVER03/MCS6.INF b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/SERVER03/MCS6.INF new file mode 100644 index 0000000..6e9e40a --- /dev/null +++ b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/SERVER03/MCS6.INF @@ -0,0 +1,91 @@ +; Installation inf for the FAST ComTec Model MCS6 +; +; (c) Copyright 2012 FAST ComTec +; + +[Version] +Signature="$WINDOWS NT$" +Class=Mcs6 +ClassGuid={27591D68-AD89-4c2b-ADF9-A86A905760A9} +provider=%FAST% +DriverVer=03/29/2012 +CatalogFile.NTx86 = mcs6x86.cat +CatalogFile.NTIA64 = mcs6ia64.cat +CatalogFile.NTAMD64 = mcs6x64.cat + +; ================= Class section ===================== + +[ClassInstall32] +Addreg=Mcs6ClassReg + +[Mcs6ClassReg] +HKR,,,0,%ClassName% +HKR,,Icon,,-5 + +[DestinationDirs] +DefaultDestDir = 12 + +; ================= Device section ===================== +[Manufacturer] + +%MfgName%=FAST,NTx86, NTia64, NTamd64 + +; For Win2K +[FAST] +%USB\VID_04B4&PID_1002.DeviceDesc%=MCS6.Dev, USB\VID_04B4&PID_1002 + +; For XP and later +[FAST.NTx86] +%USB\VID_04B4&PID_1002.DeviceDesc%=MCS6.Dev, USB\VID_04B4&PID_1002 + +[FAST.NTia64] +%USB\VID_04B4&PID_1002.DeviceDesc%=MCS6.Dev, USB\VID_04B4&PID_1002 + +[FAST.NTamd64] +%USB\VID_04B4&PID_1002.DeviceDesc%=MCS6.Dev, USB\VID_04B4&PID_1002 + +[MCS6.Dev.NT] +CopyFiles=MCS6.Files.Ext + +[MCS6.Dev.NT.Services] +Addservice = MCS6, 0x00000002, MCS6.AddService + +[MCS6.AddService] +DisplayName = %MCS6.SvcDesc% +ServiceType = 1 ; SERVICE_KERNEL_DRIVER +StartType = 3 ; SERVICE_DEMAND_START +ErrorControl = 1 ; SERVICE_ERROR_NORMAL +ServiceBinary = %12%\MCS6.sys +AddReg=MCS6.AddReg +LoadOrderGroup = Base + +[MCS6.AddReg] +HKR,,DevLoader,,*ntkern +HKR,,NTMPDriver,,MCS6.sys +HKLM,"System\Currentcontrolset\Services\MCS6\Parameters","DebugLevel",0x10001,2 +HKLM,"System\Currentcontrolset\services\MCS6\Parameters","BulkUsbEnable",0x10001,1 + +[SourceDisksNames.x86] +1=%DISK_NAME%,,,\x86 + +[SourceDisksNames.ia64] +1=%DISK_NAME%,,,\ia64 + +[SourceDisksNames.amd64] +1=%DISK_NAME%,,,\x64 + +[SourceDisksFiles] +MCS6.sys = 1 + +[MCS6.Files.Ext] +MCS6.sys + +;---------------------------------------------------------------; + +[Strings] +FAST="FAST ComTec" +MfgName="FAST ComTec" +USB\VID_04B4&PID_1002.DeviceDesc="FAST ComTec MCS6 USB Driver" +ClassName = "FAST ComTec USB Device" +MCS6.SvcDesc="MCS6.Sys FAST ComTec MCS6 driver" +DISK_NAME = "MCS6 Installation Disk" diff --git a/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/SERVER03/MCS6IA64.CAT b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/SERVER03/MCS6IA64.CAT new file mode 100644 index 0000000..8c1d4e2 Binary files /dev/null and b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/SERVER03/MCS6IA64.CAT differ diff --git a/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/SERVER03/MCS6X64.CAT b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/SERVER03/MCS6X64.CAT new file mode 100644 index 0000000..1e1bd7e Binary files /dev/null and b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/SERVER03/MCS6X64.CAT differ diff --git a/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/SERVER03/MCS6X86.CAT b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/SERVER03/MCS6X86.CAT new file mode 100644 index 0000000..036ceda Binary files /dev/null and b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/SERVER03/MCS6X86.CAT differ diff --git a/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/SERVER03/X64/MCS6.SYS b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/SERVER03/X64/MCS6.SYS new file mode 100644 index 0000000..432bd09 Binary files /dev/null and b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/SERVER03/X64/MCS6.SYS differ diff --git a/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/SERVER03/X86/MCS6.SYS b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/SERVER03/X86/MCS6.SYS new file mode 100644 index 0000000..c642410 Binary files /dev/null and b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/SERVER03/X86/MCS6.SYS differ diff --git a/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/VISTA/IA64/MCS6.SYS b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/VISTA/IA64/MCS6.SYS new file mode 100644 index 0000000..a7badf0 Binary files /dev/null and b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/VISTA/IA64/MCS6.SYS differ diff --git a/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/VISTA/MCS6.INF b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/VISTA/MCS6.INF new file mode 100644 index 0000000..6e9e40a --- /dev/null +++ b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/VISTA/MCS6.INF @@ -0,0 +1,91 @@ +; Installation inf for the FAST ComTec Model MCS6 +; +; (c) Copyright 2012 FAST ComTec +; + +[Version] +Signature="$WINDOWS NT$" +Class=Mcs6 +ClassGuid={27591D68-AD89-4c2b-ADF9-A86A905760A9} +provider=%FAST% +DriverVer=03/29/2012 +CatalogFile.NTx86 = mcs6x86.cat +CatalogFile.NTIA64 = mcs6ia64.cat +CatalogFile.NTAMD64 = mcs6x64.cat + +; ================= Class section ===================== + +[ClassInstall32] +Addreg=Mcs6ClassReg + +[Mcs6ClassReg] +HKR,,,0,%ClassName% +HKR,,Icon,,-5 + +[DestinationDirs] +DefaultDestDir = 12 + +; ================= Device section ===================== +[Manufacturer] + +%MfgName%=FAST,NTx86, NTia64, NTamd64 + +; For Win2K +[FAST] +%USB\VID_04B4&PID_1002.DeviceDesc%=MCS6.Dev, USB\VID_04B4&PID_1002 + +; For XP and later +[FAST.NTx86] +%USB\VID_04B4&PID_1002.DeviceDesc%=MCS6.Dev, USB\VID_04B4&PID_1002 + +[FAST.NTia64] +%USB\VID_04B4&PID_1002.DeviceDesc%=MCS6.Dev, USB\VID_04B4&PID_1002 + +[FAST.NTamd64] +%USB\VID_04B4&PID_1002.DeviceDesc%=MCS6.Dev, USB\VID_04B4&PID_1002 + +[MCS6.Dev.NT] +CopyFiles=MCS6.Files.Ext + +[MCS6.Dev.NT.Services] +Addservice = MCS6, 0x00000002, MCS6.AddService + +[MCS6.AddService] +DisplayName = %MCS6.SvcDesc% +ServiceType = 1 ; SERVICE_KERNEL_DRIVER +StartType = 3 ; SERVICE_DEMAND_START +ErrorControl = 1 ; SERVICE_ERROR_NORMAL +ServiceBinary = %12%\MCS6.sys +AddReg=MCS6.AddReg +LoadOrderGroup = Base + +[MCS6.AddReg] +HKR,,DevLoader,,*ntkern +HKR,,NTMPDriver,,MCS6.sys +HKLM,"System\Currentcontrolset\Services\MCS6\Parameters","DebugLevel",0x10001,2 +HKLM,"System\Currentcontrolset\services\MCS6\Parameters","BulkUsbEnable",0x10001,1 + +[SourceDisksNames.x86] +1=%DISK_NAME%,,,\x86 + +[SourceDisksNames.ia64] +1=%DISK_NAME%,,,\ia64 + +[SourceDisksNames.amd64] +1=%DISK_NAME%,,,\x64 + +[SourceDisksFiles] +MCS6.sys = 1 + +[MCS6.Files.Ext] +MCS6.sys + +;---------------------------------------------------------------; + +[Strings] +FAST="FAST ComTec" +MfgName="FAST ComTec" +USB\VID_04B4&PID_1002.DeviceDesc="FAST ComTec MCS6 USB Driver" +ClassName = "FAST ComTec USB Device" +MCS6.SvcDesc="MCS6.Sys FAST ComTec MCS6 driver" +DISK_NAME = "MCS6 Installation Disk" diff --git a/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/VISTA/MCS6IA64.CAT b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/VISTA/MCS6IA64.CAT new file mode 100644 index 0000000..c78d691 Binary files /dev/null and b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/VISTA/MCS6IA64.CAT differ diff --git a/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/VISTA/MCS6X64.CAT b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/VISTA/MCS6X64.CAT new file mode 100644 index 0000000..27d5457 Binary files /dev/null and b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/VISTA/MCS6X64.CAT differ diff --git a/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/VISTA/MCS6X86.CAT b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/VISTA/MCS6X86.CAT new file mode 100644 index 0000000..86ef3c7 Binary files /dev/null and b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/VISTA/MCS6X86.CAT differ diff --git a/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/VISTA/X64/MCS6.SYS b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/VISTA/X64/MCS6.SYS new file mode 100644 index 0000000..f5d5444 Binary files /dev/null and b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/VISTA/X64/MCS6.SYS differ diff --git a/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/VISTA/X86/MCS6.SYS b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/VISTA/X86/MCS6.SYS new file mode 100644 index 0000000..bd1f1fe Binary files /dev/null and b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/VISTA/X86/MCS6.SYS differ diff --git a/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/WIN2K/MCS6.INF b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/WIN2K/MCS6.INF new file mode 100644 index 0000000..0870cd9 --- /dev/null +++ b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/WIN2K/MCS6.INF @@ -0,0 +1,86 @@ +; Installation inf for the FAST ComTec Model MCS6 +; +; (c) Copyright 2010 FAST ComTec +; + +[Version] +Signature="$WINDOWS NT$" +Class=Mcs6 +ClassGuid={27591D68-AD89-4c2b-ADF9-A86A905760A9} +provider=%FAST% +DriverVer=26/09/2008 + +; ================= Class section ===================== + +[ClassInstall32] +Addreg=Mcs6ClassReg + +[Mcs6ClassReg] +HKR,,,0,%ClassName% +HKR,,Icon,,-5 + +[DestinationDirs] +DefaultDestDir = 12 + +; ================= Device section ===================== +[Manufacturer] + +%MfgName%=FAST ComTec + +[FAST ComTec] +%USB\VID_04B4&PID_1002.DeviceDesc%=MCS6.Dev, USB\VID_04B4&PID_1002 + +[DestinationDirs] +MCS6.Files.Ext = 10,System32\Drivers +MCS6.Files.Inf = 10,INF + +;[MCS6.Dev] +;CopyFiles=MCS6.Files.Ext, MCS6.Files.Inf +;AddReg=MCS6.AddReg + +[MCS6.Dev.NT] +CopyFiles=MCS6.Files.Ext, MCS6.Files.Inf +;AddReg=MCS6.AddReg + +[MCS6.Dev.NT.Services] +Addservice = MCS6, 0x00000002, MCS6.AddService + +[MCS6.AddService] +DisplayName = %MCS6.SvcDesc% +ServiceType = 1 ; SERVICE_KERNEL_DRIVER +StartType = 3 ; SERVICE_DEMAND_START +ErrorControl = 1 ; SERVICE_ERROR_NORMAL +ServiceBinary = %10%\System32\Drivers\MCS6.sys +AddReg=MCS6.AddReg +LoadOrderGroup = Base + +[MCS6.AddReg] +HKR,,DevLoader,,*ntkern +HKR,,NTMPDriver,,MCS6.sys +;HKLM,"System\Currentcontrolset\Services\MCS6\Parameters","MaximumTransferSize",0x10001,4096 +HKLM,"System\Currentcontrolset\Services\MCS6\Parameters","DebugLevel",0x10001,2 +HKLM,"System\Currentcontrolset\services\MCS6\Parameters","BulkUsbEnable",0x10001,1 + +[SourceDisksNames] +1="MCS6 Installation Disk",,, + +[SourceDisksFiles] +MCS6.sys = 1 +MCS6.inf = 1 + +[MCS6.Files.Ext] +MCS6.sys + +[MCS6.Files.Inf] +MCS6.Inf + + +;---------------------------------------------------------------; + +[Strings] +FAST="FAST ComTec" +MfgName="FAST ComTec" +USB\VID_04B4&PID_1002.DeviceDesc="FAST ComTec MCS6 USB Driver" +ClassName = "FAST ComTec USB Device" +MCS6.SvcDesc="MCS6.Sys FAST ComTec MCS6 driver" + diff --git a/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/WIN2K/MCS6.SYS b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/WIN2K/MCS6.SYS new file mode 100644 index 0000000..4c23fb7 Binary files /dev/null and b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/WIN2K/MCS6.SYS differ diff --git a/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/WIN7/IA64/MCS6.SYS b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/WIN7/IA64/MCS6.SYS new file mode 100644 index 0000000..10a5e36 Binary files /dev/null and b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/WIN7/IA64/MCS6.SYS differ diff --git a/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/WIN7/MCS6.INF b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/WIN7/MCS6.INF new file mode 100644 index 0000000..6e9e40a --- /dev/null +++ b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/WIN7/MCS6.INF @@ -0,0 +1,91 @@ +; Installation inf for the FAST ComTec Model MCS6 +; +; (c) Copyright 2012 FAST ComTec +; + +[Version] +Signature="$WINDOWS NT$" +Class=Mcs6 +ClassGuid={27591D68-AD89-4c2b-ADF9-A86A905760A9} +provider=%FAST% +DriverVer=03/29/2012 +CatalogFile.NTx86 = mcs6x86.cat +CatalogFile.NTIA64 = mcs6ia64.cat +CatalogFile.NTAMD64 = mcs6x64.cat + +; ================= Class section ===================== + +[ClassInstall32] +Addreg=Mcs6ClassReg + +[Mcs6ClassReg] +HKR,,,0,%ClassName% +HKR,,Icon,,-5 + +[DestinationDirs] +DefaultDestDir = 12 + +; ================= Device section ===================== +[Manufacturer] + +%MfgName%=FAST,NTx86, NTia64, NTamd64 + +; For Win2K +[FAST] +%USB\VID_04B4&PID_1002.DeviceDesc%=MCS6.Dev, USB\VID_04B4&PID_1002 + +; For XP and later +[FAST.NTx86] +%USB\VID_04B4&PID_1002.DeviceDesc%=MCS6.Dev, USB\VID_04B4&PID_1002 + +[FAST.NTia64] +%USB\VID_04B4&PID_1002.DeviceDesc%=MCS6.Dev, USB\VID_04B4&PID_1002 + +[FAST.NTamd64] +%USB\VID_04B4&PID_1002.DeviceDesc%=MCS6.Dev, USB\VID_04B4&PID_1002 + +[MCS6.Dev.NT] +CopyFiles=MCS6.Files.Ext + +[MCS6.Dev.NT.Services] +Addservice = MCS6, 0x00000002, MCS6.AddService + +[MCS6.AddService] +DisplayName = %MCS6.SvcDesc% +ServiceType = 1 ; SERVICE_KERNEL_DRIVER +StartType = 3 ; SERVICE_DEMAND_START +ErrorControl = 1 ; SERVICE_ERROR_NORMAL +ServiceBinary = %12%\MCS6.sys +AddReg=MCS6.AddReg +LoadOrderGroup = Base + +[MCS6.AddReg] +HKR,,DevLoader,,*ntkern +HKR,,NTMPDriver,,MCS6.sys +HKLM,"System\Currentcontrolset\Services\MCS6\Parameters","DebugLevel",0x10001,2 +HKLM,"System\Currentcontrolset\services\MCS6\Parameters","BulkUsbEnable",0x10001,1 + +[SourceDisksNames.x86] +1=%DISK_NAME%,,,\x86 + +[SourceDisksNames.ia64] +1=%DISK_NAME%,,,\ia64 + +[SourceDisksNames.amd64] +1=%DISK_NAME%,,,\x64 + +[SourceDisksFiles] +MCS6.sys = 1 + +[MCS6.Files.Ext] +MCS6.sys + +;---------------------------------------------------------------; + +[Strings] +FAST="FAST ComTec" +MfgName="FAST ComTec" +USB\VID_04B4&PID_1002.DeviceDesc="FAST ComTec MCS6 USB Driver" +ClassName = "FAST ComTec USB Device" +MCS6.SvcDesc="MCS6.Sys FAST ComTec MCS6 driver" +DISK_NAME = "MCS6 Installation Disk" diff --git a/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/WIN7/MCS6IA64.CAT b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/WIN7/MCS6IA64.CAT new file mode 100644 index 0000000..e43999b Binary files /dev/null and b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/WIN7/MCS6IA64.CAT differ diff --git a/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/WIN7/MCS6X64.CAT b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/WIN7/MCS6X64.CAT new file mode 100644 index 0000000..b67d1f2 Binary files /dev/null and b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/WIN7/MCS6X64.CAT differ diff --git a/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/WIN7/MCS6X86.CAT b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/WIN7/MCS6X86.CAT new file mode 100644 index 0000000..5522367 Binary files /dev/null and b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/WIN7/MCS6X86.CAT differ diff --git a/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/WIN7/X64/MCS6.SYS b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/WIN7/X64/MCS6.SYS new file mode 100644 index 0000000..ec8e4fb Binary files /dev/null and b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/WIN7/X64/MCS6.SYS differ diff --git a/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/WIN7/X86/MCS6.SYS b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/WIN7/X86/MCS6.SYS new file mode 100644 index 0000000..4c80c38 Binary files /dev/null and b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/WIN7/X86/MCS6.SYS differ diff --git a/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/WINXP/MCS6.INF b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/WINXP/MCS6.INF new file mode 100644 index 0000000..6e9e40a --- /dev/null +++ b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/WINXP/MCS6.INF @@ -0,0 +1,91 @@ +; Installation inf for the FAST ComTec Model MCS6 +; +; (c) Copyright 2012 FAST ComTec +; + +[Version] +Signature="$WINDOWS NT$" +Class=Mcs6 +ClassGuid={27591D68-AD89-4c2b-ADF9-A86A905760A9} +provider=%FAST% +DriverVer=03/29/2012 +CatalogFile.NTx86 = mcs6x86.cat +CatalogFile.NTIA64 = mcs6ia64.cat +CatalogFile.NTAMD64 = mcs6x64.cat + +; ================= Class section ===================== + +[ClassInstall32] +Addreg=Mcs6ClassReg + +[Mcs6ClassReg] +HKR,,,0,%ClassName% +HKR,,Icon,,-5 + +[DestinationDirs] +DefaultDestDir = 12 + +; ================= Device section ===================== +[Manufacturer] + +%MfgName%=FAST,NTx86, NTia64, NTamd64 + +; For Win2K +[FAST] +%USB\VID_04B4&PID_1002.DeviceDesc%=MCS6.Dev, USB\VID_04B4&PID_1002 + +; For XP and later +[FAST.NTx86] +%USB\VID_04B4&PID_1002.DeviceDesc%=MCS6.Dev, USB\VID_04B4&PID_1002 + +[FAST.NTia64] +%USB\VID_04B4&PID_1002.DeviceDesc%=MCS6.Dev, USB\VID_04B4&PID_1002 + +[FAST.NTamd64] +%USB\VID_04B4&PID_1002.DeviceDesc%=MCS6.Dev, USB\VID_04B4&PID_1002 + +[MCS6.Dev.NT] +CopyFiles=MCS6.Files.Ext + +[MCS6.Dev.NT.Services] +Addservice = MCS6, 0x00000002, MCS6.AddService + +[MCS6.AddService] +DisplayName = %MCS6.SvcDesc% +ServiceType = 1 ; SERVICE_KERNEL_DRIVER +StartType = 3 ; SERVICE_DEMAND_START +ErrorControl = 1 ; SERVICE_ERROR_NORMAL +ServiceBinary = %12%\MCS6.sys +AddReg=MCS6.AddReg +LoadOrderGroup = Base + +[MCS6.AddReg] +HKR,,DevLoader,,*ntkern +HKR,,NTMPDriver,,MCS6.sys +HKLM,"System\Currentcontrolset\Services\MCS6\Parameters","DebugLevel",0x10001,2 +HKLM,"System\Currentcontrolset\services\MCS6\Parameters","BulkUsbEnable",0x10001,1 + +[SourceDisksNames.x86] +1=%DISK_NAME%,,,\x86 + +[SourceDisksNames.ia64] +1=%DISK_NAME%,,,\ia64 + +[SourceDisksNames.amd64] +1=%DISK_NAME%,,,\x64 + +[SourceDisksFiles] +MCS6.sys = 1 + +[MCS6.Files.Ext] +MCS6.sys + +;---------------------------------------------------------------; + +[Strings] +FAST="FAST ComTec" +MfgName="FAST ComTec" +USB\VID_04B4&PID_1002.DeviceDesc="FAST ComTec MCS6 USB Driver" +ClassName = "FAST ComTec USB Device" +MCS6.SvcDesc="MCS6.Sys FAST ComTec MCS6 driver" +DISK_NAME = "MCS6 Installation Disk" diff --git a/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/WINXP/MCS6X86.CAT b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/WINXP/MCS6X86.CAT new file mode 100644 index 0000000..8c09ba9 Binary files /dev/null and b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/WINXP/MCS6X86.CAT differ diff --git a/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/WINXP/X86/MCS6.SYS b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/WINXP/X86/MCS6.SYS new file mode 100644 index 0000000..eb11069 Binary files /dev/null and b/FAST ComTec/Files from FAST ComTec/mcs6a (2020-0227)/WDMDRIV/WINXP/X86/MCS6.SYS differ diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/c/STRUCT.H b/FAST ComTec/Files from FAST ComTec/mcs6adll/c/STRUCT.H new file mode 100644 index 0000000..046c9c4 --- /dev/null +++ b/FAST ComTec/Files from FAST ComTec/mcs6adll/c/STRUCT.H @@ -0,0 +1,298 @@ +#define WINDOWSNT +#undef WINDOWS95 +#undef WINDOWS31 + +#ifdef WINDOWS31 + +#define GET_WM_COMMAND_ID(w) w +#define GET_WM_COMMAND_CMD(w,l) HIWORD(l) +#define GET_WM_COMMAND_HWND(l) LOWORD(l) +#define GET_WM_SCRHWND(l) HIWORD(l) +#define GET_WM_SCROLLPOS(w,l) LOWORD(l) +#define FIND_WINDOW(a,b) FindWindow(b,a) +#define HUGE huge +#define USHORT unsigned short +#define SetForegroundWindow(w) +#define APIENTRY FAR PASCAL +#define Sleep(t) waitmsec(t) + +#else + +#define GET_WM_COMMAND_ID(w) LOWORD(w) +#define GET_WM_COMMAND_CMD(w,l) HIWORD(w) +#define GET_WM_COMMAND_HWND(l) l +#define GET_WM_SCRHWND(l) l +#define GET_WM_SCROLLPOS(w,l) (short)HIWORD(w) +#define FIND_WINDOW(a,b) FindWindow(a,b) +#define HUGE +#define _fmemcpy memcpy +#define _fstrcpy strcpy + +#endif + +typedef struct { + int use; + int port; + unsigned long baud; + int dbits; + int sbits; + int parity; + int echo; + HWND hwndserver; + LPSTR cmd; +} COMCTL, far *LPCOMCTL; + +#define ST_RUNTIME 0 +#define ST_OFLS 1 +#define ST_TOTALSUM 2 +#define ST_ROISUM 3 +#define ST_ROIRATE 4 +#define ST_SWEEPS 5 +#define ST_STARTS 6 + +typedef struct{ + unsigned long started; // aquisition status + unsigned long maxval; // maxval + double cnt[8]; // status: runtime in msec, ofls, + // total sum, roi sum, roi rate, sweeps, starts +} ACQSTATUS; + +typedef struct { + long savedata; // bit 0: auto save after stop + // bit 1: write listfile + // bit 2: listfile only, no evaluation + long autoinc; // 1 if auto increment filename + long fmt; // format type (seperate spectra): + // 0 == ASCII, 1 == binary, + // 2 == CSV + long mpafmt; // format used in mpa datafiles + long sephead; // seperate Header + long smpts; + long caluse; + char filename[256]; + char specfile[256]; + char command[256]; +} DATSETTING; + +typedef struct { + long use; // 1 if Replay Mode ON + long modified; // Bit 0: 1 if different settings are used + // (Bit 1: Write ASCII, reserved) + long limit; // 0: all, + // 1: limited sweep range + long speed; // replay speed in units of 100 kB / sec + double startsfrom; // first start# + double startsto; // last start# + double startspreset; // last start - first start + char filename[256]; +} REPLAYSETTING; + +typedef struct{ + long range; // spectrum length + long cftfak; // LOWORD: 256 * cft factor (t_after_peak / t_to_peak) + // HIWORD: max pulse width for CFT + long roimin; // lower ROI limit + long roimax; // upper limit: roimin <= channel < roimax + long nregions; // number of regions + long caluse; // bit0: 1 if calibration used, higher bits: formula + long calpoints; // number of calibration points + long param; // (reserved:) for MAP and POS: LOWORD=x, HIWORD=y + long offset; // (reserved:) zoomed MAPS: LOWORD: xoffset, HIWORD, yoffset + long xdim; // (reserved:) x resolution of maps + unsigned long bitshift; // LOWORD: Binwidth = 2 ^ (bitshift) + // HIWORD: Threshold for Coinc + long active; // Spectrum definition words for CHN1..6: + // active & 0xF ==0 not used + // ==1 single + // bit 8: Enable Tag bits + // bit 9: start with rising edge + // bit 10: time under threshold for pulse width + // bit 11: pulse width mode for any spectra with both edges enabled + // Spectrum definition words for calc. spectra: + // active & 0xF ==3 MAP, ((x-xoffs)>>xsh) x ((y-yoffs)>>ysh) + // ((x-xoffs)>>xsh) x ((y-timeoffs)>>timesh) + // or ((x-timeoffs)>>timesh x ((y-yoffs)>>ysh) + // bit4=1: x zoomed MAP + // bit5=1: y zoomed MAP + // ==5 SUM, (x + y)>>xsh + // ==6 DIFF,(x - y + range)>>xsh + // ==7 ANY, (for compare) + // ==8 COPY, x + // ==9 DLL fDLL(x,y,z), + // ==0xA Sweep HISTORY, Sweepnum(x) +// bit 8..11 xsh, bit 12..15 ysh or bit 8..15 xsh + // HIWORD(active) = condition no. (0=no condition) + double eventpreset; // ROI preset value + double dummy1; // (for future use..) + double dummy2; // + double dummy3; // +} ACQSETTING; + +typedef struct{ + long range; // spectrum length + long cftfak; // LOWORD: 256 * cft factor (t_after_peak / t_to_peak) + // HIWORD: max pulse width for CFT + long roimin; // lower ROI limit + long roimax; // upper limit: roimin <= channel < roimax + long nregions; // number of regions + long caluse; // bit0: 1 if calibration used, higher bits: formula + long calpoints; // number of calibration points + long param; // (reserved:) for MAP and POS: LOWORD=x, HIWORD=y + long offset; // (reserved:) zoomed MAPS: LOWORD: xoffset, HIWORD, yoffset + long xdim; // (reserved:) x resolution of maps + unsigned long bitshift; // LOWORD: Binwidth = 2 ^ (bitshift) + // HIWORD: Threshold for Coinc + long active; // Spectrum definition words for CHN1..6: + // active & 0xF ==0 not used + // ==1 enabled + // bit 8: Enable Tag bits + // bit 9: start with rising edge + // bit 10: time under threshold for pulse width + // bit 11: pulse width mode for any spectra with both edges enabled + // Spectrum definition words for calc. spectra: + // active & 0xF ==3 MAP, ((x-xoffs)>>xsh) x ((y-yoffs)>>ysh) + // bit4=1: x zoomed MAP + // bit5=1: y zoomed MAP + // ==5 SUM, (x + y)>>xsh + // ==6 DIFF,(x - y + range)>>xsh + // ==7 ANY, (for compare) + // ==8 COPY, x + // ==10 SW-HIS, Sweep History + // bit 8..11 xsh, bit 12..15 ysh or bit 8..15 xsh + // HIWORD(active) = condition no. (0=no condition) + double eventpreset; // ROI preset value + double dummy1; // (for future use..) + double dummy2; // + double dummy3; // + // MPANT or Server private saved settings: + long type; // 0=single, 1=MAP, 2=ISO... + long ydim; // y resolution of maps + long reserved[16]; +} EXTACQSETTING; + +typedef struct { + long sweepmode; // sweepmode & 0xF: 0 = normal, + // 1=differential (relative to first stop in sweep) + // 4=sequential + // 5=seq.+diff (Ch1), bit0 = differential mode + // 6 = CORRELATIONS + // 7 = diff.+Corr. + // 9=differential to stop in Ch2, bit3 = Ch2 ref (diff.mode) + // 0xD = seq.+diff (Ch2) + // 0xF = Corr.+diff (Ch2) + // bit 4: Softw. Start + // bit 6: Endless + // bit 7: Start event generation + // bit 8: Enable Tag bits + // bit 9: start with rising edge + // bit 10: time under threshold for pulse width + // bit 11: pulse width mode for any spectra with both edges enabled + // bit 12: abandon Sweepcounter in Data + // bit 13: "one-hot" mode with tagbits + // bit 14: ch6 ref (diff.mode) + // bit 15: enable ch6 input + // bit 16..bit 20 ~(input channel enable) + // bit 24: require data lost bit in data + // bit 25: don't allow 6 byte datalength + long prena; // bit 0: realtime preset enabled + // bit 1: + // bit 2: sweep preset enabled + // bit 3: ROI preset enabled + // bit 4: Starts preset enabled + // bit 5: ROI2 preset enabled + // bit 6: ROI3 preset enabled + // bit 7: ROI4 preset enabled + // bit 8: ROI5 preset enabled + // bit 9: ROI6 preset enabled + long cycles; // for sequential mode + long sequences; // + long syncout; // LOWORD: sync out; bit 0..5 NIM syncout, bit 8..13 TTL syncout + // bit7: NIM syncout_invert, bit15: TTL syncout_invert + // 0="0", 1=10 MHz, 2=78.125 MHz, 3=100 MHz, 4=156.25 MHz, + // 5=200 MHz, 6=312.5 MHz, 7=Ch0, 8=Ch1, 9=Ch2, 10=Ch3, + // 11=Ch4, 12=Ch5, 13=GO, 14=Start_of_sweep, 15=Armed, + // 16=SYS_ON, 17=WINDOW, 18=HOLD_OFF, 19=EOS_DEADTIME + // 20=TIME[0],...,51=TIME[31], 52...63=SWEEP[0]..SWEEP[11] + // + long digio; // LOWORD: Use of Dig I/O, GO Line: + // bit 0: status dig 0..3 + // bit 1: Output digval and increment digval after stop + // bit 2: Invert polarity + // (bit 3: Push-Pull output, not possible) + // bit 4..7: Input pins 4..7 Trigger System 1..4 + // bit 8: GOWATCH + // bit 9: GO High at Start + // bit 10: GO Low at Stop + // bit 11: Clear at triggered start + // bit 12: Only triggered start + long digval; // digval=0..255 value for samplechanger + long dac0; // DAC0 value (START) + // bit 16: Start with rising edge + long dac1; // DAC1 value (STOP 1) + long dac2; // DAC2 value (STOP 2) + long dac3; // DAC3 value (STOP 3) + long dac4; // DAC4 value (STOP 4) + long dac5; // DAC5 value (STOP 5) + // bit (14,15) of each word: 0=falling, 1=rising, 2=both, 3=both+CFT + // bit 17 of each: pulse width mode under threshold + int fdac; // Feature DAC 0..16383 --> 0..2.5V + int tagbits; // number of tagbits + int extclk; // use external clock + long maxchan; // number of input channels (=6) + long serno; // serial number + long ddruse; // bit0: DDR_USE, bit1: DDR_2GB + // bits[2:3]: usb_usage + // bits[4:5]: wdlen + long active; // module in system + double holdafter; // Hold off + double swpreset; // sweep preset value + double fstchan; // acquisition delay + double timepreset; // time preset +} BOARDSETTING; + +typedef struct { + int nDevices; // Number of channels = number of modules * 6 + int nDisplays; // Number of histograms = nDevices + Positions + Maps + int nSystems; // Number of independent systems = 1 + int bRemote; // 1 if server controlled by MPANT + unsigned int sys; // System definition word: + // bit0=0, bit1=0: dev#0 in system 1 + // bit0=1, bit1=0: dev#0 in system 2 + // bit0=0, bit1=1: dev#0 in system 3 + // bit0=1, bit1=1: dev#0 in system 4 + // bit2..bit6: + // bit6=1, bit7=1: dev#3 in system 4 + int sys0[56]; // (reserved:) System definition words for CHN1..18: + // bit 0 CHN active + // bit 1 =1 CHN coinc, =0 single + // bit 2..4 CHN in system1..7 + int sys1[56]; // (reserved:) CHN in System +} ACQDEF; + +typedef struct { + unsigned int adcnum; // Number of active ADC's (=0) + unsigned int tofnum; // Number of active TOF channels + unsigned int ntofs0; // Number of TOF inputs + unsigned int modules; // Number of MCS6A modules + unsigned int nadcs; // Number of ADCs (=0) + + int sys0[56]; // System definition words for ADCs (1..24): + // see active definition in ADCSETTING + int sys1[56]; // ADC in System (=1) + int adcs[8]; // Number of ADCs per module (0) + int tofs[8]; // Number of TOF inputs per module + int res[8]; // reserved +} COINCDEF; + +typedef struct{ + unsigned long HUGE *s0; // pointer to spectrum + unsigned long *region; // pointer to regions + unsigned char *comment0; // pointer to strings + double *cnt; // pointer to counters + HANDLE hs0; + HANDLE hrg; + HANDLE hcm; + HANDLE hct; +} ACQDATA; + + diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/c/dmcs6.h b/FAST ComTec/Files from FAST ComTec/mcs6adll/c/dmcs6.h new file mode 100644 index 0000000..e8a0d6d --- /dev/null +++ b/FAST ComTec/Files from FAST ComTec/mcs6adll/c/dmcs6.h @@ -0,0 +1,255 @@ +#ifdef __cplusplus +extern "C" +{ +#endif + +#include "struct.h" +#define MAXCNT 448 +#define MAXDSP 64 +#define MAXDEV 3 + + +#define ID_SAVE 103 +#define ID_CONTINUE 106 +#define ID_START 109 +#define ID_BREAK 137 +#define ID_NEWSETTING 139 +#define ID_GETSTATUS 141 +#define ID_SAVEFILE 151 +#define ID_ERASE 154 +#define ID_LOADFILE 155 +#define ID_NEWDATA 160 +#define ID_HARDWDLG 161 +#define ID_SAVEFILE2 194 +#define ID_LOADFILE2 203 +#define ID_SAVEFILE3 217 +#define ID_LOADFILE3 219 +#define ID_SAVEFILE4 223 +#define ID_LOADFILE4 225 +#define ID_LOADFILE5 226 +#define ID_LOADFILE6 227 +#define ID_LOADFILE7 228 +#define ID_LOADFILE8 229 +#define ID_SAVEFILE5 230 +#define ID_SAVEFILE6 231 +#define ID_SAVEFILE7 232 +#define ID_SAVEFILE8 233 +#define ID_SUMFILE 234 +#define ID_SUMFILE2 235 +#define ID_SUMFILE3 236 +#define ID_SUMFILE4 237 +#define ID_SUMFILE5 238 +#define ID_SUMFILE6 239 +#define ID_SUMFILE7 240 +#define ID_SUMFILE8 241 +#define ID_LEDBLINK0 280 +#define ID_LEDBLINK1 281 +#define ID_LEDBLINK2 282 +#define ID_SUBTRACT 289 +#define ID_SMOOTH 290 +#define ID_SUBTRACT2 296 +#define ID_SMOOTH2 297 +#define ID_SUBTRACT3 298 +#define ID_SMOOTH3 299 +#define ID_SUBTRACT4 300 +#define ID_SMOOTH4 301 +#define ID_SUBTRACT5 302 +#define ID_SMOOTH5 303 +#define ID_SUBTRACT6 304 +#define ID_SMOOTH6 305 +#define ID_SUBTRACT7 306 +#define ID_SMOOTH7 307 +#define ID_SUBTRACT8 308 +#define ID_SMOOTH8 309 +#define ID_SAVEFILE9 310 +#define ID_SAVEFILE10 311 +#define ID_SAVEFILE11 312 +#define ID_SAVEFILE12 313 +#define ID_SAVEFILE13 314 +#define ID_SAVEFILE14 315 +#define ID_SAVEFILE15 316 +#define ID_SAVEFILE16 317 +#define ID_LOADFILE9 318 +#define ID_LOADFILE10 319 +#define ID_LOADFILE11 320 +#define ID_LOADFILE12 321 +#define ID_LOADFILE13 322 +#define ID_LOADFILE14 323 +#define ID_LOADFILE15 324 +#define ID_LOADFILE16 325 +#define ID_SUMFILE9 326 +#define ID_SUMFILE10 327 +#define ID_SUMFILE11 328 +#define ID_SUMFILE12 329 +#define ID_SUMFILE13 330 +#define ID_SUMFILE14 331 +#define ID_SUMFILE15 332 +#define ID_SUMFILE16 333 +#define ID_SUBTRACT9 334 +#define ID_SUBTRACT10 335 +#define ID_SUBTRACT11 336 +#define ID_SUBTRACT12 337 +#define ID_SUBTRACT13 338 +#define ID_SUBTRACT14 339 +#define ID_SUBTRACT15 340 +#define ID_SUBTRACT16 341 +#define ID_COMBDLG 401 +#define ID_DATADLG 402 +#define ID_MAPLSTDLG 403 +#define ID_REPLDLG 404 +#define ID_ERASE3 1109 +#define ID_ERASE4 1110 +#define ID_ERASEFILE2 1111 +#define ID_ERASEFILE3 1112 +#define ID_ERASEFILE4 1113 +#define ID_START2 1114 +#define ID_BREAK2 1115 +#define ID_CONTINUE2 1116 +#define ID_START3 1117 +#define ID_BREAK3 1118 +#define ID_CONTINUE3 1119 +#define ID_START4 1120 +#define ID_BREAK4 1121 +#define ID_CONTINUE4 1122 +#define ID_RUNCMD 1123 +#define ID_RUNCMD2 1124 +#define ID_RUNCMD3 1125 +#define ID_RUNCMD4 1126 +#define ID_RUNCMD5 1127 +#define ID_RUNCMD6 1128 +#define ID_RUNCMD7 1129 +#define ID_RUNCMD8 1130 +#define ID_ERASEFILE5 1131 +#define ID_ERASEFILE6 1132 +#define ID_ERASEFILE7 1133 +#define ID_ERASEFILE8 1134 +#define ID_DIGINOUT 1137 +#define ID_ERASE2 1164 + +/*** FUNCTION PROTOTYPES (do not change) ***/ + +#ifdef DLL +BOOL APIENTRY DllMain(HANDLE hInst, DWORD ul_reason_being_called, LPVOID lpReserved); + +VOID APIENTRY StoreSettingData(ACQSETTING FAR *Setting, int nDisplay); + // Stores Settings into the DLL +int APIENTRY GetSettingData(ACQSETTING FAR *Setting, int nDisplay); + // Get Settings stored in the DLL +VOID APIENTRY StoreExtSettingData(EXTACQSETTING FAR *Setting, int nDisplay); + // Stores extended Settings into the DLL +int APIENTRY GetExtSettingData(EXTACQSETTING FAR *Setting, int nDisplay); + // Get extended Settings stored in the DLL +VOID APIENTRY StoreStatusData(ACQSTATUS FAR *Status, int nDisplay); + // Store the Status into the DLL +int APIENTRY GetStatusData(ACQSTATUS FAR *Status, int nDisplay); + // Get the Status +VOID APIENTRY Start(int nSystem); // Start +VOID APIENTRY Halt(int nSystem); // Halt +VOID APIENTRY Continue(int nSystem); // Continue +VOID APIENTRY NewSetting(int nDevice); // Indicate new Settings to Server +UINT APIENTRY ServExec(HWND ClientWnd); // Execute the Server +VOID APIENTRY StoreData(ACQDATA FAR *Data, int nDisplay); + // Stores Data pointers into the DLL +int APIENTRY GetData(ACQDATA FAR *Data, int nDisplay); + // Get Data pointers +long APIENTRY GetSpec(long i, int nDisplay); + // Get a spectrum value +VOID APIENTRY SaveSetting(void); // Save Settings +int APIENTRY GetStatus(int nDevice); // Request actual Status from Server +VOID APIENTRY Erase(int nSystem); // Erase spectrum +VOID APIENTRY SaveData(int nDisplay, int all); // Saves data +VOID APIENTRY GetBlock(long FAR *hist, int start, int end, int step, + int nDisplay); // Get a block of spectrum data +VOID APIENTRY StoreDefData(ACQDEF FAR *Def); + // Store System Definition into DLL +int APIENTRY GetDefData(ACQDEF FAR *Def); + // Get System Definition +VOID APIENTRY StoreCDefData(COINCDEF FAR *Def); +int APIENTRY GetCDefData(COINCDEF FAR *Def); + +VOID APIENTRY LoadData(int nDisplay, int all); // Loads data +VOID APIENTRY AddData(int nDisplay, int all); // Adds data +VOID APIENTRY SubData(int nDisplay, int all); // Subtracts data +VOID APIENTRY Smooth(int nDisplay); // Smooth data +VOID APIENTRY NewData(void); // Indicate new ROI or string Data +VOID APIENTRY HardwareDlg(int item); // Calls the Settings dialog box +VOID APIENTRY UnregisterClient(void); // Clears remote mode from MCDWIN +VOID APIENTRY DestroyClient(void); // Close MCDWIN +UINT APIENTRY ClientExec(HWND ServerWnd); + // Execute the Client MCDWIN.EXE +int APIENTRY LVGetDat(unsigned long HUGE *datp, int nDisplay); + // Copies the spectrum to an array +VOID APIENTRY RunCmd(int nDisplay, LPSTR Cmd); + // Executes command +int APIENTRY LVGetRoi(unsigned long FAR *roip, int nDisplay); + // Copies the ROI boundaries to an array +int APIENTRY LVGetOneRoi(int nDisplay, int roinum, long *x1, long *x2); + // Get one ROI boundary +int APIENTRY LVGetCnt(double far *cntp, int nDisplay); + // Copies Cnt numbers to an array +int APIENTRY LVGetStr(char far *strp, int nDisplay); + // Copies strings to an array +VOID APIENTRY StoreMCSSetting(BOARDSETTING *Defmc, int ndev); + // Store BOARDSETTING Definition into DLL +int APIENTRY GetMCSSetting(BOARDSETTING *Defmc, int ndev); + // Get BOARDSETTING Definition from DLL +VOID APIENTRY StoreDatSetting(DATSETTING *Defdat); + // Store Data Format Definition into DLL +int APIENTRY GetDatSetting(DATSETTING *Defdat); + // Get Data Format Definition from DLL +VOID APIENTRY StoreReplaySetting(REPLAYSETTING *Repldat); + // Store Replay Settings into DLL +int APIENTRY GetReplaySetting(REPLAYSETTING *Repldat); + // Get Replay Settings from DLL +int APIENTRY GetDatInfo(int nDisplay, long *xmax, long *ymax); + // returns spectra length; +int APIENTRY GetDatPtr(int nDisplay, long *xmax, long *ymax, unsigned long * *pt); + // Get a temporary pointer to spectra data +int APIENTRY ReleaseDatPtr(void); + // Release temporary data pointer +long APIENTRY GetSVal(int DspID, long xval); + // Get special display data like projections or slices from MPANT +int APIENTRY BytearrayToShortarray(short *Shortarray, char *Bytearray, int length); + // auxiliary function for VB.NET to convert strings +int APIENTRY LedBlink(int nDev); + // Lets the front leds blink for a while +int APIENTRY DigInOut(int value, int enable); // controls Dig I/0 , + // returns digin +#else +typedef int (WINAPI *IMPAGETSETTING) (ACQSETTING FAR *Setting, int nDisplay); + // Get Spectra Settings stored in the DLL +typedef int (WINAPI *IMPAGETSTATUS) (ACQSTATUS FAR *Status, int nDisplay); + // Get the Status +typedef VOID (WINAPI *IMPARUNCMD) (int nDisplay, LPSTR Cmd); + // Executes command +typedef int (WINAPI *IMPAGETCNT) (double FAR *cntp, int nDisplay); + // Copies Cnt numbers to an array +typedef int (WINAPI *IMPAGETROI) (unsigned long FAR *roip, int nDisplay); + // Copies the ROI boundaries to an array +typedef int (WINAPI *IMPAGETDEF) (ACQDEF FAR *Def); + // Get System Definition +typedef int (WINAPI *IMPAGETDAT) (unsigned long HUGE *datp, int nDisplay); + // Copies the spectrum to an array +typedef int (WINAPI *IMPAGETSTR) (char FAR *strp, int nDisplay); + // Copies strings to an array +typedef UINT (WINAPI *IMPASERVEXEC) (HWND ClientWnd); // Register client at server MCS6.EXE + +typedef int (WINAPI *IMPANEWSTATUS) (int nDev); // Request actual Status from Server + +typedef int (WINAPI *IMPAGETMCSSET) (BOARDSETTING *Board, int nDevice); + // Get MCSSettings from DLL +typedef int (WINAPI *IMPAGETDATSET) (DATSETTING *Defdat); + // Get Data Format Definition from DLL +typedef int (WINAPI *IMPADIGINOUT) (int value, int enable); // controls Dig I/0 , + // returns digin +typedef int (WINAPI *IMPADACOUT) (int value); // output Dac value as analogue voltage +typedef VOID (WINAPI *IMPASTART) (int nSystem); // Start +typedef VOID (WINAPI *IMPAHALT) (int nSystem); // Halt +typedef VOID (WINAPI *IMPACONTINUE) (int nSystem); // Continue +typedef VOID (WINAPI *IMPAERASE) (int nSystem); // Erase spectrum +#endif + +#ifdef __cplusplus +} +#endif + diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/c/tstmcs6a.exe b/FAST ComTec/Files from FAST ComTec/mcs6adll/c/tstmcs6a.exe new file mode 100644 index 0000000..9e7f122 Binary files /dev/null and b/FAST ComTec/Files from FAST ComTec/mcs6adll/c/tstmcs6a.exe differ diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/c/tstmcs6a.mak b/FAST ComTec/Files from FAST ComTec/mcs6adll/c/tstmcs6a.mak new file mode 100644 index 0000000..8c93790 --- /dev/null +++ b/FAST ComTec/Files from FAST ComTec/mcs6adll/c/tstmcs6a.mak @@ -0,0 +1,167 @@ +# Microsoft Developer Studio Generated NMAKE File, Format Version 4.20 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +!IF "$(CFG)" == "" +CFG=tstmcs6a - Win32 Debug +!MESSAGE No configuration specified. Defaulting to tstmcs6a - Win32 Debug. +!ENDIF + +!IF "$(CFG)" != "tstmcs6a - Win32 Release" && "$(CFG)" !=\ + "tstmcs6a - Win32 Debug" +!MESSAGE Invalid configuration "$(CFG)" specified. +!MESSAGE You can specify a configuration when running NMAKE on this makefile +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "tstmcs6a.mak" CFG="tstmcs6a - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "tstmcs6a - Win32 Release" (based on\ + "Win32 (x86) Console Application") +!MESSAGE "tstmcs6a - Win32 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE +!ERROR An invalid configuration is specified. +!ENDIF + +!IF "$(OS)" == "Windows_NT" +NULL= +!ELSE +NULL=nul +!ENDIF +################################################################################ +# Begin Project +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "tstmcs6a - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Target_Dir "" +OUTDIR=.\Release +INTDIR=.\Release + +ALL : + +CLEAN : + -@erase + +"$(OUTDIR)" : + if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" + +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c +# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c +CPP_PROJ=/nologo /ML /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE"\ + /Fp"$(INTDIR)/tstmcs6a.pch" /YX /Fo"$(INTDIR)/" /c +CPP_OBJS=.\Release/ +CPP_SBRS=.\. +# ADD BASE RSC /l 0x407 /d "NDEBUG" +# ADD RSC /l 0x407 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +BSC32_FLAGS=/nologo /o"$(OUTDIR)/tstmcs6a.bsc" +BSC32_SBRS= \ + +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 +LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\ + advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\ + odbccp32.lib /nologo /subsystem:console /incremental:no\ + /pdb:"$(OUTDIR)/tstmcs6a.pdb" /machine:I386 /out:"$(OUTDIR)/tstmcs6a.exe" +LINK32_OBJS= \ + + +!ELSEIF "$(CFG)" == "tstmcs6a - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Target_Dir "" +OUTDIR=.\Debug +INTDIR=.\Debug + +ALL : + +CLEAN : + -@erase + +"$(OUTDIR)" : + if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" + +# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c +# ADD CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c +CPP_PROJ=/nologo /MLd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE"\ + /Fp"$(INTDIR)/tstmcs6a.pch" /YX /Fo"$(INTDIR)/" /Fd"$(INTDIR)/" /c +CPP_OBJS=.\Debug/ +CPP_SBRS=.\. +# ADD BASE RSC /l 0x407 /d "_DEBUG" +# ADD RSC /l 0x407 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +BSC32_FLAGS=/nologo /o"$(OUTDIR)/tstmcs6a.bsc" +BSC32_SBRS= \ + +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 +LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\ + advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\ + odbccp32.lib /nologo /subsystem:console /incremental:yes\ + /pdb:"$(OUTDIR)/tstmcs6a.pdb" /debug /machine:I386\ + /out:"$(OUTDIR)/tstmcs6a.exe" +LINK32_OBJS= \ + + +!ENDIF + +.c{$(CPP_OBJS)}.obj: + $(CPP) $(CPP_PROJ) $< + +.cpp{$(CPP_OBJS)}.obj: + $(CPP) $(CPP_PROJ) $< + +.cxx{$(CPP_OBJS)}.obj: + $(CPP) $(CPP_PROJ) $< + +.c{$(CPP_SBRS)}.sbr: + $(CPP) $(CPP_PROJ) $< + +.cpp{$(CPP_SBRS)}.sbr: + $(CPP) $(CPP_PROJ) $< + +.cxx{$(CPP_SBRS)}.sbr: + $(CPP) $(CPP_PROJ) $< + +################################################################################ +# Begin Target + +# Name "tstmcs6a - Win32 Release" +# Name "tstmcs6a - Win32 Debug" + +!IF "$(CFG)" == "tstmcs6a - Win32 Release" + +!ELSEIF "$(CFG)" == "tstmcs6a - Win32 Debug" + +!ENDIF + +# End Target +# End Project +################################################################################ diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/delphi/testmcs6a.dpr b/FAST ComTec/Files from FAST ComTec/mcs6adll/delphi/testmcs6a.dpr new file mode 100644 index 0000000..75943e8 --- /dev/null +++ b/FAST ComTec/Files from FAST ComTec/mcs6adll/delphi/testmcs6a.dpr @@ -0,0 +1,516 @@ +program Testmcs6a; +{$APPTYPE CONSOLE} +{$X+} +uses + Windows, sysutils; + +const ST_RUNTIME = 0; + ST_OFLS = 1; + ST_TOTALSUM = 2; + ST_ROISUM = 3; + ST_ROIRATE = 4; + ST_SWEEPS = 5; + ST_STARTS = 6; + +type SmallIntPointer = ^SmallInt; + + +{Diese Typdefinitionen wurden vom File struct.h übernommen und in Delphi + übersetzt} + AcqStatusTyp = RECORD //Status information + started : Cardinal; // acquisition status, 0==OFF, 1==ON, + // 3==READ OUT + maxval : Cardinal; // + cnt : array [0..7] of Double; // status: runtime in msec, + // ofls, total sum, + // roi sum, roi rate, sweeps, starts + End; + AcqStatusTypPointer = ^AcqStatusTyp; + + DatSettingTyp = RECORD // Data settings + savedata : Cardinal; // bit 0: auto save after stop + // bit 1: write list file + // bit 2: list file only, no evaluation + autoinc : Cardinal; // 1 if auto increment filename + fmt : Cardinal; // format type: 0 == ASCII, 1 == binary, + // 2 == CSV + mpafmt : Cardinal; // format used in mpa datafiles + sephead : Cardinal; // seperate Header + smpts : Cardinal; // number of points for smoothing operation + caluse : Cardinal; // 1 for using calibration for shifted spectra summing + filename : array [0..255] of Char; // mpa data filename + specfile : array [0..255] of Char; // seperate spectra filename + command : array [0..255] of Char; // command + End; + + ReplaySettingTyp = RECORD // Replay settings + use : Cardinal; // 1 if Replay Mode ON + modified : Cardinal; // 1 if different settings are used + limit : Cardinal; // 0: all, 1: limited time range + speed : Cardinal; // replay speed in units of 100 kB / sec + startsfrom : Double; // first start no. + startsto : Double; // last start no. + startspreset : Double; // last start - first + filename : array [0..255] of Char; + End; + + AcqSettingTyp = RECORD // ADC or spectra Settings + range : Cardinal; // spectrum length, ADC range + cftfak : Cardinal; // LOWORD: 256 * cft factor (t_after_peak / t_to_peak) + // HIWORD: max pulse width for CFT + roimin : Cardinal; // lower ROI limit + roimax : Cardinal; // upper limit: roimin <= channel < roimax + nregions : Cardinal; // number of regions + caluse : Cardinal; // bit 0 == 1 if calibration used, higher bits: formula + calpoints : Cardinal; // number of calibration points + param : Cardinal; // for MAP and POS: LOWORD=x, HIGHWORD=y (rtime=256, RTC=257) + offset : Cardinal; // zoomed MAPS: LOWORD: xoffset, HIGHWORD: yoffset + xdim : Cardinal; // x resolution of maps + bitshift : Cardinal; // LOWORD: Binwidth = 2 ^ (bitshift) + // HIWORD: Threshold for Coinc + active : Cardinal; // Spectrum definition words for CHN1..6: + // active & 0xF ==0 not used + // ==1 enabled + // bit 8: Enable Tag bits + // bit 9: start with rising edge + // bit 10: time under threshold for pulse width + // bit 11: pulse width mode for any spectra with both edges enabled + // Spectrum definition words for calc. spectra: + // active & 0xF ==3 MAP, ((x-xoffs)>>xsh) x ((y-yoffs)>>ysh) + // bit4=1: x zoomed MAP + // bit5=1: y zoomed MAP + // ==5 SUM, (x + y)>>xsh + // ==6 DIFF,(x - y + range)>>xsh + // ==7 ANY, (for compare) + // ==8 COPY, x + // ==10 SW-HIS, Sweep History + // bit 8..11 xsh, bit 12..15 ysh or bit 8..15 xsh + // HIWORD(active) = condition no. (0=no condition) + roipreset : Double; // ROI preset value + dummy1 : Double; // (for future use..) + dummy2 : Double; // + dummy3 : Double; // + End; + AcqSettingTypPointer = ^AcqSettingTyp; + + ExtAcqSettingTyp = RECORD // Settings + range : Cardinal; // spectrum length, ADC range + cftfak : Cardinal; // LOWORD: 256 * cft factor (t_after_peak / t_to_peak) + // HIWORD: max pulse width for CFT + roimin : Cardinal; // lower ROI limit + roimax : Cardinal; // upper limit: roimin <= channel < roimax + nregions : Cardinal; // number of regions + caluse : Cardinal; // bit 0 == 1 if calibration used, higher bits: formula + calpoints : Cardinal; // number of calibration points + param : Cardinal; // for MAP and POS: LOWORD=x, HIGHWORD=y (rtime=256, RTC=257) + offset : Cardinal; // zoomed MAPS: LOWORD: xoffset, HIGHWORD: yoffset + xdim : Cardinal; // x resolution of maps + bitshift : Cardinal; // LOWORD: Binwidth = 2 ^ (bitshift) + // HIWORD: Threshold for Coinc + active : Cardinal; // Spectrum definition words for CHN1..6: + // active & 0xF ==0 not used + // ==1 enabled + // bit 8: Enable Tag bits + // bit 9: start with rising edge + // bit 10: time under threshold for pulse width + // bit 11: pulse width mode for any spectra with both edges enabled + // Spectrum definition words for calc. spectra: + // active & 0xF ==3 MAP, ((x-xoffs)>>xsh) x ((y-yoffs)>>ysh) + // bit4=1: x zoomed MAP + // bit5=1: y zoomed MAP + // ==5 SUM, (x + y)>>xsh + // ==6 DIFF,(x - y + range)>>xsh + // ==7 ANY, (for compare) + // ==8 COPY, x + // ==10 SW-HIS, Sweep History + // bit 8..11 xsh, bit 12..15 ysh or bit 8..15 xsh + // HIWORD(active) = condition no. (0=no condition) + roipreset : Double; // ROI preset value + dummy1 : Double; // (for future use..) + dummy2 : Double; // + dummy3 : Double; // + vtype : Cardinal; // 0=single, 1=MAP, 2=ISO... + ydim : Cardinal; // y resolution of maps + reserved : array [0..12] of LongInt; + End; + ExtAcqSettingTypPointer = ^ExtAcqSettingTyp; + + AcqDataTyp = RECORD + s0 : Array of LongInt; // pointer to spectrum + region : Array of Cardinal; // pointer to regions + comment0 : Array of Char; // pointer to strings + cnt : Array of Double; // pointer to counters + hs0 : Integer; + hrg : Integer; + hcm : Integer; + hct : Integer; + End; + + AcqMCSTyp = RECORD + sweepmode : Cardinal; // sweepmode & 0xF: 0 = normal, + // 1=differential (relative to first stop in sweep) + // 4=sequential + // 5=seq.+diff (Ch1), bit0 = differential mode + // 6 = CORRELATIONS + // 7 = diff.+Corr. + // 9=differential to stop in Ch2, bit3 = Ch2 ref (diff.mode) + // 0xD = seq.+diff (Ch2) + // 0xF = Corr.+diff (Ch2) + // bit 4: Softw. Start + // bit 6: Endless + // bit 7: Start event generation + // bit 8: Enable Tag bits + // bit 9: start with rising edge + // bit 10: time under threshold for pulse width + // bit 11: pulse width mode for any spectra with both edges enabled + // bit 12: abandon Sweepcounter in Data + // bit 13: "one-hot" mode with tagbits + // bit 14: ch6 ref (diff.mode) + // bit 15: enable ch6 input + // bit 16..bit 20 ~(input channel enable) + // bit 24: require data lost bit in data + // bit 25: don't allow 6 byte datalength + prena : Cardinal; + // bit 0: realtime preset enabled + // bit 1: reserved + // bit 2: sweep preset enabled + // bit 3: ROI preset enabled + // bit 4: Starts preset enabled + // bit 5: ROI2 preset enabled + // bit 6: ROI3 preset enabled + // bit 7: ROI4 preset enabled + // bit 8: ROI5 preset enabled + // bit 9: ROI6 preset enabled + cycles : Cardinal; // for sequential mode + sequences : Cardinal; // + syncout : Cardinal; + // LOWORD: sync out; bit 0..5 NIM syncout, bit 8..13 TTL syncout + // bit7: NIM syncout_invert, bit15: TTL syncout_invert + // 0="0", 1=10 MHz, 2=78.125 MHz, 3=100 MHz, 4=156.25 MHz, + // 5=200 MHz, 6=312.5 MHz, 7=Ch0, 8=Ch1, 9=Ch2, 10=Ch3, + // 11=Ch4, 12=Ch5, 13=GO, 14=Start_of_sweep, 15=Armed, + // 16=SYS_ON, 17=WINDOW, 18=HOLD_OFF, 19=EOS_DEADTIME + // 20=TIME[0],...,51=TIME[31], 52...63=SWEEP[0]..SWEEP[11] + digio : Cardinal; // LOWORD: Use of Dig I/O, GO Line: + // bit 0: status dig 0..3 + // bit 1: Output digval and increment digval after stop + // bit 2: Invert polarity + // (bit 3: reserved) + // bit 4..7: Input pins 4..7 Trigger System 1..4 + // bit 8: GOWATCH + // bit 9: GO High at Start + // bit 10: GO Low at Stop + // bit 11: Clear at triggered start + // bit 12: Only triggered start + digval : Cardinal; // digval=0..255 value for samplechanger + dac0 : Cardinal; // DAC0 value (START) + // bit 16: Start with rising edge + dac1 : Cardinal; // DAC1 value (STOP 1) + dac2 : Cardinal; // DAC2 value (STOP 2) + dac3 : Cardinal; // DAC3 value (STOP 3) + dac4 : Cardinal; // DAC4 value (STOP 4) + dac5 : Cardinal; // DAC5 value (STOP 5) + // bit (14,15) of each DAC: 0=falling, 1=rising, 2=both, 3=both+CFT + // bit 17 of each: pulse width mode under threshold + fdac : Cardinal; // Feature DAC 0..16383 --> 0..2.5V + tagbits : Cardinal; // Number of tagbits + extclk : Cardinal; // use external clock + maxchan : Cardinal; // number of input channels (=6) + serno : Cardinal; // serial number + ddruse : Cardinal; // bit0: DDR_USE, bit1: DDR_2GB + // bits[2:3]: usb_usage + // bits[4:5]: wdlen + active : Cardinal; // module in system + holdafter : Double; // Hold off + swpreset : Double; // Sweep Preset + fstchan : Double; // Acquisition delay + timepreset : Double; // Realtime Preset + End; + + + AcqDefTyp = RECORD + nDevices : Cardinal; // Number of connected ADC Interfaces = max. 16 + nDisplays : Cardinal; // Number of histograms = nDevices + Positions + Maps + nSystems : Cardinal; // Number of independent systems = 1 + bRemote : Cardinal; // 1 if server controlled by MPANT + sys : Cardinal; // System definition word + // bit0=0, bit1=0: dev#0 in system 1 + // bit0=1, bit1=0: dev#0 in system 2 + // bit0=0, bit1=1: dev#0 in system 3 + // bit0=1, bit1=1: dev#0 in system 4 + // bit2..bit6: + // bit6=1, bit7=1: dev#3 in system 4 + sys0 : array [0..55] of Cardinal; + // System definition words for CHN1..18: + // see active definition in ACQSETTING + sys1 : array [0..55] of Cardinal; + // CHN in System (always 1) + End; + AcqDefTypPointer = ^AcqDefTyp; + + + LpGet = function (var Setting : AcqSettingTyp; // Get Settings stored in the DLL + nDisplay : Cardinal) : LongInt; stdcall; + + LpStat = function (var Status : AcqSTatusTyp; // Get Status stored in the DLL + nDisplay : Cardinal) : LongInt; stdcall; + + LpRun = procedure (nDisplay : LongInt; // Executes command + Cmd : PChar) ; stdcall; + + LpCnt = function (var cntp : Double; // Copies Cnt numbers to an array + nDisplay : Cardinal) : LongInt; stdcall; + + LpRoi = function (var roip : Cardinal; // Copies the ROI boundaries to an array + nDisplay : Cardinal) : LongInt; stdcall; + + LpDat = function (var datp : LongInt; // Copies the spectrum to an array + nDisplay : Cardinal) : LongInt; stdcall; + + LpStr = function (var strp : Char; // Copies strings to an array + nDisplay : Cardinal) : LongInt; stdcall; + + LpServ = function (ClientWnd : Cardinal) : Cardinal; stdcall; // Register Client MCDWIN.EXE + + LpNewStat = function (nDevice : Cardinal) : LongInt; stdcall; // Request actual Status from Server + + LpGetMCS = function (var Defmp3 : AcqMCSTyp; // Get MCS Settings from DLL + nDevice : Cardinal) : LongInt; stdcall; + + LpGetDatSet = function (var Defdat : DatSettingTyp) : LongInt; stdcall; + // Get Data Format Definition from DLL + + +var Handle : Integer; + TGet : LpGet; + TStat : LpStat; + TRun : LpRun; + TCnt : LpCnt; + TRoi : LpRoi; + TDat : LpDat; + TStr : LpStr; + TServ : LpServ; + TNewStat : LpNewStat; + TMcs : LpGetMCS; + TDatset : LpGetDatSet; + Setting : AcqSettingTyp; + MCSset : AcqMCSTyp; + {Data : AcqDataTyp; + Def : AcqDefTyp;} + Status : AcqStatusTyp; + Adc : Cardinal; + cmd : String; + Err : LongInt; + Spec : Array[0..8191] of LongInt; + +procedure PrintMpaStatus(var stat: AcqStatusTyp); +begin + with stat do + begin + if started = 1 then + writeln('ON') + else if started = 3 then + writeln('READ OUT') + else + writeln('OFF'); + writeln('runtime= ', cnt[ST_RUNTIME]); + writeln('sweeps= ', cnt[ST_SWEEPS]); + writeln('starts= ', cnt[ST_STARTS]); + end; +end; + +procedure PrintStatus(var stat: AcqStatusTyp); +begin + with stat do + begin + writeln('totalsum= ', cnt[ST_TOTALSUM]); + writeln('roisum= ', cnt[ST_ROISUM]); + writeln('rate= ', cnt[ST_ROIRATE]); + writeln('ofls= ', cnt[ST_OFLS]); + end; +end; + +procedure PrintDatSetting(var datsett: DatSettingTyp); +begin + with datsett do + begin + writeln('savedata= ', savedata); + writeln('autoinc= ', autoinc); + writeln('fmt= ', fmt); + writeln('mpafmt= ', mpafmt); + writeln('sephead= ', sephead); + writeln('filename= ', String(filename)); + end; +end; + +procedure PrintMCSSetting(var mpsett: AcqMCSTyp); +begin + with mpsett do + begin + writeln('sweepmode= ', sweepmode); + writeln('prena= ', prena); + writeln('cycles= ', cycles); + writeln('sequences= ', sequences); + writeln('syncout= ', syncout); + writeln('digio= ', digio); + writeln('digval= ', digval); + writeln('dac0= ', dac0); + writeln('dac1= ', dac1); + writeln('dac2= ', dac2); + writeln('dac3= ', dac3); + writeln('dac4= ', dac4); + writeln('dac5= ', dac5); + writeln('fdac= ', fdac); + writeln('tagbits= ', tagbits); + writeln('extclk= ', extclk); + writeln('maxchan= ', maxchan); + writeln('serno= ', serno); + writeln('ddruse= ', ddruse); + writeln('active= ', active); + writeln('holdafter= ', holdafter); + writeln('swpreset= ', swpreset); + writeln('fstchan= ', fstchan); + writeln('timepreset= ', timepreset); + end; +end; + +procedure PrintSetting(var sett: AcqSettingTyp); +begin + with sett do + begin + writeln('range= ', range); + writeln('cftfak= ', cftfak); + writeln('roimin= ', roimin); + writeln('roimax= ', roimax); + writeln('nregions= ', nregions); + writeln('caluse= ', caluse); + writeln('calpoints=', calpoints); + writeln('param= ', param); + writeln('offset= ', offset); + writeln('xdim= ', xdim); + writeln('bitshift= ', bitshift); + writeln('active= ', active); + writeln('roipreset=', roipreset); + end; +end; + +procedure PrintDat(len: Cardinal); + var i: Integer; +begin + writeln('first 30 of ', len, ' datapoints:'); + for i:= 0 to 29 do + writeln(Spec[i]); +end; + +procedure help; +begin + writeln('Commands:'); + writeln('Q Quit'); + writeln('H Help'); + writeln('S Status'); + writeln('G Settings'); + writeln('CHN=x Switch to CHN #x'); + writeln('D Get Data'); + writeln('... more see command language in MPANT Help'); +end; + +function run(command : String) : LongInt; +begin + run := 0; + if command = 'H' then + help + else if command = 'Q' then + begin + run := 1; + end + else if command = 'S' then + begin + if @TStat <> nil then + begin + Err := TStat(Status, Adc); + PrintStatus(Status); + end; + end + else if command = 'G' then + begin + if @TGet <> nil then + begin + Err := TGet(Setting, Adc); + PrintSetting(Setting); + if Adc = 0 then + begin + Err := TMcs(MCSset, 0); + PrintMCSSetting(MCSset); + end; + end; + end + else if AnsiPos('CHN=',command) = 1 then + begin + Val(String(PChar(command)+4), Adc, Err); + end + else if command = 'D' then + begin + if @TGet <> nil then + begin + Err := TGet(Setting, Adc); + if @TDat <> nil then + begin + Err := TDat(Spec[0], Adc); + PrintDat(Setting.range); + end; + end; + end + else + begin + if @TRun <> nil then + begin + TRun(0, PChar(command)); + writeln(command); + end; + end; +end; + +begin + SetLength(cmd, 100); + Adc := 0; + Handle := LoadLibrary('dmcs6.dll'); + if Handle <> 0 then + begin + @TGet := GetProcAddress(Handle, 'GetSettingData'); + @TStat := GetProcAddress(Handle, 'GetStatusData'); + @TRun := GetProcAddress(Handle, 'RunCmd'); + @TCnt := GetProcAddress(Handle, 'LVGetCnt'); + @TRoi := GetProcAddress(Handle, 'LVGetRoi'); + @TDat := GetProcAddress(Handle, 'LVGetDat'); + @TStr := GetProcAddress(Handle, 'LVGetStr'); + @TServ := GetProcAddress(Handle, 'ServExec'); + @TNewStat := GetProcAddress(Handle, 'GetStatus'); + @TDatset := GetProcAddress(Handle, 'GetDatSetting'); + @TMCS := GetProcAddress(Handle, 'GetMCSSetting'); + + if @TNewStat <> nil then + Err := TNewStat(0); + + { if @TStat <> nil then + begin + Err := TStat(Status, 0); + PrintStatus(Status); + end; + + if @TGet <> nil then + begin + Err := TGet(Setting, 0); + PrintSetting(Setting); + end; } + help; + + repeat + readln(cmd); + until run(cmd) <> 0; + + FreeLibrary(Handle); + end; +end. + + + diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/delphi/testmcs6a.exe b/FAST ComTec/Files from FAST ComTec/mcs6adll/delphi/testmcs6a.exe new file mode 100644 index 0000000..079ab33 Binary files /dev/null and b/FAST ComTec/Files from FAST ComTec/mcs6adll/delphi/testmcs6a.exe differ diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/dll/STRUCT.H b/FAST ComTec/Files from FAST ComTec/mcs6adll/dll/STRUCT.H new file mode 100644 index 0000000..f32b59e --- /dev/null +++ b/FAST ComTec/Files from FAST ComTec/mcs6adll/dll/STRUCT.H @@ -0,0 +1,348 @@ +#define WINDOWSNT +#undef WINDOWS95 +#undef WINDOWS31 + +#ifdef WINDOWS31 + +#define GET_WM_COMMAND_ID(w) w +#define GET_WM_COMMAND_CMD(w,l) HIWORD(l) +#define GET_WM_COMMAND_HWND(l) LOWORD(l) +#define GET_WM_SCRHWND(l) HIWORD(l) +#define GET_WM_SCROLLPOS(w,l) LOWORD(l) +#define FIND_WINDOW(a,b) FindWindow(b,a) +#define HUGE huge +#define USHORT unsigned short +#define SetForegroundWindow(w) +#define APIENTRY FAR PASCAL +#define Sleep(t) waitmsec(t) + +#else + +#define GET_WM_COMMAND_ID(w) LOWORD(w) +#define GET_WM_COMMAND_CMD(w,l) HIWORD(w) +#define GET_WM_COMMAND_HWND(l) l +#define GET_WM_SCRHWND(l) l +#define GET_WM_SCROLLPOS(w,l) (short)HIWORD(w) +#define FIND_WINDOW(a,b) FindWindow(a,b) +#define HUGE +#define _fmemcpy memcpy +#define _fstrcpy strcpy + +#endif + +typedef struct { + int use; + int port; + unsigned long baud; + int dbits; + int sbits; + int parity; + int echo; + HWND hwndserver; + LPSTR cmd; +} COMCTL, far *LPCOMCTL; + +#define ST_RUNTIME 0 +#define ST_OFLS 1 +#define ST_TOTALSUM 2 +#define ST_ROISUM 3 +#define ST_ROIRATE 4 +#define ST_SWEEPS 5 +#define ST_STARTS 6 + +typedef struct{ + unsigned long started; // aquisition status + unsigned long maxval; // maxval + double cnt[8]; // status: runtime in msec, ofls, + // total sum, roi sum, roi rate, sweeps, starts +} ACQSTATUS; + +typedef struct { + long savedata; // bit 0: auto save after stop + // bit 1: write listfile + // bit 2: listfile only, no evaluation + long autoinc; // 1 if auto increment filename + long fmt; // format type (seperate spectra): + // 0 == ASCII, 1 == binary, + // 2 == CSV + long mpafmt; // format used in mpa datafiles + long sephead; // seperate Header + long smpts; + long caluse; + char filename[256]; + char specfile[256]; + char command[256]; +} DATSETTING; + +typedef struct { + long use; // 1 if Replay Mode ON + long modified; // Bit 0: 1 if different settings are used + // (Bit 1: Write ASCII, reserved) + long limit; // 0: all, + // 1: limited sweep range + long speed; // replay speed in units of 100 kB / sec + double startsfrom; // first start# + double startsto; // last start# + double startspreset; // last start - first start + char filename[256]; +} REPLAYSETTING; + +typedef struct{ + long range; // spectrum length + long cftfak; // LOWORD: 256 * cft factor (t_after_peak / t_to_peak) + // HIWORD: max pulse width for CFT + long roimin; // lower ROI limit + long roimax; // upper limit: roimin <= channel < roimax + long nregions; // number of regions + long caluse; // bit0: 1 if calibration used, higher bits: formula + long calpoints; // number of calibration points + long param; // (reserved:) for MAP and POS: LOWORD=x, HIWORD=y + long offset; // (reserved:) zoomed MAPS: LOWORD: xoffset, HIWORD, yoffset + long xdim; // (reserved:) x resolution of maps + unsigned long bitshift; // LOWORD: Binwidth = 2 ^ (bitshift) + // HIWORD: Threshold for Coinc + long active; // Spectrum definition words for CHN1..6: + // active & 0xF ==0 not used + // ==1 single + // bit 8: Enable Tag bits + // bit 9: start with rising edge + // bit 10: time under threshold for pulse width + // bit 11: pulse width mode for any spectra with both edges enabled + // Spectrum definition words for calc. spectra: + // active & 0xF ==3 MAP, ((x-xoffs)>>xsh) x ((y-yoffs)>>ysh) + // ((x-xoffs)>>xsh) x ((y-timeoffs)>>timesh) + // or ((x-timeoffs)>>timesh x ((y-yoffs)>>ysh) + // bit4=1: x zoomed MAP + // bit5=1: y zoomed MAP + // ==5 SUM, (x + y)>>xsh + // ==6 DIFF,(x - y + range)>>xsh + // ==7 ANY, (for compare) + // ==8 COPY, x + // ==9 DLL fDLL(x,y,z), + // ==0xA Sweep HISTORY, Sweepnum(x) +// bit 8..11 xsh, bit 12..15 ysh or bit 8..15 xsh + // HIWORD(active) = condition no. (0=no condition) + double eventpreset; // ROI preset value + double dummy1; // (for future use..) + double dummy2; // + double dummy3; // +} ACQSETTING; + +typedef struct{ + long range; // spectrum length + long cftfak; // LOWORD: 256 * cft factor (t_after_peak / t_to_peak) + // HIWORD: max pulse width for CFT + long roimin; // lower ROI limit + long roimax; // upper limit: roimin <= channel < roimax + long nregions; // number of regions + long caluse; // bit0: 1 if calibration used, higher bits: formula + long calpoints; // number of calibration points + long param; // (reserved:) for MAP and POS: LOWORD=x, HIWORD=y + long offset; // (reserved:) zoomed MAPS: LOWORD: xoffset, HIWORD, yoffset + long xdim; // (reserved:) x resolution of maps + unsigned long bitshift; // LOWORD: Binwidth = 2 ^ (bitshift) + // HIWORD: Threshold for Coinc + long active; // Spectrum definition words for CHN1..6: + // active & 0xF ==0 not used + // ==1 enabled + // bit 8: Enable Tag bits + // bit 9: start with rising edge + // bit 10: time under threshold for pulse width + // bit 11: pulse width mode for any spectra with both edges enabled + // Spectrum definition words for calc. spectra: + // active & 0xF ==3 MAP, ((x-xoffs)>>xsh) x ((y-yoffs)>>ysh) + // bit4=1: x zoomed MAP + // bit5=1: y zoomed MAP + // ==5 SUM, (x + y)>>xsh + // ==6 DIFF,(x - y + range)>>xsh + // ==7 ANY, (for compare) + // ==8 COPY, x + // ==10 SW-HIS, Sweep History + // bit 8..11 xsh, bit 12..15 ysh or bit 8..15 xsh + // HIWORD(active) = condition no. (0=no condition) + double eventpreset; // ROI preset value + double dummy1; // (for future use..) + double dummy2; // + double dummy3; // + // MPANT or Server private saved settings: + long type; // 0=single, 1=MAP, 2=ISO... + long ydim; // y resolution of maps + long reserved[16]; +} EXTACQSETTING; + +typedef struct { + long sweepmode; // sweepmode & 0xF: 0 = normal, + // 1=differential (relative to first stop in sweep) + // 4=sequential + // 5=seq.+diff (Ch1), bit0 = differential mode + // 6 = CORRELATIONS + // 7 = diff.+Corr. + // 9=differential to stop in Ch2, bit3 = Ch2 ref (diff.mode) + // 0xD = seq.+diff (Ch2) + // 0xF = Corr.+diff (Ch2) + // bit 4: Softw. Start + // bit 6: Endless + // bit 7: Start event generation + // bit 8: Enable Tag bits + // bit 9: start with rising edge + // bit 10: time under threshold for pulse width + // bit 11: pulse width mode for any spectra with both edges enabled + // bit 12: abandon Sweepcounter in Data + // bit 13: "one-hot" mode with tagbits + // bit 14: ch6 ref (diff.mode) + // bit 15: enable ch6 input + // bit 16..bit 20 ~(input channel enable) + // bit 24: require data lost bit in data + // bit 25: don't allow 6 byte datalength + long prena; // bit 0: realtime preset enabled + // bit 1: + // bit 2: sweep preset enabled + // bit 3: ROI preset enabled + // bit 4: Starts preset enabled + // bit 5: ROI2 preset enabled + // bit 6: ROI3 preset enabled + // bit 7: ROI4 preset enabled + // bit 8: ROI5 preset enabled + // bit 9: ROI6 preset enabled + long cycles; // for sequential mode + long sequences; // + long syncout; // LOWORD: sync out; bit 0..5 NIM syncout, bit 8..13 TTL syncout + // bit7: NIM syncout_invert, bit15: TTL syncout_invert + // 0="0", 1=10 MHz, 2=78.125 MHz, 3=100 MHz, 4=156.25 MHz, + // 5=200 MHz, 6=312.5 MHz, 7=Ch0, 8=Ch1, 9=Ch2, 10=Ch3, + // 11=Ch4, 12=Ch5, 13=GO, 14=Start_of_sweep, 15=Armed, + // 16=SYS_ON, 17=WINDOW, 18=HOLD_OFF, 19=EOS_DEADTIME + // 20=TIME[0],...,51=TIME[31], 52...63=SWEEP[0]..SWEEP[11] + // + long digio; // LOWORD: Use of Dig I/O, GO Line: + // bit 0: status dig 0..3 + // bit 1: Output digval and increment digval after stop + // bit 2: Invert polarity + // (bit 3: Push-Pull output, not possible) + // bit 4..7: Input pins 4..7 Trigger System 1..4 + // bit 8: GOWATCH + // bit 9: GO High at Start + // bit 10: GO Low at Stop + // bit 11: Clear at triggered start + // bit 12: Only triggered start + long digval; // digval=0..255 value for samplechanger + long dac0; // DAC0 value (START) + // bit 16: Start with rising edge + long dac1; // DAC1 value (STOP 1) + long dac2; // DAC2 value (STOP 2) + long dac3; // DAC3 value (STOP 3) + long dac4; // DAC4 value (STOP 4) + long dac5; // DAC5 value (STOP 5) + // bit (14,15) of each word: 0=falling, 1=rising, 2=both, 3=both+CFT + // bit 17 of each: pulse width mode under threshold + int fdac; // Feature DAC 0..16383 --> 0..2.5V + int tagbits; // number of tagbits + int extclk; // use external clock + long maxchan; // number of input channels (=6) + long serno; // serial number + long ddruse; // bit0: DDR_USE, bit1: DDR_2GB + // bits[2:3]: usb_usage + // bits[4:5]: wdlen + long active; // module in system + double holdafter; // Hold off + double swpreset; // sweep preset value + double fstchan; // acquisition delay + double timepreset; // time preset +} BOARDSETTING; + +typedef struct { + int nDevices; // Number of channels = number of modules * 6 + int nDisplays; // Number of histograms = nDevices + Positions + Maps + int nSystems; // Number of independent systems = 1 + int bRemote; // 1 if server controlled by MPANT + unsigned int sys; // System definition word: + // bit0=0, bit1=0: dev#0 in system 1 + // bit0=1, bit1=0: dev#0 in system 2 + // bit0=0, bit1=1: dev#0 in system 3 + // bit0=1, bit1=1: dev#0 in system 4 + // bit2..bit6: + // bit6=1, bit7=1: dev#3 in system 4 + int sys0[56]; // (reserved:) System definition words for CHN1..18: + // bit 0 CHN active + // bit 1 =1 CHN coinc, =0 single + // bit 2..4 CHN in system1..7 + int sys1[56]; // (reserved:) CHN in System +} ACQDEF; + +typedef struct { + unsigned int adcnum; // Number of active ADC's (=0) + unsigned int tofnum; // Number of active TOF channels + unsigned int ntofs0; // Number of TOF inputs + unsigned int modules; // Number of MCS6A modules + unsigned int nadcs; // Number of ADCs (=0) + + int sys0[56]; // System definition words for ADCs (1..24): + // see active definition in ADCSETTING + int sys1[56]; // ADC in System (=1) + int adcs[8]; // Number of ADCs per module (0) + int tofs[8]; // Number of TOF inputs per module + int res[8]; // reserved +} COINCDEF; + +typedef struct{ + unsigned long HUGE *s0; // pointer to spectrum + unsigned long *region; // pointer to regions + unsigned char *comment0; // pointer to strings + double *cnt; // pointer to counters + HANDLE hs0; + HANDLE hrg; + HANDLE hcm; + HANDLE hct; +} ACQDATA; + +typedef struct { + int nDevices; // Number of channels = number of modules * 6 + int nDisplays; // Number of histograms = nDevices + Positions + Maps + int nSystems; // Number of independent systems = 1 + int bRemote; // 1 if server controlled by MPANT + unsigned int sys; // System definition word: + // bit0=0, bit1=0: dev#0 in system 1 + // bit0=1, bit1=0: dev#0 in system 2 + // bit0=0, bit1=1: dev#0 in system 3 + // bit0=1, bit1=1: dev#0 in system 4 + // bit2..bit6: + // bit6=1, bit7=1: dev#3 in system 4 +} LVACQDEF; + +typedef struct { + long savedata; // bit 0: auto save after stop + // bit 1: write listfile + // bit 2: listfile only, no evaluation + long autoinc; // 1 if auto increment filename + long fmt; // format type (seperate spectra): + // 0 == ASCII, 1 == binary, + // 2 == CSV + long mpafmt; // format used in mpa datafiles + long sephead; // seperate Header + long smpts; + long caluse; +} LVDATSETTING; + +typedef struct { + long use; // 1 if Replay Mode ON + long modified; // Bit 0: 1 if different settings are used + // (Bit 1: Write ASCII, reserved) + long limit; // 0: all, + // 1: limited sweep range + long speed; // replay speed in units of 100 kB / sec + double startsfrom; // first start# + double startsto; // last start# + double startspreset; // last start - first start +} LVREPLAYSETTING; + +typedef struct { + unsigned int adcnum; // Number of active ADC's (=0) + unsigned int tofnum; // Number of active TOF channels + unsigned int ntofs0; // Number of TOF inputs + unsigned int modules; // Number of MCS6A modules + unsigned int nadcs; // Number of ADCs (=0) + +} LVCOINCDEF; + + + diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/dll/dmcs6.c b/FAST ComTec/Files from FAST ComTec/mcs6adll/dll/dmcs6.c new file mode 100644 index 0000000..4c67bc6 --- /dev/null +++ b/FAST ComTec/Files from FAST ComTec/mcs6adll/dll/dmcs6.c @@ -0,0 +1,993 @@ +/*************************************************************************** + MODULE: DMCS6.C + PURPOSE: DLL to communicate with MCS6A Server +****************************************************************************/ + +#include "windows.h" +#include +#include +#define DLL +#include "dmcs6.h" + +#pragma data_seg("dmcs6sh") + +ACQSTATUS DLLStatus[MAXDSP] = {0}; +EXTACQSETTING DLLSetting[MAXDSP] = {0}; +ACQDEF DLLDef = {0}; +COINCDEF DLLCDef = {0}; +BOARDSETTING DLLmc[MAXDEV] = {0}; +DATSETTING DLLdat = {0}; +REPLAYSETTING DLLRepl = {0}; + +BOOL bRemote=0; +BOOL bStatus[MAXDSP]={0}; +BOOL bSetting[MAXDSP]={0}; +BOOL bDef=FALSE; +BOOL bCDef=FALSE; +BOOL bmc[MAXDEV]={0}; +BOOL bDat=FALSE; +BOOL bRepl=FALSE; +HWND hwndServer=0; +HWND hwndClient=0; +HWND hwndMPANT=0; +UINT MM_NEARCONTROL=0; +UINT MM_GETVAL=0; +//HWND hwndMCDWIN=0; + +#pragma data_seg() + +bool test() +{ + return true; +} + +BOOL APIENTRY DllMain(HANDLE hInst, DWORD ul_reason_being_called, LPVOID lpReserved) +{ + return 1; + UNREFERENCED_PARAMETER(hInst); + UNREFERENCED_PARAMETER(ul_reason_being_called); + UNREFERENCED_PARAMETER(lpReserved); +} + +VOID APIENTRY StoreDefData(ACQDEF FAR *Def) +{ + int i; + if(Def == NULL) { + bDef = FALSE; + for (i=0; i= MAXDEV) return; + if(Defmc == NULL) { + bmc[ndev] = FALSE; + } + else{ + _fmemcpy((LPSTR FAR *)&DLLmc[ndev],(LPSTR FAR *)Defmc,sizeof(BOARDSETTING)); + bmc[ndev] = TRUE; + } +} + +int APIENTRY GetMCSSetting(BOARDSETTING *Defmc, int ndev) +{ + if (ndev < 0 || ndev >= MAXDEV) return 0; + if (bmc[ndev]) { + _fmemcpy((LPSTR FAR *)Defmc,(LPSTR FAR *)&DLLmc[ndev],sizeof(BOARDSETTING)); + } + return bmc[ndev]; +} + +VOID APIENTRY StoreSettingData(ACQSETTING FAR *Setting, int nDisplay) +{ + if (nDisplay < 0 || nDisplay >= MAXDSP) return; + if(Setting == NULL) { + bSetting[nDisplay] = FALSE; + bStatus[nDisplay] = FALSE; + } + else{ + _fmemcpy((LPSTR FAR *)&DLLSetting[nDisplay], + (LPSTR FAR *)Setting,sizeof(ACQSETTING)); + bSetting[nDisplay] = TRUE; + if(Setting->range == 0L) { + bSetting[nDisplay] = FALSE; + bStatus[nDisplay] = FALSE; + } + } +} + +VOID APIENTRY StoreExtSettingData(EXTACQSETTING FAR *Setting, int nDisplay) +{ + if (nDisplay < 0 || nDisplay >= MAXDSP) return; + if(Setting == NULL) { + bSetting[nDisplay] = FALSE; + bStatus[nDisplay] = FALSE; + } + else{ + _fmemcpy((LPSTR FAR *)&DLLSetting[nDisplay], + (LPSTR FAR *)Setting,sizeof(EXTACQSETTING)); + bSetting[nDisplay] = TRUE; + if(Setting->range == 0L) { + bSetting[nDisplay] = FALSE; + bStatus[nDisplay] = FALSE; + } + } +} + +int APIENTRY GetSettingData(ACQSETTING FAR *Setting, int nDisplay) +{ +//DebugBreak(); + if (nDisplay < 0 || nDisplay >= MAXDSP) return 0; + if (bSetting[nDisplay]) { + _fmemcpy((LPSTR FAR *)Setting, + (LPSTR FAR *)&DLLSetting[nDisplay],sizeof(ACQSETTING)); + } + return bSetting[nDisplay]; +} + +int APIENTRY GetExtSettingData(EXTACQSETTING FAR *Setting, int nDisplay) +{ + if (nDisplay < 0 || nDisplay >= MAXDSP) return 0; + if (bSetting[nDisplay]) { + _fmemcpy((LPSTR FAR *)Setting, + (LPSTR FAR *)&DLLSetting[nDisplay],sizeof(EXTACQSETTING)); + } + return bSetting[nDisplay]; +} + +VOID APIENTRY StoreData(ACQDATA FAR *Data, int nDisplay) +{ + if (nDisplay < 0 || nDisplay >= MAXDSP) return; + if(Data == NULL) { + bSetting[nDisplay] = FALSE; + bStatus[nDisplay] = FALSE; + } +#ifdef WINDOWS31 + else + _fmemcpy((LPSTR FAR *)&DLLData[nDisplay],(LPSTR FAR *)Data,sizeof(ACQDATA)); +#endif +} + +int APIENTRY GetData(ACQDATA FAR *Data, int nDisplay) +{ + if (nDisplay < 0 || nDisplay >= MAXDSP) return 0; +#ifdef WINDOWS31 + if (bSetting[nDisplay]) { + _fmemcpy((LPSTR FAR *)Data,(LPSTR FAR *)&DLLData[nDisplay],sizeof(ACQDATA)); + } +#endif + return bSetting[nDisplay]; +} + +long APIENTRY GetSpec(long i, int nDisplay) +{ +#ifdef WINDOWS31 + if (nDisplay < 0 || nDisplay >= MAXDSP) return 0; + if (bSetting[nDisplay] && i < DLLSetting[nDisplay].range) + return (DLLData[nDisplay].s0[i]); + else return 0L; +#else + char sz[40]; + HANDLE hs0; + unsigned long *s0; + unsigned long val; + if (nDisplay < 0 || nDisplay >= MAXDSP) return 0; + if (!bSetting[nDisplay]) return 0; + if (i > DLLSetting[nDisplay].range) return 0; + sprintf(sz,"MCS6A_S0_%d",nDisplay); + if (!(hs0 = OpenFileMapping(FILE_MAP_READ, FALSE, sz))) + return 0; + if (!(s0 = (unsigned long *)MapViewOfFile(hs0, + FILE_MAP_READ, 0, 0, 0))) { + CloseHandle(hs0); + return 0; + } + val = s0[i]; + UnmapViewOfFile(s0); + CloseHandle(hs0); + return val; +#endif +} + +VOID APIENTRY GetBlock(long FAR *hist, int start, int end, int step, + int nDisplay) +{ +#ifdef WINDOWS31 + int i,j=0; + if (nDisplay < 0 || nDisplay >= MAXDSP) return; + if (end > DLLSetting[nDisplay].range) end = DLLSetting[nDisplay].range; + for (i=start; i= MAXDSP) return; + if (!bSetting[nDisplay]) return; + if (end > DLLSetting[nDisplay].range) end = (int)DLLSetting[nDisplay].range; + sprintf(sz,"MCS6A_S0_%d",nDisplay); + if (!(hs0 = OpenFileMapping(FILE_MAP_READ, FALSE, sz))) + return; + if (!(s0 = (unsigned long *)MapViewOfFile(hs0, + FILE_MAP_READ, 0, 0, 0))) { + CloseHandle(hs0); + return; + } + for (i=start; i= MAXDSP) return 4; + if (!bSetting[nDisplay]) return 4; + sprintf(sz,"MCS6A_S0_%d",nDisplay); + if (!(hs0 = OpenFileMapping(FILE_MAP_READ, FALSE, sz))) + return 4; + if (!(s0 = (unsigned long *)MapViewOfFile(hs0, + FILE_MAP_READ, 0, 0, 0))) { + CloseHandle(hs0); + return 4; + } + for (i=0; i= MAXDSP) return -1; + if (!bSetting[nDisplay]) return -1; + *xmax = DLLSetting[nDisplay].xdim; + *ymax = DLLSetting[nDisplay].range; + if (*xmax) *ymax /= *xmax; + else {*xmax = *ymax; *ymax = 1;} + return DLLSetting[nDisplay].range; +} + +int APIENTRY GetDatPtr(int nDisplay, long *xmax, long *ymax, LPSTR *pt) +{ + char sz[40]; +//DebugBreak(); + if (nDisplay < 0 || nDisplay >= MAXDSP) return -1; + if (!bSetting[nDisplay]) return -1; + *xmax = DLLSetting[nDisplay].xdim; + *ymax = DLLSetting[nDisplay].range; + if (*xmax) *ymax /= *xmax; + else {*xmax = *ymax; *ymax = 1;} + sprintf(sz,"MCS6A_S0_%d",nDisplay); + ReleaseDatPtr(); + if (!(hEXMDisplay = OpenFileMapping(FILE_MAP_READ, FALSE, sz))) + return 0; + if (!(EXMDisplay = MapViewOfFile(hEXMDisplay, + FILE_MAP_READ, 0, 0, 0))) { + CloseHandle(hEXMDisplay); + return 0; + } + *pt = (LPSTR) EXMDisplay; + return (int)hEXMDisplay; +} + +int APIENTRY ReleaseDatPtr() +{ + if(EXMDisplay) + UnmapViewOfFile(EXMDisplay); + EXMDisplay = NULL; + if(hEXMDisplay) + CloseHandle(hEXMDisplay); + hEXMDisplay = 0; + return 0; +} + +int APIENTRY LVGetProiDat(int roiid, int x0, int y0, int xdim, int ydim, double *roisum, int *datp) +{ + int idisp, x,y, x1, y1, xmax, ymax, pos, ret; + unsigned int *pt; + idisp = (roiid / 100) - 1; + ret = GetDatPtr(idisp, &xmax, &ymax, (LPSTR *)&pt); + if (ret <= 0) return -1; + *roisum = 0.; + x1 = x0 + xdim; + y1 = y0 + ydim; + for (x = x0; x < x1; x++) { + for (y = y0; y < y1; y++) { + pos = y * xmax + x; + *datp *= *(pt + pos); + *roisum += *datp; + datp++; + } + } + ReleaseDatPtr(); + return 0; +} + +int APIENTRY LVGetRoi(unsigned long FAR *roip, int nDisplay) +{ +#ifdef WINDOWS31 + int i,n; + n = 2 * DLLSetting[nDisplay].nregions; + if (bSetting[nDisplay]) { + for (i=0; i= MAXDSP) return 4; + if (!bSetting[nDisplay]) return 4; + sprintf(sz,"MCS6A_RG_%d",nDisplay); + if (!(hrg = OpenFileMapping(FILE_MAP_READ, FALSE, sz))) + return 4; + if (!(region = (unsigned long *)MapViewOfFile(hrg, + FILE_MAP_READ, 0, 0, 0))) { + CloseHandle(hrg); + return 4; + } + n = 2 * DLLSetting[nDisplay].nregions; + for (i=0; i 0 && (roinum <= 128)) { + *x1 = DLLData[nDisplay].region[2*(roinum-1)]; + *x2 = DLLData[nDisplay].region[2*(roinum-1)+1]; + return 0; + } + else return 4; +#else + char sz[40]; + HANDLE hrg; + unsigned long *region; + if (nDisplay < 0 || nDisplay >= MAXDSP) return 4; + if (!bSetting[nDisplay] || (roinum < 1) || (roinum > 128)) return 4; + sprintf(sz,"MCS6A_RG_%d",nDisplay); + if (!(hrg = OpenFileMapping(FILE_MAP_READ, FALSE, sz))) + return 4; + if (!(region = (unsigned long *)MapViewOfFile(hrg, + FILE_MAP_READ, 0, 0, 0))) { + CloseHandle(hrg); + return 4; + } + *x1 = region[2*(roinum-1)]; + *x2 = region[2*(roinum-1)+1]; + UnmapViewOfFile(region); + CloseHandle(hrg); + return 0; +#endif +} + +int APIENTRY LVGetRoiRect(int nDisplay, int roinum, int *x0, int *y0, int *xdim, int *ydim, int *xmax) +{ + int ret, xrange, xch1, xch2, ymax, offset, x1, y1; + unsigned long *pt; + if (!GetDatPtr(nDisplay, &xrange, &ymax, (LPSTR *)&pt)) { + return -6; + } // Display not found + + xrange = DLLSetting[nDisplay].xdim; + ymax = DLLSetting[nDisplay].range; + if (xrange) ymax /= xrange; + else {xrange = ymax; ymax = 1;} + + *xmax = xrange; + ret = LVGetOneRoi(nDisplay, roinum, &xch1, &xch2); + if (ret || !xrange) { + ReleaseDatPtr(); + return -1; + } + *y0 = xch1 / xrange; + offset = (*y0) * xrange; + *x0 = xch1 - offset; + y1 = xch2 / xrange; + offset = y1 * xrange; + x1 = xch2 - offset; + *xdim = x1 - *x0; + *ydim = y1 - *y0 + 1; + return 0; +} + +int APIENTRY LVGetRroiDat(int nDisplay, int roinum, int x0, int y0, int xdim, int ydim, int xmax, + double *RoiSum, long *datp, double *area) +{ + int x, x1, y, y1, pos, ymax; + unsigned long *pt; + unsigned long val; + if (!GetDatPtr(nDisplay, &xmax, &ymax, (LPSTR *)&pt)) { + return -6; + } // Display not found + + x1 = x0 + xdim; + y1 = y0 + ydim -1; + *RoiSum = 0.; + *area = 0.; + for (x = x0; x < x1; x++) { + for (y = y0; y <= y1; y++) { + pos = y * xmax + x; + val = *(pt + pos); + *RoiSum += val; + *datp = val; + datp++; + *area += 1.; + } + } + ReleaseDatPtr(); + return 0; +} + +int APIENTRY LVGetCnt(double FAR *cntp, int nDisplay) +{ +#ifdef WINDOWS31 + int i; + if (bSetting[nDisplay]) { + for (i=0; i= MAXDSP) return 4; + if (!bSetting[nDisplay]) return 4; + sprintf(sz,"MCS6A_CT_%d",nDisplay); + if (!(hct = OpenFileMapping(FILE_MAP_READ, FALSE, sz))) + return 4; + if (!(cnt = (double *)MapViewOfFile(hct, + FILE_MAP_READ, 0, 0, 0))) { + CloseHandle(hct); + return 4; + } + for (i=0; i= MAXDSP) return 4; + if (!bSetting[nDisplay]) return 4; + sprintf(sz,"MCS6A_CT_%d",nDisplay); + if (!(hct = OpenFileMapping(FILE_MAP_READ, FALSE, sz))) + return 4; + if (!(cnt = (double *)MapViewOfFile(hct, + FILE_MAP_READ, 0, 0, 0))) { + CloseHandle(hct); + return 4; + } + *cntp = cnt[cntnum]; + UnmapViewOfFile(cnt); + CloseHandle(hct); + return 0; +#endif +} + +int APIENTRY LVGetStr(char FAR *strp, int nDisplay) +{ +#ifdef WINDOWS31 + int i; + if (bSetting[nDisplay]) { + for (i=0; i<1024; i++) + strp[i] = DLLData[nDisplay].comment0[i]; + return 0; + } + else return 4; +#else + int i; + char sz[40]; + HANDLE hcm; + char *comment0; + if (nDisplay < 0 || nDisplay >= MAXDSP) return 4; + if (!bSetting[nDisplay]) return 4; + sprintf(sz,"MCS6A_CM_%d",nDisplay); + if (!(hcm = OpenFileMapping(FILE_MAP_READ, FALSE, sz))) + return 4; + if (!(comment0 = (char *)MapViewOfFile(hcm, + FILE_MAP_READ, 0, 0, 0))) { + CloseHandle(hcm); + return 4; + } + for (i=0; i<1024; i++) + strp[i] = comment0[i]; + UnmapViewOfFile(comment0); + CloseHandle(hcm); + return 0; +#endif +} + +VOID APIENTRY StoreStatusData(ACQSTATUS FAR *Status, int nDisplay) +{ + if (nDisplay < 0 || nDisplay >= MAXDSP) return; + if(Status == NULL) + bStatus[nDisplay] = FALSE; + else{ + _fmemcpy((LPSTR FAR *)&DLLStatus[nDisplay], + (LPSTR FAR *)Status,sizeof(ACQSTATUS)); + bStatus[nDisplay] = TRUE; + } +} + +int APIENTRY GetStatusData(ACQSTATUS FAR *Status, int nDisplay) +{ + if (nDisplay < 0 || nDisplay >= MAXDSP) return 0; + if (bStatus[nDisplay]) { + _fmemcpy((LPSTR FAR *)Status, + (LPSTR FAR *)&DLLStatus[nDisplay],sizeof(ACQSTATUS)); + } + return bStatus[nDisplay]; +} + +VOID APIENTRY Start(int nSystem) +{ + if (nSystem < 0 || nSystem > 3) return; + if (!hwndServer) hwndServer = FIND_WINDOW("MCS6A Server", NULL); + switch (nSystem) { + case 0: + PostMessage(hwndServer, WM_COMMAND, ID_START, 0L); + break; + case 1: + PostMessage(hwndServer, WM_COMMAND, ID_START2, 0L); + break; + case 2: + PostMessage(hwndServer, WM_COMMAND, ID_START3, 0L); + break; + case 3: + PostMessage(hwndServer, WM_COMMAND, ID_START4, 0L); + break; + } +} + +VOID APIENTRY Halt(int nSystem) +{ + if (nSystem < 0 || nSystem > 3) return; + if (!hwndServer) hwndServer = FIND_WINDOW("MCS6A Server", NULL); + switch (nSystem) { + case 0: + PostMessage(hwndServer, WM_COMMAND, ID_BREAK, 0L); + break; + case 1: + PostMessage(hwndServer, WM_COMMAND, ID_BREAK2, 0L); + break; + case 2: + PostMessage(hwndServer, WM_COMMAND, ID_BREAK3, 0L); + break; + case 3: + PostMessage(hwndServer, WM_COMMAND, ID_BREAK4, 0L); + break; + } +} + +VOID APIENTRY Continue(int nSystem) +{ + if (nSystem < 0 || nSystem > 3) return; + if (!hwndServer) hwndServer = FIND_WINDOW("MCS6A Server", NULL); + switch (nSystem) { + case 0: + PostMessage(hwndServer, WM_COMMAND, ID_CONTINUE, 0L); + break; + case 1: + PostMessage(hwndServer, WM_COMMAND, ID_CONTINUE2, 0L); + break; + case 2: + PostMessage(hwndServer, WM_COMMAND, ID_CONTINUE3, 0L); + break; + case 3: + PostMessage(hwndServer, WM_COMMAND, ID_CONTINUE4, 0L); + break; + } +} + +VOID APIENTRY SaveSetting() +{ + if (!hwndServer) hwndServer = FIND_WINDOW("MCS6A Server", NULL); + PostMessage(hwndServer, WM_COMMAND, ID_SAVE, 0L); +} + +VOID APIENTRY NewSetting(int nDev) +{ + if (!hwndServer) hwndServer = FIND_WINDOW("MCS6A Server", NULL); + //if (nDev>=0 && nDev 3) return; + if (!hwndServer) hwndServer = FIND_WINDOW("MCS6A Server", NULL); + switch (nSystem) { + case 0: + PostMessage(hwndServer, WM_COMMAND, ID_ERASE, 0x10000L); + break; + case 1: + PostMessage(hwndServer, WM_COMMAND, ID_ERASE2, 0L); + break; + case 2: + PostMessage(hwndServer, WM_COMMAND, ID_ERASE3, 0L); + break; + case 3: + PostMessage(hwndServer, WM_COMMAND, ID_ERASE4, 0L); + break; + } +} + +VOID APIENTRY SaveData(int nDisplay, int all) +{ + if (nDisplay < 0 || nDisplay >= MAXDSP) return; + if (!hwndServer) hwndServer = FIND_WINDOW("MCS6A Server",NULL); + PostMessage(hwndServer, WM_COMMAND, ID_SAVEFILE, + MAKELPARAM((WORD)nDisplay, (WORD)all)); +} + +VOID APIENTRY LoadData(int nDisplay, int all) +{ + if (nDisplay < 0 || nDisplay >= MAXDSP) return; + if (!hwndServer) hwndServer = FIND_WINDOW("MCS6A Server",NULL); +// bStatus[nDisplay] = FALSE; + PostMessage(hwndServer, WM_COMMAND, ID_LOADFILE, + MAKELPARAM((WORD)nDisplay, (WORD)all)); +} + +VOID APIENTRY AddData(int nDisplay, int all) +{ + if (nDisplay < 0 || nDisplay >= MAXDSP) return; + if (!hwndServer) hwndServer = FIND_WINDOW("MPA$ Server",NULL); +// bStatus[nDisplay] = FALSE; + PostMessage(hwndServer, WM_COMMAND, ID_SUMFILE, + MAKELPARAM((WORD)nDisplay, (WORD)all)); +} + +VOID APIENTRY SubData(int nDisplay, int all) +{ + if (nDisplay < 0 || nDisplay >= MAXDSP) return; + if (!hwndServer) hwndServer = FIND_WINDOW("MCS6A Server",NULL); +// bStatus[nDisplay] = FALSE; + PostMessage(hwndServer, WM_COMMAND, ID_SUBTRACT, + MAKELPARAM((WORD)nDisplay, (WORD)all)); +} + +VOID APIENTRY Smooth(int nDisplay) +{ + if (nDisplay < 0 || nDisplay >= MAXDSP) return; + if (!hwndServer) hwndServer = FIND_WINDOW("MCS6A Server",NULL); + bStatus[nDisplay] = FALSE; + PostMessage(hwndServer, WM_COMMAND, ID_SMOOTH, + MAKELPARAM((WORD)nDisplay, (WORD)0)); +} + +VOID APIENTRY HardwareDlg(int item) +{ + if (!hwndServer) hwndServer = FIND_WINDOW("MCS6A Server", NULL); + switch (item) { + case 0: + PostMessage(hwndServer, WM_COMMAND, ID_HARDWDLG, 0L); + break; + case 1: + PostMessage(hwndServer, WM_COMMAND, ID_DATADLG, 0L); + break; + case 2: + PostMessage(hwndServer, WM_COMMAND, ID_COMBDLG, 0L); + break; + case 3: + PostMessage(hwndServer, WM_COMMAND, ID_MAPLSTDLG, 0L); + break; + case 4: + PostMessage(hwndServer, WM_COMMAND, ID_REPLDLG, 0L); + break; + } +} + +VOID APIENTRY RunCmd(int nDisplay, LPSTR Cmd) +{ +#ifdef WINDOWS31 + if (!hwndServer) hwndServer = FIND_WINDOW("MCS6A Server",NULL); + if (!MM_NEARCONTROL) MM_NEARCONTROL = RegisterWindowMessage((LPSTR)"MPANEARCONTROL"); + if (Cmd != NULL) { + _fstrcpy(&DLLData[0].comment0[800], Cmd); + } +#else + char sz[40]; + HANDLE hcm; + char *comment0; + if (nDisplay < 0 || nDisplay >= MAXDSP) return; + if (!bSetting[nDisplay]) return; + if (!hwndServer) hwndServer = FIND_WINDOW("MCS6A Server",NULL); + if (!MM_NEARCONTROL) MM_NEARCONTROL = RegisterWindowMessage((LPSTR)"MPANEARCONTROL"); + sprintf(sz,"MCS6A_CM_%d",nDisplay); + if (!(hcm = OpenFileMapping(FILE_MAP_WRITE, FALSE, sz))) + return; + if (!(comment0 = (char *)MapViewOfFile(hcm, + FILE_MAP_WRITE, 0, 0, 0))) { + CloseHandle(hcm); + return; + } + strcpy(&comment0[800], Cmd); +#endif + SendMessage(hwndServer, MM_NEARCONTROL, (WPARAM)ID_RUNCMD, (LONG)(LPSTR)Cmd); +#ifndef WINDOWS31 + strcpy(Cmd, &comment0[1024]); + UnmapViewOfFile(comment0); + CloseHandle(hcm); +#endif +} + +long APIENTRY GetSVal(int DspID, long xval) +{ + long val=0; + if (xval == -2) { + hwndMPANT = FIND_WINDOW("mpwframe-MCS6A",NULL); + return (long)hwndMPANT; + // should be called first to be sure that MPANT is started + } + if (!hwndMPANT) hwndMPANT = FIND_WINDOW("mpwframe-MCS6A",NULL); + if (!MM_GETVAL) MM_GETVAL = RegisterWindowMessage((LPSTR)"MCS6AGetval"); + val = SendMessage(hwndMPANT, MM_GETVAL, (WPARAM)DspID, (LPARAM)xval); + // for xval == -1 returns Display size + return val; +} + +int APIENTRY BytearrayToShortarray(short *Shortarray, char *Bytearray, int length) +{ + int i; + char c; + for (i=0; i +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 + +CFG=dmcs6 - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "dmcs6.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "dmcs6.mak" CFG="dmcs6 - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "dmcs6 - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE "dmcs6 - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "dmcs6 - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "DMCS6_EXPORTS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "DMCS6_EXPORTS" /YX /FD /c +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x407 /d "NDEBUG" +# ADD RSC /l 0x407 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 + +!ELSEIF "$(CFG)" == "dmcs6 - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "DMCS6_EXPORTS" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "DMCS6_EXPORTS" /YX /FD /GZ /c +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x407 /d "_DEBUG" +# ADD RSC /l 0x407 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept + +!ENDIF + +# Begin Target + +# Name "dmcs6 - Win32 Release" +# Name "dmcs6 - Win32 Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=.\dmcs6.c +# End Source File +# Begin Source File + +SOURCE=.\dmcs6.def +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE=.\dmcs6.h +# End Source File +# Begin Source File + +SOURCE=.\STRUCT.H +# End Source File +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/dll/dmcs6.dsw b/FAST ComTec/Files from FAST ComTec/mcs6adll/dll/dmcs6.dsw new file mode 100644 index 0000000..5d160cd --- /dev/null +++ b/FAST ComTec/Files from FAST ComTec/mcs6adll/dll/dmcs6.dsw @@ -0,0 +1,29 @@ +Microsoft Developer Studio Workspace File, Format Version 6.00 +# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! + +############################################################################### + +Project: "dmcs6"=.\dmcs6.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Global: + +Package=<5> +{{{ +}}} + +Package=<3> +{{{ +}}} + +############################################################################### + diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/dll/dmcs6.h b/FAST ComTec/Files from FAST ComTec/mcs6adll/dll/dmcs6.h new file mode 100644 index 0000000..5376316 --- /dev/null +++ b/FAST ComTec/Files from FAST ComTec/mcs6adll/dll/dmcs6.h @@ -0,0 +1,264 @@ +#ifdef __cplusplus +extern "C" +{ +#endif + +#include "struct.h" +#define MAXCNT 448 +#define MAXDSP 64 +#define MAXDEV 3 + + +#define ID_SAVE 103 +#define ID_CONTINUE 106 +#define ID_START 109 +#define ID_BREAK 137 +#define ID_NEWSETTING 139 +#define ID_GETSTATUS 141 +#define ID_SAVEFILE 151 +#define ID_ERASE 154 +#define ID_LOADFILE 155 +#define ID_NEWDATA 160 +#define ID_HARDWDLG 161 +#define ID_SAVEFILE2 194 +#define ID_LOADFILE2 203 +#define ID_SAVEFILE3 217 +#define ID_LOADFILE3 219 +#define ID_SAVEFILE4 223 +#define ID_LOADFILE4 225 +#define ID_LOADFILE5 226 +#define ID_LOADFILE6 227 +#define ID_LOADFILE7 228 +#define ID_LOADFILE8 229 +#define ID_SAVEFILE5 230 +#define ID_SAVEFILE6 231 +#define ID_SAVEFILE7 232 +#define ID_SAVEFILE8 233 +#define ID_SUMFILE 234 +#define ID_SUMFILE2 235 +#define ID_SUMFILE3 236 +#define ID_SUMFILE4 237 +#define ID_SUMFILE5 238 +#define ID_SUMFILE6 239 +#define ID_SUMFILE7 240 +#define ID_SUMFILE8 241 +#define ID_LEDBLINK0 280 +#define ID_LEDBLINK1 281 +#define ID_LEDBLINK2 282 +#define ID_SUBTRACT 289 +#define ID_SMOOTH 290 +#define ID_SUBTRACT2 296 +#define ID_SMOOTH2 297 +#define ID_SUBTRACT3 298 +#define ID_SMOOTH3 299 +#define ID_SUBTRACT4 300 +#define ID_SMOOTH4 301 +#define ID_SUBTRACT5 302 +#define ID_SMOOTH5 303 +#define ID_SUBTRACT6 304 +#define ID_SMOOTH6 305 +#define ID_SUBTRACT7 306 +#define ID_SMOOTH7 307 +#define ID_SUBTRACT8 308 +#define ID_SMOOTH8 309 +#define ID_SAVEFILE9 310 +#define ID_SAVEFILE10 311 +#define ID_SAVEFILE11 312 +#define ID_SAVEFILE12 313 +#define ID_SAVEFILE13 314 +#define ID_SAVEFILE14 315 +#define ID_SAVEFILE15 316 +#define ID_SAVEFILE16 317 +#define ID_LOADFILE9 318 +#define ID_LOADFILE10 319 +#define ID_LOADFILE11 320 +#define ID_LOADFILE12 321 +#define ID_LOADFILE13 322 +#define ID_LOADFILE14 323 +#define ID_LOADFILE15 324 +#define ID_LOADFILE16 325 +#define ID_SUMFILE9 326 +#define ID_SUMFILE10 327 +#define ID_SUMFILE11 328 +#define ID_SUMFILE12 329 +#define ID_SUMFILE13 330 +#define ID_SUMFILE14 331 +#define ID_SUMFILE15 332 +#define ID_SUMFILE16 333 +#define ID_SUBTRACT9 334 +#define ID_SUBTRACT10 335 +#define ID_SUBTRACT11 336 +#define ID_SUBTRACT12 337 +#define ID_SUBTRACT13 338 +#define ID_SUBTRACT14 339 +#define ID_SUBTRACT15 340 +#define ID_SUBTRACT16 341 +#define ID_COMBDLG 401 +#define ID_DATADLG 402 +#define ID_MAPLSTDLG 403 +#define ID_REPLDLG 404 +#define ID_ERASE3 1109 +#define ID_ERASE4 1110 +#define ID_ERASEFILE2 1111 +#define ID_ERASEFILE3 1112 +#define ID_ERASEFILE4 1113 +#define ID_START2 1114 +#define ID_BREAK2 1115 +#define ID_CONTINUE2 1116 +#define ID_START3 1117 +#define ID_BREAK3 1118 +#define ID_CONTINUE3 1119 +#define ID_START4 1120 +#define ID_BREAK4 1121 +#define ID_CONTINUE4 1122 +#define ID_RUNCMD 1123 +#define ID_RUNCMD2 1124 +#define ID_RUNCMD3 1125 +#define ID_RUNCMD4 1126 +#define ID_RUNCMD5 1127 +#define ID_RUNCMD6 1128 +#define ID_RUNCMD7 1129 +#define ID_RUNCMD8 1130 +#define ID_ERASEFILE5 1131 +#define ID_ERASEFILE6 1132 +#define ID_ERASEFILE7 1133 +#define ID_ERASEFILE8 1134 +#define ID_DIGINOUT 1137 +#define ID_ERASE2 1164 + +/*** FUNCTION PROTOTYPES (do not change) ***/ + +#ifdef DLL +BOOL APIENTRY DllMain(HANDLE hInst, DWORD ul_reason_being_called, LPVOID lpReserved); + +VOID APIENTRY StoreSettingData(ACQSETTING FAR *Setting, int nDisplay); + // Stores Settings into the DLL +int APIENTRY GetSettingData(ACQSETTING FAR *Setting, int nDisplay); + // Get Settings stored in the DLL +VOID APIENTRY StoreExtSettingData(EXTACQSETTING FAR *Setting, int nDisplay); + // Stores extended Settings into the DLL +int APIENTRY GetExtSettingData(EXTACQSETTING FAR *Setting, int nDisplay); + // Get extended Settings stored in the DLL +VOID APIENTRY StoreStatusData(ACQSTATUS FAR *Status, int nDisplay); + // Store the Status into the DLL +int APIENTRY GetStatusData(ACQSTATUS FAR *Status, int nDisplay); + // Get the Status +VOID APIENTRY Start(int nSystem); // Start +VOID APIENTRY Halt(int nSystem); // Halt +VOID APIENTRY Continue(int nSystem); // Continue +VOID APIENTRY NewSetting(int nDevice); // Indicate new Settings to Server +UINT APIENTRY ServExec(HWND ClientWnd); // Execute the Server +VOID APIENTRY StoreData(ACQDATA FAR *Data, int nDisplay); + // Stores Data pointers into the DLL +int APIENTRY GetData(ACQDATA FAR *Data, int nDisplay); + // Get Data pointers +long APIENTRY GetSpec(long i, int nDisplay); + // Get a spectrum value +VOID APIENTRY SaveSetting(void); // Save Settings +int APIENTRY GetStatus(int nDevice); // Request actual Status from Server +VOID APIENTRY Erase(int nSystem); // Erase spectrum +VOID APIENTRY SaveData(int nDisplay, int all); // Saves data +VOID APIENTRY GetBlock(long FAR *hist, int start, int end, int step, + int nDisplay); // Get a block of spectrum data +VOID APIENTRY StoreDefData(ACQDEF FAR *Def); + // Store System Definition into DLL +int APIENTRY GetDefData(ACQDEF FAR *Def); + // Get System Definition +VOID APIENTRY StoreCDefData(COINCDEF FAR *Def); +int APIENTRY GetCDefData(COINCDEF FAR *Def); + +VOID APIENTRY LoadData(int nDisplay, int all); // Loads data +VOID APIENTRY AddData(int nDisplay, int all); // Adds data +VOID APIENTRY SubData(int nDisplay, int all); // Subtracts data +VOID APIENTRY Smooth(int nDisplay); // Smooth data +VOID APIENTRY NewData(void); // Indicate new ROI or string Data +VOID APIENTRY HardwareDlg(int item); // Calls the Settings dialog box +VOID APIENTRY UnregisterClient(void); // Clears remote mode from MCDWIN +VOID APIENTRY DestroyClient(void); // Close MCDWIN +UINT APIENTRY ClientExec(HWND ServerWnd); + // Execute the Client MCDWIN.EXE +int APIENTRY LVGetDat(unsigned long HUGE *datp, int nDisplay); + // Copies the spectrum to an array +VOID APIENTRY RunCmd(int nDisplay, LPSTR Cmd); + // Executes command +int APIENTRY LVGetRoi(unsigned long FAR *roip, int nDisplay); + // Copies the ROI boundaries to an array +int APIENTRY LVGetOneRoi(int nDisplay, int roinum, long *x1, long *x2); + // Get one ROI boundary +int APIENTRY LVGetCnt(double far *cntp, int nDisplay); + // Copies Cnt numbers to an array +int APIENTRY LVGetStr(char far *strp, int nDisplay); + // Copies strings to an array +VOID APIENTRY StoreMCSSetting(BOARDSETTING *Defmc, int ndev); + // Store BOARDSETTING Definition into DLL +int APIENTRY GetMCSSetting(BOARDSETTING *Defmc, int ndev); + // Get BOARDSETTING Definition from DLL +VOID APIENTRY StoreDatSetting(DATSETTING *Defdat); + // Store Data Format Definition into DLL +int APIENTRY GetDatSetting(DATSETTING *Defdat); + // Get Data Format Definition from DLL +VOID APIENTRY StoreReplaySetting(REPLAYSETTING *Repldat); + // Store Replay Settings into DLL +int APIENTRY GetReplaySetting(REPLAYSETTING *Repldat); + // Get Replay Settings from DLL +int APIENTRY GetDatInfo(int nDisplay, long *xmax, long *ymax); + // returns spectra length; +int APIENTRY GetDatPtr(int nDisplay, long *xmax, long *ymax, LPSTR *pt); + // Get a temporary pointer to spectra data +int APIENTRY ReleaseDatPtr(void); + // Release temporary data pointer +long APIENTRY GetSVal(int DspID, long xval); + // Get special display data like projections or slices from MPANT +int APIENTRY BytearrayToShortarray(short *Shortarray, char *Bytearray, int length); + // auxiliary function for VB.NET to convert strings +int APIENTRY LedBlink(int nDev); + // Lets the front leds blink for a while +int APIENTRY DigInOut(int value, int enable); // controls Dig I/0 , + // returns digin +int APIENTRY LVGetSpecLength(int nDisplay); +int APIENTRY LVGetDatSetting(LVDATSETTING *Defdat, LPSTR filename, LPSTR specfile, LPSTR command); +int APIENTRY LVGetReplaySetting(LVREPLAYSETTING *Repldat, LPSTR filename); +int APIENTRY LVGetDefData(LVACQDEF *Def); +int APIENTRY LVGetRroiDat(int nDisplay, int roinum, int x0, int y0, int xdim, int ydim, int xmax, + double *RoiSum, long *datp, double *area); +int APIENTRY LVGetRoiRect(int nDisplay, int roinum, int *x0, int *y0, int *xdim, int *ydim, int *xmax); +int APIENTRY LVGetProiDat(int roiid, int x0, int y0, int xdim, int ydim, double *roisum, int *datp); +int APIENTRY LVGetCDefData(LVCOINCDEF *Def); +#else +typedef int (WINAPI *IMPAGETSETTING) (ACQSETTING FAR *Setting, int nDisplay); + // Get Spectra Settings stored in the DLL +typedef int (WINAPI *IMPAGETSTATUS) (ACQSTATUS FAR *Status, int nDisplay); + // Get the Status +typedef VOID (WINAPI *IMPARUNCMD) (int nDisplay, LPSTR Cmd); + // Executes command +typedef int (WINAPI *IMPAGETCNT) (double FAR *cntp, int nDisplay); + // Copies Cnt numbers to an array +typedef int (WINAPI *IMPAGETROI) (unsigned long FAR *roip, int nDisplay); + // Copies the ROI boundaries to an array +typedef int (WINAPI *IMPAGETDEF) (ACQDEF FAR *Def); + // Get System Definition +typedef int (WINAPI *IMPAGETDAT) (unsigned long HUGE *datp, int nDisplay); + // Copies the spectrum to an array +typedef int (WINAPI *IMPAGETSTR) (char FAR *strp, int nDisplay); + // Copies strings to an array +typedef UINT (WINAPI *IMPASERVEXEC) (HWND ClientWnd); // Register client at server MCS6.EXE + +typedef int (WINAPI *IMPANEWSTATUS) (int nDev); // Request actual Status from Server + +typedef int (WINAPI *IMPAGETMCSSET) (BOARDSETTING *Board, int nDevice); + // Get MCSSettings from DLL +typedef int (WINAPI *IMPAGETDATSET) (DATSETTING *Defdat); + // Get Data Format Definition from DLL +typedef int (WINAPI *IMPADIGINOUT) (int value, int enable); // controls Dig I/0 , + // returns digin +typedef int (WINAPI *IMPADACOUT) (int value); // output Dac value as analogue voltage +typedef VOID (WINAPI *IMPASTART) (int nSystem); // Start +typedef VOID (WINAPI *IMPAHALT) (int nSystem); // Halt +typedef VOID (WINAPI *IMPACONTINUE) (int nSystem); // Continue +typedef VOID (WINAPI *IMPAERASE) (int nSystem); // Erase spectrum +#endif + +#ifdef __cplusplus +} +#endif + diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/doc/dllmcs6a.pdf b/FAST ComTec/Files from FAST ComTec/mcs6adll/doc/dllmcs6a.pdf new file mode 100644 index 0000000..9404908 Binary files /dev/null and b/FAST ComTec/Files from FAST ComTec/mcs6adll/doc/dllmcs6a.pdf differ diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/fmpa3/fmpa3.c b/FAST ComTec/Files from FAST ComTec/mcs6adll/fmpa3/fmpa3.c new file mode 100644 index 0000000..41bff62 --- /dev/null +++ b/FAST ComTec/Files from FAST ComTec/mcs6adll/fmpa3/fmpa3.c @@ -0,0 +1,291 @@ +/*************************************************************************** + MODUL: FMPA3.C + PURPOSE: DLL to communicate with MPANT, Custom-transformed spectra +****************************************************************************/ + +#include "windows.h" +#include +#include +#include +#include "fmpa3.h" + +// increase NFORMULAS if you add a new formula +#define NFORMULAS 5 + +#pragma data_seg("fmpa3sh") +int initialized=0; +CUSTFORMPAR custformpar[8]={{0}}; +CUSTFORMTXT custformtxt[8]={{0}}; +#pragma data_seg() + + +// auxiliary routines to save and read parameters, don't change... +static int freadstr(FILE *stream, char *buff, int buflen) +{ + int i=0,ic; + + while ((ic=getc(stream)) != 10) { + if (ic == EOF) { + buff[i]='\0'; + return 1; + } + if (ic == 13) ic=0; + buff[i]=(char)ic; + i++; + if (i==buflen-1) break; + } + buff[i]='\0'; + return 0; +} + +static int config(char *item, int *nform) +{ + int ret=0; + + if (!strnicmp("[Formula #", item, 10)) { + sscanf(item+10, "%d", nform); + if (*nform > 0) (*nform)--; + return ret; + } + else if(!strnicmp("title=", item, 6)) { + strcpy(custformtxt[*nform].shorttxt, item+6); + return ret; + } + else if(!strnicmp("range=", item, 6)) { + sscanf(item+6, "%d", &custformpar[*nform].range); + return ret; + } + else if(!strnicmp("par1=", item, 5)) { + sscanf(item+5, "%d", &custformpar[*nform].par1); + return ret; + } + else if(!strnicmp("par2=", item, 5)) { + sscanf(item+5, "%d", &custformpar[*nform].par2); + return ret; + } + else if(!strnicmp("par3=", item, 5)) { + sscanf(item+5, "%d", &custformpar[*nform].par3); + return ret; + } + else if(!strnicmp("par4=", item, 5)) { + sscanf(item+5, "%d", &custformpar[*nform].par4); + return ret; + } + return 1; +} + +static void getparams() +{ + int nform=0; + FILE *f; + char item[256]; + f = fopen("custform.txt", "rb"); + if (!f) return; + while(!freadstr(f,item,256)) { + config(item, &nform); + } + fclose(f); +} + +static void saveparams() +{ + int k; + FILE *f; + f = fopen("custform.txt", "wt"); + for (k=0; k= 8) return 0; + memcpy(custf, &custformpar[n], sizeof(CUSTFORMPAR)); + //memcpy(custt, &custformtxt[n], sizeof(CUSTFORMTXT)); + custt->pformtxt = custformtxt[n].formtxt; // description + custt->pshorttxt = custformtxt[n].shorttxt; // short formula title + custt->ppar1txt = custformtxt[n].par1txt; // title par1 (tagbit) + custt->ppar2txt = custformtxt[n].par2txt; // title par2 (factor) + custt->ppar3txt = custformtxt[n].par3txt; // title par3 + custt->ppar4txt = custformtxt[n].par4txt; // title par4 + return custformpar[n].range; +} + +// DLL function to save edited parameters +int APIENTRY SaveCustomForm(int n, CUSTFORMPAR *custf) +{ + if (n >= 8) return 0; + memcpy(&custformpar[n], custf, sizeof(CUSTFORMPAR)); + saveparams(); + return custformpar[n].range; +} + +// DLL function to calculate a spectra, modify it if you add a new formula +int APIENTRY CalcForm(int n, CUSTFORMPAR *custf, unsigned long *dat, long x, long *result, long ndim) +{ + long xx; + switch(n) { + case 1: + if ((x < 0) || (x >= custf->range)) goto errout; + xx = x | (1L<<(custf->par1)); + if (xx >= ndim) goto errout; + *result = dat[x] + dat[xx]; + break; + case 2: + if ((x < 0) || (x >= custf->range)) goto errout; + xx = x | (1L<<(custf->par1)); + if (xx >= ndim) goto errout; + *result = dat[x] - dat[xx]; + break; + case 3: { + double v, v1; + if ((x < 0) || (x >= custf->range)) goto errout; + v = dat[x]; + xx = x | (1L<<(custf->par1)); + if (xx >= ndim) goto errout; + v1 = dat[xx]; + *result = (long)(custf->par2 * (v-v1)/(v+v1)); + break; + } + case 4: { + long offset = x * custf->par1; + long v=0; + if ((x < 0) || (x >= custf->range)) goto errout; + if (offset + custf->par1 > ndim) goto errout; + for (xx=0; xxpar1; xx++) { + if (dat[offset+xx] == 0) continue; + v = xx; + break; + } + *result = v; + break; + } + case 5: { + xx = custf->range - 1 - x; + if (xx < 0) goto errout; + if (xx >= custf->range) goto errout; + *result = dat[xx]; + break; + } + default: + goto errout; + } + return 1; +errout: + *result = 0; + return 0; +} + +// DLL function to calculate the error bars for the calculated spectra, +// modify it if you add a new formula +int APIENTRY CalcErr(int n, CUSTFORMPAR *custf, unsigned long *dat, long x, long val, double *result, long ndim) +{ + long xx; + switch(n) { + case 1: + case 4: + case 5: + if ((x < 0) || (x >= custf->range) || (val < 0)) goto errout; + *result = sqrt((double)val); + break; + case 2: { + double v, v1, v2; + if ((x < 0) || (x >= custf->range)) goto errout; + v = dat[x]; + xx = x | (1L<<(custf->par1)); + v1 = dat[xx]; + if (xx >= ndim) goto errout; + v2 = v+v1; + *result = sqrt((double)v2); + break; + } + case 3: { + double v, v1, v2; + if ((x < 0) || (x >= custf->range)) goto errout; + v = dat[x]; + xx = x | (1L<<(custf->par1)); + v1 = dat[xx]; + if (xx >= ndim) goto errout; + v2 = v+v1; + *result = custf->par2 * 2.* sqrt(v*v1*v2)/(v2*v2); + break; + } + default: + goto errout; + } + return 1; +errout: + *result = 0; + return 0; +} diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/fmpa3/fmpa3.def b/FAST ComTec/Files from FAST ComTec/mcs6adll/fmpa3/fmpa3.def new file mode 100644 index 0000000..7da029a --- /dev/null +++ b/FAST ComTec/Files from FAST ComTec/mcs6adll/fmpa3/fmpa3.def @@ -0,0 +1,19 @@ +;*fmpa3.def +;*Version: NT/95 1.0 +;*Date: Apr-10-2001 +;*Hardware: MPA3, SPA3 +;*Op System: Windows NT 3.51/4.0, Windows 95 +;*Compiler: MSVC++ 4.2 +;* + +LIBRARY FMPA3 + +SECTIONS + fmpa3sh READ WRITE SHARED + +EXPORTS +; Functions in fmpa3.c + GetCustomForm @2 + CalcForm @3 + CalcErr @4 + SaveCustomForm @5 diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/fmpa3/fmpa3.dll b/FAST ComTec/Files from FAST ComTec/mcs6adll/fmpa3/fmpa3.dll new file mode 100644 index 0000000..683932e Binary files /dev/null and b/FAST ComTec/Files from FAST ComTec/mcs6adll/fmpa3/fmpa3.dll differ diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/fmpa3/fmpa3.h b/FAST ComTec/Files from FAST ComTec/mcs6adll/fmpa3/fmpa3.h new file mode 100644 index 0000000..4dfe817 --- /dev/null +++ b/FAST ComTec/Files from FAST ComTec/mcs6adll/fmpa3/fmpa3.h @@ -0,0 +1,32 @@ +typedef struct { + long range; // length + long par1; // tagbit + long par2; // factor + long par3; // reserved + long par4; // reserved +} CUSTFORMPAR; + +typedef struct { + char formtxt[256]; // description + char shorttxt[64]; // short formula title + char par1txt[64]; // title par1 (tagbit) + char par2txt[64]; // title par2 (factor) + char par3txt[64]; // title par3 + char par4txt[64]; // title par4 +} CUSTFORMTXT; + +typedef struct { + char *pformtxt; // description + char *pshorttxt; // short formula title + char *ppar1txt; // title par1 (tagbit) + char *ppar2txt; // title par2 (factor) + char *ppar3txt; // title par3 + char *ppar4txt; // title par4 +} CUSTFORMPTXT; + +int APIENTRY GetCustomForm(int n, CUSTFORMPAR *custf, CUSTFORMPTXT *custt); +int APIENTRY SaveCustomForm(int n, CUSTFORMPAR *custf); +int APIENTRY CalcForm(int n, CUSTFORMPAR *custf, unsigned long *dat, long x, + long *result, long ndim); +int APIENTRY CalcErr(int n, CUSTFORMPAR *custf, unsigned long *dat, long x, long val, + double *result, long ndim); diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/fmpa3/fmpa3.mak b/FAST ComTec/Files from FAST ComTec/mcs6adll/fmpa3/fmpa3.mak new file mode 100644 index 0000000..2040e0c --- /dev/null +++ b/FAST ComTec/Files from FAST ComTec/mcs6adll/fmpa3/fmpa3.mak @@ -0,0 +1,222 @@ +# Microsoft Developer Studio Generated NMAKE File, Format Version 4.20 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 + +!IF "$(CFG)" == "" +CFG=fmpa3 - Win32 Debug +!MESSAGE No configuration specified. Defaulting to fmpa3 - Win32 Debug. +!ENDIF + +!IF "$(CFG)" != "fmpa3 - Win32 Release" && "$(CFG)" != "fmpa3 - Win32 Debug" +!MESSAGE Invalid configuration "$(CFG)" specified. +!MESSAGE You can specify a configuration when running NMAKE on this makefile +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "fmpa3.mak" CFG="fmpa3 - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "fmpa3 - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE "fmpa3 - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE +!ERROR An invalid configuration is specified. +!ENDIF + +!IF "$(OS)" == "Windows_NT" +NULL= +!ELSE +NULL=nul +!ENDIF +################################################################################ +# Begin Project +# PROP Target_Last_Scanned "fmpa3 - Win32 Debug" +CPP=cl.exe +RSC=rc.exe +MTL=mktyplib.exe + +!IF "$(CFG)" == "fmpa3 - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Target_Dir "" +OUTDIR=.\Release +INTDIR=.\Release + +ALL : "$(OUTDIR)\fmpa3.dll" + +CLEAN : + -@erase "$(INTDIR)\fmpa3.obj" + -@erase "$(OUTDIR)\fmpa3.dll" + -@erase "$(OUTDIR)\fmpa3.exp" + -@erase "$(OUTDIR)\fmpa3.lib" + +"$(OUTDIR)" : + if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" + +# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c +# ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c +CPP_PROJ=/nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS"\ + /Fp"$(INTDIR)/fmpa3.pch" /YX /Fo"$(INTDIR)/" /c +CPP_OBJS=.\Release/ +CPP_SBRS=.\. +# ADD BASE MTL /nologo /D "NDEBUG" /win32 +# ADD MTL /nologo /D "NDEBUG" /win32 +MTL_PROJ=/nologo /D "NDEBUG" /win32 +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +BSC32_FLAGS=/nologo /o"$(OUTDIR)/fmpa3.bsc" +BSC32_SBRS= \ + +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 +LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\ + advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\ + odbccp32.lib /nologo /subsystem:windows /dll /incremental:no\ + /pdb:"$(OUTDIR)/fmpa3.pdb" /machine:I386 /def:".\fmpa3.def"\ + /out:"$(OUTDIR)/fmpa3.dll" /implib:"$(OUTDIR)/fmpa3.lib" +DEF_FILE= \ + ".\fmpa3.def" +LINK32_OBJS= \ + "$(INTDIR)\fmpa3.obj" + +"$(OUTDIR)\fmpa3.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) + $(LINK32) @<< + $(LINK32_FLAGS) $(LINK32_OBJS) +<< + +!ELSEIF "$(CFG)" == "fmpa3 - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Target_Dir "" +OUTDIR=.\Debug +INTDIR=.\Debug + +ALL : "$(OUTDIR)\fmpa3.dll" + +CLEAN : + -@erase "$(INTDIR)\fmpa3.obj" + -@erase "$(INTDIR)\vc40.idb" + -@erase "$(INTDIR)\vc40.pdb" + -@erase "$(OUTDIR)\fmpa3.dll" + -@erase "$(OUTDIR)\fmpa3.exp" + -@erase "$(OUTDIR)\fmpa3.ilk" + -@erase "$(OUTDIR)\fmpa3.lib" + -@erase "$(OUTDIR)\fmpa3.pdb" + +"$(OUTDIR)" : + if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" + +# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c +# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c +CPP_PROJ=/nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS"\ + /Fp"$(INTDIR)/fmpa3.pch" /YX /Fo"$(INTDIR)/" /Fd"$(INTDIR)/" /c +CPP_OBJS=.\Debug/ +CPP_SBRS=.\. +# ADD BASE MTL /nologo /D "_DEBUG" /win32 +# ADD MTL /nologo /D "_DEBUG" /win32 +MTL_PROJ=/nologo /D "_DEBUG" /win32 +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +BSC32_FLAGS=/nologo /o"$(OUTDIR)/fmpa3.bsc" +BSC32_SBRS= \ + +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 +LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\ + advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\ + odbccp32.lib /nologo /subsystem:windows /dll /incremental:yes\ + /pdb:"$(OUTDIR)/fmpa3.pdb" /debug /machine:I386 /def:".\fmpa3.def"\ + /out:"$(OUTDIR)/fmpa3.dll" /implib:"$(OUTDIR)/fmpa3.lib" +DEF_FILE= \ + ".\fmpa3.def" +LINK32_OBJS= \ + "$(INTDIR)\fmpa3.obj" + +"$(OUTDIR)\fmpa3.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) + $(LINK32) @<< + $(LINK32_FLAGS) $(LINK32_OBJS) +<< + +!ENDIF + +.c{$(CPP_OBJS)}.obj: + $(CPP) $(CPP_PROJ) $< + +.cpp{$(CPP_OBJS)}.obj: + $(CPP) $(CPP_PROJ) $< + +.cxx{$(CPP_OBJS)}.obj: + $(CPP) $(CPP_PROJ) $< + +.c{$(CPP_SBRS)}.sbr: + $(CPP) $(CPP_PROJ) $< + +.cpp{$(CPP_SBRS)}.sbr: + $(CPP) $(CPP_PROJ) $< + +.cxx{$(CPP_SBRS)}.sbr: + $(CPP) $(CPP_PROJ) $< + +################################################################################ +# Begin Target + +# Name "fmpa3 - Win32 Release" +# Name "fmpa3 - Win32 Debug" + +!IF "$(CFG)" == "fmpa3 - Win32 Release" + +!ELSEIF "$(CFG)" == "fmpa3 - Win32 Debug" + +!ENDIF + +################################################################################ +# Begin Source File + +SOURCE=.\fmpa3.c +DEP_CPP_FMPA3=\ + ".\fmpa3.h"\ + + +"$(INTDIR)\fmpa3.obj" : $(SOURCE) $(DEP_CPP_FMPA3) "$(INTDIR)" + + +# End Source File +################################################################################ +# Begin Source File + +SOURCE=.\fmpa3.def + +!IF "$(CFG)" == "fmpa3 - Win32 Release" + +!ELSEIF "$(CFG)" == "fmpa3 - Win32 Debug" + +!ENDIF + +# End Source File +# End Target +# End Project +################################################################################ diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/fmpa3/readme.txt b/FAST ComTec/Files from FAST ComTec/mcs6adll/fmpa3/readme.txt new file mode 100644 index 0000000..7b9ba6d --- /dev/null +++ b/FAST ComTec/Files from FAST ComTec/mcs6adll/fmpa3/readme.txt @@ -0,0 +1,18 @@ +FMPA3.DLL - DLL to communicate with MPANT for customer-calculated spectra +========================================================================= + +Installation: Copy the FMPA3.DLL into the working directory (usually C:\MPA3). + +Use: This DLL allows to calculate spectra and to display it with the MPANT program. + Select a single spectra and open the Display options dialog. Press then the + button labeled "Custom formula...". A dialog box "Custom-transformed spectra" + is opened. Here the formula for the calculation can be selected and the + parameters can be edited. A new display window showing the calculated spectra + can be created. Error Bars can be activated in the display options dialog, for + the calculation of the error bars also the DLL is used. + +Example: The supplied DLL is for acquisitions marked by a tag bit in a high bit + of the ADC interface. It allows to calculate the Sum=x+x', Difference=x-x' + and relative difference Delta=F*(x-x')/(x+x') of spectra marked by the tag bit. + + diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/lv2011/mcs6alv.llb b/FAST ComTec/Files from FAST ComTec/mcs6adll/lv2011/mcs6alv.llb new file mode 100644 index 0000000..37c07b1 Binary files /dev/null and b/FAST ComTec/Files from FAST ComTec/mcs6adll/lv2011/mcs6alv.llb differ diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/lv2011/mcs6atest.vi b/FAST ComTec/Files from FAST ComTec/mcs6adll/lv2011/mcs6atest.vi new file mode 100644 index 0000000..078c8c3 Binary files /dev/null and b/FAST ComTec/Files from FAST ComTec/mcs6adll/lv2011/mcs6atest.vi differ diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/lv2011/myacq.vi b/FAST ComTec/Files from FAST ComTec/mcs6adll/lv2011/myacq.vi new file mode 100644 index 0000000..50058d1 Binary files /dev/null and b/FAST ComTec/Files from FAST ComTec/mcs6adll/lv2011/myacq.vi differ diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/lv2011/mypars.vi b/FAST ComTec/Files from FAST ComTec/mcs6adll/lv2011/mypars.vi new file mode 100644 index 0000000..de08e91 Binary files /dev/null and b/FAST ComTec/Files from FAST ComTec/mcs6adll/lv2011/mypars.vi differ diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/lv4/mcs6alv.llb b/FAST ComTec/Files from FAST ComTec/mcs6adll/lv4/mcs6alv.llb new file mode 100644 index 0000000..3efa94c Binary files /dev/null and b/FAST ComTec/Files from FAST ComTec/mcs6adll/lv4/mcs6alv.llb differ diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/lv4/mcs6atest.vi b/FAST ComTec/Files from FAST ComTec/mcs6adll/lv4/mcs6atest.vi new file mode 100644 index 0000000..d590c27 Binary files /dev/null and b/FAST ComTec/Files from FAST ComTec/mcs6adll/lv4/mcs6atest.vi differ diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/lv7/mcs6alv.llb b/FAST ComTec/Files from FAST ComTec/mcs6adll/lv7/mcs6alv.llb new file mode 100644 index 0000000..3877724 Binary files /dev/null and b/FAST ComTec/Files from FAST ComTec/mcs6adll/lv7/mcs6alv.llb differ diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/lv7/mcs6atest.vi b/FAST ComTec/Files from FAST ComTec/mcs6adll/lv7/mcs6atest.vi new file mode 100644 index 0000000..303f8a2 Binary files /dev/null and b/FAST ComTec/Files from FAST ComTec/mcs6adll/lv7/mcs6atest.vi differ diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/matlab/STRUCT.H b/FAST ComTec/Files from FAST ComTec/mcs6adll/matlab/STRUCT.H new file mode 100644 index 0000000..313b0ba --- /dev/null +++ b/FAST ComTec/Files from FAST ComTec/mcs6adll/matlab/STRUCT.H @@ -0,0 +1,283 @@ +#define WINDOWSNT +#undef WINDOWS95 +#undef WINDOWS31 + +#ifdef WINDOWS31 + +#define GET_WM_COMMAND_ID(w) w +#define GET_WM_COMMAND_CMD(w,l) HIWORD(l) +#define GET_WM_COMMAND_HWND(l) LOWORD(l) +#define GET_WM_SCRHWND(l) HIWORD(l) +#define GET_WM_SCROLLPOS(w,l) LOWORD(l) +#define FIND_WINDOW(a,b) FindWindow(b,a) +#define HUGE huge +#define USHORT unsigned short +#define SetForegroundWindow(w) +#define APIENTRY FAR PASCAL +#define Sleep(t) waitmsec(t) + +#else + +#define GET_WM_COMMAND_ID(w) LOWORD(w) +#define GET_WM_COMMAND_CMD(w,l) HIWORD(w) +#define GET_WM_COMMAND_HWND(l) l +#define GET_WM_SCRHWND(l) l +#define GET_WM_SCROLLPOS(w,l) (short)HIWORD(w) +#define FIND_WINDOW(a,b) FindWindow(a,b) +#define HUGE +#define _fmemcpy memcpy +#define _fstrcpy strcpy + +#endif + +typedef struct { + int use; + int port; + unsigned long baud; + int dbits; + int sbits; + int parity; + int echo; + HWND hwndserver; + LPSTR cmd; +} COMCTL, far *LPCOMCTL; + +#define ST_RUNTIME 0 +#define ST_OFLS 1 +#define ST_TOTALSUM 2 +#define ST_ROISUM 3 +#define ST_ROIRATE 4 +#define ST_SWEEPS 5 +#define ST_STARTS 6 + +typedef struct{ + unsigned long started; // aquisition status + unsigned long maxval; // maxval + double cnt[8]; // status: runtime in msec, ofls, + // total sum, roi sum, roi rate, sweeps, starts +} ACQSTATUS; + +typedef struct { + long savedata; // bit 0: auto save after stop + // bit 1: write listfile + // bit 2: listfile only, no evaluation + long autoinc; // 1 if auto increment filename + long fmt; // format type (seperate spectra): + // 0 == ASCII, 1 == binary, + // 2 == CSV + long mpafmt; // format used in mpa datafiles + long sephead; // seperate Header + long smpts; + long caluse; + char filename[256]; + char specfile[256]; + char command[256]; +} DATSETTING; + +typedef struct { + long use; // 1 if Replay Mode ON + long modified; // Bit 0: 1 if different settings are used + // (Bit 1: Write ASCII, reserved) + long limit; // 0: all, + // 1: limited sweep range + long speed; // replay speed in units of 100 kB / sec + double startsfrom; // first start# + double startsto; // last start# + double startspreset; // last start - first start + char filename[256]; +} REPLAYSETTING; + +typedef struct{ + long range; // spectrum length + long cftfak; // LOWORD: 256 * cft factor (t_after_peak / t_to_peak) + // HIWORD: max pulse width for CFT + long roimin; // lower ROI limit + long roimax; // upper limit: roimin <= channel < roimax + long nregions; // number of regions + long caluse; // bit0: 1 if calibration used, higher bits: formula + long calpoints; // number of calibration points + long param; // (reserved:) for MAP and POS: LOWORD=x, HIWORD=y + long offset; // (reserved:) zoomed MAPS: LOWORD: xoffset, HIWORD, yoffset + long xdim; // (reserved:) x resolution of maps + unsigned long bitshift; // LOWORD: Binwidth = 2 ^ (bitshift) + // HIWORD: Threshold for Coinc + long active; // Spectrum definition words for CHN1..6: + // active & 0xF ==0 not used + // ==1 single + // bit 8: Enable Tag bits + // bit 9: start with rising edge + // bit 10: time under threshold for pulse width + // bit 11: pulse width mode for any spectra with both edges enabled + // Spectrum definition words for calc. spectra: + // active & 0xF ==3 MAP, ((x-xoffs)>>xsh) x ((y-yoffs)>>ysh) + // ((x-xoffs)>>xsh) x ((y-timeoffs)>>timesh) + // or ((x-timeoffs)>>timesh x ((y-yoffs)>>ysh) + // bit4=1: x zoomed MAP + // bit5=1: y zoomed MAP + // ==5 SUM, (x + y)>>xsh + // ==6 DIFF,(x - y + range)>>xsh + // ==7 ANY, (for compare) + // ==8 COPY, x + // ==9 DLL fDLL(x,y,z), + // ==0xA Sweep HISTORY, Sweepnum(x) +// bit 8..11 xsh, bit 12..15 ysh or bit 8..15 xsh + // HIWORD(active) = condition no. (0=no condition) + double eventpreset; // ROI preset value + double dummy1; // (for future use..) + double dummy2; // + double dummy3; // +} ACQSETTING; + +typedef struct{ + long range; // spectrum length + long cftfak; // LOWORD: 256 * cft factor (t_after_peak / t_to_peak) + // HIWORD: max pulse width for CFT + long roimin; // lower ROI limit + long roimax; // upper limit: roimin <= channel < roimax + long nregions; // number of regions + long caluse; // bit0: 1 if calibration used, higher bits: formula + long calpoints; // number of calibration points + long param; // (reserved:) for MAP and POS: LOWORD=x, HIWORD=y + long offset; // (reserved:) zoomed MAPS: LOWORD: xoffset, HIWORD, yoffset + long xdim; // (reserved:) x resolution of maps + unsigned long bitshift; // LOWORD: Binwidth = 2 ^ (bitshift) + // HIWORD: Threshold for Coinc + long active; // Spectrum definition words for CHN1..6: + // active & 0xF ==0 not used + // ==1 enabled + // bit 8: Enable Tag bits + // bit 9: start with rising edge + // bit 10: time under threshold for pulse width + // bit 11: pulse width mode for any spectra with both edges enabled + // Spectrum definition words for calc. spectra: + // active & 0xF ==3 MAP, ((x-xoffs)>>xsh) x ((y-yoffs)>>ysh) + // bit4=1: x zoomed MAP + // bit5=1: y zoomed MAP + // ==5 SUM, (x + y)>>xsh + // ==6 DIFF,(x - y + range)>>xsh + // ==7 ANY, (for compare) + // ==8 COPY, x + // ==10 SW-HIS, Sweep History + // bit 8..11 xsh, bit 12..15 ysh or bit 8..15 xsh + // HIWORD(active) = condition no. (0=no condition) + double eventpreset; // ROI preset value + double dummy1; // (for future use..) + double dummy2; // + double dummy3; // + // MPANT or Server private saved settings: + long type; // 0=single, 1=MAP, 2=ISO... + long ydim; // y resolution of maps + long reserved[16]; +} EXTACQSETTING; + +typedef struct { + long sweepmode; // sweepmode & 0xF: 0 = normal, + // 1=differential (relative to first stop in sweep) + // 4=sequential + // 5=seq.+diff (Ch1), bit0 = differential mode + // 6 = CORRELATIONS + // 7 = diff.+Corr. + // 9=differential to stop in Ch2, bit3 = Ch2 ref (diff.mode) + // 0xD = seq.+diff (Ch2) + // 0xF = Corr.+diff (Ch2) + // bit 4: Softw. Start + // bit 6: Endless + // bit 7: Start event generation + // bit 8: Enable Tag bits + // bit 9: start with rising edge + // bit 10: time under threshold for pulse width + // bit 11: pulse width mode for any spectra with both edges enabled + // bit 12: abandon Sweepcounter in Data + // bit 13: "one-hot" mode with tagbits + // bit 14: ch6 ref (diff.mode) + // bit 15: enable ch6 input + // bit 16..bit 20 ~(input channel enable) + // bit 24: require data lost bit in data + // bit 25: don't allow 6 byte datalength + long prena; // bit 0: realtime preset enabled + // bit 1: + // bit 2: sweep preset enabled + // bit 3: ROI preset enabled + // bit 4: Starts preset enabled + // bit 5: ROI2 preset enabled + // bit 6: ROI3 preset enabled + // bit 7: ROI4 preset enabled + // bit 8: ROI5 preset enabled + // bit 9: ROI6 preset enabled + long cycles; // for sequential mode + long sequences; // + long syncout; // LOWORD: sync out; bit 0..5 NIM syncout, bit 8..13 TTL syncout + // bit7: NIM syncout_invert, bit15: TTL syncout_invert + // 0="0", 1=10 MHz, 2=78.125 MHz, 3=100 MHz, 4=156.25 MHz, + // 5=200 MHz, 6=312.5 MHz, 7=Ch0, 8=Ch1, 9=Ch2, 10=Ch3, + // 11=Ch4, 12=Ch5, 13=GO, 14=Start_of_sweep, 15=Armed, + // 16=SYS_ON, 17=WINDOW, 18=HOLD_OFF, 19=EOS_DEADTIME + // 20=TIME[0],...,51=TIME[31], 52...63=SWEEP[0]..SWEEP[11] + // + long digio; // LOWORD: Use of Dig I/O, GO Line: + // bit 0: status dig 0..3 + // bit 1: Output digval and increment digval after stop + // bit 2: Invert polarity + // (bit 3: Push-Pull output, not possible) + // bit 4..7: Input pins 4..7 Trigger System 1..4 + // bit 8: GOWATCH + // bit 9: GO High at Start + // bit 10: GO Low at Stop + // bit 11: Clear at triggered start + // bit 12: Only triggered start + long digval; // digval=0..255 value for samplechanger + long dac0; // DAC0 value (START) + // bit 16: Start with rising edge + long dac1; // DAC1 value (STOP 1) + long dac2; // DAC2 value (STOP 2) + long dac3; // DAC3 value (STOP 3) + long dac4; // DAC4 value (STOP 4) + long dac5; // DAC5 value (STOP 5) + // bit (14,15) of each word: 0=falling, 1=rising, 2=both, 3=both+CFT + // bit 17 of each: pulse width mode under threshold + int fdac; // Feature DAC 0..16383 --> 0..2.5V + int tagbits; // number of tagbits + int extclk; // use external clock + long maxchan; // number of input channels (=6) + long serno; // serial number + long ddruse; // bit0: DDR_USE, bit1: DDR_2GB + // bits[2:3]: usb_usage + // bits[4:5]: wdlen + long active; // module in system + double holdafter; // Hold off + double swpreset; // sweep preset value + double fstchan; // acquisition delay + double timepreset; // time preset +} BOARDSETTING; + +typedef struct { + int nDevices; // Number of channels = number of modules * 6 + int nDisplays; // Number of histograms = nDevices + Positions + Maps + int nSystems; // Number of independent systems = 1 + int bRemote; // 1 if server controlled by MPANT + unsigned int sys; // System definition word: + // bit0=0, bit1=0: dev#0 in system 1 + // bit0=1, bit1=0: dev#0 in system 2 + // bit0=0, bit1=1: dev#0 in system 3 + // bit0=1, bit1=1: dev#0 in system 4 + // bit2..bit6: + // bit6=1, bit7=1: dev#3 in system 4 + int sys0[56]; // (reserved:) System definition words for CHN1..18: + // bit 0 CHN active + // bit 1 =1 CHN coinc, =0 single + // bit 2..4 CHN in system1..7 + int sys1[56]; // (reserved:) CHN in System +} ACQDEF; + +typedef struct{ + unsigned long HUGE *s0; // pointer to spectrum + unsigned long *region; // pointer to regions + unsigned char *comment0; // pointer to strings + double *cnt; // pointer to counters + HANDLE hs0; + HANDLE hrg; + HANDLE hcm; + HANDLE hct; +} ACQDATA; + + diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/matlab/dmcs6.h b/FAST ComTec/Files from FAST ComTec/mcs6adll/matlab/dmcs6.h new file mode 100644 index 0000000..1dea3a6 --- /dev/null +++ b/FAST ComTec/Files from FAST ComTec/mcs6adll/matlab/dmcs6.h @@ -0,0 +1,252 @@ +#ifdef __cplusplus +extern "C" +{ +#endif + +#include "struct.h" +#define MAXCNT 448 +#define MAXDSP 64 +#define MAXDEV 3 + + +#define ID_SAVE 103 +#define ID_CONTINUE 106 +#define ID_START 109 +#define ID_BREAK 137 +#define ID_NEWSETTING 139 +#define ID_GETSTATUS 141 +#define ID_SAVEFILE 151 +#define ID_ERASE 154 +#define ID_LOADFILE 155 +#define ID_NEWDATA 160 +#define ID_HARDWDLG 161 +#define ID_SAVEFILE2 194 +#define ID_LOADFILE2 203 +#define ID_SAVEFILE3 217 +#define ID_LOADFILE3 219 +#define ID_SAVEFILE4 223 +#define ID_LOADFILE4 225 +#define ID_LOADFILE5 226 +#define ID_LOADFILE6 227 +#define ID_LOADFILE7 228 +#define ID_LOADFILE8 229 +#define ID_SAVEFILE5 230 +#define ID_SAVEFILE6 231 +#define ID_SAVEFILE7 232 +#define ID_SAVEFILE8 233 +#define ID_SUMFILE 234 +#define ID_SUMFILE2 235 +#define ID_SUMFILE3 236 +#define ID_SUMFILE4 237 +#define ID_SUMFILE5 238 +#define ID_SUMFILE6 239 +#define ID_SUMFILE7 240 +#define ID_SUMFILE8 241 +#define ID_LEDBLINK0 280 +#define ID_LEDBLINK1 281 +#define ID_LEDBLINK2 282 +#define ID_SUBTRACT 289 +#define ID_SMOOTH 290 +#define ID_SUBTRACT2 296 +#define ID_SMOOTH2 297 +#define ID_SUBTRACT3 298 +#define ID_SMOOTH3 299 +#define ID_SUBTRACT4 300 +#define ID_SMOOTH4 301 +#define ID_SUBTRACT5 302 +#define ID_SMOOTH5 303 +#define ID_SUBTRACT6 304 +#define ID_SMOOTH6 305 +#define ID_SUBTRACT7 306 +#define ID_SMOOTH7 307 +#define ID_SUBTRACT8 308 +#define ID_SMOOTH8 309 +#define ID_SAVEFILE9 310 +#define ID_SAVEFILE10 311 +#define ID_SAVEFILE11 312 +#define ID_SAVEFILE12 313 +#define ID_SAVEFILE13 314 +#define ID_SAVEFILE14 315 +#define ID_SAVEFILE15 316 +#define ID_SAVEFILE16 317 +#define ID_LOADFILE9 318 +#define ID_LOADFILE10 319 +#define ID_LOADFILE11 320 +#define ID_LOADFILE12 321 +#define ID_LOADFILE13 322 +#define ID_LOADFILE14 323 +#define ID_LOADFILE15 324 +#define ID_LOADFILE16 325 +#define ID_SUMFILE9 326 +#define ID_SUMFILE10 327 +#define ID_SUMFILE11 328 +#define ID_SUMFILE12 329 +#define ID_SUMFILE13 330 +#define ID_SUMFILE14 331 +#define ID_SUMFILE15 332 +#define ID_SUMFILE16 333 +#define ID_SUBTRACT9 334 +#define ID_SUBTRACT10 335 +#define ID_SUBTRACT11 336 +#define ID_SUBTRACT12 337 +#define ID_SUBTRACT13 338 +#define ID_SUBTRACT14 339 +#define ID_SUBTRACT15 340 +#define ID_SUBTRACT16 341 +#define ID_COMBDLG 401 +#define ID_DATADLG 402 +#define ID_MAPLSTDLG 403 +#define ID_REPLDLG 404 +#define ID_ERASE3 1109 +#define ID_ERASE4 1110 +#define ID_ERASEFILE2 1111 +#define ID_ERASEFILE3 1112 +#define ID_ERASEFILE4 1113 +#define ID_START2 1114 +#define ID_BREAK2 1115 +#define ID_CONTINUE2 1116 +#define ID_START3 1117 +#define ID_BREAK3 1118 +#define ID_CONTINUE3 1119 +#define ID_START4 1120 +#define ID_BREAK4 1121 +#define ID_CONTINUE4 1122 +#define ID_RUNCMD 1123 +#define ID_RUNCMD2 1124 +#define ID_RUNCMD3 1125 +#define ID_RUNCMD4 1126 +#define ID_RUNCMD5 1127 +#define ID_RUNCMD6 1128 +#define ID_RUNCMD7 1129 +#define ID_RUNCMD8 1130 +#define ID_ERASEFILE5 1131 +#define ID_ERASEFILE6 1132 +#define ID_ERASEFILE7 1133 +#define ID_ERASEFILE8 1134 +#define ID_DIGINOUT 1137 +#define ID_ERASE2 1164 + +/*** FUNCTION PROTOTYPES (do not change) ***/ + +#ifdef DLL +BOOL APIENTRY DllMain(HANDLE hInst, DWORD ul_reason_being_called, LPVOID lpReserved); + +VOID APIENTRY StoreSettingData(ACQSETTING FAR *Setting, int nDisplay); + // Stores Settings into the DLL +int APIENTRY GetSettingData(ACQSETTING FAR *Setting, int nDisplay); + // Get Settings stored in the DLL +VOID APIENTRY StoreExtSettingData(EXTACQSETTING FAR *Setting, int nDisplay); + // Stores extended Settings into the DLL +int APIENTRY GetExtSettingData(EXTACQSETTING FAR *Setting, int nDisplay); + // Get extended Settings stored in the DLL +VOID APIENTRY StoreStatusData(ACQSTATUS FAR *Status, int nDisplay); + // Store the Status into the DLL +int APIENTRY GetStatusData(ACQSTATUS FAR *Status, int nDisplay); + // Get the Status +VOID APIENTRY Start(int nSystem); // Start +VOID APIENTRY Halt(int nSystem); // Halt +VOID APIENTRY Continue(int nSystem); // Continue +VOID APIENTRY NewSetting(int nDevice); // Indicate new Settings to Server +UINT APIENTRY ServExec(HWND ClientWnd); // Execute the Server +VOID APIENTRY StoreData(ACQDATA FAR *Data, int nDisplay); + // Stores Data pointers into the DLL +int APIENTRY GetData(ACQDATA FAR *Data, int nDisplay); + // Get Data pointers +long APIENTRY GetSpec(long i, int nDisplay); + // Get a spectrum value +VOID APIENTRY SaveSetting(void); // Save Settings +int APIENTRY GetStatus(int nDevice); // Request actual Status from Server +VOID APIENTRY Erase(int nSystem); // Erase spectrum +VOID APIENTRY SaveData(int nDisplay, int all); // Saves data +VOID APIENTRY GetBlock(long FAR *hist, int start, int end, int step, + int nDisplay); // Get a block of spectrum data +VOID APIENTRY StoreDefData(ACQDEF FAR *Def); + // Store System Definition into DLL +int APIENTRY GetDefData(ACQDEF FAR *Def); + // Get System Definition +VOID APIENTRY LoadData(int nDisplay, int all); // Loads data +VOID APIENTRY AddData(int nDisplay, int all); // Adds data +VOID APIENTRY SubData(int nDisplay, int all); // Subtracts data +VOID APIENTRY Smooth(int nDisplay); // Smooth data +VOID APIENTRY NewData(void); // Indicate new ROI or string Data +VOID APIENTRY HardwareDlg(int item); // Calls the Settings dialog box +VOID APIENTRY UnregisterClient(void); // Clears remote mode from MCDWIN +VOID APIENTRY DestroyClient(void); // Close MCDWIN +UINT APIENTRY ClientExec(HWND ServerWnd); + // Execute the Client MCDWIN.EXE +int APIENTRY LVGetDat(unsigned long HUGE *datp, int nDisplay); + // Copies the spectrum to an array +VOID APIENTRY RunCmd(int nDisplay, LPSTR Cmd); + // Executes command +int APIENTRY LVGetRoi(unsigned long FAR *roip, int nDisplay); + // Copies the ROI boundaries to an array +int APIENTRY LVGetOneRoi(int nDisplay, int roinum, long *x1, long *x2); + // Get one ROI boundary +int APIENTRY LVGetCnt(double far *cntp, int nDisplay); + // Copies Cnt numbers to an array +int APIENTRY LVGetStr(char far *strp, int nDisplay); + // Copies strings to an array +VOID APIENTRY StoreMCSSetting(BOARDSETTING *Defmc, int ndev); + // Store BOARDSETTING Definition into DLL +int APIENTRY GetMCSSetting(BOARDSETTING *Defmc, int ndev); + // Get BOARDSETTING Definition from DLL +VOID APIENTRY StoreDatSetting(DATSETTING *Defdat); + // Store Data Format Definition into DLL +int APIENTRY GetDatSetting(DATSETTING *Defdat); + // Get Data Format Definition from DLL +VOID APIENTRY StoreReplaySetting(REPLAYSETTING *Repldat); + // Store Replay Settings into DLL +int APIENTRY GetReplaySetting(REPLAYSETTING *Repldat); + // Get Replay Settings from DLL +int APIENTRY GetDatInfo(int nDisplay, long *xmax, long *ymax); + // returns spectra length; +int APIENTRY GetDatPtr(int nDisplay, long *xmax, long *ymax, unsigned long * *pt); + // Get a temporary pointer to spectra data +int APIENTRY ReleaseDatPtr(void); + // Release temporary data pointer +long APIENTRY GetSVal(int DspID, long xval); + // Get special display data like projections or slices from MPANT +int APIENTRY BytearrayToShortarray(short *Shortarray, char *Bytearray, int length); + // auxiliary function for VB.NET to convert strings +int APIENTRY LedBlink(int nDev); + // Lets the front leds blink for a while +int APIENTRY DigInOut(int value, int enable); // controls Dig I/0 , + // returns digin +#else +typedef int (WINAPI *IMPAGETSETTING) (ACQSETTING FAR *Setting, int nDisplay); + // Get Spectra Settings stored in the DLL +typedef int (WINAPI *IMPAGETSTATUS) (ACQSTATUS FAR *Status, int nDisplay); + // Get the Status +typedef VOID (WINAPI *IMPARUNCMD) (int nDisplay, LPSTR Cmd); + // Executes command +typedef int (WINAPI *IMPAGETCNT) (double FAR *cntp, int nDisplay); + // Copies Cnt numbers to an array +typedef int (WINAPI *IMPAGETROI) (unsigned long FAR *roip, int nDisplay); + // Copies the ROI boundaries to an array +typedef int (WINAPI *IMPAGETDEF) (ACQDEF FAR *Def); + // Get System Definition +typedef int (WINAPI *IMPAGETDAT) (unsigned long HUGE *datp, int nDisplay); + // Copies the spectrum to an array +typedef int (WINAPI *IMPAGETSTR) (char FAR *strp, int nDisplay); + // Copies strings to an array +typedef UINT (WINAPI *IMPASERVEXEC) (HWND ClientWnd); // Register client at server MCS6.EXE + +typedef int (WINAPI *IMPANEWSTATUS) (int nDev); // Request actual Status from Server + +typedef int (WINAPI *IMPAGETMCSSET) (BOARDSETTING *Board, int nDevice); + // Get MCSSettings from DLL +typedef int (WINAPI *IMPAGETDATSET) (DATSETTING *Defdat); + // Get Data Format Definition from DLL +typedef int (WINAPI *IMPADIGINOUT) (int value, int enable); // controls Dig I/0 , + // returns digin +typedef int (WINAPI *IMPADACOUT) (int value); // output Dac value as analogue voltage +typedef VOID (WINAPI *IMPASTART) (int nSystem); // Start +typedef VOID (WINAPI *IMPAHALT) (int nSystem); // Halt +typedef VOID (WINAPI *IMPACONTINUE) (int nSystem); // Continue +typedef VOID (WINAPI *IMPAERASE) (int nSystem); // Erase spectrum +#endif + +#ifdef __cplusplus +} +#endif + diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/matlab/mxruncmd.c b/FAST ComTec/Files from FAST ComTec/mcs6adll/matlab/mxruncmd.c new file mode 100644 index 0000000..88c98ec --- /dev/null +++ b/FAST ComTec/Files from FAST ComTec/mcs6adll/matlab/mxruncmd.c @@ -0,0 +1,78 @@ +/*================================================================= + * based on mxmalloc.c in the matlabroot/extern/examples/mx folder + * + * This function takes a MATLAB string as an argument and copies it in + * NULL terminated ANSI C string. + * + * This is a MEX-file for MATLAB. + * Copyright 1984-2006 The MathWorks, Inc. + * All rights reserved. + *=================================================================*/ + +/* $Revision: 1.3.6.2 $ */ +#include +#include +#include +#include + +#undef DLL + +#include "dmcs6.h" +#include "mex.h" + +HMODULE hDLL = 0; +IMPARUNCMD lpRun=NULL; + +void +mexFunction(int nlhs,mxArray *plhs[],int nrhs,const mxArray *prhs[]) +{ + char *buf; + mwSize buflen; + int status; + + (void) plhs; /* unused parameters */ + + /* Check for proper number of input and output arguments */ + if (nrhs != 1) { + mexErrMsgTxt("One input argument required."); + } + if (nlhs > 1) { + mexErrMsgTxt("Too many output arguments."); + } + + /* Check for proper input type */ + if (!mxIsChar(prhs[0]) || (mxGetM(prhs[0]) != 1 ) ) { + mexErrMsgTxt("Input argument must be a string."); + } + + /* Find out how long the input string is. Allocate enough memory + to hold the converted string. NOTE: MATLAB stores characters + as 2 byte unicode ( 16 bit ASCII) on machines with multi-byte + character sets. You should use mxChar to ensure enough space + is allocated to hold the string */ + + buflen = mxGetN(prhs[0])*sizeof(mxChar)+1; + buf = mxMalloc(buflen); + + /* Copy the string data into buf. */ + status = mxGetString(prhs[0], buf, buflen); + mexPrintf("The input string is: %s\n", buf); + /* NOTE: You could add your own code here to manipulate + the string */ + + hDLL = LoadLibrary("DMCS6.DLL"); + if(hDLL){ + lpRun=(IMPARUNCMD)GetProcAddress(hDLL,"RunCmd"); + + lpRun(0, buf); + mexPrintf("The string after calling RunCmd is: %s\n", buf); + + } + + FreeLibrary(hDLL); + + /* When finished using the string, deallocate it. */ + mxFree(buf); + +} + diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/matlab/readme.txt b/FAST ComTec/Files from FAST ComTec/mcs6adll/matlab/readme.txt new file mode 100644 index 0000000..d5bcba9 --- /dev/null +++ b/FAST ComTec/Files from FAST ComTec/mcs6adll/matlab/readme.txt @@ -0,0 +1,34 @@ +Using the DMCS6.DLL from Matlab +================================ + +It does not work, to load the DMCS6.DLL in Matlab via loadlibrary +and direct call DLL functions. You have to make mex files as +an intermediate layer. + +An example is the supplied mxruncmd.c. It can be used to send +commands to the server via the RunCmd DLL function. Try the example: +0. Copy the files dmcs6.h, struct.h, mxruncmd.c + into C:\MCS6A +1. Start the MCS6A Server (and MPANT) program. +2. Start Matlab +3. Set the current directory in Matlab to C:\MCS6A via the + Current folder bar at the top. +4. To compile the mex file mxruncmd.mexw32 from mxruncmd.c, +setup the compiler with command + +mex -setup + +and compile by + +mex mxruncmd.c + + +5. Enter the command + mxruncmd('run test.ctl') + +You can also define string commands and use them, for example + +s = 'erase' +mxruncmd(s) + + diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/vb/DEMO.VBW b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb/DEMO.VBW new file mode 100644 index 0000000..f29191e --- /dev/null +++ b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb/DEMO.VBW @@ -0,0 +1,2 @@ +Form1 = 820, 190, 1345, 615, , 0, -2, 746, 647, C +DECLMCS6 = 74, 155, 599, 595, diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/vb/Declmcs6.bas b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb/Declmcs6.bas new file mode 100644 index 0000000..a097ed6 --- /dev/null +++ b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb/Declmcs6.bas @@ -0,0 +1,119 @@ +Attribute VB_Name = "DECLMCS6" +Type Acqstatus + Val As Long + Val1 As Long + Cnt(0 To 7) As Double +End Type + +Type Acqsetting + Range As Long + Cftfak As Long + Roimin As Long + Roimax As Long + Nregions As Long + Caluse As Long + Calpoints As Long + Param As Long + Offset As Long + Xdim As Long + Bitshift As Long + Active As Long + Roipreset As Double + Dummy1 As Double + Dummy2 As Double + Dummy3 As Double +End Type + +Type Replaysetting + Use As Long + Modified As Long + Limit As Long + Speed As Long + Startsfrom As Double + Startsto As Double + Startspreset As Double + Filename As String * 256 +End Type + +Type Datsetting + SaveData As Long + Autoinc As Long + Fmt As Long + Mpafmt As Long + Sephead As Long + Smpts As Long + Caluse As Long + Filename As String * 256 + Specfile As String * 256 + Command As String * 256 +End Type + +Type Boardsetting + Sweepmode As Long + Prena As Long + Cycles As Long + Sequences As Long + Syncout As Long + Digio As Long + Digval As Long + Dac0 As Long + Dac1 As Long + Dac2 As Long + Dac3 As Long + Dac4 As Long + Dac5 As Long + Fdac As Long + Tagbits As Long + Extclk As Long + Maxchan As Long + Serno As Long + Ddruse As Long + Active As Long + Holdafter As Double + Swpreset As Double + Fstchan As Double + Timepreset As Double +End Type + +Type Acqdef + Ndevices As Long + Ndisplays As Long + Nsystems As Long + Bremote As Long + Sys As Long + Sys0(56) As Long + Sys1(56) As Long +End Type + +Declare Sub StoreSettingData Lib "DMCS6.DLL" Alias "#2" (Setting As Acqsetting, ByVal Ndisplay As Long) +Declare Function GetSettingData Lib "DMCS6.DLL" Alias "#3" (Setting As Acqsetting, ByVal Ndisplay As Long) As Long +Declare Function GetStatusData Lib "DMCS6.DLL" Alias "#5" (Status As Acqstatus, ByVal Ndevice As Long) As Long +Declare Sub Start Lib "DMCS6.DLL" Alias "#6" (ByVal Nsystem As Long) +Declare Sub Halt Lib "DMCS6.DLL" Alias "#7" (ByVal Nsystem As Long) +Declare Sub Continue Lib "DMCS6.DLL" Alias "#8" (ByVal Nsystem As Long) +Declare Sub NewSetting Lib "DMCS6.DLL" Alias "#9" (ByVal Ndisplay As Long) +Declare Function ServExec Lib "DMCS6.DLL" Alias "#10" (ByVal Clwnd As Long) As Long +Declare Function GetSpec Lib "DMCS6.DLL" Alias "#13" (ByVal I As Long, ByVal Ndisplay As Long) As Long +Declare Sub SaveSetting Lib "DMCS6.DLL" Alias "#14" () +Declare Function GetStatus Lib "DMCS6.DLL" Alias "#15" (ByVal Ndevice As Long) As Long +Declare Sub EraseData Lib "DMCS6.DLL" Alias "#16" (ByVal Nsystem As Long) +Declare Sub SaveData Lib "DMCS6.DLL" Alias "#17" (ByVal Ndevice As Long, ByVal All As Long) +Declare Sub GetBlock Lib "DMCS6.DLL" Alias "#18" (Hist As Long, ByVal Start As Long, ByVal Size As Long, ByVal Stp As Long, ByVal Ndisplay As Long) +Declare Function GetDefData Lib "DMCS6.DLL" Alias "#20" (Def As Acqdef) As Long +Declare Sub LoadData Lib "DMCS6.DLL" Alias "#21" (ByVal Ndevice As Long, ByVal All As Long) +Declare Sub NewData Lib "DMCS6.DLL" Alias "#22" () +Declare Sub HardwareDlg Lib "DMCS6.DLL" Alias "#23" (ByVal Item As Long) +Declare Sub UnregisterClient Lib "LMCS6.DLL" Alias "#24" () +Declare Sub DestroyClient Lib "DMCS6.DLL" Alias "#25" () +Declare Sub RunCmd Lib "DMCS6.DLL" Alias "#28" (ByVal Ndevice As Long, ByVal Cmd As String) +Declare Sub AddData Lib "DMCS6.DLL" Alias "#29" (ByVal Ndisplay As Long, ByVal All As Long) +Declare Function LVGetRoi Lib "DMCS6.DLL" Alias "#30" (Roi As Long, ByVal Ndisplay As Long) As Long +Declare Function LVGetCnt Lib "DMCS6.DLL" Alias "#31" (Cnt As Double, ByVal Ndisplay As Long) As Long +Declare Function LVGetOneCnt Lib "DMCS6.DLL" Alias "#32" (Cnt As Double, ByVal Ndisplay As Long, ByVal Cntnum As Long) As Long +Declare Function LVGetStr Lib "DMCS6.DLL" Alias "#33" (ByVal Comment As String, ByVal Ndisplay As Long) As Long +Declare Sub SubData Lib "DMCS6.DLL" Alias "#34" (ByVal Ndisplay As Long, ByVal All As Long) +Declare Sub Smooth Lib "DMCS6.DLL" Alias "#35" (ByVal Ndisplay As Long) +Declare Function GetMCSSetting Lib "DMCS6.DLL" Alias "#39" (Msetting As Boardsetting) As Long +Declare Function GetDatSetting Lib "DMCS6.DLL" Alias "#41" (Dsetting As Datsetting) As Long +Declare Function GetReplaySetting Lib "DMCS6.DLL" Alias "#43" (Rsetting As Replaysetting) As Long + diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/vb/Demo.exe b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb/Demo.exe new file mode 100644 index 0000000..a335590 Binary files /dev/null and b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb/Demo.exe differ diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/vb/Demo.mak b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb/Demo.mak new file mode 100644 index 0000000..bb98b8c --- /dev/null +++ b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb/Demo.mak @@ -0,0 +1,35 @@ +Type=Exe +Form=FORM1.FRM +Module=DECLMCS6; Declmcs6.bas +IconForm="Form1" +Startup="Form1" +Title="MCS6 DEMO" +ExeName32="Demo.exe" +Command32="" +Name="Demo" +HelpContextID="0" +CompatibleMode="0" +MajorVer=1 +MinorVer=0 +RevisionVer=0 +AutoIncrementVer=0 +ServerSupportFiles=0 +VersionCompanyName="FAST ComTec" +CompilationType=0 +OptimizationType=0 +FavorPentiumPro(tm)=0 +CodeViewDebugInfo=0 +NoAliasing=0 +BoundsCheck=0 +OverflowCheck=0 +FlPointCheck=0 +FDIVCheck=0 +UnroundedFP=0 +StartMode=0 +Unattended=0 +Retained=0 +ThreadPerObject=0 +MaxNumberOfThreads=1 + +[MS Transaction Server] +AutoRefresh=1 diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/vb/FORM1.FRM b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb/FORM1.FRM new file mode 100644 index 0000000..c35b3ef --- /dev/null +++ b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb/FORM1.FRM @@ -0,0 +1,1530 @@ +VERSION 5.00 +Begin VB.Form Form1 + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "MCS6A Demo" + ClientHeight = 8220 + ClientLeft = 1230 + ClientTop = 1680 + ClientWidth = 10725 + BeginProperty Font + Name = "MS Sans Serif" + Size = 8.25 + Charset = 0 + Weight = 700 + Underline = 0 'False + Italic = 0 'False + Strikethrough = 0 'False + EndProperty + ForeColor = &H80000008& + Icon = "FORM1.frx":0000 + LinkTopic = "Form1" + PaletteMode = 1 'UseZOrder + ScaleHeight = 8220 + ScaleWidth = 10725 + Begin VB.CommandButton CommandDatasettings + Appearance = 0 'Flat + Caption = "Get Datasettings" + Height = 255 + Left = 4680 + TabIndex = 99 + Top = 4440 + Width = 1935 + End + Begin VB.CommandButton CommandGetstring + Appearance = 0 'Flat + Caption = "Get Strings" + Height = 255 + Left = 2520 + TabIndex = 59 + Top = 3360 + Width = 1935 + End + Begin VB.CommandButton CommandGetspec + Appearance = 0 'Flat + Caption = "Get Spectrum" + Height = 255 + Left = 8640 + TabIndex = 43 + Top = 120 + Width = 1935 + End + Begin VB.TextBox TextChan + Height = 285 + Left = 8640 + TabIndex = 42 + Text = "0" + Top = 480 + Width = 615 + End + Begin VB.CommandButton CommandSetting + Appearance = 0 'Flat + Caption = "Update Setting" + Height = 255 + Left = 6360 + TabIndex = 18 + Top = 120 + Width = 1935 + End + Begin VB.TextBox TextMC + Height = 285 + Left = 5640 + TabIndex = 17 + Text = "0" + Top = 120 + Width = 495 + End + Begin VB.CommandButton CommandUpdate + Appearance = 0 'Flat + Caption = "Update Status" + Height = 255 + Left = 1800 + TabIndex = 15 + Top = 120 + Width = 1935 + End + Begin VB.CommandButton CommandExecute + Appearance = 0 'Flat + Caption = "E&xecute" + Height = 255 + Left = 240 + TabIndex = 10 + Top = 3720 + Width = 855 + End + Begin VB.TextBox TextCommand + Appearance = 0 'Flat + Height = 285 + Left = 240 + TabIndex = 9 + Text = "RUN TEST.CTL" + Top = 4080 + Width = 1935 + End + Begin VB.CommandButton CommandSave + Appearance = 0 'Flat + Caption = "S&ave" + Height = 255 + Left = 240 + TabIndex = 8 + Top = 2160 + Width = 975 + End + Begin VB.CommandButton CommandErase + Appearance = 0 'Flat + Caption = "&Erase" + Height = 255 + Left = 240 + TabIndex = 7 + Top = 1800 + Width = 975 + End + Begin VB.Timer Timer1 + Interval = 500 + Left = 0 + Top = 120 + End + Begin VB.CommandButton CommandContinue + Appearance = 0 'Flat + Caption = "&Continue" + Height = 255 + Left = 240 + TabIndex = 2 + Top = 1440 + Width = 975 + End + Begin VB.CommandButton CommandHalt + Appearance = 0 'Flat + Caption = "&Halt" + Height = 255 + Left = 240 + TabIndex = 1 + Top = 1080 + Width = 975 + End + Begin VB.CommandButton CommandStart + Appearance = 0 'Flat + Caption = "&Start" + Height = 255 + Left = 240 + TabIndex = 0 + Top = 720 + Width = 975 + End + Begin VB.Label LabelCommand + Appearance = 0 'Flat + BackColor = &H80000005& + BorderStyle = 1 'Fixed Single + ForeColor = &H80000008& + Height = 255 + Left = 5640 + TabIndex = 119 + Top = 6960 + Width = 3135 + End + Begin VB.Label Label43 + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "Command:" + ForeColor = &H80000008& + Height = 255 + Left = 4680 + TabIndex = 118 + Top = 6960 + Width = 855 + End + Begin VB.Label Labelspecfile + Appearance = 0 'Flat + BackColor = &H80000005& + BorderStyle = 1 'Fixed Single + ForeColor = &H80000008& + Height = 255 + Left = 5640 + TabIndex = 117 + Top = 6720 + Width = 3135 + End + Begin VB.Label Label42 + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "Specfile:" + ForeColor = &H80000008& + Height = 255 + Left = 4680 + TabIndex = 116 + Top = 6720 + Width = 855 + End + Begin VB.Label LabelMpafilename + Appearance = 0 'Flat + BackColor = &H80000005& + BorderStyle = 1 'Fixed Single + ForeColor = &H80000008& + Height = 255 + Left = 5640 + TabIndex = 115 + Top = 6480 + Width = 3135 + End + Begin VB.Label Label41 + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "Filename:" + ForeColor = &H80000008& + Height = 255 + Left = 4680 + TabIndex = 114 + Top = 6480 + Width = 855 + End + Begin VB.Label LabelAddcal + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Left = 5640 + TabIndex = 113 + Top = 6240 + Width = 975 + End + Begin VB.Label Label40 + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "Caluse:" + ForeColor = &H80000008& + Height = 255 + Left = 4680 + TabIndex = 112 + Top = 6240 + Width = 855 + End + Begin VB.Label LabelSmpts + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Left = 5640 + TabIndex = 111 + Top = 6000 + Width = 975 + End + Begin VB.Label Label38 + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "Smpts:" + ForeColor = &H80000008& + Height = 255 + Left = 4680 + TabIndex = 110 + Top = 6000 + Width = 855 + End + Begin VB.Label LabelSephead + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Left = 5640 + TabIndex = 109 + Top = 5760 + Width = 975 + End + Begin VB.Label Label37 + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "Sephead:" + ForeColor = &H80000008& + Height = 255 + Left = 4680 + TabIndex = 108 + Top = 5760 + Width = 855 + End + Begin VB.Label LabelMpafmt + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Left = 5640 + TabIndex = 107 + Top = 5520 + Width = 975 + End + Begin VB.Label Label35 + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "Mpafmt:" + ForeColor = &H80000008& + Height = 255 + Left = 4680 + TabIndex = 106 + Top = 5520 + Width = 855 + End + Begin VB.Label LabelFmt + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Left = 5640 + TabIndex = 105 + Top = 5280 + Width = 975 + End + Begin VB.Label Label32 + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "Fmt:" + ForeColor = &H80000008& + Height = 255 + Left = 4680 + TabIndex = 104 + Top = 5280 + Width = 855 + End + Begin VB.Label LabelAutoinc + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Left = 5640 + TabIndex = 103 + Top = 5040 + Width = 975 + End + Begin VB.Label Label29 + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "Autoinc:" + ForeColor = &H80000008& + Height = 255 + Left = 4680 + TabIndex = 102 + Top = 5040 + Width = 855 + End + Begin VB.Label LabelSavedata + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Left = 5640 + TabIndex = 101 + Top = 4800 + Width = 975 + End + Begin VB.Label Label28 + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "Savedata:" + ForeColor = &H80000008& + Height = 255 + Left = 4680 + TabIndex = 100 + Top = 4800 + Width = 855 + End + Begin VB.Label LabelTotalrate + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Left = 4920 + TabIndex = 98 + Top = 1680 + Width = 975 + End + Begin VB.Label Label26 + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "Rate:" + ForeColor = &H80000008& + Height = 255 + Left = 3960 + TabIndex = 97 + Top = 1680 + Width = 855 + End + Begin VB.Label LabelRoisum + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Left = 4920 + TabIndex = 96 + Top = 1440 + Width = 975 + End + Begin VB.Label Label25 + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "Roisum:" + ForeColor = &H80000008& + Height = 255 + Left = 3960 + TabIndex = 95 + Top = 1440 + Width = 855 + End + Begin VB.Label LabelTotalsum + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Left = 4920 + TabIndex = 94 + Top = 1200 + Width = 975 + End + Begin VB.Label Label24 + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "Totalsum:" + ForeColor = &H80000008& + Height = 255 + Left = 3960 + TabIndex = 93 + Top = 1200 + Width = 855 + End + Begin VB.Label LabelOfls + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Left = 4920 + TabIndex = 92 + Top = 720 + Width = 975 + End + Begin VB.Label Label22 + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "Datalosts:" + ForeColor = &H80000008& + Height = 255 + Left = 3960 + TabIndex = 91 + Top = 720 + Width = 855 + End + Begin VB.Label LabelMaxval + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Left = 4920 + TabIndex = 90 + Top = 480 + Width = 975 + End + Begin VB.Label Label21 + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "Maxval:" + ForeColor = &H80000008& + Height = 255 + Left = 3960 + TabIndex = 89 + Top = 480 + Width = 855 + End + Begin VB.Label LabelRoimax + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Left = 7560 + TabIndex = 88 + Top = 1200 + Width = 975 + End + Begin VB.Label Label8 + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "Roimax:" + ForeColor = &H80000008& + Height = 255 + Left = 6360 + TabIndex = 87 + Top = 1200 + Width = 1095 + End + Begin VB.Label LabelRoipreset + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Left = 7560 + TabIndex = 86 + Top = 3360 + Width = 975 + End + Begin VB.Label Label17 + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "Roipreset:" + ForeColor = &H80000008& + Height = 255 + Left = 6360 + TabIndex = 85 + Top = 3360 + Width = 1095 + End + Begin VB.Label LabelOffset + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Left = 7560 + TabIndex = 84 + Top = 2400 + Width = 975 + End + Begin VB.Label Label16 + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "Offset:" + ForeColor = &H80000008& + Height = 255 + Left = 6360 + TabIndex = 83 + Top = 2400 + Width = 1095 + End + Begin VB.Label LabelBitshift + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Left = 7560 + TabIndex = 82 + Top = 2880 + Width = 975 + End + Begin VB.Label Label14 + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "Bitshift:" + ForeColor = &H80000008& + Height = 255 + Left = 6360 + TabIndex = 81 + Top = 2880 + Width = 1095 + End + Begin VB.Label LabelXdim + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Left = 7560 + TabIndex = 80 + Top = 2640 + Width = 975 + End + Begin VB.Label Label11 + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "Xdim:" + ForeColor = &H80000008& + Height = 255 + Left = 6360 + TabIndex = 79 + Top = 2640 + Width = 1095 + End + Begin VB.Label LabelParam + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Left = 7560 + TabIndex = 78 + Top = 2160 + Width = 975 + End + Begin VB.Label Label9 + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "Param:" + ForeColor = &H80000008& + Height = 255 + Left = 6360 + TabIndex = 77 + Top = 2160 + Width = 1095 + End + Begin VB.Label LabelLine + Appearance = 0 'Flat + BackColor = &H80000005& + BorderStyle = 1 'Fixed Single + ForeColor = &H80000008& + Height = 255 + Index = 13 + Left = 2520 + TabIndex = 76 + Top = 6960 + Width = 1935 + End + Begin VB.Label Label39 + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "Filename:" + ForeColor = &H80000008& + Height = 255 + Left = 1560 + TabIndex = 75 + Top = 6960 + Width = 855 + End + Begin VB.Label LabelLine + Appearance = 0 'Flat + BackColor = &H80000005& + BorderStyle = 1 'Fixed Single + ForeColor = &H80000008& + Height = 255 + Index = 12 + Left = 2520 + TabIndex = 74 + Top = 6600 + Width = 1935 + End + Begin VB.Label LabelLine + Appearance = 0 'Flat + BackColor = &H80000005& + BorderStyle = 1 'Fixed Single + ForeColor = &H80000008& + Height = 255 + Index = 11 + Left = 2520 + TabIndex = 73 + Top = 6360 + Width = 1935 + End + Begin VB.Label LabelLine + Appearance = 0 'Flat + BackColor = &H80000005& + BorderStyle = 1 'Fixed Single + ForeColor = &H80000008& + Height = 255 + Index = 10 + Left = 2520 + TabIndex = 72 + Top = 6120 + Width = 1935 + End + Begin VB.Label LabelLine + Appearance = 0 'Flat + BackColor = &H80000005& + BorderStyle = 1 'Fixed Single + ForeColor = &H80000008& + Height = 255 + Index = 9 + Left = 2520 + TabIndex = 71 + Top = 5880 + Width = 1935 + End + Begin VB.Label LabelLine + Appearance = 0 'Flat + BackColor = &H80000005& + BorderStyle = 1 'Fixed Single + ForeColor = &H80000008& + Height = 255 + Index = 8 + Left = 2520 + TabIndex = 70 + Top = 5640 + Width = 1935 + End + Begin VB.Label LabelLine + Appearance = 0 'Flat + BackColor = &H80000005& + BorderStyle = 1 'Fixed Single + ForeColor = &H80000008& + Height = 255 + Index = 7 + Left = 2520 + TabIndex = 69 + Top = 5400 + Width = 1935 + End + Begin VB.Label LabelLine + Appearance = 0 'Flat + BackColor = &H80000005& + BorderStyle = 1 'Fixed Single + ForeColor = &H80000008& + Height = 255 + Index = 6 + Left = 2520 + TabIndex = 68 + Top = 5160 + Width = 1935 + End + Begin VB.Label LabelLine + Appearance = 0 'Flat + BackColor = &H80000005& + BorderStyle = 1 'Fixed Single + ForeColor = &H80000008& + Height = 255 + Index = 5 + Left = 2520 + TabIndex = 67 + Top = 4920 + Width = 1935 + End + Begin VB.Label LabelLine + Appearance = 0 'Flat + BackColor = &H80000005& + BorderStyle = 1 'Fixed Single + ForeColor = &H80000008& + Height = 255 + Index = 4 + Left = 2520 + TabIndex = 66 + Top = 4680 + Width = 1935 + End + Begin VB.Label LabelLine + Appearance = 0 'Flat + BackColor = &H80000005& + BorderStyle = 1 'Fixed Single + ForeColor = &H80000008& + Height = 255 + Index = 3 + Left = 2520 + TabIndex = 65 + Top = 4440 + Width = 1935 + End + Begin VB.Label LabelLine + Appearance = 0 'Flat + BackColor = &H80000005& + BorderStyle = 1 'Fixed Single + ForeColor = &H80000008& + Height = 255 + Index = 2 + Left = 2520 + TabIndex = 64 + Top = 4200 + Width = 1935 + End + Begin VB.Label LabelLine + Appearance = 0 'Flat + BackColor = &H80000005& + BorderStyle = 1 'Fixed Single + ForeColor = &H80000008& + Height = 255 + Index = 1 + Left = 2520 + TabIndex = 63 + Top = 3960 + Width = 1935 + End + Begin VB.Label LabelLine + Appearance = 0 'Flat + BackColor = &H80000005& + BorderStyle = 1 'Fixed Single + ForeColor = &H80000008& + Height = 255 + Index = 0 + Left = 2520 + TabIndex = 62 + Top = 3720 + Width = 1935 + End + Begin VB.Label LabelRespons + Appearance = 0 'Flat + BackColor = &H80000005& + BorderStyle = 1 'Fixed Single + ForeColor = &H80000008& + Height = 1935 + Left = 240 + TabIndex = 61 + Top = 4440 + Width = 1935 + End + Begin VB.Label Label36 + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "Line0:" + ForeColor = &H80000008& + Height = 255 + Left = 1800 + TabIndex = 60 + Top = 3720 + Width = 495 + End + Begin VB.Label LabelData + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Index = 23 + Left = 9360 + TabIndex = 58 + Top = 6000 + Width = 975 + End + Begin VB.Label LabelData + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Index = 22 + Left = 9360 + TabIndex = 57 + Top = 5760 + Width = 975 + End + Begin VB.Label LabelData + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Index = 21 + Left = 9360 + TabIndex = 56 + Top = 5520 + Width = 975 + End + Begin VB.Label LabelData + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Index = 20 + Left = 9360 + TabIndex = 55 + Top = 5280 + Width = 975 + End + Begin VB.Label LabelData + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Index = 19 + Left = 9360 + TabIndex = 54 + Top = 5040 + Width = 975 + End + Begin VB.Label LabelData + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Index = 18 + Left = 9360 + TabIndex = 53 + Top = 4800 + Width = 975 + End + Begin VB.Label LabelData + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Index = 17 + Left = 9360 + TabIndex = 52 + Top = 4560 + Width = 975 + End + Begin VB.Label LabelData + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Index = 16 + Left = 9360 + TabIndex = 51 + Top = 4320 + Width = 975 + End + Begin VB.Label LabelData + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Index = 15 + Left = 9360 + TabIndex = 50 + Top = 4080 + Width = 975 + End + Begin VB.Label LabelData + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Index = 14 + Left = 9360 + TabIndex = 49 + Top = 3840 + Width = 975 + End + Begin VB.Label LabelData + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Index = 13 + Left = 9360 + TabIndex = 48 + Top = 3600 + Width = 975 + End + Begin VB.Label LabelData + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Index = 12 + Left = 9360 + TabIndex = 47 + Top = 3360 + Width = 975 + End + Begin VB.Label LabelData + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Index = 11 + Left = 9360 + TabIndex = 46 + Top = 3120 + Width = 975 + End + Begin VB.Label LabelData + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Index = 10 + Left = 9360 + TabIndex = 45 + Top = 2880 + Width = 975 + End + Begin VB.Label LabelData + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Index = 9 + Left = 9360 + TabIndex = 44 + Top = 2640 + Width = 975 + End + Begin VB.Label LabelData + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Index = 8 + Left = 9360 + TabIndex = 41 + Top = 2400 + Width = 975 + End + Begin VB.Label LabelData + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Index = 7 + Left = 9360 + TabIndex = 40 + Top = 2160 + Width = 975 + End + Begin VB.Label LabelData + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Index = 6 + Left = 9360 + TabIndex = 39 + Top = 1920 + Width = 975 + End + Begin VB.Label LabelData + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Index = 5 + Left = 9360 + TabIndex = 38 + Top = 1680 + Width = 975 + End + Begin VB.Label LabelData + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Index = 4 + Left = 9360 + TabIndex = 37 + Top = 1440 + Width = 975 + End + Begin VB.Label LabelData + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Index = 3 + Left = 9360 + TabIndex = 36 + Top = 1200 + Width = 975 + End + Begin VB.Label LabelData + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Index = 2 + Left = 9360 + TabIndex = 35 + Top = 960 + Width = 975 + End + Begin VB.Label LabelData + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Index = 1 + Left = 9360 + TabIndex = 34 + Top = 720 + Width = 975 + End + Begin VB.Label LabelData + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Index = 0 + Left = 9360 + TabIndex = 33 + Top = 480 + Width = 975 + End + Begin VB.Label LabelCalpoints + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Left = 7560 + TabIndex = 32 + Top = 1920 + Width = 975 + End + Begin VB.Label Label34 + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "Calpoints:" + ForeColor = &H80000008& + Height = 255 + Left = 6360 + TabIndex = 31 + Top = 1920 + Width = 1095 + End + Begin VB.Label LabelActive + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Left = 7560 + TabIndex = 30 + Top = 3120 + Width = 975 + End + Begin VB.Label Label33 + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "Active:" + ForeColor = &H80000008& + Height = 255 + Left = 6360 + TabIndex = 29 + Top = 3120 + Width = 1095 + End + Begin VB.Label LabelCaluse + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Left = 7560 + TabIndex = 28 + Top = 1680 + Width = 975 + End + Begin VB.Label Label31 + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "Caluse:" + ForeColor = &H80000008& + Height = 255 + Left = 6360 + TabIndex = 27 + Top = 1680 + Width = 1095 + End + Begin VB.Label LabelNregions + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Left = 7560 + TabIndex = 26 + Top = 1440 + Width = 975 + End + Begin VB.Label Label30 + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "Nregions:" + ForeColor = &H80000008& + Height = 255 + Left = 6360 + TabIndex = 25 + Top = 1440 + Width = 1095 + End + Begin VB.Label LabelRoimin + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Left = 7560 + TabIndex = 24 + Top = 960 + Width = 975 + End + Begin VB.Label Label15 + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "Roimin:" + ForeColor = &H80000008& + Height = 255 + Left = 6360 + TabIndex = 23 + Top = 960 + Width = 1095 + End + Begin VB.Label LabelCftfak + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Left = 7560 + TabIndex = 22 + Top = 720 + Width = 975 + End + Begin VB.Label Label13 + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "Cftfak:" + ForeColor = &H80000008& + Height = 255 + Left = 6360 + TabIndex = 21 + Top = 720 + Width = 1095 + End + Begin VB.Label LabelRange + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Left = 7560 + TabIndex = 20 + Top = 480 + Width = 975 + End + Begin VB.Label Label12 + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "Range:" + ForeColor = &H80000008& + Height = 255 + Left = 6360 + TabIndex = 19 + Top = 480 + Width = 1095 + End + Begin VB.Label Label10 + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "Spectra#" + ForeColor = &H80000008& + Height = 255 + Left = 4680 + TabIndex = 16 + Top = 120 + Width = 855 + End + Begin VB.Label LabelStarts + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Left = 2760 + TabIndex = 14 + Top = 1200 + Width = 975 + End + Begin VB.Label Label5 + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "Starts:" + ForeColor = &H80000008& + Height = 255 + Left = 1800 + TabIndex = 13 + Top = 1200 + Width = 855 + End + Begin VB.Label LabelStarted + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Left = 2760 + TabIndex = 12 + Top = 480 + Width = 975 + End + Begin VB.Label Label4 + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "Started:" + ForeColor = &H80000008& + Height = 255 + Left = 1800 + TabIndex = 11 + Top = 480 + Width = 855 + End + Begin VB.Label LabelRuntime + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Left = 2760 + TabIndex = 6 + Top = 720 + Width = 975 + End + Begin VB.Label Label3 + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "Runtime:" + ForeColor = &H80000008& + Height = 255 + Left = 1800 + TabIndex = 5 + Top = 720 + Width = 855 + End + Begin VB.Label LabelSweeps + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "0" + ForeColor = &H80000008& + Height = 255 + Left = 2760 + TabIndex = 4 + Top = 960 + Width = 975 + End + Begin VB.Label Label2 + Appearance = 0 'Flat + BackColor = &H80000005& + Caption = "Sweeps:" + ForeColor = &H80000008& + Height = 255 + Left = 1800 + TabIndex = 3 + Top = 960 + Width = 855 + End +End +Attribute VB_Name = "Form1" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = False +Dim Status As Acqstatus +Dim Setting As Acqsetting +Dim Dsetting As Datsetting +Dim OldStarted As Integer +Dim Mcano As Long +Dim Sysno As Long +Dim Chan As Long +Dim Hist(24) As Long +Dim Toggle As Integer + + +Private Sub CommandContinue_Click() + Call Continue(0) +End Sub + +Private Sub CommandDatasettings_Click() + Call GetDatSetting(Dsetting) + LabelSavedata.Caption = Dsetting.SaveData + LabelAutoinc.Caption = Dsetting.Autoinc + LabelFmt.Caption = Dsetting.Fmt + LabelMpafmt.Caption = Dsetting.Mpafmt + LabelSephead.Caption = Dsetting.Sephead + LabelSmpts.Caption = Dsetting.Smpts + LabelAddcal.Caption = Dsetting.Caluse + LabelMpafilename.Caption = Dsetting.Filename + Labelspecfile.Caption = Dsetting.Specfile + LabelCommand.Caption = Dsetting.Command +End Sub + +Private Sub CommandErase_Click() + Call EraseData(0) +End Sub + +Private Sub CommandExecute_Click() + Dim a As String * 1024 + Mid$(a, 1) = TextCommand.Text + Call RunCmd(0, a) + LabelRespons.Caption = a + Mcano = Val(TextMC.Text) + Ret = GetStatus(Mcano) + Ret = GetStatusData(Status, 0) + Call UpdateMpStatus + Ret = GetStatusData(Status, Mcano) + Call UpdateStatus +End Sub + +Private Sub CommandGetspec_Click() + Mcano = Val(TextMC.Text) + Chan = Val(TextChan.Text) + Call GetBlock(Hist(0), Chan, Chan + 24, 1, Mcano) + For I = 0 To 23 Step 1 + LabelData(I).Caption = Hist(I) + Next I +End Sub + +Private Sub CommandGetstring_Click() + Dim b As String * 1024 + Mcano = Val(TextMC.Text) + Ret = LVGetStr(b, Mcano) + LabelLine(0).Caption = Mid$(b, 1, 60) + LabelLine(1).Caption = Mid$(b, 61, 60) + LabelLine(2).Caption = Mid$(b, 121, 60) + LabelLine(3).Caption = Mid$(b, 181, 60) + LabelLine(4).Caption = Mid$(b, 241, 60) + LabelLine(5).Caption = Mid$(b, 301, 60) + LabelLine(6).Caption = Mid$(b, 361, 60) + LabelLine(7).Caption = Mid$(b, 421, 60) + LabelLine(8).Caption = Mid$(b, 481, 60) + LabelLine(9).Caption = Mid$(b, 541, 60) + LabelLine(10).Caption = Mid$(b, 601, 60) + LabelLine(11).Caption = Mid$(b, 881, 60) + LabelLine(12).Caption = Mid$(b, 961, 60) + LabelLine(13).Caption = Mid$(b, 661, 100) +End Sub + +Private Sub CommandHalt_Click() + Call Halt(0) +End Sub + + +Private Sub CommandSave_Click() + Call SaveData(0, 1) +End Sub + +Private Sub CommandSetting_Click() + Mcano = Val(TextMC.Text) + If GetSettingData(Setting, Mcano) = 1 Then + Call UpdateSetting + End If +End Sub + +Private Sub CommandStart_Click() + Call Start(0) +End Sub + +Private Sub CommandUpdate_Click() + Mcano = Val(TextMC.Text) + Ret = GetStatus(Mcano) + If GetStatusData(Status, Mcano) = 1 Then + Call UpdateStatus + End If +End Sub + +Private Sub Form_Load() + OldStarted = 0 + Mcano = 0 + Sysno = 0 + Chan = 0 + Ret = ServExec(0) + Ret = GetStatus(0) + Ret = GetStatusData(Status, 0) + Call UpdateMpStatus + Ret = GetStatusData(Status, Mcano) + Call UpdateStatus + Ret = GetSettingData(Setting, 0) + Call UpdateSetting +End Sub + + + + +Private Sub Timer1_Timer() + Mcano = Val(TextMC.Text) + Ret = GetStatus(0) + If GetStatusData(Status, 0) = 1 Then + If Status.Val > 0 Or OldStarted > 0 Then + Toggle = Not Toggle + OldStarted = Status.Val + Call UpdateMpStatus + If GetStatusData(Status, Mcano) = 1 Then + Call UpdateStatus + End If + End If + End If +End Sub + +Private Sub UpdateMpStatus() + LabelStarted.Caption = Status.Val + LabelRuntime.Caption = Status.Cnt(0) + LabelSweeps.Caption = Status.Cnt(5) + LabelStarts.Caption = Status.Cnt(6) +End Sub + +Private Sub UpdateStatus() + LabelMaxval.Caption = Status.Val1 + LabelOfls.Caption = Status.Cnt(1) + LabelTotalsum.Caption = Status.Cnt(2) + LabelRoisum.Caption = Status.Cnt(3) + LabelTotalrate.Caption = Format$(Status.Cnt(4), "######0.0#") +End Sub + +Private Sub UpdateSetting() + LabelRange.Caption = Setting.Range + LabelCftfak.Caption = Setting.Cftfak + LabelRoimin.Caption = Setting.Roimin + LabelRoimax.Caption = Setting.Roimax + LabelNregions.Caption = Setting.Nregions + LabelCaluse.Caption = Setting.Caluse + LabelCalpoints.Caption = Setting.Calpoints + LabelParam.Caption = Setting.Param + LabelOffset.Caption = Setting.Offset + LabelXdim.Caption = Setting.Xdim + LabelBitshift.Caption = Setting.Bitshift + LabelActive.Caption = Setting.Active + LabelRoipreset.Caption = Setting.Roipreset +End Sub + diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/vb/FORM1.FRX b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb/FORM1.FRX new file mode 100644 index 0000000..4333379 Binary files /dev/null and b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb/FORM1.FRX differ diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/vb/MCS6.ICO b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb/MCS6.ICO new file mode 100644 index 0000000..3c71a64 Binary files /dev/null and b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb/MCS6.ICO differ diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo.exe b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo.exe new file mode 100644 index 0000000..6ce80fd Binary files /dev/null and b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo.exe differ diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo.sln b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo.sln new file mode 100644 index 0000000..c5b7b9c --- /dev/null +++ b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo.sln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 10.00 +# Visual Studio 2008 +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "mcs6ademo", "mcs6ademo\mcs6ademo.vbproj", "{D0EF4D10-01B0-4F76-8C8C-103D0FD9BA58}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {D0EF4D10-01B0-4F76-8C8C-103D0FD9BA58}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D0EF4D10-01B0-4F76-8C8C-103D0FD9BA58}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D0EF4D10-01B0-4F76-8C8C-103D0FD9BA58}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D0EF4D10-01B0-4F76-8C8C-103D0FD9BA58}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo/Form1.Designer.vb b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo/Form1.Designer.vb new file mode 100644 index 0000000..2d87507 --- /dev/null +++ b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo/Form1.Designer.vb @@ -0,0 +1,1988 @@ + _ +Partial Class Form1 + Inherits System.Windows.Forms.Form + + 'Form overrides dispose to clean up the component list. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(Form1)) + Me.LabelCommand = New System.Windows.Forms.Label + Me.Label40 = New System.Windows.Forms.Label + Me.LabelSpecfile = New System.Windows.Forms.Label + Me.Label41 = New System.Windows.Forms.Label + Me.LabelMpafilename = New System.Windows.Forms.Label + Me.Label37 = New System.Windows.Forms.Label + Me.CommandDatasettings = New System.Windows.Forms.Button + Me.TextChan = New System.Windows.Forms.TextBox + Me.CommandGetspec = New System.Windows.Forms.Button + Me.LabelCalpoints = New System.Windows.Forms.Label + Me.Label35 = New System.Windows.Forms.Label + Me.LabelActive = New System.Windows.Forms.Label + Me.Label34 = New System.Windows.Forms.Label + Me.LabelSmpts = New System.Windows.Forms.Label + Me.Label33 = New System.Windows.Forms.Label + Me.LabelCaluse = New System.Windows.Forms.Label + Me.Label32 = New System.Windows.Forms.Label + Me.LabelNregions = New System.Windows.Forms.Label + Me.Label31 = New System.Windows.Forms.Label + Me.LabelSephead = New System.Windows.Forms.Label + Me.Label29 = New System.Windows.Forms.Label + Me.LabelMpafmt = New System.Windows.Forms.Label + Me.Label28 = New System.Windows.Forms.Label + Me.LabelBitshift = New System.Windows.Forms.Label + Me.Label25 = New System.Windows.Forms.Label + Me.LabelXdim = New System.Windows.Forms.Label + Me.Label24 = New System.Windows.Forms.Label + Me.LabelOffset = New System.Windows.Forms.Label + Me.Label23 = New System.Windows.Forms.Label + Me.LabelParam = New System.Windows.Forms.Label + Me.Label22 = New System.Windows.Forms.Label + Me.LabelAutoinc = New System.Windows.Forms.Label + Me.Label21 = New System.Windows.Forms.Label + Me.LabelFmt = New System.Windows.Forms.Label + Me.Label20 = New System.Windows.Forms.Label + Me.LabelSavedata = New System.Windows.Forms.Label + Me.Label19 = New System.Windows.Forms.Label + Me.LabelAddcal = New System.Windows.Forms.Label + Me.Label18 = New System.Windows.Forms.Label + Me.LabelEventpreset = New System.Windows.Forms.Label + Me.Label17 = New System.Windows.Forms.Label + Me.LabelRoimax = New System.Windows.Forms.Label + Me.Label16 = New System.Windows.Forms.Label + Me.LabelRoimin = New System.Windows.Forms.Label + Me.Label36 = New System.Windows.Forms.Label + Me.LabelCftfak = New System.Windows.Forms.Label + Me.Label38 = New System.Windows.Forms.Label + Me.LabelRange = New System.Windows.Forms.Label + Me.Label39 = New System.Windows.Forms.Label + Me.CommandSetting = New System.Windows.Forms.Button + Me.LabelMaxval = New System.Windows.Forms.Label + Me.Label2 = New System.Windows.Forms.Label + Me.LabelLine13 = New System.Windows.Forms.Label + Me.LabelLine12 = New System.Windows.Forms.Label + Me.LabelLine11 = New System.Windows.Forms.Label + Me.LabelLine10 = New System.Windows.Forms.Label + Me.LabelLine9 = New System.Windows.Forms.Label + Me.LabelLine8 = New System.Windows.Forms.Label + Me.LabelLine7 = New System.Windows.Forms.Label + Me.LabelLine6 = New System.Windows.Forms.Label + Me.LabelLine5 = New System.Windows.Forms.Label + Me.LabelLine4 = New System.Windows.Forms.Label + Me.LabelLine3 = New System.Windows.Forms.Label + Me.LabelLine2 = New System.Windows.Forms.Label + Me.LabelLine1 = New System.Windows.Forms.Label + Me.LabelLine0 = New System.Windows.Forms.Label + Me.CommandGetstring = New System.Windows.Forms.Button + Me.LabelSweeps = New System.Windows.Forms.Label + Me.Label9 = New System.Windows.Forms.Label + Me.LabelRoirate = New System.Windows.Forms.Label + Me.Label8 = New System.Windows.Forms.Label + Me.LabelRoisum = New System.Windows.Forms.Label + Me.Label7 = New System.Windows.Forms.Label + Me.LabelTotalsum = New System.Windows.Forms.Label + Me.Label6 = New System.Windows.Forms.Label + Me.LabelOfls = New System.Windows.Forms.Label + Me.Label5 = New System.Windows.Forms.Label + Me.LabelRuntime = New System.Windows.Forms.Label + Me.Label4 = New System.Windows.Forms.Label + Me.LabelStarted = New System.Windows.Forms.Label + Me.Label3 = New System.Windows.Forms.Label + Me.CommandUpdate = New System.Windows.Forms.Button + Me.TextRespons = New System.Windows.Forms.TextBox + Me.TextCommand = New System.Windows.Forms.TextBox + Me.CommandExecute = New System.Windows.Forms.Button + Me.CommandSave = New System.Windows.Forms.Button + Me.CommandErase = New System.Windows.Forms.Button + Me.CommandContinue = New System.Windows.Forms.Button + Me.CommandHalt = New System.Windows.Forms.Button + Me.Label1 = New System.Windows.Forms.Label + Me.CommandStart = New System.Windows.Forms.Button + Me.TextMC = New System.Windows.Forms.TextBox + Me.LabelData23 = New System.Windows.Forms.Label + Me.LabelData22 = New System.Windows.Forms.Label + Me.LabelData21 = New System.Windows.Forms.Label + Me.LabelData20 = New System.Windows.Forms.Label + Me.LabelData19 = New System.Windows.Forms.Label + Me.LabelData18 = New System.Windows.Forms.Label + Me.LabelData17 = New System.Windows.Forms.Label + Me.LabelData16 = New System.Windows.Forms.Label + Me.LabelData15 = New System.Windows.Forms.Label + Me.LabelData14 = New System.Windows.Forms.Label + Me.LabelData13 = New System.Windows.Forms.Label + Me.LabelData12 = New System.Windows.Forms.Label + Me.LabelData11 = New System.Windows.Forms.Label + Me.LabelData10 = New System.Windows.Forms.Label + Me.LabelData9 = New System.Windows.Forms.Label + Me.LabelData8 = New System.Windows.Forms.Label + Me.LabelData7 = New System.Windows.Forms.Label + Me.LabelData6 = New System.Windows.Forms.Label + Me.LabelData5 = New System.Windows.Forms.Label + Me.LabelData4 = New System.Windows.Forms.Label + Me.LabelData3 = New System.Windows.Forms.Label + Me.LabelData2 = New System.Windows.Forms.Label + Me.LabelData1 = New System.Windows.Forms.Label + Me.LabelData0 = New System.Windows.Forms.Label + Me.Label10 = New System.Windows.Forms.Label + Me.LabelStarts = New System.Windows.Forms.Label + Me.Label11 = New System.Windows.Forms.Label + Me.LabelSweepmode = New System.Windows.Forms.Label + Me.Label12 = New System.Windows.Forms.Label + Me.LabelPrena = New System.Windows.Forms.Label + Me.Label13 = New System.Windows.Forms.Label + Me.LabelCycles = New System.Windows.Forms.Label + Me.Label14 = New System.Windows.Forms.Label + Me.LabelSequences = New System.Windows.Forms.Label + Me.Label15 = New System.Windows.Forms.Label + Me.LabelSyncout = New System.Windows.Forms.Label + Me.Label26 = New System.Windows.Forms.Label + Me.LabelDigio = New System.Windows.Forms.Label + Me.Label27 = New System.Windows.Forms.Label + Me.LabelDigval = New System.Windows.Forms.Label + Me.Label30 = New System.Windows.Forms.Label + Me.LabelDac0 = New System.Windows.Forms.Label + Me.Label42 = New System.Windows.Forms.Label + Me.LabelDac1 = New System.Windows.Forms.Label + Me.Label43 = New System.Windows.Forms.Label + Me.LabelDac2 = New System.Windows.Forms.Label + Me.Label44 = New System.Windows.Forms.Label + Me.LabelDac3 = New System.Windows.Forms.Label + Me.Label45 = New System.Windows.Forms.Label + Me.LabelDac4 = New System.Windows.Forms.Label + Me.Label46 = New System.Windows.Forms.Label + Me.LabelDac5 = New System.Windows.Forms.Label + Me.Label47 = New System.Windows.Forms.Label + Me.LabelFdac = New System.Windows.Forms.Label + Me.Label48 = New System.Windows.Forms.Label + Me.LabelTagbits = New System.Windows.Forms.Label + Me.Label49 = New System.Windows.Forms.Label + Me.LabelExtclk = New System.Windows.Forms.Label + Me.Label50 = New System.Windows.Forms.Label + Me.LabelSerno = New System.Windows.Forms.Label + Me.Label51 = New System.Windows.Forms.Label + Me.LabelDdruse = New System.Windows.Forms.Label + Me.Label52 = New System.Windows.Forms.Label + Me.LabelHoldafter = New System.Windows.Forms.Label + Me.Label53 = New System.Windows.Forms.Label + Me.LabelSwpreset = New System.Windows.Forms.Label + Me.Label55 = New System.Windows.Forms.Label + Me.LabelFstchan = New System.Windows.Forms.Label + Me.Label56 = New System.Windows.Forms.Label + Me.LabelTimepreset = New System.Windows.Forms.Label + Me.Timer1 = New System.Windows.Forms.Timer(Me.components) + Me.SuspendLayout() + ' + 'LabelCommand + ' + Me.LabelCommand.AutoSize = True + Me.LabelCommand.Location = New System.Drawing.Point(677, 513) + Me.LabelCommand.Name = "LabelCommand" + Me.LabelCommand.Size = New System.Drawing.Size(67, 13) + Me.LabelCommand.TabIndex = 314 + Me.LabelCommand.Text = " _" + ' + 'Label40 + ' + Me.Label40.AutoSize = True + Me.Label40.Location = New System.Drawing.Point(602, 513) + Me.Label40.Name = "Label40" + Me.Label40.Size = New System.Drawing.Size(57, 13) + Me.Label40.TabIndex = 313 + Me.Label40.Text = "Command:" + ' + 'LabelSpecfile + ' + Me.LabelSpecfile.AutoSize = True + Me.LabelSpecfile.Location = New System.Drawing.Point(677, 500) + Me.LabelSpecfile.Name = "LabelSpecfile" + Me.LabelSpecfile.Size = New System.Drawing.Size(67, 13) + Me.LabelSpecfile.TabIndex = 312 + Me.LabelSpecfile.Text = " _" + ' + 'Label41 + ' + Me.Label41.AutoSize = True + Me.Label41.Location = New System.Drawing.Point(602, 500) + Me.Label41.Name = "Label41" + Me.Label41.Size = New System.Drawing.Size(48, 13) + Me.Label41.TabIndex = 311 + Me.Label41.Text = "Specfile:" + ' + 'LabelMpafilename + ' + Me.LabelMpafilename.AutoSize = True + Me.LabelMpafilename.Location = New System.Drawing.Point(677, 487) + Me.LabelMpafilename.Name = "LabelMpafilename" + Me.LabelMpafilename.Size = New System.Drawing.Size(67, 13) + Me.LabelMpafilename.TabIndex = 310 + Me.LabelMpafilename.Text = " _" + ' + 'Label37 + ' + Me.Label37.AutoSize = True + Me.Label37.Location = New System.Drawing.Point(602, 487) + Me.Label37.Name = "Label37" + Me.Label37.Size = New System.Drawing.Size(52, 13) + Me.Label37.TabIndex = 309 + Me.Label37.Text = "Filename:" + ' + 'CommandDatasettings + ' + Me.CommandDatasettings.Location = New System.Drawing.Point(595, 371) + Me.CommandDatasettings.Name = "CommandDatasettings" + Me.CommandDatasettings.Size = New System.Drawing.Size(139, 24) + Me.CommandDatasettings.TabIndex = 308 + Me.CommandDatasettings.Text = "Get Datasettings" + Me.CommandDatasettings.UseVisualStyleBackColor = True + ' + 'TextChan + ' + Me.TextChan.Location = New System.Drawing.Point(595, 41) + Me.TextChan.Name = "TextChan" + Me.TextChan.Size = New System.Drawing.Size(48, 20) + Me.TextChan.TabIndex = 307 + Me.TextChan.Text = "0" + ' + 'CommandGetspec + ' + Me.CommandGetspec.Location = New System.Drawing.Point(595, 12) + Me.CommandGetspec.Name = "CommandGetspec" + Me.CommandGetspec.Size = New System.Drawing.Size(139, 24) + Me.CommandGetspec.TabIndex = 306 + Me.CommandGetspec.Text = "Get Spectrum" + Me.CommandGetspec.UseVisualStyleBackColor = True + ' + 'LabelCalpoints + ' + Me.LabelCalpoints.AutoSize = True + Me.LabelCalpoints.Location = New System.Drawing.Point(501, 124) + Me.LabelCalpoints.Name = "LabelCalpoints" + Me.LabelCalpoints.Size = New System.Drawing.Size(67, 13) + Me.LabelCalpoints.TabIndex = 305 + Me.LabelCalpoints.Text = " 0" + ' + 'Label35 + ' + Me.Label35.AutoSize = True + Me.Label35.Location = New System.Drawing.Point(426, 124) + Me.Label35.Name = "Label35" + Me.Label35.Size = New System.Drawing.Size(53, 13) + Me.Label35.TabIndex = 304 + Me.Label35.Text = "Calpoints:" + ' + 'LabelActive + ' + Me.LabelActive.AutoSize = True + Me.LabelActive.Location = New System.Drawing.Point(501, 189) + Me.LabelActive.Name = "LabelActive" + Me.LabelActive.Size = New System.Drawing.Size(67, 13) + Me.LabelActive.TabIndex = 303 + Me.LabelActive.Text = " 0" + ' + 'Label34 + ' + Me.Label34.AutoSize = True + Me.Label34.Location = New System.Drawing.Point(426, 189) + Me.Label34.Name = "Label34" + Me.Label34.Size = New System.Drawing.Size(40, 13) + Me.Label34.TabIndex = 302 + Me.Label34.Text = "Active:" + ' + 'LabelSmpts + ' + Me.LabelSmpts.AutoSize = True + Me.LabelSmpts.Location = New System.Drawing.Point(677, 461) + Me.LabelSmpts.Name = "LabelSmpts" + Me.LabelSmpts.Size = New System.Drawing.Size(67, 13) + Me.LabelSmpts.TabIndex = 301 + Me.LabelSmpts.Text = " 0" + ' + 'Label33 + ' + Me.Label33.AutoSize = True + Me.Label33.Location = New System.Drawing.Point(602, 461) + Me.Label33.Name = "Label33" + Me.Label33.Size = New System.Drawing.Size(39, 13) + Me.Label33.TabIndex = 300 + Me.Label33.Text = "Smpts:" + ' + 'LabelCaluse + ' + Me.LabelCaluse.AutoSize = True + Me.LabelCaluse.Location = New System.Drawing.Point(501, 110) + Me.LabelCaluse.Name = "LabelCaluse" + Me.LabelCaluse.Size = New System.Drawing.Size(67, 13) + Me.LabelCaluse.TabIndex = 299 + Me.LabelCaluse.Text = " 0" + ' + 'Label32 + ' + Me.Label32.AutoSize = True + Me.Label32.Location = New System.Drawing.Point(426, 110) + Me.Label32.Name = "Label32" + Me.Label32.Size = New System.Drawing.Size(42, 13) + Me.Label32.TabIndex = 298 + Me.Label32.Text = "Caluse:" + ' + 'LabelNregions + ' + Me.LabelNregions.AutoSize = True + Me.LabelNregions.Location = New System.Drawing.Point(501, 97) + Me.LabelNregions.Name = "LabelNregions" + Me.LabelNregions.Size = New System.Drawing.Size(67, 13) + Me.LabelNregions.TabIndex = 297 + Me.LabelNregions.Text = " 0" + ' + 'Label31 + ' + Me.Label31.AutoSize = True + Me.Label31.Location = New System.Drawing.Point(426, 97) + Me.Label31.Name = "Label31" + Me.Label31.Size = New System.Drawing.Size(52, 13) + Me.Label31.TabIndex = 296 + Me.Label31.Text = "Nregions:" + ' + 'LabelSephead + ' + Me.LabelSephead.AutoSize = True + Me.LabelSephead.Location = New System.Drawing.Point(677, 448) + Me.LabelSephead.Name = "LabelSephead" + Me.LabelSephead.Size = New System.Drawing.Size(67, 13) + Me.LabelSephead.TabIndex = 293 + Me.LabelSephead.Text = " 0" + ' + 'Label29 + ' + Me.Label29.AutoSize = True + Me.Label29.Location = New System.Drawing.Point(602, 448) + Me.Label29.Name = "Label29" + Me.Label29.Size = New System.Drawing.Size(53, 13) + Me.Label29.TabIndex = 292 + Me.Label29.Text = "Sephead:" + ' + 'LabelMpafmt + ' + Me.LabelMpafmt.AutoSize = True + Me.LabelMpafmt.Location = New System.Drawing.Point(677, 435) + Me.LabelMpafmt.Name = "LabelMpafmt" + Me.LabelMpafmt.Size = New System.Drawing.Size(67, 13) + Me.LabelMpafmt.TabIndex = 291 + Me.LabelMpafmt.Text = " 0" + ' + 'Label28 + ' + Me.Label28.AutoSize = True + Me.Label28.Location = New System.Drawing.Point(602, 435) + Me.Label28.Name = "Label28" + Me.Label28.Size = New System.Drawing.Size(45, 13) + Me.Label28.TabIndex = 290 + Me.Label28.Text = "Mpafmt:" + ' + 'LabelBitshift + ' + Me.LabelBitshift.AutoSize = True + Me.LabelBitshift.Location = New System.Drawing.Point(501, 176) + Me.LabelBitshift.Name = "LabelBitshift" + Me.LabelBitshift.Size = New System.Drawing.Size(67, 13) + Me.LabelBitshift.TabIndex = 285 + Me.LabelBitshift.Text = " 0" + ' + 'Label25 + ' + Me.Label25.AutoSize = True + Me.Label25.Location = New System.Drawing.Point(426, 176) + Me.Label25.Name = "Label25" + Me.Label25.Size = New System.Drawing.Size(41, 13) + Me.Label25.TabIndex = 284 + Me.Label25.Text = "Bitshift:" + ' + 'LabelXdim + ' + Me.LabelXdim.AutoSize = True + Me.LabelXdim.Location = New System.Drawing.Point(501, 163) + Me.LabelXdim.Name = "LabelXdim" + Me.LabelXdim.Size = New System.Drawing.Size(67, 13) + Me.LabelXdim.TabIndex = 283 + Me.LabelXdim.Text = " 0" + ' + 'Label24 + ' + Me.Label24.AutoSize = True + Me.Label24.Location = New System.Drawing.Point(426, 163) + Me.Label24.Name = "Label24" + Me.Label24.Size = New System.Drawing.Size(33, 13) + Me.Label24.TabIndex = 282 + Me.Label24.Text = "Xdim:" + ' + 'LabelOffset + ' + Me.LabelOffset.AutoSize = True + Me.LabelOffset.Location = New System.Drawing.Point(501, 150) + Me.LabelOffset.Name = "LabelOffset" + Me.LabelOffset.Size = New System.Drawing.Size(67, 13) + Me.LabelOffset.TabIndex = 281 + Me.LabelOffset.Text = " 0" + ' + 'Label23 + ' + Me.Label23.AutoSize = True + Me.Label23.Location = New System.Drawing.Point(426, 150) + Me.Label23.Name = "Label23" + Me.Label23.Size = New System.Drawing.Size(38, 13) + Me.Label23.TabIndex = 280 + Me.Label23.Text = "Offset:" + ' + 'LabelParam + ' + Me.LabelParam.AutoSize = True + Me.LabelParam.Location = New System.Drawing.Point(501, 137) + Me.LabelParam.Name = "LabelParam" + Me.LabelParam.Size = New System.Drawing.Size(67, 13) + Me.LabelParam.TabIndex = 279 + Me.LabelParam.Text = " 0" + ' + 'Label22 + ' + Me.Label22.AutoSize = True + Me.Label22.Location = New System.Drawing.Point(426, 137) + Me.Label22.Name = "Label22" + Me.Label22.Size = New System.Drawing.Size(40, 13) + Me.Label22.TabIndex = 278 + Me.Label22.Text = "Param:" + ' + 'LabelAutoinc + ' + Me.LabelAutoinc.AutoSize = True + Me.LabelAutoinc.Location = New System.Drawing.Point(677, 409) + Me.LabelAutoinc.Name = "LabelAutoinc" + Me.LabelAutoinc.Size = New System.Drawing.Size(67, 13) + Me.LabelAutoinc.TabIndex = 277 + Me.LabelAutoinc.Text = " 0" + ' + 'Label21 + ' + Me.Label21.AutoSize = True + Me.Label21.Location = New System.Drawing.Point(602, 409) + Me.Label21.Name = "Label21" + Me.Label21.Size = New System.Drawing.Size(46, 13) + Me.Label21.TabIndex = 276 + Me.Label21.Text = "Autoinc:" + ' + 'LabelFmt + ' + Me.LabelFmt.AutoSize = True + Me.LabelFmt.Location = New System.Drawing.Point(677, 422) + Me.LabelFmt.Name = "LabelFmt" + Me.LabelFmt.Size = New System.Drawing.Size(67, 13) + Me.LabelFmt.TabIndex = 275 + Me.LabelFmt.Text = " 0" + ' + 'Label20 + ' + Me.Label20.AutoSize = True + Me.Label20.Location = New System.Drawing.Point(602, 422) + Me.Label20.Name = "Label20" + Me.Label20.Size = New System.Drawing.Size(27, 13) + Me.Label20.TabIndex = 274 + Me.Label20.Text = "Fmt:" + ' + 'LabelSavedata + ' + Me.LabelSavedata.AutoSize = True + Me.LabelSavedata.Location = New System.Drawing.Point(677, 396) + Me.LabelSavedata.Name = "LabelSavedata" + Me.LabelSavedata.Size = New System.Drawing.Size(67, 13) + Me.LabelSavedata.TabIndex = 273 + Me.LabelSavedata.Text = " 0" + ' + 'Label19 + ' + Me.Label19.AutoSize = True + Me.Label19.Location = New System.Drawing.Point(602, 396) + Me.Label19.Name = "Label19" + Me.Label19.Size = New System.Drawing.Size(56, 13) + Me.Label19.TabIndex = 272 + Me.Label19.Text = "Savedata:" + ' + 'LabelAddcal + ' + Me.LabelAddcal.AutoSize = True + Me.LabelAddcal.Location = New System.Drawing.Point(677, 474) + Me.LabelAddcal.Name = "LabelAddcal" + Me.LabelAddcal.Size = New System.Drawing.Size(67, 13) + Me.LabelAddcal.TabIndex = 271 + Me.LabelAddcal.Text = " 0" + ' + 'Label18 + ' + Me.Label18.AutoSize = True + Me.Label18.Location = New System.Drawing.Point(602, 474) + Me.Label18.Name = "Label18" + Me.Label18.Size = New System.Drawing.Size(42, 13) + Me.Label18.TabIndex = 270 + Me.Label18.Text = "Caluse:" + ' + 'LabelEventpreset + ' + Me.LabelEventpreset.AutoSize = True + Me.LabelEventpreset.Location = New System.Drawing.Point(501, 202) + Me.LabelEventpreset.Name = "LabelEventpreset" + Me.LabelEventpreset.Size = New System.Drawing.Size(67, 13) + Me.LabelEventpreset.TabIndex = 269 + Me.LabelEventpreset.Text = " 0" + ' + 'Label17 + ' + Me.Label17.AutoSize = True + Me.Label17.Location = New System.Drawing.Point(426, 202) + Me.Label17.Name = "Label17" + Me.Label17.Size = New System.Drawing.Size(67, 13) + Me.Label17.TabIndex = 268 + Me.Label17.Text = "Eventpreset:" + ' + 'LabelRoimax + ' + Me.LabelRoimax.AutoSize = True + Me.LabelRoimax.Location = New System.Drawing.Point(501, 84) + Me.LabelRoimax.Name = "LabelRoimax" + Me.LabelRoimax.Size = New System.Drawing.Size(67, 13) + Me.LabelRoimax.TabIndex = 267 + Me.LabelRoimax.Text = " 0" + ' + 'Label16 + ' + Me.Label16.AutoSize = True + Me.Label16.Location = New System.Drawing.Point(426, 84) + Me.Label16.Name = "Label16" + Me.Label16.Size = New System.Drawing.Size(45, 13) + Me.Label16.TabIndex = 266 + Me.Label16.Text = "Roimax:" + ' + 'LabelRoimin + ' + Me.LabelRoimin.AutoSize = True + Me.LabelRoimin.Location = New System.Drawing.Point(501, 71) + Me.LabelRoimin.Name = "LabelRoimin" + Me.LabelRoimin.Size = New System.Drawing.Size(67, 13) + Me.LabelRoimin.TabIndex = 265 + Me.LabelRoimin.Text = " 0" + ' + 'Label36 + ' + Me.Label36.AutoSize = True + Me.Label36.Location = New System.Drawing.Point(426, 71) + Me.Label36.Name = "Label36" + Me.Label36.Size = New System.Drawing.Size(42, 13) + Me.Label36.TabIndex = 264 + Me.Label36.Text = "Roimin:" + ' + 'LabelCftfak + ' + Me.LabelCftfak.AutoSize = True + Me.LabelCftfak.Location = New System.Drawing.Point(501, 57) + Me.LabelCftfak.Name = "LabelCftfak" + Me.LabelCftfak.Size = New System.Drawing.Size(67, 13) + Me.LabelCftfak.TabIndex = 263 + Me.LabelCftfak.Text = " 0" + ' + 'Label38 + ' + Me.Label38.AutoSize = True + Me.Label38.Location = New System.Drawing.Point(426, 57) + Me.Label38.Name = "Label38" + Me.Label38.Size = New System.Drawing.Size(38, 13) + Me.Label38.TabIndex = 262 + Me.Label38.Text = "Cftfak:" + ' + 'LabelRange + ' + Me.LabelRange.AutoSize = True + Me.LabelRange.Location = New System.Drawing.Point(501, 44) + Me.LabelRange.Name = "LabelRange" + Me.LabelRange.Size = New System.Drawing.Size(67, 13) + Me.LabelRange.TabIndex = 261 + Me.LabelRange.Text = " 0" + ' + 'Label39 + ' + Me.Label39.AutoSize = True + Me.Label39.Location = New System.Drawing.Point(426, 44) + Me.Label39.Name = "Label39" + Me.Label39.Size = New System.Drawing.Size(42, 13) + Me.Label39.TabIndex = 260 + Me.Label39.Text = "Range:" + ' + 'CommandSetting + ' + Me.CommandSetting.Location = New System.Drawing.Point(419, 12) + Me.CommandSetting.Name = "CommandSetting" + Me.CommandSetting.Size = New System.Drawing.Size(139, 24) + Me.CommandSetting.TabIndex = 259 + Me.CommandSetting.Text = "Update Setting" + Me.CommandSetting.UseVisualStyleBackColor = True + ' + 'LabelMaxval + ' + Me.LabelMaxval.AutoSize = True + Me.LabelMaxval.Location = New System.Drawing.Point(221, 57) + Me.LabelMaxval.Name = "LabelMaxval" + Me.LabelMaxval.Size = New System.Drawing.Size(67, 13) + Me.LabelMaxval.TabIndex = 246 + Me.LabelMaxval.Text = " 0" + ' + 'Label2 + ' + Me.Label2.AutoSize = True + Me.Label2.Location = New System.Drawing.Point(147, 57) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(44, 13) + Me.Label2.TabIndex = 245 + Me.Label2.Text = "Maxval:" + ' + 'LabelLine13 + ' + Me.LabelLine13.AutoSize = True + Me.LabelLine13.Location = New System.Drawing.Point(223, 395) + Me.LabelLine13.Name = "LabelLine13" + Me.LabelLine13.Size = New System.Drawing.Size(49, 13) + Me.LabelLine13.TabIndex = 244 + Me.LabelLine13.Text = "Filename" + ' + 'LabelLine12 + ' + Me.LabelLine12.AutoSize = True + Me.LabelLine12.Location = New System.Drawing.Point(223, 372) + Me.LabelLine12.Name = "LabelLine12" + Me.LabelLine12.Size = New System.Drawing.Size(39, 13) + Me.LabelLine12.TabIndex = 243 + Me.LabelLine12.Text = "Line12" + ' + 'LabelLine11 + ' + Me.LabelLine11.AutoSize = True + Me.LabelLine11.Location = New System.Drawing.Point(223, 359) + Me.LabelLine11.Name = "LabelLine11" + Me.LabelLine11.Size = New System.Drawing.Size(39, 13) + Me.LabelLine11.TabIndex = 242 + Me.LabelLine11.Text = "Line11" + ' + 'LabelLine10 + ' + Me.LabelLine10.AutoSize = True + Me.LabelLine10.Location = New System.Drawing.Point(223, 346) + Me.LabelLine10.Name = "LabelLine10" + Me.LabelLine10.Size = New System.Drawing.Size(39, 13) + Me.LabelLine10.TabIndex = 241 + Me.LabelLine10.Text = "Line10" + ' + 'LabelLine9 + ' + Me.LabelLine9.AutoSize = True + Me.LabelLine9.Location = New System.Drawing.Point(223, 333) + Me.LabelLine9.Name = "LabelLine9" + Me.LabelLine9.Size = New System.Drawing.Size(33, 13) + Me.LabelLine9.TabIndex = 240 + Me.LabelLine9.Text = "Line9" + ' + 'LabelLine8 + ' + Me.LabelLine8.AutoSize = True + Me.LabelLine8.Location = New System.Drawing.Point(223, 320) + Me.LabelLine8.Name = "LabelLine8" + Me.LabelLine8.Size = New System.Drawing.Size(33, 13) + Me.LabelLine8.TabIndex = 239 + Me.LabelLine8.Text = "Line8" + ' + 'LabelLine7 + ' + Me.LabelLine7.AutoSize = True + Me.LabelLine7.Location = New System.Drawing.Point(223, 307) + Me.LabelLine7.Name = "LabelLine7" + Me.LabelLine7.Size = New System.Drawing.Size(33, 13) + Me.LabelLine7.TabIndex = 238 + Me.LabelLine7.Text = "Line7" + ' + 'LabelLine6 + ' + Me.LabelLine6.AutoSize = True + Me.LabelLine6.Location = New System.Drawing.Point(223, 294) + Me.LabelLine6.Name = "LabelLine6" + Me.LabelLine6.Size = New System.Drawing.Size(33, 13) + Me.LabelLine6.TabIndex = 237 + Me.LabelLine6.Text = "Line6" + ' + 'LabelLine5 + ' + Me.LabelLine5.AutoSize = True + Me.LabelLine5.Location = New System.Drawing.Point(223, 281) + Me.LabelLine5.Name = "LabelLine5" + Me.LabelLine5.Size = New System.Drawing.Size(33, 13) + Me.LabelLine5.TabIndex = 236 + Me.LabelLine5.Text = "Line5" + ' + 'LabelLine4 + ' + Me.LabelLine4.AutoSize = True + Me.LabelLine4.Location = New System.Drawing.Point(223, 268) + Me.LabelLine4.Name = "LabelLine4" + Me.LabelLine4.Size = New System.Drawing.Size(33, 13) + Me.LabelLine4.TabIndex = 235 + Me.LabelLine4.Text = "Line4" + ' + 'LabelLine3 + ' + Me.LabelLine3.AutoSize = True + Me.LabelLine3.Location = New System.Drawing.Point(223, 255) + Me.LabelLine3.Name = "LabelLine3" + Me.LabelLine3.Size = New System.Drawing.Size(33, 13) + Me.LabelLine3.TabIndex = 234 + Me.LabelLine3.Text = "Line3" + ' + 'LabelLine2 + ' + Me.LabelLine2.AutoSize = True + Me.LabelLine2.Location = New System.Drawing.Point(223, 242) + Me.LabelLine2.Name = "LabelLine2" + Me.LabelLine2.Size = New System.Drawing.Size(33, 13) + Me.LabelLine2.TabIndex = 233 + Me.LabelLine2.Text = "Line2" + ' + 'LabelLine1 + ' + Me.LabelLine1.AutoSize = True + Me.LabelLine1.Location = New System.Drawing.Point(223, 229) + Me.LabelLine1.Name = "LabelLine1" + Me.LabelLine1.Size = New System.Drawing.Size(33, 13) + Me.LabelLine1.TabIndex = 232 + Me.LabelLine1.Text = "Line1" + ' + 'LabelLine0 + ' + Me.LabelLine0.AutoSize = True + Me.LabelLine0.Location = New System.Drawing.Point(223, 216) + Me.LabelLine0.Name = "LabelLine0" + Me.LabelLine0.Size = New System.Drawing.Size(33, 13) + Me.LabelLine0.TabIndex = 231 + Me.LabelLine0.Text = "Line0" + ' + 'CommandGetstring + ' + Me.CommandGetstring.Location = New System.Drawing.Point(220, 177) + Me.CommandGetstring.Name = "CommandGetstring" + Me.CommandGetstring.Size = New System.Drawing.Size(139, 24) + Me.CommandGetstring.TabIndex = 230 + Me.CommandGetstring.Text = "Get Strings" + Me.CommandGetstring.UseVisualStyleBackColor = True + ' + 'LabelSweeps + ' + Me.LabelSweeps.AutoSize = True + Me.LabelSweeps.Location = New System.Drawing.Point(221, 137) + Me.LabelSweeps.Name = "LabelSweeps" + Me.LabelSweeps.Size = New System.Drawing.Size(67, 13) + Me.LabelSweeps.TabIndex = 229 + Me.LabelSweeps.Text = " 0" + ' + 'Label9 + ' + Me.Label9.AutoSize = True + Me.Label9.Location = New System.Drawing.Point(147, 137) + Me.Label9.Name = "Label9" + Me.Label9.Size = New System.Drawing.Size(48, 13) + Me.Label9.TabIndex = 228 + Me.Label9.Text = "Sweeps:" + ' + 'LabelRoirate + ' + Me.LabelRoirate.AutoSize = True + Me.LabelRoirate.Location = New System.Drawing.Point(221, 123) + Me.LabelRoirate.Name = "LabelRoirate" + Me.LabelRoirate.Size = New System.Drawing.Size(67, 13) + Me.LabelRoirate.TabIndex = 227 + Me.LabelRoirate.Text = " 0" + ' + 'Label8 + ' + Me.Label8.AutoSize = True + Me.Label8.Location = New System.Drawing.Point(147, 123) + Me.Label8.Name = "Label8" + Me.Label8.Size = New System.Drawing.Size(44, 13) + Me.Label8.TabIndex = 226 + Me.Label8.Text = "Roirate:" + ' + 'LabelRoisum + ' + Me.LabelRoisum.AutoSize = True + Me.LabelRoisum.Location = New System.Drawing.Point(221, 110) + Me.LabelRoisum.Name = "LabelRoisum" + Me.LabelRoisum.Size = New System.Drawing.Size(67, 13) + Me.LabelRoisum.TabIndex = 225 + Me.LabelRoisum.Text = " 0" + ' + 'Label7 + ' + Me.Label7.AutoSize = True + Me.Label7.Location = New System.Drawing.Point(147, 110) + Me.Label7.Name = "Label7" + Me.Label7.Size = New System.Drawing.Size(45, 13) + Me.Label7.TabIndex = 224 + Me.Label7.Text = "Roisum:" + ' + 'LabelTotalsum + ' + Me.LabelTotalsum.AutoSize = True + Me.LabelTotalsum.Location = New System.Drawing.Point(221, 96) + Me.LabelTotalsum.Name = "LabelTotalsum" + Me.LabelTotalsum.Size = New System.Drawing.Size(67, 13) + Me.LabelTotalsum.TabIndex = 223 + Me.LabelTotalsum.Text = " 0" + ' + 'Label6 + ' + Me.Label6.AutoSize = True + Me.Label6.Location = New System.Drawing.Point(146, 96) + Me.Label6.Name = "Label6" + Me.Label6.Size = New System.Drawing.Size(53, 13) + Me.Label6.TabIndex = 222 + Me.Label6.Text = "Totalsum:" + ' + 'LabelOfls + ' + Me.LabelOfls.AutoSize = True + Me.LabelOfls.Location = New System.Drawing.Point(221, 83) + Me.LabelOfls.Name = "LabelOfls" + Me.LabelOfls.Size = New System.Drawing.Size(67, 13) + Me.LabelOfls.TabIndex = 221 + Me.LabelOfls.Text = " 0" + ' + 'Label5 + ' + Me.Label5.AutoSize = True + Me.Label5.Location = New System.Drawing.Point(147, 83) + Me.Label5.Name = "Label5" + Me.Label5.Size = New System.Drawing.Size(28, 13) + Me.Label5.TabIndex = 220 + Me.Label5.Text = "Ofls:" + ' + 'LabelRuntime + ' + Me.LabelRuntime.AutoSize = True + Me.LabelRuntime.Location = New System.Drawing.Point(221, 70) + Me.LabelRuntime.Name = "LabelRuntime" + Me.LabelRuntime.Size = New System.Drawing.Size(67, 13) + Me.LabelRuntime.TabIndex = 219 + Me.LabelRuntime.Text = " 0" + ' + 'Label4 + ' + Me.Label4.AutoSize = True + Me.Label4.Location = New System.Drawing.Point(146, 70) + Me.Label4.Name = "Label4" + Me.Label4.Size = New System.Drawing.Size(49, 13) + Me.Label4.TabIndex = 218 + Me.Label4.Text = "Runtime:" + ' + 'LabelStarted + ' + Me.LabelStarted.AutoSize = True + Me.LabelStarted.Location = New System.Drawing.Point(221, 44) + Me.LabelStarted.Name = "LabelStarted" + Me.LabelStarted.Size = New System.Drawing.Size(67, 13) + Me.LabelStarted.TabIndex = 217 + Me.LabelStarted.Text = " 0" + ' + 'Label3 + ' + Me.Label3.AutoSize = True + Me.Label3.Location = New System.Drawing.Point(146, 44) + Me.Label3.Name = "Label3" + Me.Label3.Size = New System.Drawing.Size(44, 13) + Me.Label3.TabIndex = 216 + Me.Label3.Text = "Started:" + ' + 'CommandUpdate + ' + Me.CommandUpdate.Location = New System.Drawing.Point(149, 12) + Me.CommandUpdate.Name = "CommandUpdate" + Me.CommandUpdate.Size = New System.Drawing.Size(139, 24) + Me.CommandUpdate.TabIndex = 215 + Me.CommandUpdate.Text = "Update Status" + Me.CommandUpdate.UseVisualStyleBackColor = True + ' + 'TextRespons + ' + Me.TextRespons.Location = New System.Drawing.Point(23, 392) + Me.TextRespons.Name = "TextRespons" + Me.TextRespons.Size = New System.Drawing.Size(192, 20) + Me.TextRespons.TabIndex = 214 + ' + 'TextCommand + ' + Me.TextCommand.Location = New System.Drawing.Point(24, 366) + Me.TextCommand.Name = "TextCommand" + Me.TextCommand.Size = New System.Drawing.Size(192, 20) + Me.TextCommand.TabIndex = 213 + Me.TextCommand.Text = "RUN TEST.CTL" + ' + 'CommandExecute + ' + Me.CommandExecute.Location = New System.Drawing.Point(24, 336) + Me.CommandExecute.Name = "CommandExecute" + Me.CommandExecute.Size = New System.Drawing.Size(76, 24) + Me.CommandExecute.TabIndex = 212 + Me.CommandExecute.Text = "E&xecute" + Me.CommandExecute.UseVisualStyleBackColor = True + ' + 'CommandSave + ' + Me.CommandSave.Location = New System.Drawing.Point(24, 237) + Me.CommandSave.Name = "CommandSave" + Me.CommandSave.Size = New System.Drawing.Size(76, 24) + Me.CommandSave.TabIndex = 211 + Me.CommandSave.Text = "S&ave" + Me.CommandSave.UseVisualStyleBackColor = True + ' + 'CommandErase + ' + Me.CommandErase.Location = New System.Drawing.Point(24, 207) + Me.CommandErase.Name = "CommandErase" + Me.CommandErase.Size = New System.Drawing.Size(76, 24) + Me.CommandErase.TabIndex = 210 + Me.CommandErase.Text = "&Erase" + Me.CommandErase.UseVisualStyleBackColor = True + ' + 'CommandContinue + ' + Me.CommandContinue.Location = New System.Drawing.Point(24, 177) + Me.CommandContinue.Name = "CommandContinue" + Me.CommandContinue.Size = New System.Drawing.Size(76, 24) + Me.CommandContinue.TabIndex = 209 + Me.CommandContinue.Text = "&Continue" + Me.CommandContinue.UseVisualStyleBackColor = True + ' + 'CommandHalt + ' + Me.CommandHalt.Location = New System.Drawing.Point(24, 147) + Me.CommandHalt.Name = "CommandHalt" + Me.CommandHalt.Size = New System.Drawing.Size(76, 24) + Me.CommandHalt.TabIndex = 208 + Me.CommandHalt.Text = "&Halt" + Me.CommandHalt.UseVisualStyleBackColor = True + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New System.Drawing.Point(299, 16) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(33, 13) + Me.Label1.TabIndex = 207 + Me.Label1.Text = "Chn#" + ' + 'CommandStart + ' + Me.CommandStart.Location = New System.Drawing.Point(24, 117) + Me.CommandStart.Name = "CommandStart" + Me.CommandStart.Size = New System.Drawing.Size(76, 24) + Me.CommandStart.TabIndex = 206 + Me.CommandStart.Text = "&Start" + Me.CommandStart.UseVisualStyleBackColor = True + ' + 'TextMC + ' + Me.TextMC.Location = New System.Drawing.Point(339, 12) + Me.TextMC.Name = "TextMC" + Me.TextMC.Size = New System.Drawing.Size(48, 20) + Me.TextMC.TabIndex = 205 + Me.TextMC.Text = "1" + ' + 'LabelData23 + ' + Me.LabelData23.AutoSize = True + Me.LabelData23.Location = New System.Drawing.Point(667, 345) + Me.LabelData23.Name = "LabelData23" + Me.LabelData23.Size = New System.Drawing.Size(67, 13) + Me.LabelData23.TabIndex = 338 + Me.LabelData23.Text = " 0" + ' + 'LabelData22 + ' + Me.LabelData22.AutoSize = True + Me.LabelData22.Location = New System.Drawing.Point(667, 332) + Me.LabelData22.Name = "LabelData22" + Me.LabelData22.Size = New System.Drawing.Size(67, 13) + Me.LabelData22.TabIndex = 337 + Me.LabelData22.Text = " 0" + ' + 'LabelData21 + ' + Me.LabelData21.AutoSize = True + Me.LabelData21.Location = New System.Drawing.Point(667, 319) + Me.LabelData21.Name = "LabelData21" + Me.LabelData21.Size = New System.Drawing.Size(67, 13) + Me.LabelData21.TabIndex = 336 + Me.LabelData21.Text = " 0" + ' + 'LabelData20 + ' + Me.LabelData20.AutoSize = True + Me.LabelData20.Location = New System.Drawing.Point(667, 306) + Me.LabelData20.Name = "LabelData20" + Me.LabelData20.Size = New System.Drawing.Size(67, 13) + Me.LabelData20.TabIndex = 335 + Me.LabelData20.Text = " 0" + ' + 'LabelData19 + ' + Me.LabelData19.AutoSize = True + Me.LabelData19.Location = New System.Drawing.Point(667, 293) + Me.LabelData19.Name = "LabelData19" + Me.LabelData19.Size = New System.Drawing.Size(67, 13) + Me.LabelData19.TabIndex = 334 + Me.LabelData19.Text = " 0" + ' + 'LabelData18 + ' + Me.LabelData18.AutoSize = True + Me.LabelData18.Location = New System.Drawing.Point(667, 280) + Me.LabelData18.Name = "LabelData18" + Me.LabelData18.Size = New System.Drawing.Size(67, 13) + Me.LabelData18.TabIndex = 333 + Me.LabelData18.Text = " 0" + ' + 'LabelData17 + ' + Me.LabelData17.AutoSize = True + Me.LabelData17.Location = New System.Drawing.Point(667, 267) + Me.LabelData17.Name = "LabelData17" + Me.LabelData17.Size = New System.Drawing.Size(67, 13) + Me.LabelData17.TabIndex = 332 + Me.LabelData17.Text = " 0" + ' + 'LabelData16 + ' + Me.LabelData16.AutoSize = True + Me.LabelData16.Location = New System.Drawing.Point(667, 254) + Me.LabelData16.Name = "LabelData16" + Me.LabelData16.Size = New System.Drawing.Size(67, 13) + Me.LabelData16.TabIndex = 331 + Me.LabelData16.Text = " 0" + ' + 'LabelData15 + ' + Me.LabelData15.AutoSize = True + Me.LabelData15.Location = New System.Drawing.Point(667, 241) + Me.LabelData15.Name = "LabelData15" + Me.LabelData15.Size = New System.Drawing.Size(67, 13) + Me.LabelData15.TabIndex = 330 + Me.LabelData15.Text = " 0" + ' + 'LabelData14 + ' + Me.LabelData14.AutoSize = True + Me.LabelData14.Location = New System.Drawing.Point(667, 228) + Me.LabelData14.Name = "LabelData14" + Me.LabelData14.Size = New System.Drawing.Size(67, 13) + Me.LabelData14.TabIndex = 329 + Me.LabelData14.Text = " 0" + ' + 'LabelData13 + ' + Me.LabelData13.AutoSize = True + Me.LabelData13.Location = New System.Drawing.Point(667, 215) + Me.LabelData13.Name = "LabelData13" + Me.LabelData13.Size = New System.Drawing.Size(67, 13) + Me.LabelData13.TabIndex = 328 + Me.LabelData13.Text = " 0" + ' + 'LabelData12 + ' + Me.LabelData12.AutoSize = True + Me.LabelData12.Location = New System.Drawing.Point(667, 202) + Me.LabelData12.Name = "LabelData12" + Me.LabelData12.Size = New System.Drawing.Size(67, 13) + Me.LabelData12.TabIndex = 327 + Me.LabelData12.Text = " 0" + ' + 'LabelData11 + ' + Me.LabelData11.AutoSize = True + Me.LabelData11.Location = New System.Drawing.Point(667, 189) + Me.LabelData11.Name = "LabelData11" + Me.LabelData11.Size = New System.Drawing.Size(67, 13) + Me.LabelData11.TabIndex = 326 + Me.LabelData11.Text = " 0" + ' + 'LabelData10 + ' + Me.LabelData10.AutoSize = True + Me.LabelData10.Location = New System.Drawing.Point(667, 176) + Me.LabelData10.Name = "LabelData10" + Me.LabelData10.Size = New System.Drawing.Size(67, 13) + Me.LabelData10.TabIndex = 325 + Me.LabelData10.Text = " 0" + ' + 'LabelData9 + ' + Me.LabelData9.AutoSize = True + Me.LabelData9.Location = New System.Drawing.Point(667, 163) + Me.LabelData9.Name = "LabelData9" + Me.LabelData9.Size = New System.Drawing.Size(67, 13) + Me.LabelData9.TabIndex = 324 + Me.LabelData9.Text = " 0" + ' + 'LabelData8 + ' + Me.LabelData8.AutoSize = True + Me.LabelData8.Location = New System.Drawing.Point(667, 150) + Me.LabelData8.Name = "LabelData8" + Me.LabelData8.Size = New System.Drawing.Size(67, 13) + Me.LabelData8.TabIndex = 323 + Me.LabelData8.Text = " 0" + ' + 'LabelData7 + ' + Me.LabelData7.AutoSize = True + Me.LabelData7.Location = New System.Drawing.Point(667, 137) + Me.LabelData7.Name = "LabelData7" + Me.LabelData7.Size = New System.Drawing.Size(67, 13) + Me.LabelData7.TabIndex = 322 + Me.LabelData7.Text = " 0" + ' + 'LabelData6 + ' + Me.LabelData6.AutoSize = True + Me.LabelData6.Location = New System.Drawing.Point(667, 124) + Me.LabelData6.Name = "LabelData6" + Me.LabelData6.Size = New System.Drawing.Size(67, 13) + Me.LabelData6.TabIndex = 321 + Me.LabelData6.Text = " 0" + ' + 'LabelData5 + ' + Me.LabelData5.AutoSize = True + Me.LabelData5.Location = New System.Drawing.Point(667, 110) + Me.LabelData5.Name = "LabelData5" + Me.LabelData5.Size = New System.Drawing.Size(67, 13) + Me.LabelData5.TabIndex = 320 + Me.LabelData5.Text = " 0" + ' + 'LabelData4 + ' + Me.LabelData4.AutoSize = True + Me.LabelData4.Location = New System.Drawing.Point(667, 97) + Me.LabelData4.Name = "LabelData4" + Me.LabelData4.Size = New System.Drawing.Size(67, 13) + Me.LabelData4.TabIndex = 319 + Me.LabelData4.Text = " 0" + ' + 'LabelData3 + ' + Me.LabelData3.AutoSize = True + Me.LabelData3.Location = New System.Drawing.Point(667, 84) + Me.LabelData3.Name = "LabelData3" + Me.LabelData3.Size = New System.Drawing.Size(67, 13) + Me.LabelData3.TabIndex = 318 + Me.LabelData3.Text = " 0" + ' + 'LabelData2 + ' + Me.LabelData2.AutoSize = True + Me.LabelData2.Location = New System.Drawing.Point(667, 71) + Me.LabelData2.Name = "LabelData2" + Me.LabelData2.Size = New System.Drawing.Size(67, 13) + Me.LabelData2.TabIndex = 317 + Me.LabelData2.Text = " 0" + ' + 'LabelData1 + ' + Me.LabelData1.AutoSize = True + Me.LabelData1.Location = New System.Drawing.Point(667, 57) + Me.LabelData1.Name = "LabelData1" + Me.LabelData1.Size = New System.Drawing.Size(67, 13) + Me.LabelData1.TabIndex = 316 + Me.LabelData1.Text = " 0" + ' + 'LabelData0 + ' + Me.LabelData0.AutoSize = True + Me.LabelData0.Location = New System.Drawing.Point(667, 44) + Me.LabelData0.Name = "LabelData0" + Me.LabelData0.Size = New System.Drawing.Size(67, 13) + Me.LabelData0.TabIndex = 315 + Me.LabelData0.Text = " 0" + ' + 'Label10 + ' + Me.Label10.AutoSize = True + Me.Label10.Location = New System.Drawing.Point(147, 150) + Me.Label10.Name = "Label10" + Me.Label10.Size = New System.Drawing.Size(37, 13) + Me.Label10.TabIndex = 339 + Me.Label10.Text = "Starts:" + ' + 'LabelStarts + ' + Me.LabelStarts.AutoSize = True + Me.LabelStarts.Location = New System.Drawing.Point(221, 150) + Me.LabelStarts.Name = "LabelStarts" + Me.LabelStarts.Size = New System.Drawing.Size(67, 13) + Me.LabelStarts.TabIndex = 340 + Me.LabelStarts.Text = " 0" + ' + 'Label11 + ' + Me.Label11.AutoSize = True + Me.Label11.Location = New System.Drawing.Point(426, 229) + Me.Label11.Name = "Label11" + Me.Label11.Size = New System.Drawing.Size(69, 13) + Me.Label11.TabIndex = 341 + Me.Label11.Text = "Sweepmode:" + ' + 'LabelSweepmode + ' + Me.LabelSweepmode.AutoSize = True + Me.LabelSweepmode.Location = New System.Drawing.Point(501, 229) + Me.LabelSweepmode.Name = "LabelSweepmode" + Me.LabelSweepmode.Size = New System.Drawing.Size(67, 13) + Me.LabelSweepmode.TabIndex = 342 + Me.LabelSweepmode.Text = " 0" + ' + 'Label12 + ' + Me.Label12.AutoSize = True + Me.Label12.Location = New System.Drawing.Point(426, 241) + Me.Label12.Name = "Label12" + Me.Label12.Size = New System.Drawing.Size(38, 13) + Me.Label12.TabIndex = 343 + Me.Label12.Text = "Prena:" + ' + 'LabelPrena + ' + Me.LabelPrena.AutoSize = True + Me.LabelPrena.Location = New System.Drawing.Point(501, 241) + Me.LabelPrena.Name = "LabelPrena" + Me.LabelPrena.Size = New System.Drawing.Size(67, 13) + Me.LabelPrena.TabIndex = 344 + Me.LabelPrena.Text = " 0" + ' + 'Label13 + ' + Me.Label13.AutoSize = True + Me.Label13.Location = New System.Drawing.Point(426, 254) + Me.Label13.Name = "Label13" + Me.Label13.Size = New System.Drawing.Size(41, 13) + Me.Label13.TabIndex = 345 + Me.Label13.Text = "Cycles:" + ' + 'LabelCycles + ' + Me.LabelCycles.AutoSize = True + Me.LabelCycles.Location = New System.Drawing.Point(501, 254) + Me.LabelCycles.Name = "LabelCycles" + Me.LabelCycles.Size = New System.Drawing.Size(67, 13) + Me.LabelCycles.TabIndex = 346 + Me.LabelCycles.Text = " 0" + ' + 'Label14 + ' + Me.Label14.AutoSize = True + Me.Label14.Location = New System.Drawing.Point(426, 267) + Me.Label14.Name = "Label14" + Me.Label14.Size = New System.Drawing.Size(64, 13) + Me.Label14.TabIndex = 347 + Me.Label14.Text = "Sequences:" + ' + 'LabelSequences + ' + Me.LabelSequences.AutoSize = True + Me.LabelSequences.Location = New System.Drawing.Point(501, 267) + Me.LabelSequences.Name = "LabelSequences" + Me.LabelSequences.Size = New System.Drawing.Size(67, 13) + Me.LabelSequences.TabIndex = 348 + Me.LabelSequences.Text = " 0" + ' + 'Label15 + ' + Me.Label15.AutoSize = True + Me.Label15.Location = New System.Drawing.Point(426, 280) + Me.Label15.Name = "Label15" + Me.Label15.Size = New System.Drawing.Size(49, 13) + Me.Label15.TabIndex = 349 + Me.Label15.Text = "Syncout:" + ' + 'LabelSyncout + ' + Me.LabelSyncout.AutoSize = True + Me.LabelSyncout.Location = New System.Drawing.Point(501, 280) + Me.LabelSyncout.Name = "LabelSyncout" + Me.LabelSyncout.Size = New System.Drawing.Size(67, 13) + Me.LabelSyncout.TabIndex = 350 + Me.LabelSyncout.Text = " 0" + ' + 'Label26 + ' + Me.Label26.AutoSize = True + Me.Label26.Location = New System.Drawing.Point(426, 294) + Me.Label26.Name = "Label26" + Me.Label26.Size = New System.Drawing.Size(34, 13) + Me.Label26.TabIndex = 351 + Me.Label26.Text = "Digio:" + ' + 'LabelDigio + ' + Me.LabelDigio.AutoSize = True + Me.LabelDigio.Location = New System.Drawing.Point(501, 293) + Me.LabelDigio.Name = "LabelDigio" + Me.LabelDigio.Size = New System.Drawing.Size(67, 13) + Me.LabelDigio.TabIndex = 352 + Me.LabelDigio.Text = " 0" + ' + 'Label27 + ' + Me.Label27.AutoSize = True + Me.Label27.Location = New System.Drawing.Point(426, 307) + Me.Label27.Name = "Label27" + Me.Label27.Size = New System.Drawing.Size(40, 13) + Me.Label27.TabIndex = 353 + Me.Label27.Text = "Digval:" + ' + 'LabelDigval + ' + Me.LabelDigval.AutoSize = True + Me.LabelDigval.Location = New System.Drawing.Point(501, 307) + Me.LabelDigval.Name = "LabelDigval" + Me.LabelDigval.Size = New System.Drawing.Size(67, 13) + Me.LabelDigval.TabIndex = 354 + Me.LabelDigval.Text = " 0" + ' + 'Label30 + ' + Me.Label30.AutoSize = True + Me.Label30.Location = New System.Drawing.Point(426, 320) + Me.Label30.Name = "Label30" + Me.Label30.Size = New System.Drawing.Size(36, 13) + Me.Label30.TabIndex = 355 + Me.Label30.Text = "Dac0:" + ' + 'LabelDac0 + ' + Me.LabelDac0.AutoSize = True + Me.LabelDac0.Location = New System.Drawing.Point(501, 320) + Me.LabelDac0.Name = "LabelDac0" + Me.LabelDac0.Size = New System.Drawing.Size(67, 13) + Me.LabelDac0.TabIndex = 356 + Me.LabelDac0.Text = " 0" + ' + 'Label42 + ' + Me.Label42.AutoSize = True + Me.Label42.Location = New System.Drawing.Point(426, 332) + Me.Label42.Name = "Label42" + Me.Label42.Size = New System.Drawing.Size(36, 13) + Me.Label42.TabIndex = 357 + Me.Label42.Text = "Dac1:" + ' + 'LabelDac1 + ' + Me.LabelDac1.AutoSize = True + Me.LabelDac1.Location = New System.Drawing.Point(501, 332) + Me.LabelDac1.Name = "LabelDac1" + Me.LabelDac1.Size = New System.Drawing.Size(67, 13) + Me.LabelDac1.TabIndex = 358 + Me.LabelDac1.Text = " 0" + ' + 'Label43 + ' + Me.Label43.AutoSize = True + Me.Label43.Location = New System.Drawing.Point(426, 345) + Me.Label43.Name = "Label43" + Me.Label43.Size = New System.Drawing.Size(36, 13) + Me.Label43.TabIndex = 359 + Me.Label43.Text = "Dac2:" + ' + 'LabelDac2 + ' + Me.LabelDac2.AutoSize = True + Me.LabelDac2.Location = New System.Drawing.Point(501, 345) + Me.LabelDac2.Name = "LabelDac2" + Me.LabelDac2.Size = New System.Drawing.Size(67, 13) + Me.LabelDac2.TabIndex = 360 + Me.LabelDac2.Text = " 0" + ' + 'Label44 + ' + Me.Label44.AutoSize = True + Me.Label44.Location = New System.Drawing.Point(426, 358) + Me.Label44.Name = "Label44" + Me.Label44.Size = New System.Drawing.Size(36, 13) + Me.Label44.TabIndex = 361 + Me.Label44.Text = "Dac3:" + ' + 'LabelDac3 + ' + Me.LabelDac3.AutoSize = True + Me.LabelDac3.Location = New System.Drawing.Point(501, 359) + Me.LabelDac3.Name = "LabelDac3" + Me.LabelDac3.Size = New System.Drawing.Size(67, 13) + Me.LabelDac3.TabIndex = 362 + Me.LabelDac3.Text = " 0" + ' + 'Label45 + ' + Me.Label45.AutoSize = True + Me.Label45.Location = New System.Drawing.Point(426, 371) + Me.Label45.Name = "Label45" + Me.Label45.Size = New System.Drawing.Size(36, 13) + Me.Label45.TabIndex = 363 + Me.Label45.Text = "Dac4:" + ' + 'LabelDac4 + ' + Me.LabelDac4.AutoSize = True + Me.LabelDac4.Location = New System.Drawing.Point(501, 371) + Me.LabelDac4.Name = "LabelDac4" + Me.LabelDac4.Size = New System.Drawing.Size(67, 13) + Me.LabelDac4.TabIndex = 364 + Me.LabelDac4.Text = " 0" + ' + 'Label46 + ' + Me.Label46.AutoSize = True + Me.Label46.Location = New System.Drawing.Point(426, 384) + Me.Label46.Name = "Label46" + Me.Label46.Size = New System.Drawing.Size(36, 13) + Me.Label46.TabIndex = 365 + Me.Label46.Text = "Dac5:" + ' + 'LabelDac5 + ' + Me.LabelDac5.AutoSize = True + Me.LabelDac5.Location = New System.Drawing.Point(501, 384) + Me.LabelDac5.Name = "LabelDac5" + Me.LabelDac5.Size = New System.Drawing.Size(67, 13) + Me.LabelDac5.TabIndex = 366 + Me.LabelDac5.Text = " 0" + ' + 'Label47 + ' + Me.Label47.AutoSize = True + Me.Label47.Location = New System.Drawing.Point(426, 397) + Me.Label47.Name = "Label47" + Me.Label47.Size = New System.Drawing.Size(34, 13) + Me.Label47.TabIndex = 367 + Me.Label47.Text = "Fdac:" + ' + 'LabelFdac + ' + Me.LabelFdac.AutoSize = True + Me.LabelFdac.Location = New System.Drawing.Point(501, 397) + Me.LabelFdac.Name = "LabelFdac" + Me.LabelFdac.Size = New System.Drawing.Size(67, 13) + Me.LabelFdac.TabIndex = 368 + Me.LabelFdac.Text = " 0" + ' + 'Label48 + ' + Me.Label48.AutoSize = True + Me.Label48.Location = New System.Drawing.Point(425, 409) + Me.Label48.Name = "Label48" + Me.Label48.Size = New System.Drawing.Size(45, 13) + Me.Label48.TabIndex = 369 + Me.Label48.Text = "Tagbits:" + ' + 'LabelTagbits + ' + Me.LabelTagbits.AutoSize = True + Me.LabelTagbits.Location = New System.Drawing.Point(501, 409) + Me.LabelTagbits.Name = "LabelTagbits" + Me.LabelTagbits.Size = New System.Drawing.Size(67, 13) + Me.LabelTagbits.TabIndex = 370 + Me.LabelTagbits.Text = " 0" + ' + 'Label49 + ' + Me.Label49.AutoSize = True + Me.Label49.Location = New System.Drawing.Point(426, 422) + Me.Label49.Name = "Label49" + Me.Label49.Size = New System.Drawing.Size(39, 13) + Me.Label49.TabIndex = 371 + Me.Label49.Text = "Extclk:" + ' + 'LabelExtclk + ' + Me.LabelExtclk.AutoSize = True + Me.LabelExtclk.Location = New System.Drawing.Point(501, 422) + Me.LabelExtclk.Name = "LabelExtclk" + Me.LabelExtclk.Size = New System.Drawing.Size(67, 13) + Me.LabelExtclk.TabIndex = 372 + Me.LabelExtclk.Text = " 0" + ' + 'Label50 + ' + Me.Label50.AutoSize = True + Me.Label50.Location = New System.Drawing.Point(426, 435) + Me.Label50.Name = "Label50" + Me.Label50.Size = New System.Drawing.Size(38, 13) + Me.Label50.TabIndex = 373 + Me.Label50.Text = "Serno:" + ' + 'LabelSerno + ' + Me.LabelSerno.AutoSize = True + Me.LabelSerno.Location = New System.Drawing.Point(501, 435) + Me.LabelSerno.Name = "LabelSerno" + Me.LabelSerno.Size = New System.Drawing.Size(67, 13) + Me.LabelSerno.TabIndex = 374 + Me.LabelSerno.Text = " 0" + ' + 'Label51 + ' + Me.Label51.AutoSize = True + Me.Label51.Location = New System.Drawing.Point(426, 448) + Me.Label51.Name = "Label51" + Me.Label51.Size = New System.Drawing.Size(44, 13) + Me.Label51.TabIndex = 375 + Me.Label51.Text = "Ddruse:" + ' + 'LabelDdruse + ' + Me.LabelDdruse.AutoSize = True + Me.LabelDdruse.Location = New System.Drawing.Point(501, 448) + Me.LabelDdruse.Name = "LabelDdruse" + Me.LabelDdruse.Size = New System.Drawing.Size(67, 13) + Me.LabelDdruse.TabIndex = 376 + Me.LabelDdruse.Text = " 0" + ' + 'Label52 + ' + Me.Label52.AutoSize = True + Me.Label52.Location = New System.Drawing.Point(426, 461) + Me.Label52.Name = "Label52" + Me.Label52.Size = New System.Drawing.Size(53, 13) + Me.Label52.TabIndex = 377 + Me.Label52.Text = "Holdafter:" + ' + 'LabelHoldafter + ' + Me.LabelHoldafter.AutoSize = True + Me.LabelHoldafter.Location = New System.Drawing.Point(501, 461) + Me.LabelHoldafter.Name = "LabelHoldafter" + Me.LabelHoldafter.Size = New System.Drawing.Size(67, 13) + Me.LabelHoldafter.TabIndex = 378 + Me.LabelHoldafter.Text = " 0" + ' + 'Label53 + ' + Me.Label53.AutoSize = True + Me.Label53.Location = New System.Drawing.Point(426, 474) + Me.Label53.Name = "Label53" + Me.Label53.Size = New System.Drawing.Size(54, 13) + Me.Label53.TabIndex = 379 + Me.Label53.Text = "Swpreset:" + ' + 'LabelSwpreset + ' + Me.LabelSwpreset.AutoSize = True + Me.LabelSwpreset.Location = New System.Drawing.Point(501, 474) + Me.LabelSwpreset.Name = "LabelSwpreset" + Me.LabelSwpreset.Size = New System.Drawing.Size(67, 13) + Me.LabelSwpreset.TabIndex = 380 + Me.LabelSwpreset.Text = " 0" + ' + 'Label55 + ' + Me.Label55.AutoSize = True + Me.Label55.Location = New System.Drawing.Point(426, 487) + Me.Label55.Name = "Label55" + Me.Label55.Size = New System.Drawing.Size(54, 13) + Me.Label55.TabIndex = 381 + Me.Label55.Text = "Acqdelay:" + ' + 'LabelFstchan + ' + Me.LabelFstchan.AutoSize = True + Me.LabelFstchan.Location = New System.Drawing.Point(501, 487) + Me.LabelFstchan.Name = "LabelFstchan" + Me.LabelFstchan.Size = New System.Drawing.Size(67, 13) + Me.LabelFstchan.TabIndex = 382 + Me.LabelFstchan.Text = " 0" + ' + 'Label56 + ' + Me.Label56.AutoSize = True + Me.Label56.Location = New System.Drawing.Point(426, 500) + Me.Label56.Name = "Label56" + Me.Label56.Size = New System.Drawing.Size(62, 13) + Me.Label56.TabIndex = 383 + Me.Label56.Text = "Timepreset:" + ' + 'LabelTimepreset + ' + Me.LabelTimepreset.AutoSize = True + Me.LabelTimepreset.Location = New System.Drawing.Point(501, 500) + Me.LabelTimepreset.Name = "LabelTimepreset" + Me.LabelTimepreset.Size = New System.Drawing.Size(67, 13) + Me.LabelTimepreset.TabIndex = 384 + Me.LabelTimepreset.Text = " 0" + ' + 'Timer1 + ' + Me.Timer1.Enabled = True + Me.Timer1.Interval = 1000 + ' + 'Form1 + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(762, 574) + Me.Controls.Add(Me.LabelTimepreset) + Me.Controls.Add(Me.Label56) + Me.Controls.Add(Me.LabelFstchan) + Me.Controls.Add(Me.Label55) + Me.Controls.Add(Me.LabelSwpreset) + Me.Controls.Add(Me.Label53) + Me.Controls.Add(Me.LabelHoldafter) + Me.Controls.Add(Me.Label52) + Me.Controls.Add(Me.LabelDdruse) + Me.Controls.Add(Me.Label51) + Me.Controls.Add(Me.LabelSerno) + Me.Controls.Add(Me.Label50) + Me.Controls.Add(Me.LabelExtclk) + Me.Controls.Add(Me.Label49) + Me.Controls.Add(Me.LabelTagbits) + Me.Controls.Add(Me.Label48) + Me.Controls.Add(Me.LabelFdac) + Me.Controls.Add(Me.Label47) + Me.Controls.Add(Me.LabelDac5) + Me.Controls.Add(Me.Label46) + Me.Controls.Add(Me.LabelDac4) + Me.Controls.Add(Me.Label45) + Me.Controls.Add(Me.LabelDac3) + Me.Controls.Add(Me.Label44) + Me.Controls.Add(Me.LabelDac2) + Me.Controls.Add(Me.Label43) + Me.Controls.Add(Me.LabelDac1) + Me.Controls.Add(Me.Label42) + Me.Controls.Add(Me.LabelDac0) + Me.Controls.Add(Me.Label30) + Me.Controls.Add(Me.LabelDigval) + Me.Controls.Add(Me.Label27) + Me.Controls.Add(Me.LabelDigio) + Me.Controls.Add(Me.Label26) + Me.Controls.Add(Me.LabelSyncout) + Me.Controls.Add(Me.Label15) + Me.Controls.Add(Me.LabelSequences) + Me.Controls.Add(Me.Label14) + Me.Controls.Add(Me.LabelCycles) + Me.Controls.Add(Me.Label13) + Me.Controls.Add(Me.LabelPrena) + Me.Controls.Add(Me.Label12) + Me.Controls.Add(Me.LabelSweepmode) + Me.Controls.Add(Me.Label11) + Me.Controls.Add(Me.LabelStarts) + Me.Controls.Add(Me.Label10) + Me.Controls.Add(Me.LabelData23) + Me.Controls.Add(Me.LabelData22) + Me.Controls.Add(Me.LabelData21) + Me.Controls.Add(Me.LabelData20) + Me.Controls.Add(Me.LabelData19) + Me.Controls.Add(Me.LabelData18) + Me.Controls.Add(Me.LabelData17) + Me.Controls.Add(Me.LabelData16) + Me.Controls.Add(Me.LabelData15) + Me.Controls.Add(Me.LabelData14) + Me.Controls.Add(Me.LabelData13) + Me.Controls.Add(Me.LabelData12) + Me.Controls.Add(Me.LabelData11) + Me.Controls.Add(Me.LabelData10) + Me.Controls.Add(Me.LabelData9) + Me.Controls.Add(Me.LabelData8) + Me.Controls.Add(Me.LabelData7) + Me.Controls.Add(Me.LabelData6) + Me.Controls.Add(Me.LabelData5) + Me.Controls.Add(Me.LabelData4) + Me.Controls.Add(Me.LabelData3) + Me.Controls.Add(Me.LabelData2) + Me.Controls.Add(Me.LabelData1) + Me.Controls.Add(Me.LabelData0) + Me.Controls.Add(Me.LabelCommand) + Me.Controls.Add(Me.Label40) + Me.Controls.Add(Me.LabelSpecfile) + Me.Controls.Add(Me.Label41) + Me.Controls.Add(Me.LabelMpafilename) + Me.Controls.Add(Me.Label37) + Me.Controls.Add(Me.CommandDatasettings) + Me.Controls.Add(Me.TextChan) + Me.Controls.Add(Me.CommandGetspec) + Me.Controls.Add(Me.LabelCalpoints) + Me.Controls.Add(Me.Label35) + Me.Controls.Add(Me.LabelActive) + Me.Controls.Add(Me.Label34) + Me.Controls.Add(Me.LabelSmpts) + Me.Controls.Add(Me.Label33) + Me.Controls.Add(Me.LabelCaluse) + Me.Controls.Add(Me.Label32) + Me.Controls.Add(Me.LabelNregions) + Me.Controls.Add(Me.Label31) + Me.Controls.Add(Me.LabelSephead) + Me.Controls.Add(Me.Label29) + Me.Controls.Add(Me.LabelMpafmt) + Me.Controls.Add(Me.Label28) + Me.Controls.Add(Me.LabelBitshift) + Me.Controls.Add(Me.Label25) + Me.Controls.Add(Me.LabelXdim) + Me.Controls.Add(Me.Label24) + Me.Controls.Add(Me.LabelOffset) + Me.Controls.Add(Me.Label23) + Me.Controls.Add(Me.LabelParam) + Me.Controls.Add(Me.Label22) + Me.Controls.Add(Me.LabelAutoinc) + Me.Controls.Add(Me.Label21) + Me.Controls.Add(Me.LabelFmt) + Me.Controls.Add(Me.Label20) + Me.Controls.Add(Me.LabelSavedata) + Me.Controls.Add(Me.Label19) + Me.Controls.Add(Me.LabelAddcal) + Me.Controls.Add(Me.Label18) + Me.Controls.Add(Me.LabelEventpreset) + Me.Controls.Add(Me.Label17) + Me.Controls.Add(Me.LabelRoimax) + Me.Controls.Add(Me.Label16) + Me.Controls.Add(Me.LabelRoimin) + Me.Controls.Add(Me.Label36) + Me.Controls.Add(Me.LabelCftfak) + Me.Controls.Add(Me.Label38) + Me.Controls.Add(Me.LabelRange) + Me.Controls.Add(Me.Label39) + Me.Controls.Add(Me.CommandSetting) + Me.Controls.Add(Me.LabelMaxval) + Me.Controls.Add(Me.Label2) + Me.Controls.Add(Me.LabelLine13) + Me.Controls.Add(Me.LabelLine12) + Me.Controls.Add(Me.LabelLine11) + Me.Controls.Add(Me.LabelLine10) + Me.Controls.Add(Me.LabelLine9) + Me.Controls.Add(Me.LabelLine8) + Me.Controls.Add(Me.LabelLine7) + Me.Controls.Add(Me.LabelLine6) + Me.Controls.Add(Me.LabelLine5) + Me.Controls.Add(Me.LabelLine4) + Me.Controls.Add(Me.LabelLine3) + Me.Controls.Add(Me.LabelLine2) + Me.Controls.Add(Me.LabelLine1) + Me.Controls.Add(Me.LabelLine0) + Me.Controls.Add(Me.CommandGetstring) + Me.Controls.Add(Me.LabelSweeps) + Me.Controls.Add(Me.Label9) + Me.Controls.Add(Me.LabelRoirate) + Me.Controls.Add(Me.Label8) + Me.Controls.Add(Me.LabelRoisum) + Me.Controls.Add(Me.Label7) + Me.Controls.Add(Me.LabelTotalsum) + Me.Controls.Add(Me.Label6) + Me.Controls.Add(Me.LabelOfls) + Me.Controls.Add(Me.Label5) + Me.Controls.Add(Me.LabelRuntime) + Me.Controls.Add(Me.Label4) + Me.Controls.Add(Me.LabelStarted) + Me.Controls.Add(Me.Label3) + Me.Controls.Add(Me.CommandUpdate) + Me.Controls.Add(Me.TextRespons) + Me.Controls.Add(Me.TextCommand) + Me.Controls.Add(Me.CommandExecute) + Me.Controls.Add(Me.CommandSave) + Me.Controls.Add(Me.CommandErase) + Me.Controls.Add(Me.CommandContinue) + Me.Controls.Add(Me.CommandHalt) + Me.Controls.Add(Me.Label1) + Me.Controls.Add(Me.CommandStart) + Me.Controls.Add(Me.TextMC) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "Form1" + Me.Text = "MCS6 Demo" + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents LabelCommand As System.Windows.Forms.Label + Friend WithEvents Label40 As System.Windows.Forms.Label + Friend WithEvents LabelSpecfile As System.Windows.Forms.Label + Friend WithEvents Label41 As System.Windows.Forms.Label + Friend WithEvents LabelMpafilename As System.Windows.Forms.Label + Friend WithEvents Label37 As System.Windows.Forms.Label + Friend WithEvents CommandDatasettings As System.Windows.Forms.Button + Friend WithEvents TextChan As System.Windows.Forms.TextBox + Friend WithEvents CommandGetspec As System.Windows.Forms.Button + Friend WithEvents LabelCalpoints As System.Windows.Forms.Label + Friend WithEvents Label35 As System.Windows.Forms.Label + Friend WithEvents LabelActive As System.Windows.Forms.Label + Friend WithEvents Label34 As System.Windows.Forms.Label + Friend WithEvents LabelSmpts As System.Windows.Forms.Label + Friend WithEvents Label33 As System.Windows.Forms.Label + Friend WithEvents LabelCaluse As System.Windows.Forms.Label + Friend WithEvents Label32 As System.Windows.Forms.Label + Friend WithEvents LabelNregions As System.Windows.Forms.Label + Friend WithEvents Label31 As System.Windows.Forms.Label + Friend WithEvents LabelSephead As System.Windows.Forms.Label + Friend WithEvents Label29 As System.Windows.Forms.Label + Friend WithEvents LabelMpafmt As System.Windows.Forms.Label + Friend WithEvents Label28 As System.Windows.Forms.Label + Friend WithEvents LabelBitshift As System.Windows.Forms.Label + Friend WithEvents Label25 As System.Windows.Forms.Label + Friend WithEvents LabelXdim As System.Windows.Forms.Label + Friend WithEvents Label24 As System.Windows.Forms.Label + Friend WithEvents LabelOffset As System.Windows.Forms.Label + Friend WithEvents Label23 As System.Windows.Forms.Label + Friend WithEvents LabelParam As System.Windows.Forms.Label + Friend WithEvents Label22 As System.Windows.Forms.Label + Friend WithEvents LabelAutoinc As System.Windows.Forms.Label + Friend WithEvents Label21 As System.Windows.Forms.Label + Friend WithEvents LabelFmt As System.Windows.Forms.Label + Friend WithEvents Label20 As System.Windows.Forms.Label + Friend WithEvents LabelSavedata As System.Windows.Forms.Label + Friend WithEvents Label19 As System.Windows.Forms.Label + Friend WithEvents LabelAddcal As System.Windows.Forms.Label + Friend WithEvents Label18 As System.Windows.Forms.Label + Friend WithEvents LabelEventpreset As System.Windows.Forms.Label + Friend WithEvents Label17 As System.Windows.Forms.Label + Friend WithEvents LabelRoimax As System.Windows.Forms.Label + Friend WithEvents Label16 As System.Windows.Forms.Label + Friend WithEvents LabelRoimin As System.Windows.Forms.Label + Friend WithEvents Label36 As System.Windows.Forms.Label + Friend WithEvents LabelCftfak As System.Windows.Forms.Label + Friend WithEvents Label38 As System.Windows.Forms.Label + Friend WithEvents LabelRange As System.Windows.Forms.Label + Friend WithEvents Label39 As System.Windows.Forms.Label + Friend WithEvents CommandSetting As System.Windows.Forms.Button + Friend WithEvents LabelMaxval As System.Windows.Forms.Label + Friend WithEvents Label2 As System.Windows.Forms.Label + Friend WithEvents LabelLine13 As System.Windows.Forms.Label + Friend WithEvents LabelLine12 As System.Windows.Forms.Label + Friend WithEvents LabelLine11 As System.Windows.Forms.Label + Friend WithEvents LabelLine10 As System.Windows.Forms.Label + Friend WithEvents LabelLine9 As System.Windows.Forms.Label + Friend WithEvents LabelLine8 As System.Windows.Forms.Label + Friend WithEvents LabelLine7 As System.Windows.Forms.Label + Friend WithEvents LabelLine6 As System.Windows.Forms.Label + Friend WithEvents LabelLine5 As System.Windows.Forms.Label + Friend WithEvents LabelLine4 As System.Windows.Forms.Label + Friend WithEvents LabelLine3 As System.Windows.Forms.Label + Friend WithEvents LabelLine2 As System.Windows.Forms.Label + Friend WithEvents LabelLine1 As System.Windows.Forms.Label + Friend WithEvents LabelLine0 As System.Windows.Forms.Label + Friend WithEvents CommandGetstring As System.Windows.Forms.Button + Friend WithEvents LabelSweeps As System.Windows.Forms.Label + Friend WithEvents Label9 As System.Windows.Forms.Label + Friend WithEvents LabelRoirate As System.Windows.Forms.Label + Friend WithEvents Label8 As System.Windows.Forms.Label + Friend WithEvents LabelRoisum As System.Windows.Forms.Label + Friend WithEvents Label7 As System.Windows.Forms.Label + Friend WithEvents LabelTotalsum As System.Windows.Forms.Label + Friend WithEvents Label6 As System.Windows.Forms.Label + Friend WithEvents LabelOfls As System.Windows.Forms.Label + Friend WithEvents Label5 As System.Windows.Forms.Label + Friend WithEvents LabelRuntime As System.Windows.Forms.Label + Friend WithEvents Label4 As System.Windows.Forms.Label + Friend WithEvents LabelStarted As System.Windows.Forms.Label + Friend WithEvents Label3 As System.Windows.Forms.Label + Friend WithEvents CommandUpdate As System.Windows.Forms.Button + Friend WithEvents TextRespons As System.Windows.Forms.TextBox + Friend WithEvents TextCommand As System.Windows.Forms.TextBox + Friend WithEvents CommandExecute As System.Windows.Forms.Button + Friend WithEvents CommandSave As System.Windows.Forms.Button + Friend WithEvents CommandErase As System.Windows.Forms.Button + Friend WithEvents CommandContinue As System.Windows.Forms.Button + Friend WithEvents CommandHalt As System.Windows.Forms.Button + Friend WithEvents Label1 As System.Windows.Forms.Label + Friend WithEvents CommandStart As System.Windows.Forms.Button + Friend WithEvents TextMC As System.Windows.Forms.TextBox + Friend WithEvents LabelData23 As System.Windows.Forms.Label + Friend WithEvents LabelData22 As System.Windows.Forms.Label + Friend WithEvents LabelData21 As System.Windows.Forms.Label + Friend WithEvents LabelData20 As System.Windows.Forms.Label + Friend WithEvents LabelData19 As System.Windows.Forms.Label + Friend WithEvents LabelData18 As System.Windows.Forms.Label + Friend WithEvents LabelData17 As System.Windows.Forms.Label + Friend WithEvents LabelData16 As System.Windows.Forms.Label + Friend WithEvents LabelData15 As System.Windows.Forms.Label + Friend WithEvents LabelData14 As System.Windows.Forms.Label + Friend WithEvents LabelData13 As System.Windows.Forms.Label + Friend WithEvents LabelData12 As System.Windows.Forms.Label + Friend WithEvents LabelData11 As System.Windows.Forms.Label + Friend WithEvents LabelData10 As System.Windows.Forms.Label + Friend WithEvents LabelData9 As System.Windows.Forms.Label + Friend WithEvents LabelData8 As System.Windows.Forms.Label + Friend WithEvents LabelData7 As System.Windows.Forms.Label + Friend WithEvents LabelData6 As System.Windows.Forms.Label + Friend WithEvents LabelData5 As System.Windows.Forms.Label + Friend WithEvents LabelData4 As System.Windows.Forms.Label + Friend WithEvents LabelData3 As System.Windows.Forms.Label + Friend WithEvents LabelData2 As System.Windows.Forms.Label + Friend WithEvents LabelData1 As System.Windows.Forms.Label + Friend WithEvents LabelData0 As System.Windows.Forms.Label + Friend WithEvents Label10 As System.Windows.Forms.Label + Friend WithEvents LabelStarts As System.Windows.Forms.Label + Friend WithEvents Label11 As System.Windows.Forms.Label + Friend WithEvents LabelSweepmode As System.Windows.Forms.Label + Friend WithEvents Label12 As System.Windows.Forms.Label + Friend WithEvents LabelPrena As System.Windows.Forms.Label + Friend WithEvents Label13 As System.Windows.Forms.Label + Friend WithEvents LabelCycles As System.Windows.Forms.Label + Friend WithEvents Label14 As System.Windows.Forms.Label + Friend WithEvents LabelSequences As System.Windows.Forms.Label + Friend WithEvents Label15 As System.Windows.Forms.Label + Friend WithEvents LabelSyncout As System.Windows.Forms.Label + Friend WithEvents Label26 As System.Windows.Forms.Label + Friend WithEvents LabelDigio As System.Windows.Forms.Label + Friend WithEvents Label27 As System.Windows.Forms.Label + Friend WithEvents LabelDigval As System.Windows.Forms.Label + Friend WithEvents Label30 As System.Windows.Forms.Label + Friend WithEvents LabelDac0 As System.Windows.Forms.Label + Friend WithEvents Label42 As System.Windows.Forms.Label + Friend WithEvents LabelDac1 As System.Windows.Forms.Label + Friend WithEvents Label43 As System.Windows.Forms.Label + Friend WithEvents LabelDac2 As System.Windows.Forms.Label + Friend WithEvents Label44 As System.Windows.Forms.Label + Friend WithEvents LabelDac3 As System.Windows.Forms.Label + Friend WithEvents Label45 As System.Windows.Forms.Label + Friend WithEvents LabelDac4 As System.Windows.Forms.Label + Friend WithEvents Label46 As System.Windows.Forms.Label + Friend WithEvents LabelDac5 As System.Windows.Forms.Label + Friend WithEvents Label47 As System.Windows.Forms.Label + Friend WithEvents LabelFdac As System.Windows.Forms.Label + Friend WithEvents Label48 As System.Windows.Forms.Label + Friend WithEvents LabelTagbits As System.Windows.Forms.Label + Friend WithEvents Label49 As System.Windows.Forms.Label + Friend WithEvents LabelExtclk As System.Windows.Forms.Label + Friend WithEvents Label50 As System.Windows.Forms.Label + Friend WithEvents LabelSerno As System.Windows.Forms.Label + Friend WithEvents Label51 As System.Windows.Forms.Label + Friend WithEvents LabelDdruse As System.Windows.Forms.Label + Friend WithEvents Label52 As System.Windows.Forms.Label + Friend WithEvents LabelHoldafter As System.Windows.Forms.Label + Friend WithEvents Label53 As System.Windows.Forms.Label + Friend WithEvents LabelSwpreset As System.Windows.Forms.Label + Friend WithEvents Label55 As System.Windows.Forms.Label + Friend WithEvents LabelFstchan As System.Windows.Forms.Label + Friend WithEvents Label56 As System.Windows.Forms.Label + Friend WithEvents LabelTimepreset As System.Windows.Forms.Label + Friend WithEvents Timer1 As System.Windows.Forms.Timer + +End Class diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo/Form1.resx b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo/Form1.resx new file mode 100644 index 0000000..9f5f054 --- /dev/null +++ b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo/Form1.resx @@ -0,0 +1,209 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + + + AAABAAMAICAQAAAAAADoAgAANgAAABAQEAAAAAAAKAEAAB4DAAAwMAAAAAAAAKgOAABGBAAAKAAAACAA + AABAAAAAAQAEAAAAAACAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICA + AACAgIAAwMDAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP///wCfn5+Z/5n/mfmfmZn/mf//n5+fmf+Z + /5n5n5mZ/5n///n5+fmf+Z/5n5n/+Z/5n//5+fn5n/mZn5mZ+ZmZ+Z///5+fn5n/mZ+ZmZ+Zmf+Z//+f + n5+Z/5n/+Z+fmf//mf//+fn5+Z/5mZmZmZmZmZmZ//n5+fmf+ZmZmZmZmZmZmf////////////////// + //8RERERERERERERERERERERHu7Ozs7Ozs7Ozs7Ozs7uzh7uzs7Ozs7Ozs7O7u7u7u4R7s7Ozs7Ozs7u + 7u7u7u7uHu7Ozs7Ozs7u7u7u7u7u7h7u7s7Ozs7u7u7u7u7u7u4R7u7Ozs7O7u7u7u7u7u7uHu7uzs7O + 7u7u7u7u7u7u7h7u7s7Ozu7u7u7u7u7u7u4R7u7Ozu7u7u7u7u7u7u7uHu7u7s7u7u7u7u7u7u7u7hER + EREREREREREREREREREe7s7Ozs7Ozs7Ozs7Ozu7OHu7Ozs7Ozs7Ozs7u7u7u7hHuzs7Ozs7Ozu7u7u7u + 7u4e7s7Ozs7Ozu7u7u7u7u7uHu7uzs7Ozu7u7u7u7u7u7hHu7s7Ozs7u7u7u7u7u7u4e7u7Ozs7u7u7u + 7u7u7u7uHu7uzs7O7u7u7u7u7u7u7hHu7s7O7u7u7u7u7u7u7u4e7u7uzu7u7u7u7u7u7u7uHu7u7u7u + 7u7u7u7u7u7u7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAKAAAABAAAAAgAAAAAQAEAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAIAAAIAAAACAgACAAAAAgACAAICAAADAwMAAgICAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP// + /wCfn5+fn5n5/5+fn5+f/5n/n5+Z+Zn5n5/5+fn5+fn/n/n5+ZmZmZmZEREREREREREezMzMzMzu7hHs + zM7u7u7uHuzM7u7u7u4e7s7u7u7u7hERERERERERHszMzMzM7u4R7MzO7u7u7h7szO7u7u7uHu7O7u7u + 7u4e7u7u7u7u7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAoAAAAMAAAAGAAAAABAAgAAAAAAIAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + gAAAgAAAAICAAIAAAACAAIAAgIAAAMDAwADA3MAA8MqmAAQEBAAICAgADAwMABEREQAWFhYAHBwcACIi + IgApKSkAVVVVAE1NTQBCQkIAOTk5AIB8/wBQUP8AkwDWAP/szADG1u8A1ufnAJCprQAAADMAAABmAAAA + mQAAAMwAADMAAAAzMwAAM2YAADOZAAAzzAAAM/8AAGYAAABmMwAAZmYAAGaZAABmzAAAZv8AAJkAAACZ + MwAAmWYAAJmZAACZzAAAmf8AAMwAAADMMwAAzGYAAMyZAADMzAAAzP8AAP9mAAD/mQAA/8wAMwAAADMA + MwAzAGYAMwCZADMAzAAzAP8AMzMAADMzMwAzM2YAMzOZADMzzAAzM/8AM2YAADNmMwAzZmYAM2aZADNm + zAAzZv8AM5kAADOZMwAzmWYAM5mZADOZzAAzmf8AM8wAADPMMwAzzGYAM8yZADPMzAAzzP8AM/8zADP/ + ZgAz/5kAM//MADP//wBmAAAAZgAzAGYAZgBmAJkAZgDMAGYA/wBmMwAAZjMzAGYzZgBmM5kAZjPMAGYz + /wBmZgAAZmYzAGZmZgBmZpkAZmbMAGaZAABmmTMAZplmAGaZmQBmmcwAZpn/AGbMAABmzDMAZsyZAGbM + zABmzP8AZv8AAGb/MwBm/5kAZv/MAMwA/wD/AMwAmZkAAJkzmQCZAJkAmQDMAJkAAACZMzMAmQBmAJkz + zACZAP8AmWYAAJlmMwCZM2YAmWaZAJlmzACZM/8AmZkzAJmZZgCZmZkAmZnMAJmZ/wCZzAAAmcwzAGbM + ZgCZzJkAmczMAJnM/wCZ/wAAmf8zAJnMZgCZ/5kAmf/MAJn//wDMAAAAmQAzAMwAZgDMAJkAzADMAJkz + AADMMzMAzDNmAMwzmQDMM8wAzDP/AMxmAADMZjMAmWZmAMxmmQDMZswAmWb/AMyZAADMmTMAzJlmAMyZ + mQDMmcwAzJn/AMzMAADMzDMAzMxmAMzMmQDMzMwAzMz/AMz/AADM/zMAmf9mAMz/mQDM/8wAzP//AMwA + MwD/AGYA/wCZAMwzAAD/MzMA/zNmAP8zmQD/M8wA/zP/AP9mAAD/ZjMAzGZmAP9mmQD/ZswAzGb/AP+Z + AAD/mTMA/5lmAP+ZmQD/mcwA/5n/AP/MAAD/zDMA/8xmAP/MmQD/zMwA/8z/AP//MwDM/2YA//+ZAP// + zABmZv8AZv9mAGb//wD/ZmYA/2b/AP//ZgAhAKUAX19fAHd3dwCGhoYAlpaWAMvLywCysrIA19fXAN3d + 3QDj4+MA6urqAPHx8QD4+PgA8Pv/AKSgoACAgIAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////APn5 + //n5//n5//n5+fn////5+fn////5+fn///n5+f/5+fn5+fn///n5+f////////n5//n5//n5//n5+fn/ + ///5+fn////5+fn///n5+f/5+fn5+fn///n5+f/////////5+f/5+f/5+f/5+fn5////+fn5////+fn5 + ///5+fn/+fn5+fn5///5+fn////////5+f/5+f/5+f/5+fn5////+fn5////+fn5///5+fn/////+fn5 + ///5+fn/////////+fn/+fn/+fn/+fn5+f////n5+fn5//n5+fn5+fn5//n5+fn5+f//+fn5//////// + +fn/+fn/+fn/+fn5+f////n5+fn5//n5+fn5+fn5//n5+fn5+f//+fn5//////////n5//n5//n5//n5 + +fn////5+fn5+f/5+fn5+fn5+f/5+fn5+fn///n5+f////////n5//n5//n5//n5+fn////5+fn5+f/5 + +fn5+fn5+f/5+fn5+fn///n5+f/////////5+f/5+f/5+f/5+fn5////+fn5////+fn5///5+fn/+fn/ + ///////5+fn////////5+f/5+f/5+f/5+fn5////+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+f// + ////+fn/+fn/+fn/+fn5+f////n5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+f//////+fn/+fn/+fn/ + +fn5+f////n5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+f////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////wEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH+ + /v7+/vz+/vz+/vz+/vz+/vz+/vz+/vz+/vz+/vz+/vz+/vz+/vz+/v7+/vz+/gH+/v7+/vz+/vz+/vz+ + /vz+/vz+/vz+/vz+/vz+/vz+/vz+/vz+/vz+/v7+/vz+/gH+/v7+/vz+/vz+/vz+/vz+/vz+/vz+/vz+ + /vz+/vz+/v7+/v7+/v7+/v7+/v7+/gEBAf7+/vz+/vz+/vz+/vz+/vz+/vz+/vz+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/gEBAf7+/vz+/vz+/vz+/vz+/vz+/vz+/vz+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/gH+ + /v7+/vz+/vz+/vz+/vz+/vz+/vz+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/gH+/v7+/v7+/vz+/vz+ + /vz+/vz+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/gH+/v7+/v7+/vz+/vz+/vz+/vz+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/gEBAf7+/v7+/vz+/vz+/vz+/vz+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/gH+/v7+/v7+/vz+/vz+/vz+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/gH+ + /v7+/v7+/vz+/vz+/vz+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/gH+/v7+/v7+/vz+/vz+ + /vz+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/gEBAf7+/v7+/vz+/vz+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/gEBAf7+/v7+/vz+/vz+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/gH+/v7+/v7+/v7+/vz+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/gEB + AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB + AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH+/v7+/vz+/vz+/vz+/vz+/vz+/vz+/vz+ + /vz+/vz+/vz+/vz+/vz+/v7+/vz+/gH+/v7+/vz+/vz+/vz+/vz+/vz+/vz+/vz+/vz+/vz+/v7+/v7+ + /v7+/v7+/v7+/gH+/v7+/vz+/vz+/vz+/vz+/vz+/vz+/vz+/vz+/vz+/v7+/v7+/v7+/v7+/v7+/gEB + Af7+/vz+/vz+/vz+/vz+/vz+/vz+/vz+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/gH+/v7+/vz+/vz+/vz+ + /vz+/vz+/vz+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/gH+/v7+/vz+/vz+/vz+/vz+/vz+/vz+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/gH+/v7+/v7+/vz+/vz+/vz+/vz+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/gEBAf7+/v7+/vz+/vz+/vz+/vz+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/gEB + Af7+/v7+/vz+/vz+/vz+/vz+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/gH+/v7+/v7+/vz+/vz+ + /vz+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/gH+/v7+/v7+/vz+/vz+/vz+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/gH+/v7+/v7+/vz+/vz+/vz+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/gEBAf7+/v7+/vz+/vz+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/gH+ + /v7+/v7+/v7+/vz+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/gH+/v7+/v7+/v7+/vz+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/gH+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + + + \ No newline at end of file diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo/Form1.vb b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo/Form1.vb new file mode 100644 index 0000000..5f7dd79 --- /dev/null +++ b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo/Form1.vb @@ -0,0 +1,268 @@ +Imports mcs6ademo.MCS6VB +Public Class Form1 + Dim Sysno As Integer + Dim Status As mcs6ademo.MCS6VB.MCS6IO.Acqstatus + Dim Setting As mcs6ademo.MCS6VB.MCS6IO.Acqsetting + Dim Dsetting As mcs6ademo.MCS6VB.MCS6IO.Datsetting + Dim Msetting As mcs6ademo.MCS6VB.MCS6IO.Boardsetting + Dim OldStarted As Integer + Dim Mcano As Integer + Dim Chan As Integer + Dim Hist(24) As Integer + Dim Toggle As Integer + Dim Ret As Integer + Dim ccc(2048) As Char + Dim bcc(256) As Char + Dim scc(256) As Short + + Private Sub UpdateStatus() + LabelStarted.Text = Status.Started + LabelMaxval.Text = Status.Maxval + LabelRuntime.Text = Status.Cnt0 + LabelOfls.Text = Status.Cnt1 + LabelTotalsum.Text = Status.Cnt2 + LabelRoisum.Text = Status.Cnt3 + LabelRoirate.Text = Format$(Status.Cnt4, "######0.0#") + LabelSweeps.Text = Status.Cnt5 + LabelStarts.Text = Status.Cnt6 + End Sub + Private Sub UpdateSetting() + LabelRange.Text = Setting.Range + LabelCftfak.Text = Setting.Cftfak + LabelRoimin.Text = Setting.Roimin + LabelRoimax.Text = Setting.Roimax + LabelNregions.Text = Setting.Nregions + LabelCaluse.Text = Setting.Caluse + LabelCalpoints.Text = Setting.Calpoints + LabelParam.Text = Setting.Param + LabelOffset.Text = Setting.Offset + LabelXdim.Text = Setting.Xdim + LabelBitshift.Text = Setting.Bitshift + LabelActive.Text = Setting.Active + LabelEventpreset.Text = Setting.Eventpreset + End Sub + Private Sub UpdateBoardsetting() + LabelSweepmode.Text = Msetting.Sweepmode + LabelPrena.Text = Msetting.Prena + LabelCycles.Text = Msetting.Cycles + LabelSequences.Text = Msetting.Sequences + LabelSyncout.Text = Msetting.Syncout + LabelDigio.Text = Msetting.Digio + LabelDigval.Text = Msetting.Digval + LabelDac0.Text = Msetting.Dac0 + LabelDac1.Text = Msetting.Dac1 + LabelDac2.Text = Msetting.Dac2 + LabelDac3.Text = Msetting.Dac3 + LabelDac4.Text = Msetting.Dac4 + LabelDac5.Text = Msetting.Dac5 + LabelFdac.Text = Msetting.Fdac + LabelTagbits.Text = Msetting.Tagbits + LabelExtclk.Text = Msetting.Extclk + LabelSerno.Text = Msetting.Serno + LabelDdruse.Text = Msetting.Ddruse + LabelHoldafter.Text = Msetting.Holdafter + LabelSwpreset.Text = Msetting.Swpreset + LabelFstchan.Text = Msetting.Fstchan + LabelTimepreset.Text = Msetting.Timepreset + End Sub + + Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + OldStarted = 0 + Mcano = 1 + Sysno = 0 + Chan = 0 + Ret = mcs6ademo.MCS6VB.MCS6IO.ServExec(0) + Ret = mcs6ademo.MCS6VB.MCS6IO.GetStatus(0) + Ret = mcs6ademo.MCS6VB.MCS6IO.GetStatusData(Status, 0) + Call UpdateStatus() + Ret = mcs6ademo.MCS6VB.MCS6IO.GetSettingData(Setting, 0) + Call UpdateSetting() + Ret = mcs6ademo.MCS6VB.MCS6IO.GetMCSSetting(Msetting, 0) + Call UpdateBoardsetting() + End Sub + + + Private Sub CommandDatasettings_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CommandDatasettings.Click + Dim n As Integer + Call mcs6ademo.MCS6VB.MCS6IO.GetDatSetting(Dsetting) + LabelSavedata.Text = Dsetting.SaveData + LabelAutoinc.Text = Dsetting.Autoinc + LabelFmt.Text = Dsetting.Fmt + LabelMpafmt.Text = Dsetting.Mpafmt + LabelSephead.Text = Dsetting.Sephead + LabelSmpts.Text = Dsetting.Smpts + LabelAddcal.Text = Dsetting.Caluse + n = mcs6ademo.MCS6VB.MCS6IO.BytearrayToShortarray(scc(0), Dsetting.Filename, 256) + For index As Integer = 0 To n + bcc(index) = Chr(scc(index)) + Next + LabelMpafilename.Text = bcc + n = mcs6ademo.MCS6VB.MCS6IO.BytearrayToShortarray(scc(0), Dsetting.Specfile, 256) + For index As Integer = 0 To n + bcc(index) = Chr(scc(index)) + Next + LabelSpecfile.Text = bcc + n = mcs6ademo.MCS6VB.MCS6IO.BytearrayToShortarray(scc(0), Dsetting.Command, 256) + For index As Integer = 0 To n + bcc(index) = Chr(scc(index)) + Next + LabelCommand.Text = bcc + End Sub + + Private Sub GetMcano() + Mcano = Val(TextMC.Text) + If Mcano < 1 Then + Mcano = 1 + TextMC.Text = Mcano + End If + If Mcano > 6 Then + Mcano = 6 + TextMC.Text = Mcano + End If + End Sub + Private Sub GetChan() + Chan = Val(TextChan.Text) + If Chan > Setting.Range - 25 Then + Chan = Setting.Range - 25 + TextChan.Text = Chan + End If + If Chan < 0 Then + Chan = 0 + TextChan.Text = Chan + End If + End Sub + Private Sub CommandExecute_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CommandExecute.Click + Dim cmd As String + Dim c(256) As Byte + Dim ccs As Short + cmd = " " + Mid$(cmd, 1) = TextCommand.Text + bcc = cmd + For index As Integer = 0 To 100 + ccs = Asc(bcc(index)) + c(index) = ccs + Next + + Call mcs6ademo.MCS6VB.MCS6IO.RunCmd(0, c(0)) + For index As Integer = 0 To 100 + ccs = c(index) + bcc(index) = Chr(ccs) + Next + cmd = bcc + + TextRespons.Text = cmd + Call GetMcano() + Ret = mcs6ademo.MCS6VB.MCS6IO.GetStatus(Mcano - 1) + Ret = mcs6ademo.MCS6VB.MCS6IO.GetStatusData(Status, Mcano - 1) + Call UpdateStatus() + Ret = mcs6ademo.MCS6VB.MCS6IO.GetSettingData(Setting, Mcano - 1) + Call UpdateSetting() + Ret = mcs6ademo.MCS6VB.MCS6IO.GetMCSSetting(Msetting, 0) + Call UpdateBoardsetting() + End Sub + + Private Sub CommandGetspec_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CommandGetspec.Click + Call GetMcano() + Call GetChan() + Call mcs6ademo.MCS6VB.MCS6IO.GetBlock(Hist(0), Chan, Chan + 24, 1, Mcano - 1) + LabelData0.Text = Hist(0) + LabelData1.Text = Hist(1) + LabelData2.Text = Hist(2) + LabelData3.Text = Hist(3) + LabelData4.Text = Hist(4) + LabelData5.Text = Hist(5) + LabelData6.Text = Hist(6) + LabelData7.Text = Hist(7) + LabelData8.Text = Hist(8) + LabelData9.Text = Hist(9) + LabelData10.Text = Hist(10) + LabelData11.Text = Hist(11) + LabelData12.Text = Hist(12) + LabelData13.Text = Hist(13) + LabelData14.Text = Hist(14) + LabelData15.Text = Hist(15) + LabelData16.Text = Hist(16) + LabelData17.Text = Hist(17) + LabelData18.Text = Hist(18) + LabelData19.Text = Hist(19) + LabelData20.Text = Hist(20) + LabelData21.Text = Hist(21) + LabelData22.Text = Hist(22) + LabelData23.Text = Hist(23) + End Sub + + Private Sub CommandGetstring_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CommandGetstring.Click + Dim b As String + Dim c(2048) As Byte + Dim ccs As Short + b = " " + Call GetMcano() + Ret = mcs6ademo.MCS6VB.MCS6IO.LVGetStr(c(0), Mcano - 1) + + For index As Integer = 0 To 2047 + ccs = c(index) + ccc(index) = Chr(ccs) + Next + b = ccc + LabelLine0.Text = Mid$(b, 1, 60) + LabelLine1.Text = Mid$(b, 61, 60) + LabelLine2.Text = Mid$(b, 121, 60) + LabelLine3.Text = Mid$(b, 181, 60) + LabelLine4.Text = Mid$(b, 241, 60) + LabelLine5.Text = Mid$(b, 301, 60) + LabelLine6.Text = Mid$(b, 361, 60) + LabelLine7.Text = Mid$(b, 421, 60) + LabelLine8.Text = Mid$(b, 481, 60) + LabelLine9.Text = Mid$(b, 541, 60) + LabelLine10.Text = Mid$(b, 601, 60) + LabelLine11.Text = Mid$(b, 881, 60) + LabelLine12.Text = Mid$(b, 961, 60) + LabelLine13.Text = Mid$(b, 661, 100) + End Sub + + Private Sub CommandErase_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CommandErase.Click + Call mcs6ademo.MCS6VB.MCS6IO.EraseData(0) + End Sub + Private Sub CommandHalt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CommandHalt.Click + Call mcs6ademo.MCS6VB.MCS6IO.Halt(0) + End Sub + + Private Sub CommandSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CommandSave.Click + Call mcs6ademo.MCS6VB.MCS6IO.SaveData(0, 1) + End Sub + + Private Sub CommandStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CommandStart.Click + Call mcs6ademo.MCS6VB.MCS6IO.Start(0) + End Sub + Private Sub CommandContinue_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CommandContinue.Click + Call mcs6ademo.MCS6VB.MCS6IO.Cont(0) + End Sub + Private Sub CommandSetting_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CommandSetting.Click + Call GetMcano() + If mcs6ademo.MCS6VB.MCS6IO.GetSettingData(Setting, Mcano - 1) = 1 Then + Call UpdateSetting() + End If + Ret = mcs6ademo.MCS6VB.MCS6IO.GetMCSSetting(Msetting, 0) + Call UpdateBoardsetting() + End Sub + + Private Sub CommandUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CommandUpdate.Click + Call GetMcano() + Ret = mcs6ademo.MCS6VB.MCS6IO.GetStatus(Mcano - 1) + Ret = mcs6ademo.MCS6VB.MCS6IO.GetStatusData(Status, Mcano - 1) + Call UpdateStatus() + End Sub + + Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick + Call GetMcano() + Ret = mcs6ademo.MCS6VB.MCS6IO.GetStatus(Mcano - 1) + If mcs6ademo.MCS6VB.MCS6IO.GetStatusData(Status, Mcano - 1) = 1 Then + If Status.Started = 1 Or OldStarted = 1 Then + Toggle = Not Toggle + OldStarted = Status.Started + Call UpdateStatus() + End If + End If + Call UpdateStatus() + End Sub +End Class diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo/My Project/Application.Designer.vb b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo/My Project/Application.Designer.vb new file mode 100644 index 0000000..4dd2529 --- /dev/null +++ b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo/My Project/Application.Designer.vb @@ -0,0 +1,38 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:2.0.50727.3074 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + 'NOTE: This file is auto-generated; do not modify it directly. To make changes, + ' or if you encounter build errors in this file, go to the Project Designer + ' (go to Project Properties or double-click the My Project node in + ' Solution Explorer), and make changes on the Application tab. + ' + Partial Friend Class MyApplication + + _ + Public Sub New() + MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows) + Me.IsSingleInstance = false + Me.EnableVisualStyles = true + Me.SaveMySettingsOnExit = true + Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses + End Sub + + _ + Protected Overrides Sub OnCreateMainForm() + Me.MainForm = Global.mcs6ademo.Form1 + End Sub + End Class +End Namespace diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo/My Project/Application.myapp b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo/My Project/Application.myapp new file mode 100644 index 0000000..1243847 --- /dev/null +++ b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo/My Project/Application.myapp @@ -0,0 +1,11 @@ + + + true + Form1 + false + 0 + true + 0 + 0 + true + diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo/My Project/AssemblyInfo.vb b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo/My Project/AssemblyInfo.vb new file mode 100644 index 0000000..d7ab3f1 --- /dev/null +++ b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo/My Project/AssemblyInfo.vb @@ -0,0 +1,35 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' General Information about an assembly is controlled through the following +' set of attributes. Change these attribute values to modify the information +' associated with an assembly. + +' Review the values of the assembly attributes + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo/My Project/Resources.Designer.vb b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo/My Project/Resources.Designer.vb new file mode 100644 index 0000000..1963657 --- /dev/null +++ b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo/My Project/Resources.Designer.vb @@ -0,0 +1,62 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:2.0.50727.3074 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My.Resources + + 'This class was auto-generated by the StronglyTypedResourceBuilder + 'class via a tool like ResGen or Visual Studio. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + ' + ' A strongly-typed resource class, for looking up localized strings, etc. + ' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ' + ' Returns the cached ResourceManager instance used by this class. + ' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("mcs6ademo.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ' + ' Overrides the current thread's CurrentUICulture property for all + ' resource lookups using this strongly typed resource class. + ' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set(ByVal value As Global.System.Globalization.CultureInfo) + resourceCulture = value + End Set + End Property + End Module +End Namespace diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo/My Project/Resources.resx b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo/My Project/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo/My Project/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo/My Project/Settings.Designer.vb b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo/My Project/Settings.Designer.vb new file mode 100644 index 0000000..23c3109 --- /dev/null +++ b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo/My Project/Settings.Designer.vb @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:2.0.50727.3074 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings), MySettings) + +#Region "My.Settings Auto-Save Functionality" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.mcs6ademo.My.MySettings + Get + Return Global.mcs6ademo.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo/My Project/Settings.settings b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo/My Project/Settings.settings new file mode 100644 index 0000000..85b890b --- /dev/null +++ b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo/My Project/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo/declmcs6.vb b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo/declmcs6.vb new file mode 100644 index 0000000..2c017cd --- /dev/null +++ b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo/declmcs6.vb @@ -0,0 +1,136 @@ +'Attribute VB_Name = "DECLMCS6" +Imports System +Imports System.Runtime.InteropServices + +Namespace MCS6VB + Public Class MCS6IO + Structure Acqstatus + Public Started As Integer + Public Maxval As Integer + Public Cnt0 As Double + Public Cnt1 As Double + Public Cnt2 As Double + Public Cnt3 As Double + Public Cnt4 As Double + Public Cnt5 As Double + Public Cnt6 As Double + Public Cnt7 As Double + End Structure + + Structure Acqsetting + Public Range As Integer + Public Cftfak As Integer + Public Roimin As Integer + Public Roimax As Integer + Public Nregions As Integer + Public Caluse As Integer + Public Calpoints As Integer + Public Param As Integer + Public Offset As Integer + Public Xdim As Integer + Public Bitshift As Integer + Public Active As Integer + Public Eventpreset As Double + Public Dummy1 As Double + Public Dummy2 As Double + Public Dummy3 As Double + End Structure + + _ + Structure Replaysetting + Public Use As Integer + Public Modified As Integer + Public Limit As Integer + Public Speed As Integer + Public Startsfrom As Double + Public Startsto As Double + Public Startspreset As Double + Public Filename As Byte + End Structure + + _ + Structure Datsetting + Public SaveData As Integer + Public Autoinc As Integer + Public Fmt As Integer + Public Mpafmt As Integer + Public Sephead As Integer + Public Smpts As Integer + Public Caluse As Integer + Public Filename As Byte + Public Specfile As Byte + Public Command As Byte + End Structure + + Structure Boardsetting + Public Sweepmode As Integer + Public Prena As Integer + Public Cycles As Integer + Public Sequences As Integer + Public Syncout As Integer + Public Digio As Integer + Public Digval As Integer + Public Dac0 As Integer + Public Dac1 As Integer + Public Dac2 As Integer + Public Dac3 As Integer + Public Dac4 As Integer + Public Dac5 As Integer + Public Fdac As Integer + Public Tagbits As Integer + Public Extclk As Integer + Public Maxchan As Integer + Public Serno As Integer + Public Ddruse As Integer + Public Active As Integer + Public Holdafter As Double + Public Swpreset As Double + Public Fstchan As Double + Public Timepreset As Double + End Structure + + _ + Structure Acqdef + Public Ndevices As Integer + Public Ndisplays As Integer + Public Nsystems As Integer + Public Bremote As Integer + Public Auxsys As Integer + Public Sys0 As Integer + Public Sys1 As Integer + End Structure + + Declare Sub StoreSettingData Lib "DMCS6.DLL" Alias "#2" (ByRef Setting As Acqsetting, ByVal Ndisplay As Integer) + Declare Function GetSettingData Lib "DMCS6.DLL" Alias "#3" (ByRef Setting As Acqsetting, ByVal Ndisplay As Integer) As Integer + Declare Function GetStatusData Lib "DMCS6.DLL" Alias "#5" (ByRef Status As Acqstatus, ByVal Ndevice As Integer) As Integer + Declare Sub Start Lib "DMCS6.DLL" Alias "#6" (ByVal Nsystem As Integer) + Declare Sub Halt Lib "DMCS6.DLL" Alias "#7" (ByVal Nsystem As Integer) + Declare Sub Cont Lib "DMCS6.DLL" Alias "#8" (ByVal Nsystem As Integer) + Declare Sub NewSetting Lib "DMCS6.DLL" Alias "#9" (ByVal Ndisplay As Integer) + Declare Function ServExec Lib "DMCS6.DLL" Alias "#10" (ByVal Clwnd As Integer) As Integer + Declare Function GetSpec Lib "DMCS6.DLL" Alias "#13" (ByVal I As Integer, ByVal Ndisplay As Integer) As Integer + Declare Sub SaveSetting Lib "DMCS6.DLL" Alias "#14" () + Declare Function GetStatus Lib "DMCS6.DLL" Alias "#15" (ByVal Ndevice As Integer) As Integer + Declare Sub EraseData Lib "DMCS6.DLL" Alias "#16" (ByVal Nsystem As Integer) + Declare Sub SaveData Lib "DMCS6.DLL" Alias "#17" (ByVal Ndevice As Integer, ByVal All As Integer) + Declare Sub GetBlock Lib "DMCS6.DLL" Alias "#18" (ByRef Hist As Integer, ByVal Start As Integer, ByVal Size As Integer, ByVal Stp As Integer, ByVal Ndisplay As Integer) + Declare Function GetDefData Lib "DMCS6.DLL" Alias "#20" (ByRef Def As Acqdef) As Integer + Declare Sub LoadData Lib "DMCS6.DLL" Alias "#21" (ByVal Ndevice As Integer, ByVal All As Integer) + Declare Sub NewData Lib "DMCS6.DLL" Alias "#22" () + Declare Sub HardwareDlg Lib "DMCS6.DLL" Alias "#23" (ByVal Item As Integer) + Declare Sub UnregisterClient Lib "DMCS6.DLL" Alias "#24" () + Declare Sub DestroyClient Lib "DMCS6.DLL" Alias "#25" () + Declare Sub RunCmd Lib "DMCS6.DLL" Alias "#28" (ByVal Ndevice As Integer, ByRef Cmd As Byte) + Declare Sub AddData Lib "DMCS6.DLL" Alias "#29" (ByVal Ndisplay As Integer, ByVal All As Integer) + Declare Function LVGetRoi Lib "DMCS6.DLL" Alias "#30" (ByRef Roi As Integer, ByVal Ndisplay As Integer) As Integer + Declare Function LVGetCnt Lib "DMCS6.DLL" Alias "#31" (ByRef Cnt As Double, ByVal Ndisplay As Integer) As Integer + Declare Function LVGetOneCnt Lib "DMCS6.DLL" Alias "#32" (ByRef Cnt As Double, ByVal Ndisplay As Integer, ByVal Cntnum As Integer) As Integer + Declare Function LVGetStr Lib "DMCS6.DLL" Alias "#33" (ByRef Comment As Byte, ByVal Ndisplay As Integer) As Integer + Declare Sub SubData Lib "DMCS6.DLL" Alias "#34" (ByVal Ndisplay As Integer, ByVal All As Integer) + Declare Sub Smooth Lib "DMCS6.DLL" Alias "#35" (ByVal Ndisplay As Integer) + Declare Function GetMCSSetting Lib "DMCS6.DLL" Alias "#39" (ByRef Msetting As Boardsetting, ByVal Ndev As Integer) As Integer + Declare Function GetDatSetting Lib "DMCS6.DLL" Alias "#41" (ByRef Dsetting As Datsetting) As Integer + Declare Function GetReplaySetting Lib "DMCS6.DLL" Alias "#43" (ByRef Rsetting As Replaysetting) As Integer + Declare Function BytearrayToShortarray Lib "DMCS6.DLL" Alias "#49" (ByRef Shortarray As Short, ByRef Bytearray As Byte, ByVal Length As Integer) As Integer + End Class +End Namespace diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo/mcs6ademo.vbproj b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo/mcs6ademo.vbproj new file mode 100644 index 0000000..c3d3df3 --- /dev/null +++ b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo/mcs6ademo.vbproj @@ -0,0 +1,123 @@ + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {D0EF4D10-01B0-4F76-8C8C-103D0FD9BA58} + WinExe + mcs6ademo.My.MyApplication + mcs6ademo + mcs6ademo + 512 + WindowsForms + v3.5 + On + Binary + Off + On + + + true + full + true + true + bin\Debug\ + mcs6ademo.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + pdbonly + false + true + true + bin\Release\ + mcs6ademo.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + + + + + + + + 3.5 + + + 3.5 + + + 3.5 + + + + + + + + + + + + + + + + + + Form + + + Form1.vb + Form + + + + True + Application.myapp + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + Form1.vb + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + \ No newline at end of file diff --git a/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo/w7888.ico b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo/w7888.ico new file mode 100644 index 0000000..c94bf1d Binary files /dev/null and b/FAST ComTec/Files from FAST ComTec/mcs6adll/vb2008/mcs6ademo/w7888.ico differ diff --git a/FAST ComTec/mcs6a.py b/FAST ComTec/mcs6a.py new file mode 100644 index 0000000..0189a7a --- /dev/null +++ b/FAST ComTec/mcs6a.py @@ -0,0 +1,11 @@ +from ctypes import * +from sys import platform + +lib_path = "./DMCS6.dll" +try: + lib = CDLL(lib_path) + print("Successfully loaded ", lib) + + print(lib.LEDBlink(0)) +except Exception as e: + print(e) \ No newline at end of file