diff --git a/Axel-boss/Axel-boss.sln b/Axel-boss/Axel-boss.sln
index 79fb853f..6657665c 100644
--- a/Axel-boss/Axel-boss.sln
+++ b/Axel-boss/Axel-boss.sln
@@ -1,44 +1,44 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2013
-VisualStudioVersion = 12.0.31101.0
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Axel-boss", "Axel-boss\Axel-boss.csproj", "{9FDC67B7-A355-4D9D-83CD-187E9FE0D6E5}"
- ProjectSection(ProjectDependencies) = postProject
- {1FB4D7AD-D169-4B68-A11A-C398186F3C4C} = {1FB4D7AD-D169-4B68-A11A-C398186F3C4C}
- {C8285DB3-DE2F-4B3B-B79A-454B4C4C2828} = {C8285DB3-DE2F-4B3B-B79A-454B4C4C2828}
- EndProjectSection
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "scanUC", "scanUC\scanUC\scanUC.csproj", "{1FB4D7AD-D169-4B68-A11A-C398186F3C4C}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AxelChart", "..\AxelChart\AxelChart\AxelChart.csproj", "{C8285DB3-DE2F-4B3B-B79A-454B4C4C2828}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UtilsLib", "..\Utils\UtilsLib.csproj", "{A377A708-96B9-4569-BC22-0187D647611E}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {9FDC67B7-A355-4D9D-83CD-187E9FE0D6E5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {9FDC67B7-A355-4D9D-83CD-187E9FE0D6E5}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {9FDC67B7-A355-4D9D-83CD-187E9FE0D6E5}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {9FDC67B7-A355-4D9D-83CD-187E9FE0D6E5}.Release|Any CPU.Build.0 = Release|Any CPU
- {1FB4D7AD-D169-4B68-A11A-C398186F3C4C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {1FB4D7AD-D169-4B68-A11A-C398186F3C4C}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {1FB4D7AD-D169-4B68-A11A-C398186F3C4C}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {1FB4D7AD-D169-4B68-A11A-C398186F3C4C}.Release|Any CPU.Build.0 = Release|Any CPU
- {C8285DB3-DE2F-4B3B-B79A-454B4C4C2828}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {C8285DB3-DE2F-4B3B-B79A-454B4C4C2828}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {C8285DB3-DE2F-4B3B-B79A-454B4C4C2828}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {C8285DB3-DE2F-4B3B-B79A-454B4C4C2828}.Release|Any CPU.Build.0 = Release|Any CPU
- {A377A708-96B9-4569-BC22-0187D647611E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {A377A708-96B9-4569-BC22-0187D647611E}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {A377A708-96B9-4569-BC22-0187D647611E}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {A377A708-96B9-4569-BC22-0187D647611E}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2013
+VisualStudioVersion = 12.0.31101.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Axel-boss", "Axel-boss\Axel-boss.csproj", "{9FDC67B7-A355-4D9D-83CD-187E9FE0D6E5}"
+ ProjectSection(ProjectDependencies) = postProject
+ {1FB4D7AD-D169-4B68-A11A-C398186F3C4C} = {1FB4D7AD-D169-4B68-A11A-C398186F3C4C}
+ {C8285DB3-DE2F-4B3B-B79A-454B4C4C2828} = {C8285DB3-DE2F-4B3B-B79A-454B4C4C2828}
+ EndProjectSection
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "scanUC", "scanUC\scanUC\scanUC.csproj", "{1FB4D7AD-D169-4B68-A11A-C398186F3C4C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AxelChart", "..\AxelChart\AxelChart\AxelChart.csproj", "{C8285DB3-DE2F-4B3B-B79A-454B4C4C2828}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UtilsLib", "..\Utils\UtilsLib.csproj", "{A377A708-96B9-4569-BC22-0187D647611E}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {9FDC67B7-A355-4D9D-83CD-187E9FE0D6E5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {9FDC67B7-A355-4D9D-83CD-187E9FE0D6E5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {9FDC67B7-A355-4D9D-83CD-187E9FE0D6E5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {9FDC67B7-A355-4D9D-83CD-187E9FE0D6E5}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1FB4D7AD-D169-4B68-A11A-C398186F3C4C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1FB4D7AD-D169-4B68-A11A-C398186F3C4C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1FB4D7AD-D169-4B68-A11A-C398186F3C4C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1FB4D7AD-D169-4B68-A11A-C398186F3C4C}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C8285DB3-DE2F-4B3B-B79A-454B4C4C2828}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C8285DB3-DE2F-4B3B-B79A-454B4C4C2828}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C8285DB3-DE2F-4B3B-B79A-454B4C4C2828}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C8285DB3-DE2F-4B3B-B79A-454B4C4C2828}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A377A708-96B9-4569-BC22-0187D647611E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A377A708-96B9-4569-BC22-0187D647611E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A377A708-96B9-4569-BC22-0187D647611E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A377A708-96B9-4569-BC22-0187D647611E}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/Axel-boss/Axel-boss/App.xaml b/Axel-boss/Axel-boss/App.xaml
index d6ba35ce..b74e8828 100644
--- a/Axel-boss/Axel-boss/App.xaml
+++ b/Axel-boss/Axel-boss/App.xaml
@@ -1,8 +1,8 @@
-
-
-
-
-
+
+
+
+
+
diff --git a/Axel-boss/Axel-boss/App.xaml.cs b/Axel-boss/Axel-boss/App.xaml.cs
index ecca81d2..b550892b 100644
--- a/Axel-boss/Axel-boss/App.xaml.cs
+++ b/Axel-boss/Axel-boss/App.xaml.cs
@@ -1,17 +1,17 @@
-using System;
-using System.Collections.Generic;
-using System.Configuration;
-using System.Data;
-using System.Linq;
-using System.Windows;
-using System.Windows.Threading;
-
-namespace Axel_boss
-{
- ///
- /// Interaction logic for App.xaml
- ///
- public partial class App : Application
- {
- }
-}
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Data;
+using System.Linq;
+using System.Windows;
+using System.Windows.Threading;
+
+namespace Axel_boss
+{
+ ///
+ /// Interaction logic for App.xaml
+ ///
+ public partial class App : Application
+ {
+ }
+}
diff --git a/Axel-boss/Axel-boss/AssemblyInfo.cs b/Axel-boss/Axel-boss/AssemblyInfo.cs
index 2a042312..c95fec84 100644
--- a/Axel-boss/Axel-boss/AssemblyInfo.cs
+++ b/Axel-boss/Axel-boss/AssemblyInfo.cs
@@ -1,55 +1,55 @@
-using System.Reflection;
-using System.Resources;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-using System.Windows;
-
-// 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.
-[assembly: AssemblyTitle("Axel_boss")]
-[assembly: AssemblyDescription("Data acquisition and acceleration math for MEMS and Axel-track")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("Teodor Krastev for Imperial College, London, UK")]
-[assembly: AssemblyProduct("Axel_boss")]
-[assembly: AssemblyCopyright("Teodor Krastev for Imperial College, London, UK")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-//In order to begin building localizable applications, set
-//CultureYouAreCodingWith in your .csproj file
-//inside a . For example, if you are using US english
-//in your source files, set the to en-US. Then uncomment
-//the NeutralResourceLanguage attribute below. Update the "en-US" in
-//the line below to match the UICulture setting in the project file.
-
-//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
-
-
-[assembly: ThemeInfo(
- ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
- //(used if a resource is not found in the page,
- // or application resource dictionaries)
- ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
- //(used if a resource is not found in the page,
- // app, or any theme specific resource dictionaries)
-)]
-
-
-// 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:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.3.0.0")]
-[assembly: AssemblyFileVersion("1.3.0.0")]
+using System.Reflection;
+using System.Resources;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using System.Windows;
+
+// 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.
+[assembly: AssemblyTitle("Axel_boss")]
+[assembly: AssemblyDescription("Data acquisition and acceleration math for MEMS and Axel-track")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Teodor Krastev for Imperial College, London, UK")]
+[assembly: AssemblyProduct("Axel_boss")]
+[assembly: AssemblyCopyright("Teodor Krastev for Imperial College, London, UK")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+//In order to begin building localizable applications, set
+//CultureYouAreCodingWith in your .csproj file
+//inside a . For example, if you are using US english
+//in your source files, set the to en-US. Then uncomment
+//the NeutralResourceLanguage attribute below. Update the "en-US" in
+//the line below to match the UICulture setting in the project file.
+
+//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
+
+
+[assembly: ThemeInfo(
+ ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
+ //(used if a resource is not found in the page,
+ // or application resource dictionaries)
+ ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
+ //(used if a resource is not found in the page,
+ // app, or any theme specific resource dictionaries)
+)]
+
+
+// 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:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.3.0.0")]
+[assembly: AssemblyFileVersion("1.3.0.0")]
diff --git a/Axel-boss/Axel-boss/Axel-boss.csproj b/Axel-boss/Axel-boss/Axel-boss.csproj
index bcaf8f57..2c00662b 100644
--- a/Axel-boss/Axel-boss/Axel-boss.csproj
+++ b/Axel-boss/Axel-boss/Axel-boss.csproj
@@ -1,179 +1,180 @@
-
-
-
- Debug
- x86
- 8.0.30703
- 2.0
- {9FDC67B7-A355-4D9D-83CD-187E9FE0D6E5}
- WinExe
- Properties
- Axel_boss
- Axel-boss
- v4.5
-
-
- 512
- {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
- 4
- publish\
- true
- Disk
- false
- Foreground
- 7
- Days
- false
- false
- true
- 0
- 1.0.0.%2a
- false
- false
- true
-
-
- x86
- true
- full
- false
- bin\
- DEBUG;TRACE
- prompt
- 4
- false
-
-
- x86
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
- false
-
-
- speed1.ico
-
-
-
- ..\AxelChart\AxelChart\bin\Debug\AxelChart.dll
-
-
-
-
-
-
-
-
- False
- bin\NationalInstruments.DAQmx.dll
-
-
- False
-
-
-
-
-
-
-
- False
- bin\Newtonsoft.Json.dll
-
-
- False
- bin\scanUC.dll
-
-
-
-
-
-
-
-
-
- 4.0
-
-
- ..\Utils\bin\Debug\UtilsLib.dll
-
-
-
-
-
-
-
- MSBuild:Compile
- Designer
-
-
-
-
- MSBuild:Compile
- Designer
-
-
- App.xaml
- Code
-
-
- MainWindow.xaml
- Code
-
-
-
-
- Code
-
-
- True
- True
- Resources.resx
-
-
- True
- Settings.settings
- True
-
-
-
- ResXFileCodeGenerator
- Resources.Designer.cs
-
-
- SettingsSingleFileGenerator
- Settings.Designer.cs
-
-
-
-
-
-
-
-
- False
- Microsoft .NET Framework 4.5 %28x86 and x64%29
- true
-
-
- False
- .NET Framework 3.5 SP1 Client Profile
- false
-
-
- False
- .NET Framework 3.5 SP1
- false
-
-
-
-
+
+
+
+ Debug
+ x86
+ 8.0.30703
+ 2.0
+ {9FDC67B7-A355-4D9D-83CD-187E9FE0D6E5}
+ WinExe
+ Properties
+ Axel_boss
+ Axel-boss
+ v4.5
+
+
+ 512
+ {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ 4
+ publish\
+ true
+ Disk
+ false
+ Foreground
+ 7
+ Days
+ false
+ false
+ true
+ 0
+ 1.0.0.%2a
+ false
+ false
+ true
+
+
+ x86
+ true
+ full
+ false
+ bin\
+ DEBUG;TRACE
+ prompt
+ 4
+ false
+ true
+
+
+ x86
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+ false
+
+
+ speed1.ico
+
+
+
+ ..\AxelChart\AxelChart\bin\Debug\AxelChart.dll
+
+
+
+
+
+
+
+
+ False
+ bin\NationalInstruments.DAQmx.dll
+
+
+ False
+
+
+
+
+
+
+
+ False
+ bin\Newtonsoft.Json.dll
+
+
+ False
+ bin\scanUC.dll
+
+
+
+
+
+
+
+
+
+ 4.0
+
+
+ ..\Utils\bin\Debug\UtilsLib.dll
+
+
+
+
+
+
+
+ MSBuild:Compile
+ Designer
+
+
+
+
+ MSBuild:Compile
+ Designer
+
+
+ App.xaml
+ Code
+
+
+ MainWindow.xaml
+ Code
+
+
+
+
+ Code
+
+
+ True
+ True
+ Resources.resx
+
+
+ True
+ Settings.settings
+ True
+
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+
+
+ SettingsSingleFileGenerator
+ Settings.Designer.cs
+
+
+
+
+
+
+
+
+ False
+ Microsoft .NET Framework 4.5 %28x86 and x64%29
+ true
+
+
+ False
+ .NET Framework 3.5 SP1 Client Profile
+ false
+
+
+ False
+ .NET Framework 3.5 SP1
+ false
+
+
+
+
\ No newline at end of file
diff --git a/Axel-boss/Axel-boss/Axel-boss.csproj.user b/Axel-boss/Axel-boss/Axel-boss.csproj.user
index be7881fc..4a9dac53 100644
--- a/Axel-boss/Axel-boss/Axel-boss.csproj.user
+++ b/Axel-boss/Axel-boss/Axel-boss.csproj.user
@@ -1,13 +1,13 @@
-
-
-
- publish\
-
-
-
-
-
- en-US
- false
-
+
+
+
+ publish\
+
+
+
+
+
+ en-US
+ false
+
\ No newline at end of file
diff --git a/Axel-boss/Axel-boss/Class2.cs b/Axel-boss/Axel-boss/Class2.cs
index f4b35374..d555ecb0 100644
--- a/Axel-boss/Axel-boss/Class2.cs
+++ b/Axel-boss/Axel-boss/Class2.cs
@@ -1,8 +1,8 @@
-using System;
-
-public class Class1
-{
- public Class1()
- {
- }
-}
+using System;
+
+public class Class1
+{
+ public Class1()
+ {
+ }
+}
diff --git a/Axel-boss/Axel-boss/MainWindow.xaml b/Axel-boss/Axel-boss/MainWindow.xaml
index 9aa6ad70..9f9f001d 100644
--- a/Axel-boss/Axel-boss/MainWindow.xaml
+++ b/Axel-boss/Axel-boss/MainWindow.xaml
@@ -1,124 +1,116 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Axel-boss/Axel-boss/MainWindow.xaml.cs b/Axel-boss/Axel-boss/MainWindow.xaml.cs
index 49b30620..b86d588a 100644
--- a/Axel-boss/Axel-boss/MainWindow.xaml.cs
+++ b/Axel-boss/Axel-boss/MainWindow.xaml.cs
@@ -1,343 +1,351 @@
-using NationalInstruments.Net;
-using NationalInstruments.Analysis;
-using NationalInstruments.Analysis.Conversion;
-using NationalInstruments.Analysis.Dsp;
-using NationalInstruments.Analysis.Dsp.Filters;
-using NationalInstruments.Analysis.Math;
-using NationalInstruments.Analysis.Monitoring;
-using NationalInstruments.Analysis.SignalGeneration;
-using NationalInstruments.Analysis.SpectralMeasurements;
-using NationalInstruments;
-using NationalInstruments.DAQmx;
-using NationalInstruments.NetworkVariable;
-using NationalInstruments.NetworkVariable.WindowsForms;
-using NationalInstruments.Tdms;
-using NationalInstruments.Controls;
-using NationalInstruments.Controls.Rendering;
-using System;
-using System.IO;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Input;
-using System.Windows.Media;
-using System.Windows.Media.Imaging;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
-using System.Windows.Threading;
-using System.Diagnostics;
-using Newtonsoft.Json;
-using Newtonsoft.Json.Converters;
-using scanNS;
-using AxelBMemsNS;
-using AxelChartNS;
-using UtilsNS;
-//using DS345NS;
-
-
-namespace Axel_boss
-{
- public delegate void StartDelegate();
- ///
- /// Interaction logic for MainWindow.xaml
- ///
- public partial class MainWindow : Window
- {
- private int nSamples = 2000;
- Stopwatch stopWatch;
-
- public MainWindow()
- {
- InitializeComponent();
- tabSecPlots.SelectedIndex = 4;
- ucScan1.Start += new scanClass.StartHandler(DoStart);
- ucScan1.Remote += new scanClass.RemoteHandler(DoRemote);
- ucScan1.FileRef += new scanClass.FileRefHandler(DoRefFile);
-
- stopWatch = new Stopwatch();
- // DoRefFile(@"e:\VSprojects\Axel-track\XPS\17-03-29_15-32-33.log"); // test 17-03-29_17-37-05.log
- }
-
- private void log(string txt)
- {
- tbLog.AppendText(txt + "\n");
- }
-
- public void DoEvents()
- {
- DispatcherFrame frame = new DispatcherFrame();
- Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Background,
- new DispatcherOperationCallback(ExitFrame), frame);
- Dispatcher.PushFrame(frame);
- }
-
- public object ExitFrame(object f)
- {
- ((DispatcherFrame)f).Continue = false;
- return null;
- }
- private AxelMems axelMems = null;
-
- // main ADC call
- public void DoStart(bool down, double period, bool TimeMode, bool Endless, double Limit)
- {
- if (!down) // user cancel
- {
- AxelChart1.Running = false;
- ucScan1.Running = false;
- return;
- }
- Random random = new Random();
-
- AxelChart1.Waveform.TimeMode = TimeMode;
- if (TimeMode)
- {
- AxelChart1.Waveform.TimeLimit = Limit;
- nSamples = (int)(Limit / period);
- }
- else
- {
- AxelChart1.Waveform.SizeLimit = (int)Limit;
- nSamples = AxelChart1.Waveform.SizeLimit;
- }
- AxelChart1.SamplingPeriod = period;
- AxelChart1.Running = true;
- if (Utils.isNull(axelMems)) axelMems = new AxelMems();
- axelMems.nSamples = nSamples;
- axelMems.sampleRate = 1 / period; // in Hz
- axelMems.configureVITask("cDAQ1Mod1/ai0", "chn0");
- do
- {
- axelMems.readInVoltages();
- do
- {
- DoEvents();
- } while (axelMems.running);
-
- if (axelMems.rawData.Count != nSamples) new Exception("Wrong number of points in aquisition");
- AxelChart1.Clear();
- for (int i = 0; i < axelMems.rawData.Count; i++)
- {
- AxelChart1.AddPoint(axelMems.rawData[i], // random.Next()
- period * i);
- }
- AxelChart1.Refresh();
- } while (Endless && ucScan1.Running);
-
- AxelChart1.Running = false;
- ucScan1.Running = false;
- }
-
- private int TotalCycleCount = 0;
- private double TotalCycleTime = 0;
- // XPS remote ADC call
- public void DoRemote(double SamplingPeriod, double CyclePeriod, double Pause, double Distance, double Accel, int CyclesLeft) // from TotalCount to 1
- {
- Random random = new Random();
-
- if (!AxelChart1.Running) // first call - only prepare
- {
- //AxelChart1.Clear();
- Dictionary RemoteArg = new Dictionary();
- RemoteArg.Add("SamplingPeriod", SamplingPeriod); RemoteArg.Add("CyclePeriod", CyclePeriod); RemoteArg.Add("Pause", Pause);
- RemoteArg.Add("Distance", Distance); RemoteArg.Add("Accel", Accel); RemoteArg.Add("TotalCycleCount", CyclesLeft);
- AxelChart1.SamplingPeriod = SamplingPeriod;
- TotalCycleCount = CyclesLeft;
- TotalCycleTime = TotalCycleCount * (CyclePeriod + 2 * Pause);
- nSamples = (int)((CyclePeriod + 2 * Pause) / SamplingPeriod);
- AxelChart1.Waveform.TimeMode = false;
- AxelChart1.Waveform.SizeLimit = TotalCycleCount * nSamples;
- AxelChart1.Running = true;
- AxelChart1.remoteArg = JsonConvert.SerializeObject(RemoteArg);
- AxelChart2.Clear();
- // ADC
- if (Utils.isNull(axelMems)) axelMems = new AxelMems();
- axelMems.nSamples = nSamples;
- axelMems.sampleRate = ucScan1.RealConvRate(1 / SamplingPeriod); // in Hz
- axelMems.configureVITask("cDAQ1Mod1/ai0", "chn0");
- log("> starting acquisition");
- log("> " + SamplingPeriod.ToString("G3") + "; " + CyclePeriod.ToString("G5") + "; " + Pause.ToString("G4") + "; " + Distance.ToString("G3") +
- "; " + Accel.ToString("G3") + "; " + CyclesLeft.ToString());
- return;
- }
-
- if ((AxelChart1.Running) && (CyclesLeft == TotalCycleCount))// first real call
- {
- stopWatch.Restart();
- }
- double tm = stopWatch.Elapsed.TotalSeconds;
- //log("time = " + tm.ToString("G4"));
-
- axelMems.readInVoltages();
- do
- { DoEvents();
- } while (axelMems.running);
-
- if (axelMems.rawData.Count != nSamples) throw new Exception("Wrong number of points in aquisition");
- for (int i = 0; i < axelMems.rawData.Count; i++)
- {
- AxelChart1.AddPoint(axelMems.rawData[i], // random.Next()
- tm + SamplingPeriod * i);
- }
- AxelChart1.Refresh();
- if (AxelChart1.Running && (CyclesLeft == 1)) // last call
- {
- AxelChart1.Running = false;
- ucScan1.Running = false;
- TotalCycleCount = 0;
- }
- }
-
- // XPS log file reference
- public void DoRefFile(string FN, bool statFlag)
- {
- log("> Ref file: " + FN);
- AxelChart2.Open(FN);
- AxelChart2.refFile = FN;
- AxelChart2.Refresh();
-
- if (statFlag)
- {
- StatsStr stats = AxelChart1.statsByHisto();
- log("MEMS level= " + stats.mean().level.ToString("G4") +
- "; rel. SDev= " + (100 * stats.mean().sd / stats.mean().level).ToString("G3") + "%");
- stats = AxelChart2.statsByHisto();
- log("Track level= " + stats.mean().level.ToString("G4") +
- "; rel. SDev= " + (100 * stats.mean().sd / stats.mean().level).ToString("G3") + "%");
- }
- log("=-=-=-=-=-=-=-=-=-=-=-=-=-=");
- }
-
- public void DoCompareChart()
- {
- if (AxelChart1.Waveform.Count > 0)
- {
- graphAcceleration.Data[0] = AxelChart1.Waveform;
- }
- if (AxelChart2.Waveform.Count > 0)
- {
- graphAcceleration.Data[1] = AxelChart2.Waveform;
- }
- }
- #region File operation ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
- public bool Open(string fn)
- {
- if (!File.Exists(fn)) throw new Exception("File <" + fn + "> does not exist.");
- AxelChart1.Open(fn);
- AxelChart1.Refresh();
-
- int ext = 0; tbRem.Text = "";
- foreach (string line in File.ReadLines(fn))
- {
- if (line.Contains("#RefFile="))
- {
- string RefFN = System.IO.Path.GetDirectoryName(fn) + "\\"+line.Substring(9);
- if (!File.Exists(RefFN)) throw new Exception("File <" + RefFN + "> does not exist.");
- AxelChart2.Open(RefFN);
- AxelChart2.Refresh();
- ext++;
- }
- if (line.Contains("#Rem="))
- {
- tbRem.Text = line.Substring(5);
- }
- }
- if (ext < 1) MessageBox.Show("Some internal extensions are missing in <" + fn + ">.");
-
- log("Open> " + fn);
- return (ext == 1);
- }
-
- private void btnOpen_Click(object sender, RoutedEventArgs e)
- {
- Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();
- dlg.FileName = ""; // Default file name
- dlg.DefaultExt = ".abf"; // Default file extension
- dlg.Filter = "Axel Boss File (.abf)|*.abf"; // Filter files by extension
-
- // Show save file dialog box
- Nullable result = dlg.ShowDialog();
-
- // Process save file dialog box results
- if (result == true) Open(dlg.FileName);
- }
-
- public void Save(string fn)
- {
- if (!File.Exists(AxelChart2.refFile)) throw new Exception("File <" + AxelChart2.refFile + "> does not exist.");
- string destFile = System.IO.Path.GetFileName(AxelChart2.refFile);
-
- System.IO.File.Copy(AxelChart2.refFile, System.IO.Path.GetDirectoryName(fn) + "\\" + destFile, true);
-
- System.IO.StreamWriter file = new System.IO.StreamWriter(fn);
- if (AxelChart1.remoteArg == string.Empty) throw new Exception("No remote arguments in upper chart");
- file.WriteLine("#" + AxelChart1.remoteArg);
- file.WriteLine("#RefFile=" + destFile);
- if (!String.IsNullOrEmpty(tbRem.Text)) file.WriteLine("#Rem=" + tbRem.Text);
- for (int i = 0; i < AxelChart1.Waveform.Count; i++)
- file.WriteLine(AxelChart1.Waveform[i].X.ToString() + "\t" + AxelChart1.Waveform[i].Y.ToString());
- file.Close();
- log("Save> " + fn);
- }
-
- private void btnSaveAs_Click(object sender, RoutedEventArgs e)
- {
- Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog();
- dlg.FileName = ""; // Default file name
- dlg.DefaultExt = ".abf"; // Default file extension
- dlg.Filter = "Axel Boss File (.abf)|*.abf"; // Filter files by extension
-
- // Show save file dialog box
- Nullable result = dlg.ShowDialog();
- if (result == true) Save(dlg.FileName);
- }
-
- private void btnClear_Click(object sender, RoutedEventArgs e)
- {
- tbRem.Text = "";
- AxelChart1.Clear();
- AxelChart1.Refresh();
- AxelChart2.Clear();
- AxelChart2.Refresh();
- }
- #endregion
-
- private void splitDown_MouseDoubleClick(object sender, MouseButtonEventArgs e)
- {
- frmAxelBoss.Top = 0;
- frmAxelBoss.Height = SystemParameters.WorkArea.Height;
- frmAxelBoss.Left = SystemParameters.WorkArea.Width * 0.3;
- frmAxelBoss.Width = SystemParameters.WorkArea.Width * 0.7;
- tabSecPlots.SelectedIndex = 0;
- }
-
- private void tabSecPlots_SelectionChanged(object sender, SelectionChangedEventArgs e)
- {
- double d = ActualHeight / 2 - 6;
- if (d < 25) return;
- if ((tabSecPlots.SelectedIndex == 0) || (Utils.isNull(sender)))
- {
- rowUpperChart.Height = new GridLength(d, GridUnitType.Star);
- rowMiddleChart.Height = new GridLength(30, GridUnitType.Star);
- rowLowerChart.Height = new GridLength(d, GridUnitType.Star);
- }
- else
- {
- int mh = 150;
- rowUpperChart.Height = new GridLength(d-mh/2, GridUnitType.Star);
- rowMiddleChart.Height = new GridLength(mh, GridUnitType.Star);
- rowLowerChart.Height = new GridLength(d-mh/2, GridUnitType.Star);
- }
- }
-
- private void btnSplit_Click(object sender, RoutedEventArgs e)
- {
- List lst = AxelChart2.SplitCycles(AxelChart2.Waveform);
- MessageBox.Show("Count is " + lst.Count.ToString());
- }
- }
+using NationalInstruments.Net;
+using NationalInstruments.Analysis;
+using NationalInstruments.Analysis.Conversion;
+using NationalInstruments.Analysis.Dsp;
+using NationalInstruments.Analysis.Dsp.Filters;
+using NationalInstruments.Analysis.Math;
+using NationalInstruments.Analysis.Monitoring;
+using NationalInstruments.Analysis.SignalGeneration;
+using NationalInstruments.Analysis.SpectralMeasurements;
+using NationalInstruments;
+using NationalInstruments.DAQmx;
+using NationalInstruments.NetworkVariable;
+using NationalInstruments.NetworkVariable.WindowsForms;
+using NationalInstruments.Tdms;
+using NationalInstruments.Controls;
+using NationalInstruments.Controls.Rendering;
+using System;
+using System.IO;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using System.Windows.Threading;
+using System.Diagnostics;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using scanNS;
+using AxelBMemsNS;
+using AxelChartNS;
+using UtilsNS;
+//using DS345NS;
+
+
+namespace Axel_boss
+{
+ public delegate void StartDelegate();
+ ///
+ /// Interaction logic for MainWindow.xaml
+ ///
+ public partial class MainWindow : Window
+ {
+ private DataStack FirstDerv = null;
+ private DataStack CleanSeries = null;
+ private DataStack OriginalWaveform = null;
+
+ private int nSamples = 2000;
+ Stopwatch stopWatch;
+
+ public MainWindow()
+ {
+ InitializeComponent();
+ tabSecPlots.SelectedIndex = 4;
+ FirstDerv = new DataStack();
+ CleanSeries = new DataStack();
+
+ ucScan1.Start += new scanClass.StartHandler(DoStart);
+ ucScan1.Remote += new scanClass.RemoteHandler(DoRemote);
+ ucScan1.FileRef += new scanClass.FileRefHandler(DoRefFile);
+
+ stopWatch = new Stopwatch();
+ // DoRefFile(@"e:\VSprojects\Axel-track\XPS\17-03-29_15-32-33.log"); // test 17-03-29_17-37-05.log
+ }
+
+ private void log(string txt)
+ {
+ tbLog.AppendText(txt + "\n");
+ }
+
+ public void DoEvents()
+ {
+ DispatcherFrame frame = new DispatcherFrame();
+ Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Background,
+ new DispatcherOperationCallback(ExitFrame), frame);
+ Dispatcher.PushFrame(frame);
+ }
+
+ public object ExitFrame(object f)
+ {
+ ((DispatcherFrame)f).Continue = false;
+ return null;
+ }
+ private AxelMems axelMems = null;
+
+ // main ADC call
+ public void DoStart(bool down, double period, bool TimeMode, bool Endless, double Limit)
+ {
+ if (!down) // user cancel
+ {
+ AxelChart1.Running = false;
+ ucScan1.Running = false;
+ return;
+ }
+ Random random = new Random();
+
+ AxelChart1.Waveform.TimeMode = TimeMode;
+ if (TimeMode)
+ {
+ AxelChart1.Waveform.TimeLimit = Limit;
+ nSamples = (int)(Limit / period);
+ }
+ else
+ {
+ AxelChart1.Waveform.SizeLimit = (int)Limit;
+ nSamples = AxelChart1.Waveform.SizeLimit;
+ }
+ AxelChart1.SamplingPeriod = period;
+ AxelChart1.Running = true;
+ if (Utils.isNull(axelMems)) axelMems = new AxelMems();
+ axelMems.nSamples = nSamples;
+ axelMems.sampleRate = 1 / period; // in Hz
+ axelMems.configureVITask("cDAQ1Mod1/ai0", "chn0");
+ do
+ {
+ axelMems.readInVoltages();
+ do
+ {
+ DoEvents();
+ } while (axelMems.running);
+
+ if (axelMems.rawData.Count != nSamples) new Exception("Wrong number of points in aquisition");
+ AxelChart1.Clear();
+ for (int i = 0; i < axelMems.rawData.Count; i++)
+ {
+ AxelChart1.AddPoint(axelMems.rawData[i], // random.Next()
+ period * i);
+ }
+ AxelChart1.Refresh();
+ } while (Endless && ucScan1.Running);
+
+ AxelChart1.Running = false;
+ ucScan1.Running = false;
+ }
+
+ private int TotalCycleCount = 0;
+ private double TotalCycleTime = 0;
+ // XPS remote ADC call
+ public void DoRemote(double SamplingPeriod, double CyclePeriod, double Pause, double Distance, double Accel, int CyclesLeft) // from TotalCount to 1
+ {
+ Random random = new Random();
+
+ if (!AxelChart1.Running) // first call - only prepare
+ {
+ //AxelChart1.Clear();
+ Dictionary RemoteArg = new Dictionary();
+ RemoteArg.Add("SamplingPeriod", SamplingPeriod); RemoteArg.Add("CyclePeriod", CyclePeriod); RemoteArg.Add("Pause", Pause);
+ RemoteArg.Add("Distance", Distance); RemoteArg.Add("Accel", Accel); RemoteArg.Add("TotalCycleCount", CyclesLeft);
+ AxelChart1.SamplingPeriod = SamplingPeriod;
+ TotalCycleCount = CyclesLeft;
+ TotalCycleTime = TotalCycleCount * (CyclePeriod + 2 * Pause);
+ nSamples = (int)((CyclePeriod + 2 * Pause) / SamplingPeriod);
+ AxelChart1.Waveform.TimeMode = false;
+ AxelChart1.Waveform.SizeLimit = TotalCycleCount * nSamples;
+ AxelChart1.Running = true;
+ AxelChart1.remoteArg = JsonConvert.SerializeObject(RemoteArg);
+ AxelChart2.Clear();
+ // ADC
+ if (Utils.isNull(axelMems)) axelMems = new AxelMems();
+ axelMems.nSamples = nSamples;
+ axelMems.sampleRate = ucScan1.RealConvRate(1 / SamplingPeriod); // in Hz
+ axelMems.configureVITask("cDAQ1Mod1/ai0", "chn0");
+ log("> starting acquisition");
+ log("> " + SamplingPeriod.ToString("G3") + "; " + CyclePeriod.ToString("G5") + "; " + Pause.ToString("G4") + "; " + Distance.ToString("G3") +
+ "; " + Accel.ToString("G3") + "; " + CyclesLeft.ToString());
+ return;
+ }
+
+ if ((AxelChart1.Running) && (CyclesLeft == TotalCycleCount))// first real call
+ {
+ stopWatch.Restart();
+ }
+ double tm = stopWatch.Elapsed.TotalSeconds;
+ //log("time = " + tm.ToString("G4"));
+
+ axelMems.readInVoltages();
+ do
+ { DoEvents();
+ } while (axelMems.running);
+
+ if (axelMems.rawData.Count != nSamples) throw new Exception("Wrong number of points in aquisition");
+ for (int i = 0; i < axelMems.rawData.Count; i++)
+ {
+ AxelChart1.AddPoint(axelMems.rawData[i], // random.Next()
+ tm + SamplingPeriod * i);
+ }
+ AxelChart1.Refresh();
+ if (AxelChart1.Running && (CyclesLeft == 1)) // last call
+ {
+ AxelChart1.Running = false;
+ ucScan1.Running = false;
+ TotalCycleCount = 0;
+ }
+ }
+
+ // XPS log file reference
+ public void DoRefFile(string FN, bool statFlag)
+ {
+ log("> Ref file: " + FN);
+ AxelChart2.Open(FN);
+ AxelChart2.refFile = FN;
+ AxelChart2.Refresh();
+
+ if (statFlag)
+ {
+ StatsStr stats = AxelChart1.statsByHisto();
+ log("MEMS level= " + stats.mean().level.ToString("G4") +
+ "; rel. SDev= " + (100 * stats.mean().sd / stats.mean().level).ToString("G3") + "%");
+ stats = AxelChart2.statsByHisto();
+ log("Track level= " + stats.mean().level.ToString("G4") +
+ "; rel. SDev= " + (100 * stats.mean().sd / stats.mean().level).ToString("G3") + "%");
+ }
+ log("=-=-=-=-=-=-=-=-=-=-=-=-=-=");
+ }
+
+ public void DoCompareChart()
+ {
+ if (AxelChart1.Waveform.Count > 0)
+ {
+ graphAcceleration.Data[0] = AxelChart1.Waveform;
+ }
+ if (AxelChart2.Waveform.Count > 0)
+ {
+ graphAcceleration.Data[1] = AxelChart2.Waveform;
+ }
+ }
+ #region File operation ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ public bool Open(string fn)
+ {
+ if (!File.Exists(fn)) throw new Exception("File <" + fn + "> does not exist.");
+ AxelChart1.Open(fn);
+ AxelChart1.Refresh();
+
+ int ext = 0; //tbRem.Text = "";
+ foreach (string line in File.ReadLines(fn))
+ {
+ if (line.Contains("#RefFile="))
+ {
+ string RefFN = System.IO.Path.GetDirectoryName(fn) + "\\"+line.Substring(9);
+ if (!File.Exists(RefFN)) throw new Exception("File <" + RefFN + "> does not exist.");
+ AxelChart2.Open(RefFN);
+ AxelChart2.Refresh();
+ ext++;
+ }
+ /* if (line.Contains("#Rem="))
+ {
+ tbRem.Text = line.Substring(5);
+ }*/
+ }
+ if (ext < 1) MessageBox.Show("Some internal extensions are missing in <" + fn + ">.");
+
+ log("Open> " + fn);
+ return (ext == 1);
+ }
+
+ private void btnOpen_Click(object sender, RoutedEventArgs e)
+ {
+ Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();
+ dlg.FileName = ""; // Default file name
+ dlg.DefaultExt = ".abf"; // Default file extension
+ dlg.Filter = "Axel Boss File (.abf)|*.abf"; // Filter files by extension
+
+ // Show save file dialog box
+ Nullable result = dlg.ShowDialog();
+
+ // Process save file dialog box results
+ if (result == true) Open(dlg.FileName);
+ }
+
+ public void Save(string fn)
+ {
+ if (!File.Exists(AxelChart2.refFile)) throw new Exception("File <" + AxelChart2.refFile + "> does not exist.");
+ string destFile = System.IO.Path.GetFileName(AxelChart2.refFile);
+
+ System.IO.File.Copy(AxelChart2.refFile, System.IO.Path.GetDirectoryName(fn) + "\\" + destFile, true);
+
+ System.IO.StreamWriter file = new System.IO.StreamWriter(fn);
+ if (AxelChart1.remoteArg == string.Empty) throw new Exception("No remote arguments in upper chart");
+ file.WriteLine("#" + AxelChart1.remoteArg);
+ file.WriteLine("#RefFile=" + destFile);
+ //if (!String.IsNullOrEmpty(tbRem.Text)) file.WriteLine("#Rem=" + tbRem.Text);
+ for (int i = 0; i < AxelChart1.Waveform.Count; i++)
+ file.WriteLine(AxelChart1.Waveform[i].X.ToString() + "\t" + AxelChart1.Waveform[i].Y.ToString());
+ file.Close();
+ log("Save> " + fn);
+ }
+
+ private void btnSaveAs_Click(object sender, RoutedEventArgs e)
+ {
+ Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog();
+ dlg.FileName = ""; // Default file name
+ dlg.DefaultExt = ".abf"; // Default file extension
+ dlg.Filter = "Axel Boss File (.abf)|*.abf"; // Filter files by extension
+
+ // Show save file dialog box
+ Nullable result = dlg.ShowDialog();
+ if (result == true) Save(dlg.FileName);
+ }
+
+ private void btnClear_Click(object sender, RoutedEventArgs e)
+ {
+ //tbRem.Text = "";
+ AxelChart1.Clear();
+ AxelChart1.Refresh();
+ AxelChart2.Clear();
+ AxelChart2.Refresh();
+ }
+ #endregion
+
+ private void splitDown_MouseDoubleClick(object sender, MouseButtonEventArgs e)
+ {
+ frmAxelBoss.Top = 0;
+ frmAxelBoss.Height = SystemParameters.WorkArea.Height;
+ frmAxelBoss.Left = SystemParameters.WorkArea.Width * 0.3;
+ frmAxelBoss.Width = SystemParameters.WorkArea.Width * 0.7;
+ tabSecPlots.SelectedIndex = 0;
+ }
+
+ private void tabSecPlots_SelectionChanged(object sender, SelectionChangedEventArgs e)
+ {
+ double d = ActualHeight / 2 - 6;
+ if (d < 25) return;
+ if ((tabSecPlots.SelectedIndex == 0) || (Utils.isNull(sender)))
+ {
+ rowUpperChart.Height = new GridLength(d, GridUnitType.Star);
+ rowMiddleChart.Height = new GridLength(30, GridUnitType.Star);
+ rowLowerChart.Height = new GridLength(d, GridUnitType.Star);
+ }
+ else
+ {
+ int mh = 150;
+ rowUpperChart.Height = new GridLength(d-mh/2, GridUnitType.Star);
+ rowMiddleChart.Height = new GridLength(mh, GridUnitType.Star);
+ rowLowerChart.Height = new GridLength(d-mh/2, GridUnitType.Star);
+ }
+ }
+
+ private void btnSplit_Click(object sender, RoutedEventArgs e)
+ {
+ List lst = AxelChart2.SplitCycles(AxelChart2.Waveform);
+ MessageBox.Show("Count is " + lst.Count.ToString());
+ }
+
+ }
}
\ No newline at end of file
diff --git a/Axel-boss/Axel-boss/PipeServer.cs b/Axel-boss/Axel-boss/PipeServer.cs
index 3db03e77..cd722dc1 100644
--- a/Axel-boss/Axel-boss/PipeServer.cs
+++ b/Axel-boss/Axel-boss/PipeServer.cs
@@ -1,72 +1,72 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.IO.Pipes;
-using System.Diagnostics;
-
-namespace PipesServerTest
-{
- // Delegate for passing received message back to caller
- public delegate void DelegateMessage(string Reply);
-
- class PipeServer
- {
- public event DelegateMessage PipeMessage;
- string _pipeName;
-
- public void Listen(string PipeName)
- {
- try
- {
- // Set to class level var so we can re-use in the async callback method
- _pipeName = PipeName;
- // Create the new async pipe
- NamedPipeServerStream pipeServer = new NamedPipeServerStream(PipeName, PipeDirection.In, 1, PipeTransmissionMode.Byte, PipeOptions.Asynchronous);
-
- // Wait for a connection
- pipeServer.BeginWaitForConnection(new AsyncCallback(WaitForConnectionCallBack), pipeServer);
- }
- catch (Exception oEX)
- {
- Debug.WriteLine(oEX.Message);
- }
- }
-
- private void WaitForConnectionCallBack(IAsyncResult iar)
- {
- try
- {
- // Get the pipe
- NamedPipeServerStream pipeServer = (NamedPipeServerStream)iar.AsyncState;
- // End waiting for the connection
- pipeServer.EndWaitForConnection(iar);
-
- byte[] buffer = new byte[255];
-
- // Read the incoming message
- pipeServer.Read(buffer, 0, 255);
-
- // Convert byte buffer to string
- string stringData = Encoding.UTF8.GetString(buffer, 0, buffer.Length);
- Debug.WriteLine(stringData + Environment.NewLine);
-
- // Pass message back to calling form
- PipeMessage.Invoke(stringData);
-
- // Kill original sever and create new wait server
- pipeServer.Close();
- pipeServer = null;
- pipeServer = new NamedPipeServerStream(_pipeName, PipeDirection.In, 1, PipeTransmissionMode.Byte, PipeOptions.Asynchronous);
-
- // Recursively wait for the connection again and again....
- pipeServer.BeginWaitForConnection(new AsyncCallback(WaitForConnectionCallBack), pipeServer);
- }
- catch
- {
- return;
- }
- }
- }
-}
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.IO.Pipes;
+using System.Diagnostics;
+
+namespace PipesServerTest
+{
+ // Delegate for passing received message back to caller
+ public delegate void DelegateMessage(string Reply);
+
+ class PipeServer
+ {
+ public event DelegateMessage PipeMessage;
+ string _pipeName;
+
+ public void Listen(string PipeName)
+ {
+ try
+ {
+ // Set to class level var so we can re-use in the async callback method
+ _pipeName = PipeName;
+ // Create the new async pipe
+ NamedPipeServerStream pipeServer = new NamedPipeServerStream(PipeName, PipeDirection.In, 1, PipeTransmissionMode.Byte, PipeOptions.Asynchronous);
+
+ // Wait for a connection
+ pipeServer.BeginWaitForConnection(new AsyncCallback(WaitForConnectionCallBack), pipeServer);
+ }
+ catch (Exception oEX)
+ {
+ Debug.WriteLine(oEX.Message);
+ }
+ }
+
+ private void WaitForConnectionCallBack(IAsyncResult iar)
+ {
+ try
+ {
+ // Get the pipe
+ NamedPipeServerStream pipeServer = (NamedPipeServerStream)iar.AsyncState;
+ // End waiting for the connection
+ pipeServer.EndWaitForConnection(iar);
+
+ byte[] buffer = new byte[255];
+
+ // Read the incoming message
+ pipeServer.Read(buffer, 0, 255);
+
+ // Convert byte buffer to string
+ string stringData = Encoding.UTF8.GetString(buffer, 0, buffer.Length);
+ Debug.WriteLine(stringData + Environment.NewLine);
+
+ // Pass message back to calling form
+ PipeMessage.Invoke(stringData);
+
+ // Kill original sever and create new wait server
+ pipeServer.Close();
+ pipeServer = null;
+ pipeServer = new NamedPipeServerStream(_pipeName, PipeDirection.In, 1, PipeTransmissionMode.Byte, PipeOptions.Asynchronous);
+
+ // Recursively wait for the connection again and again....
+ pipeServer.BeginWaitForConnection(new AsyncCallback(WaitForConnectionCallBack), pipeServer);
+ }
+ catch
+ {
+ return;
+ }
+ }
+ }
+}
diff --git a/Axel-boss/Axel-boss/Properties/Resources.Designer.cs b/Axel-boss/Axel-boss/Properties/Resources.Designer.cs
index 9bb34930..e245b482 100644
--- a/Axel-boss/Axel-boss/Properties/Resources.Designer.cs
+++ b/Axel-boss/Axel-boss/Properties/Resources.Designer.cs
@@ -1,71 +1,71 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.237
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-namespace Axel_boss.Properties
-{
-
-
- ///
- /// A strongly-typed resource class, for looking up localized strings, etc.
- ///
- // 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.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- internal class Resources
- {
-
- private static global::System.Resources.ResourceManager resourceMan;
-
- private static global::System.Globalization.CultureInfo resourceCulture;
-
- [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
- internal Resources()
- {
- }
-
- ///
- /// Returns the cached ResourceManager instance used by this class.
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Resources.ResourceManager ResourceManager
- {
- get
- {
- if ((resourceMan == null))
- {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Axel_boss.Properties.Resources", typeof(Resources).Assembly);
- resourceMan = temp;
- }
- return resourceMan;
- }
- }
-
- ///
- /// Overrides the current thread's CurrentUICulture property for all
- /// resource lookups using this strongly typed resource class.
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Globalization.CultureInfo Culture
- {
- get
- {
- return resourceCulture;
- }
- set
- {
- resourceCulture = value;
- }
- }
- }
-}
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.237
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace Axel_boss.Properties
+{
+
+
+ ///
+ /// A strongly-typed resource class, for looking up localized strings, etc.
+ ///
+ // 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.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Resources
+ {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources()
+ {
+ }
+
+ ///
+ /// Returns the cached ResourceManager instance used by this class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager
+ {
+ get
+ {
+ if ((resourceMan == null))
+ {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Axel_boss.Properties.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// Overrides the current thread's CurrentUICulture property for all
+ /// resource lookups using this strongly typed resource class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture
+ {
+ get
+ {
+ return resourceCulture;
+ }
+ set
+ {
+ resourceCulture = value;
+ }
+ }
+ }
+}
diff --git a/Axel-boss/Axel-boss/Properties/Resources.resx b/Axel-boss/Axel-boss/Properties/Resources.resx
index ffecec85..af7dbebb 100644
--- a/Axel-boss/Axel-boss/Properties/Resources.resx
+++ b/Axel-boss/Axel-boss/Properties/Resources.resx
@@ -1,117 +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
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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/Axel-boss/Axel-boss/Properties/Settings.Designer.cs b/Axel-boss/Axel-boss/Properties/Settings.Designer.cs
index 8f06059a..6b9e3196 100644
--- a/Axel-boss/Axel-boss/Properties/Settings.Designer.cs
+++ b/Axel-boss/Axel-boss/Properties/Settings.Designer.cs
@@ -1,30 +1,30 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.237
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-namespace Axel_boss.Properties
-{
-
-
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
- internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
- {
-
- private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
-
- public static Settings Default
- {
- get
- {
- return defaultInstance;
- }
- }
- }
-}
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.237
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace Axel_boss.Properties
+{
+
+
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
+ internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
+ {
+
+ private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+
+ public static Settings Default
+ {
+ get
+ {
+ return defaultInstance;
+ }
+ }
+ }
+}
diff --git a/Axel-boss/Axel-boss/Properties/Settings.settings b/Axel-boss/Axel-boss/Properties/Settings.settings
index 8f2fd95d..033d7a5e 100644
--- a/Axel-boss/Axel-boss/Properties/Settings.settings
+++ b/Axel-boss/Axel-boss/Properties/Settings.settings
@@ -1,7 +1,7 @@
-
-
-
-
-
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Axel-boss/Axel-boss/Properties/licenses.licx b/Axel-boss/Axel-boss/Properties/licenses.licx
index 1f21dcee..da797933 100644
--- a/Axel-boss/Axel-boss/Properties/licenses.licx
+++ b/Axel-boss/Axel-boss/Properties/licenses.licx
@@ -1,16 +1,16 @@
-# The following section of this file was auto-generated by Measurement Studio. Do not edit or remove this file from the project.
-# This file is used for licensing Measurement Studio components.
-# Begin Measurement Studio licenses
-NationalInstruments.Net.DataSocketSource, NationalInstruments.Net, Version=15.0.45.49153, Culture=neutral, PublicKeyToken=4febd62461bf11a4
-NationalInstruments.Net.DataSocketServer, NationalInstruments.Net, Version=15.0.45.49153, Culture=neutral, PublicKeyToken=4febd62461bf11a4
-NationalInstruments.Net.DataSocket, NationalInstruments.Net, Version=15.0.45.49153, Culture=neutral, PublicKeyToken=4febd62461bf11a4
-NationalInstruments.Controls.Internal.WpfEnterpriseLicenser, NationalInstruments.Controls, Version=15.0.45.3898, Culture=neutral, PublicKeyToken=4febd62461bf11a4
-NationalInstruments.Controls.Internal.WpfProfessionalLicenser, NationalInstruments.Controls, Version=15.0.45.3898, Culture=neutral, PublicKeyToken=4febd62461bf11a4
-NationalInstruments.Controls.Internal.WpfStandardLicenser, NationalInstruments.Controls, Version=15.0.45.3898, Culture=neutral, PublicKeyToken=4febd62461bf11a4
-NationalInstruments.Tdms.TdmsLicenser, NationalInstruments.Tdms, Version=15.0.45.49153, Culture=neutral, PublicKeyToken=4febd62461bf11a4
-NationalInstruments.NetworkVariable.WindowsForms.NetworkVariableBrowserDialog, NationalInstruments.NetworkVariable, Version=15.0.45.49153, Culture=neutral, PublicKeyToken=4febd62461bf11a4
-NationalInstruments.NetworkVariable.NetworkVariableLicenser, NationalInstruments.NetworkVariable, Version=15.0.45.49153, Culture=neutral, PublicKeyToken=4febd62461bf11a4
-NationalInstruments.NetworkVariable.WindowsForms.NetworkVariableDataSource, NationalInstruments.NetworkVariable, Version=15.0.45.49153, Culture=neutral, PublicKeyToken=4febd62461bf11a4
-NationalInstruments.NetworkVariable.WebForms.NetworkVariableDataSource, NationalInstruments.NetworkVariable, Version=15.0.45.49153, Culture=neutral, PublicKeyToken=4febd62461bf11a4
-NationalInstruments.Restricted.AnalysisLicenser, NationalInstruments.Analysis.Enterprise, Version=15.0.45.49153, Culture=neutral, PublicKeyToken=4febd62461bf11a4
-# End Measurement Studio licenses
+# The following section of this file was auto-generated by Measurement Studio. Do not edit or remove this file from the project.
+# This file is used for licensing Measurement Studio components.
+# Begin Measurement Studio licenses
+NationalInstruments.Net.DataSocketSource, NationalInstruments.Net, Version=15.0.45.49153, Culture=neutral, PublicKeyToken=4febd62461bf11a4
+NationalInstruments.Net.DataSocketServer, NationalInstruments.Net, Version=15.0.45.49153, Culture=neutral, PublicKeyToken=4febd62461bf11a4
+NationalInstruments.Net.DataSocket, NationalInstruments.Net, Version=15.0.45.49153, Culture=neutral, PublicKeyToken=4febd62461bf11a4
+NationalInstruments.Controls.Internal.WpfEnterpriseLicenser, NationalInstruments.Controls, Version=15.0.45.3898, Culture=neutral, PublicKeyToken=4febd62461bf11a4
+NationalInstruments.Controls.Internal.WpfProfessionalLicenser, NationalInstruments.Controls, Version=15.0.45.3898, Culture=neutral, PublicKeyToken=4febd62461bf11a4
+NationalInstruments.Controls.Internal.WpfStandardLicenser, NationalInstruments.Controls, Version=15.0.45.3898, Culture=neutral, PublicKeyToken=4febd62461bf11a4
+NationalInstruments.Tdms.TdmsLicenser, NationalInstruments.Tdms, Version=15.0.45.49153, Culture=neutral, PublicKeyToken=4febd62461bf11a4
+NationalInstruments.NetworkVariable.WindowsForms.NetworkVariableBrowserDialog, NationalInstruments.NetworkVariable, Version=15.0.45.49153, Culture=neutral, PublicKeyToken=4febd62461bf11a4
+NationalInstruments.NetworkVariable.NetworkVariableLicenser, NationalInstruments.NetworkVariable, Version=15.0.45.49153, Culture=neutral, PublicKeyToken=4febd62461bf11a4
+NationalInstruments.NetworkVariable.WindowsForms.NetworkVariableDataSource, NationalInstruments.NetworkVariable, Version=15.0.45.49153, Culture=neutral, PublicKeyToken=4febd62461bf11a4
+NationalInstruments.NetworkVariable.WebForms.NetworkVariableDataSource, NationalInstruments.NetworkVariable, Version=15.0.45.49153, Culture=neutral, PublicKeyToken=4febd62461bf11a4
+NationalInstruments.Restricted.AnalysisLicenser, NationalInstruments.Analysis.Enterprise, Version=15.0.45.49153, Culture=neutral, PublicKeyToken=4febd62461bf11a4
+# End Measurement Studio licenses
diff --git a/Axel-boss/Axel-boss/bin/Axel-boss.vshost.exe.manifest b/Axel-boss/Axel-boss/bin/Axel-boss.vshost.exe.manifest
index f96b1d6b..061c9ca9 100644
--- a/Axel-boss/Axel-boss/bin/Axel-boss.vshost.exe.manifest
+++ b/Axel-boss/Axel-boss/bin/Axel-boss.vshost.exe.manifest
@@ -1,11 +1,11 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Axel-boss/Axel-boss/bin/Debug/Axel-boss.vshost.exe.manifest b/Axel-boss/Axel-boss/bin/Debug/Axel-boss.vshost.exe.manifest
index f96b1d6b..061c9ca9 100644
--- a/Axel-boss/Axel-boss/bin/Debug/Axel-boss.vshost.exe.manifest
+++ b/Axel-boss/Axel-boss/bin/Debug/Axel-boss.vshost.exe.manifest
@@ -1,11 +1,11 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Axel-boss/Axel-boss/bin/NationalInstruments.DAQmx.msl b/Axel-boss/Axel-boss/bin/NationalInstruments.DAQmx.msl
index f622f4b4..29cdb503 100644
--- a/Axel-boss/Axel-boss/bin/NationalInstruments.DAQmx.msl
+++ b/Axel-boss/Axel-boss/bin/NationalInstruments.DAQmx.msl
@@ -1,21 +1,21 @@
-
-
- true
-
- CppCLI2012
- WindowsFormsApplication2012
-
- true
- Measurement Studio Hardware Class Libraries/DAQmx Library
- Contains classes, delegates, and enumerations to communicate with and control a NI data acquisition (DAQ) device.
- NationalInstruments.DAQmx
- false
-
-
- NationalInstruments.Common
-
-
-
- NationalInstruments.DAQmx
-
-
+
+
+ true
+
+ CppCLI2012
+ WindowsFormsApplication2012
+
+ true
+ Measurement Studio Hardware Class Libraries/DAQmx Library
+ Contains classes, delegates, and enumerations to communicate with and control a NI data acquisition (DAQ) device.
+ NationalInstruments.DAQmx
+ false
+
+
+ NationalInstruments.Common
+
+
+
+ NationalInstruments.DAQmx
+
+
diff --git a/Axel-boss/Axel-boss/bin/NationalInstruments.Net.xml b/Axel-boss/Axel-boss/bin/NationalInstruments.Net.xml
index 72b618a3..524465b0 100644
--- a/Axel-boss/Axel-boss/bin/NationalInstruments.Net.xml
+++ b/Axel-boss/Axel-boss/bin/NationalInstruments.Net.xml
@@ -1,4834 +1,4834 @@
-
-
-
- NationalInstruments.Net
-
-
-
-
- Clean up any resources being used.
-
-
-
-
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
-
-
-
-
- 2/12/2003 1:13:44 PM
- Elton Wells
- False
-
-
-
- Specifies how a object transfers data.
-
-
- If you connect with an automatically updated access mode, such as , , or ,
- the object
- transfers data every time new data is available. If you connect with
- or
- ,
- use
- to transfer the new data.
-
- 11/21/2002 1:29:57 PM
- Beth Parrott
- True
-
-
-
- Transfers data from the data source to the local object
- when you establish the connection. Call to cause
- subsequent data transfers.
-
- 11/20/2003 2:32:11 PM
- Jennifer Smith
- True
-
-
-
- Transfers data from the data source to the local object when
- you establish the connection. When the data at the data source is updated, the data is transferred again automatically.
- This mode is valid only for DSTP and logos and OPC data sources.
-
- 12/7/2005 12:09:20 PM
- Jennifer Smith
- True
-
-
-
- Transfers data from the data source to the local object when you establish
- the connection. When the data at the data source is updated, the data is transferred again automatically. The
- object automatically transfers data to the data target when you change any value or attribute on the local
- object. This mode is valid only for DSTP and logos data sources and targets.
-
- 12/10/2003 4:07:45 PM
- Jennifer Smith
- True
-
-
-
- Transfers data from the local object to the data target at the time you establish
- the connection. Call to cause subsequent data transfers.
-
- 11/21/2002 1:30:33 PM
- Beth Parrott
- True
-
-
-
- Transfers data from the local object to the data target when you establish
- the connection. When you change any value or attribute on the local object, the
- object automatically transfers data to the data target. This mode is valid only
- for DSTP and logos data targets.
-
- 12/10/2003 4:08:23 PM
- Jennifer Smith
- True
-
-
-
- Specifies that is configured for manual
- updating with buffering. gets the next
- value in the buffer from the data source when the connection is established and when you call
- .
-
- 12/10/2003 4:06:40 PM
- Jennifer Smith
- True
-
-
-
- Specifies that is configured for
- automatic updating with buffering. gets
- the next value from the data source when the connection is established, when the data value changes, and when any of the
- data attributes change.
-
- 12/10/2003 4:07:17 PM
- Jennifer Smith
- True
-
-
-
- Specifies that is configured for automatic
- updating with buffering. transfers data to
- the data source when the
- connection is established, when the data value changes, and when any of the data attributes
- change. gets the data from the
- data source when the data value changes and
- when any of the data attributes change.
-
- 12/10/2003 4:08:00 PM
- Jennifer Smith
- True
-
-
-
- Provides data for the
- event.
-
-
-
- A object generates the
- event when it receives new data.
-
-
-
-
- 11/21/2002 1:30:49 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of .
-
-
- The instance that generated the
- event.
-
- 10/30/2002 11:41:03 AM
- Beth Parrott
- True
-
-
- Overrides .
- Returns a string representation of the object.
- 10/30/2002 11:41:06 AM
- Beth Parrott
- True
-
-
-
- Gets the that generated the
- event.
-
-
- The that generated the event.
-
- 7/13/2004 4:18:50 PM
- Whitney Bates
- True
-
-
-
- Represents a method that handles the
- event of a
- object.
-
-
- The source of the event.
-
-
- A object that contains the
- event data.
-
-
-
- 11/21/2002 1:31:13 PM
- Beth Parrott
- True
-
-
-
- Provides data for the
- event.
-
-
-
- The event occurs
- when the status of a connection
- changes, such as when a object connects to a
- data source or target, transfers data, or encounters an error.
-
-
-
- 11/21/2002 1:31:16 PM
- Beth Parrott
- True
-
-
-
- Provides data for the event.
-
-
-
- The event occurs when the
- status of a connection changes, such as when a
- object connects to a data source or target, transfers data, or
- encounters an error.
-
-
-
-
- 11/21/2002 1:31:49 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of .
-
-
- The status of the connection.
-
-
- Error of the connection, if an error exists. Refer to
- DataSocket Error Codes for a list of possible
- values.
-
-
- Descriptive message about the connection status.
-
-
-
-
- 7/15/2005 10:17:33 AM
- Jennifer Smith
- True
-
-
-
- Overrides .
-
- Returns a string representation of the object.
- 10/30/2002 11:42:00 AM
- Beth Parrott
- True
-
-
-
- Gets the status of the connection.
-
-
- A that indicates
- the status of the connection.
-
- 6/20/2006 4:41:29 PM
- Staci McCormick
- True
-
-
-
- Gets the error of the connection, if an error exists.
-
-
- The numeric value of the last error code. You can use this value to look up
- the cause of the error in the DataSocket documentation.
-
- 10/30/2002 11:41:51 AM
- Beth Parrott
- True
-
-
-
- Gets a descriptive message about the connection status.
-
-
- A string value that describes the connection status of the
- object.
-
- 11/21/2002 1:31:54 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of .
-
-
- The instance that generated the event.
-
-
- The status of the connection.
-
-
- Error of the connection, if one exists. Refer to
- DataSocket Error Codes for a list of possible
- values.
-
-
- Descriptive message of the connection status.
-
-
-
-
-
- 7/15/2005 10:17:19 AM
- Jennifer Smith
- True
-
-
- Overrides .
- Returns a string representation of the object.
- 10/30/2002 11:41:23 AM
- Beth Parrott
- True
-
-
-
- Gets the that generated the
- event.
-
-
- The that generated the event.
-
- 7/26/2004 10:12:17 AM
- Whitney Bates
- True
-
-
-
- Represents a method that handles the
- event of a
- object.
-
-
- The source of the event.
-
-
- A object that contains the
- event data.
-
-
-
- 11/21/2002 1:31:22 PM
- Beth Parrott
- True
-
-
-
- Indicates the current status of the connection.
-
- 11/21/2002 1:31:26 PM
- Beth Parrott
- True
-
-
-
- The object is in the process of connecting
- to the data source or target.
-
- 11/21/2002 1:31:32 PM
- Beth Parrott
- True
-
-
-
- The object is connected to the data source or target and is transferring the data or
- waiting for an update.
-
- 11/21/2002 1:31:36 PM
- Beth Parrott
- True
-
-
-
- The object encountered an error while connecting
- to the data source or target.
-
- 11/21/2002 1:31:38 PM
- Beth Parrott
- True
-
-
-
- The object is connected to the data source or target
- and is not currently transferring data or is waiting for an update.
-
- 11/21/2002 1:31:42 PM
- Beth Parrott
- True
-
-
-
- The object is not connected to any data source
- or data target.
-
- 11/21/2002 1:31:45 PM
- Beth Parrott
- True
-
-
-
- Represents a method that handles the
- event of a
- object.
-
-
- The source of the event.
-
-
- A object that contains the event data.
-
-
-
- 11/21/2002 1:31:57 PM
- Beth Parrott
- True
-
-
-
- Represents a connection to a data source or target.
-
-
- You can use the NetworkVariable class library or the class library to transfer live measurement data between applications over a network.
- You can use NetworkVariable or to exchange different types of data between Measurement Studio, LabVIEW, LabWindows/CVI, and other applications that support NI-Publish Subscribe Protocol (psp:).
- NetworkVariable is the preferred method for transferring data between these applications, and, in these cases, NetworkVariable supersedes .
- You can also use NetworkVariable and to exchange different types of data between OLE for Process Control (opc:) servers. Exchanging data between Measurement Studio applications and OPC servers with NetworkVariable requires LabVIEW DSC Run-Time System. Use to communicate directly with an OPC server.
-
-
-
-
-
- The object encapsulates the .NET interface to National Instruments DataSocket
- and includes the following features:
-
- - Transfer data between different data sources and
- targets.
- - Specify a data source and target through a URL—the same
- way you access Web pages in a Web browser.
- - Use a single API to access OPC, HTTP, FTP, logos, and
- file servers.
- - Use the DataSocket Transfer Protocol (DSTP) to exchange data
- of many different types.
- - Browse the network to quickly locate a data source or target
- on other computers and servers.
-
-
- You must call when you finish using a object.
- If you add this object to a Windows form with the Windows Forms Designer, the form calls
- automatically.
-
-
-
- 9/16/2008 10:06:51 AM
- Measurement Studio
- True
-
-
-
- Initializes a new instance of .
-
-
- 10/30/2002 11:42:42 AM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of
- with the specified container.
-
-
- An that represents the container for the
- object.
-
-
- 10/30/2002 11:42:45 AM
- Beth Parrott
- True
-
-
-
- Overrides .
-
- Returns a string representation of the object.
- 10/30/2002 11:43:49 AM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:09 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:13 PM
- Measurement Studio
- True
-
-
-
- Releases the resources used by the object.
-
-
- If , this method releases managed and unmanaged resources. If , this method releases
- only unmanaged resources.
-
-
-
- The public method and the finalizer call this method. The public
- method invokes the protected Dispose(Boolean) method with
- set to . The finalizer invokes the protected Dispose(Boolean) method
- with set to
- .
-
-
- When you set the parameter to , this method releases all
- resources held by managed objects that this object
- references. This method invokes the method of each referenced object.
-
-
- 11/21/2002 1:32:04 PM
- Beth Parrott
- True
-
-
-
- Connects the object to a data source or target.
-
-
-
- The method establishes the
- connection with the current values of the
- and the
- properties.
-
-
- The object creates the connection asynchronously. You must return
- control to the application message loop after you create the connection and before you
- perform data transfers on data or
- attributes. You can check the property or monitor the
- event to
- determine if the connection is established.
-
-
- When connecting to a data source in a read access mode,
- the object updates the data after the connection is
- completed. When connecting to a data target in a write access mode, the
- object transfers the data at the time the connection is
- made. If you connect in an automatic update mode, the object
- automatically transfers data when new data is available.
-
-
- If you connect a reading client to a data source that
- does not exist, the server creates the data source with a default value of 0.
-
-
-
- The has been disposed.
-
-
- The following example demonstrates how to establish a
- connection with the method.
-
- Dim connection As DataSocket = New DataSocket()
- connection.AccessMode = AccessMode.ReadAutoUpdate
- connection.Url = "dstp://localhost/data"
- connection.Connect()
-
-
-
-
- DataSocket connection = new DataSocket();
- connection.AccessMode = AccessMode.ReadAutoUpdate;
- connection.Url = "dstp://localhost/data";
- connection.Connect();
-
-
-
- Key Measurement Studio DataSocket .NET Library Features
- 9/16/2008 10:06:00 AM
- Measurement Studio
- True
-
-
-
- Connects the object to the specified data source or target.
-
-
- Location of the data source or target to which the
- must connect.
-
-
-
- The method sets the
- property to the value of the
- parameter. The method uses the current value of
- to establish the connection.
-
-
- The object creates the connection asynchronously. You must return
- control to the application message loop after you create the connection and before you
- perform data transfers on data or
- attributes. You can check the property or monitor the
- event to
- determine if the connection is established.
-
-
- When connecting to a data source in a read access mode,
- the object updates the data after the connection is
- completed. When connecting to a data target in a write access mode, the
- object transfers the data at the time the connection is
- made. If you connect in an automatic update mode, the object
- automatically transfers data when new data is available.
-
-
- If you connect a reading client to a data source that
- does not exist, the server creates the data source with a default value of 0.
-
-
-
- is .
-
-
- The has been disposed.
-
-
- The following example demonstrates how to establish a
- connection with the method.
-
- Dim connection As DataSocket = New DataSocket()
- connection.AccessMode = AccessMode.ReadAutoUpdate
- connection.Connect("dstp://localhost/data")
-
-
-
-
- DataSocket connection = new DataSocket();
- connection.AccessMode = AccessMode.ReadAutoUpdate;
- connection.Connect("dstp://localhost/data");
-
-
-
- Key Measurement Studio DataSocket .NET Library Features
- 9/16/2008 10:06:03 AM
- Measurement Studio
- True
-
-
-
- Connects the object to the specified data source or target with the specified
- access mode.
-
-
- Location of the data source or target to which the
- object must connect.
-
-
- An value that specifies the type of connection the
- object makes when it connects to the data source or
- target.
-
-
-
- The method sets the
- and
- properties to the values of the
- and parameters.
-
-
- The object creates the connection asynchronously. You must return
- control to the application message loop after you create the connection and before you
- perform data transfers on data or
- attributes. You can check the property or monitor the
- event to
- determine if the connection is established.
-
-
- When connecting to a data source in a read access mode,
- the object updates the data after the connection is
- completed. When connecting to a data target in a write access mode, the
- object transfers the data at the time the connection is
- made. If you connect in an automatic update mode, the object
- automatically transfers data when new data is available.
-
-
- If you connect a reading client to a data source that
- does not exist, the server creates the data source with a default value of 0.
-
-
-
- is .
-
-
- is not a member of .
-
-
- The has been disposed.
-
-
- The following example demonstrates how to establish a
- connection with the method.
-
- Dim connection As DataSocket = New DataSocket()
- connection.Connect("dstp://localhost/data", AccessMode.ReadAutoUpdate)
-
-
-
-
- DataSocket connection = new DataSocket();
- connection.Connect("dstp://localhost/data", AccessMode.ReadAutoUpdate);
-
-
- Key Measurement Studio DataSocket .NET Library Features
- 9/16/2008 10:06:07 AM
- Measurement Studio
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified timeout.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
-
- The method establishes the
- connection with the current values of the
- and the
- properties.
-
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 9:34:47 AM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified .
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
-
- The method establishes the
- connection with the current values of the
- and the
- properties.
-
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 9:41:07 AM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified URL and timeout.
-
-
- Location of the data source or target to which the
- must connect.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
-
- The method sets the
- property to the value of the
- parameter. The method uses the current value of
- to establish the connection.
-
-
-
- The has been disposed.
-
-
- is .
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 9:40:51 AM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified URL and .
-
-
- Location of the data source or target to which the
- must connect.
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
-
- The method sets the
- property to the value of the
- parameter. The method uses the current value of
- to establish the connection.
-
-
-
- The has been disposed.
-
-
- is .
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 9:41:24 AM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified URL, access mode, and timeout.
-
-
- Location of the data source or target to which the
- must connect.
-
-
- An value that specifies the type of connection the
- object makes when it connects to the data source or
- target.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
-
- The method sets the
- and
- properties to the values of the
- and parameters.
-
-
-
- The has been disposed.
-
-
- is .
-
-
- is not a member of .
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 9:40:08 AM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified URL, access mode, and .
-
-
- Location of the data source or target to which the
- must connect.
-
-
- An value that specifies the type of connection the
- object makes when it connects to the data source or
- target.
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
-
- The method sets the
- and
- properties to the values of the
- and parameters.
-
-
-
- The has been disposed.
-
-
- is .
-
-
- is not a member of .
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 9:40:34 AM
- Beth Parrott
- True
-
-
-
- Disconnects the object from the data source or target to which it is
- currently connected.
-
-
-
- The value of the property and its attributes
- remain unchanged when the object is disconnected.
-
-
- has no effect if the
- object is disconnected.
-
-
-
- The has been disposed.
-
-
- 11/21/2002 1:32:53 PM
- Beth Parrott
- True
-
-
-
- Synchronously disconnects the object from
- the data source or target to which it is currently connected using the specified timeout.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
-
- The value of the property and its attributes
- remain unchanged when the object is disconnected.
-
-
- has no effect if the
- object is already disconnected.
-
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 9:38:05 AM
- Beth Parrott
- True
-
-
-
- Synchronously disconnects the object from
- the data source or target to which it is currently connected using the specified .
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
-
- The value of the property and its attributes
- remain unchanged when the object is disconnected.
-
-
- has no effect if the
- object is already disconnected.
-
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 9:41:34 AM
- Beth Parrott
- True
-
-
-
- Initiates a write to the server with the specified data and timeout.
-
-
- The data to write to the server.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
- initiates a write to the server
- and then waits for the amount of time specified by for the server
- to acknowledge that the write was successful.
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 9:45:18 AM
- Beth Parrott
- True
-
-
-
- Initiates a write to the server with the specified data and .
-
-
- The data to write to the server.
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
- initiates a write to the server
- and then waits for the amount of time specified by for the server
- to acknowledge that the write was successful.
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 9:45:52 AM
- Beth Parrott
- True
-
-
-
- Synchronously polls the client-side buffer for unprocessed values using the specified timeout.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
- Use in synchronous read mode
- to poll the client-side buffer for any unprocessed values. If the buffer contains
- unprocessed data, the next value is dequeued into the
- property and the return value is
- . If the buffer contains no new values,
- waits for the specified timeout
- interval for a new value to arrive.
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 9:43:12 AM
- Beth Parrott
- True
-
-
-
- Synchronously polls the client-side buffer for unprocessed values using the specified .
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
- Use in synchronous read mode
- to poll the client-side buffer for any unprocessed values. If the buffer contains
- unprocessed data, the next value is dequeued into the
- property and the return value is
- . If the buffer contains no new values,
- waits for the specified timeout
- interval for a new value to arrive.
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 9:43:57 AM
- Beth Parrott
- True
-
-
-
- Causes the object to transfer data from a data source or to
- a data target.
-
-
-
- When you use the or access
- mode, call the
- method when you want to transfer data between the data source or target and the local
- object. If the property is , it
- is set to after the update is completed, and the
- event is generated.
-
- If you want to transfer data every time new data is available without calling ,
- use the or access modes.
-
-
-
- The has been disposed.
-
-
- The is not connected.
-
-
- 6/9/2003 9:47:19 AM
- Beth Parrott
- True
-
-
-
- Enables interactive browsing and selection of data sources or targets.
-
-
- The method launches a dialog box that provides interactive browsing
- and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
- objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
-
-
- The has been disposed.
-
- Key Measurement Studio DataSocket .NET Library Features
- 9/16/2008 10:06:11 AM
- Measurement Studio
- True
-
-
-
- Enables interactive browsing and selection of data sources or targets and configures the dialog box with a specified URL.
-
-
- String that contains the URL. If the protocol is opc:,
- dstp:, logos:,
- or file, or if you omit this parameter, this method opens a dialog box in which the user can
- find and select a data source or target. You can prompt the user to create a Web or FTP
- location with the http: or ftp: protocols. You also can use a complete URL, such
- as dstp://localhost/wave.
-
-
- The method launches a dialog box that provides interactive browsing
- and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
- objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
-
-
-
- is
-
-
-
- The has been disposed.
-
- Key Measurement Studio DataSocket .NET Library Features
- 9/16/2008 10:06:14 AM
- Measurement Studio
- True
-
-
-
- Enables interactive browsing and selection of data sources or targets and configures the dialog box URL and title.
-
-
- String that contains the URL. If the protocol is opc:,
- dstp:, logos:,
- or file, or if you omit this parameter, this method opens a dialog box in which the user can
- find and select a data source or target. You can prompt the user to create a Web or FTP
- location with the http: or ftp: protocols. You also can use a complete URL, such
- as dstp://localhost/wave.
-
-
- Title of the dialog box.
-
-
- The method launches a dialog box that provides interactive browsing
- and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
- objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
-
-
-
- is
-
- -or-
-
- is
-
-
-
- The has been disposed.
-
- Key Measurement Studio DataSocket .NET Library Features
- 9/16/2008 10:06:18 AM
- Measurement Studio
- True
-
-
-
- Enables interactive browsing and selection of data sources or targets and configures the dialog box URL, title, and options.
-
-
- String that contains the URL. If the protocol is opc:,
- dstp:, logos:,
- or file, or if you omit this parameter, this method opens a dialog box in which the user can
- find and select a data source or target. You can prompt the user to create a Web or FTP
- location with the http: or ftp: protocols. You also can use a complete URL, such
- as dstp://localhost/wave.
-
-
- Title of the dialog box.
-
-
- Flags that control the behavior of the dialog box.
-
-
- The method launches a dialog box that provides interactive browsing
- and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
- objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
-
-
-
- is
-
- -or-
-
- is
-
-
-
- is not a member of .
-
-
- The has been disposed.
-
- Key Measurement Studio DataSocket .NET Library Features
- 9/16/2008 10:06:20 AM
- Measurement Studio
- True
-
-
-
- Enables interactive browsing and selection of data sources or targets and configures the dialog box URL, title, options, and filter.
-
-
- String that contains the URL. If the protocol is opc:,
- dstp:, logos:,
- or file, or if you omit this parameter, this method opens a dialog box in which the user can
- find and select a data source or target. You can prompt the user to create a Web or FTP
- location with the http: or ftp: protocols. You also can use a complete URL, such
- as dstp://localhost/wave.
-
-
- Title of the dialog box.
-
-
- Flags that control the behavior of the dialog box.
-
-
- Filter string passed to the dialog box, as shown in the following example: DataSocket Data files (*.dsd)|*.dsd|All files (*.*)|*.*
-
-
- The method launches a dialog box that provides interactive browsing
- and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
- objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
-
-
-
- is
-
- -or-
-
- is
-
- -or-
-
- is .
-
-
-
- is not a member of .
-
-
- The has been disposed.
-
- Key Measurement Studio DataSocket .NET Library Features
- 9/16/2008 10:06:24 AM
- Measurement Studio
- True
-
-
-
- Raises the event.
-
-
- A object that contains the event data.
-
-
- A derived class can override to handle the event without attaching a delegate. This technique is preferred for event handling in a derived class.
-
-
- 11/21/2002 1:33:06 PM
- Beth Parrott
- True
-
-
-
- Raises the event.
-
-
- A object that contains the event
- data.
-
-
- A derived class can override
- to handle the event without attaching a delegate. This technique is preferred for event handling in a derived class.
-
-
- 11/21/2002 1:33:08 PM
- Beth Parrott
- True
-
-
-
- Gets or sets the access mode for the connection.
-
-
- An that indicates the type
- of data transfer connection the object
- makes when connecting to the data source or target. The default value is
- .
-
-
- If you connect with the or
-
- access mode,
- the data is read-only. If you try to set the
- value or attributes on a read-only object, a
- is generated. If the
- object is disconnected, you can set the data value
- and attributes regardless of the access mode.
-
-
- Value is not a member of .
-
-
- The has been disposed.
-
-
- The following example demonstrates how to specify the access mode when establishing
- a connection.
-
- Dim connection As DataSocket = New DataSocket()
- connection.Connect("dstp://localhost/data", AccessMode.ReadAutoUpdate)
-
-
-
-
- DataSocket connection = new DataSocket();
- connection.Connect("dstp://localhost/data", AccessMode.ReadAutoUpdate);
-
-
- Key Measurement Studio DataSocket .NET Library Features
- 9/16/2008 10:06:35 AM
- Measurement Studio
- True
-
-
-
- Gets the actual URL of the current data source or target.
-
-
- The actual URL of the current data source or target.
-
-
-
- When connected to a data source or target, the value of
- differs from the value of the
- property if the original URL you specify points to a link that redirects the
- object to a new URL.
-
-
- If the object is disconnected, the
- property returns
- .
-
-
-
- The has been disposed.
-
-
- 11/21/2002 1:32:11 PM
- Beth Parrott
- True
-
-
-
- Gets or sets a value indicating if the object connects to a data source or target
- when the form loads.
-
-
- if the object connects to a data source or target
- when the form loads. The default value is .
-
-
- The has been disposed.
-
-
- This property is applicable only to a object that you create on a
- Windows Form with a Windows Forms Designer.
-
- Set the ,
- , and
- properties in the Visual Studio Properties window
- at design time to automatically connect the object to the
- data source or target when the form loads. You do not have to call
- .
-
-
- Like the method, this property causes the
- object to generate the
- event when the connection
- is made and the event when data is
- updated.
-
-
-
- 6/20/2006 4:41:42 PM
- Staci McCormick
- True
-
-
-
- Gets or sets the maximum number of bytes that is allowed in the
- property buffer.
-
-
- An integer that specifies the maximum number of bytes that is allowed in the
- property buffer. The default value is
- 104,857,600.
-
-
- The has been disposed.
-
-
- The specified value is less than 0.
-
- 6/9/2003 9:27:43 AM
- Beth Parrott
- True
-
-
-
- Gets or sets the maximum number of packets that is allowed in the
- property buffer.
-
-
- An integer that specifies the maximum number of packets that is allowed in the
- property buffer. The default value is
- 1.
-
-
- The has been disposed.
-
-
- The specified value is less than 0.
-
- 6/9/2003 9:28:07 AM
- Beth Parrott
- True
-
-
-
- Gets the total number of bytes that is currently in the buffer divided by the maximum number of
- bytes allowed in the buffer.
-
-
- A double value between 0 and 1 that specifies the total number of bytes that is currently in the
- buffer divided by the maximum number of bytes allowed in the buffer.
-
-
- The has been disposed.
-
-
- 6/9/2003 9:30:21 AM
- Beth Parrott
- True
-
-
-
- Gets the total number of packets that is currently in the buffer divided by the maximum number of
- bytes allowed in the buffer.
-
-
- A double value between 0 and 1 that specifies the total number of packets that is currently in the
- buffer divided by the maximum number of bytes allowed in the buffer.
-
-
- The has been disposed.
-
-
- 6/9/2003 9:29:58 AM
- Beth Parrott
- True
-
-
-
- Gets the current status of the data connection.
-
-
- A that specifies the status of the data
- connection.
-
-
-
- The value of this property is the same as the last status value passed to the
- event.
-
-
- If an error occurs while connecting to the data source or target, the status indicates the
- last step attempted. The and
- properties describe the error.
-
-
-
- The has been disposed.
-
-
- The following example demonstrates how to update a Windows Form StatusBar control with the
- connection status, the last error, and the last message of a
- connection.
-
- Private Sub UpdateStatus(ByVal status As StatusBar, ByVal connection As DataSocket)
- Dim output As StringBuilder = New StringBuilder()
- output.AppendFormat("Status: {0}, ", connection.ConnectionStatus)
- output.AppendFormat("Error: {0}, ", connection.LastError)
- output.AppendFormat("Message: {0}", connection.LastMessage)
- status.Text = output.ToString()
- End Sub
-
-
-
-
- private void UpdateStatus(StatusBar status, DataSocket connection)
- {
- StringBuilder output = new StringBuilder();
- output.AppendFormat("Status: {0}, ", connection.ConnectionStatus);
- output.AppendFormat("Error: {0}, ", connection.LastError);
- output.AppendFormat("Message: {0}", connection.LastMessage);
- status.Text = output.ToString();
- }
-
-
-
-
- 6/20/2006 4:41:45 PM
- Staci McCormick
- True
-
-
-
- Gets the current value and attributes that the object received
- from the data source or target
- or that were set locally.
-
-
- A that contains the data source or target and its
- attributes.
-
-
-
- Use this property to access the object that contains the
- current value and attributes. Then use the methods and
- properties to access the value or specified attributes.
-
-
- When you connect the object to a data target with the
- or
- access mode, the
- object transfers the current value and attributes to the target as
- soon as the connection is complete. When you connect the object to
- a data source with the or
- access mode,
- the object completes the connection and transfers the values.
-
-
- Use the property or the
- event to determine if and when the value or
- attributes on the local object are set or changed.
-
-
- When the object is disconnected from the previous data source or target,
- it retains the value and attributes it last had while connected.
-
-
-
- The has been disposed.
-
- 6/20/2006 4:41:49 PM
- Staci McCormick
- True
-
-
-
- Gets if the object is in a connected or disconnected
- state.
-
-
- Returns if the object is in a connected state. Returns
- if the object is in a disconnected state.
-
-
- The has been disposed.
-
-
- 11/21/2002 1:32:22 PM
- Beth Parrott
- True
-
-
-
- Gets a value indicating if values or attributes on the local object have changed
- since the last data transfer.
-
-
- if the or attributes have changed.
- if the value or attributes are unchanged or if
- has been queried since the last data transfer.
-
-
- The event occurs when
- changes from to
- . Use this property to determine if the data value or attributes have changed since you last queried this property.
- This property is typically useful only on a object that is configured for
- or .
- You can use a delegate instead of polling .
-
-
-
- The has been disposed.
-
-
-
- 6/20/2006 4:41:56 PM
- Staci McCormick
- True
-
-
-
- Gets a value indicating if the connection status has changed or an error has occurred.
-
-
- The property is set to when the
- event is generated and set to
- when the is queried.
-
-
- The has been disposed.
-
-
- Use this property to determine if the connection status has changed since you last queried this property. You can use a
- instead of polling
- .
-
-
-
- 6/20/2006 4:41:53 PM
- Staci McCormick
- True
-
-
-
- Gets the error code associated with the last
- event.
-
-
- 0 if no error occurred the last time
- occurred. If an error occurred,
- gets the error code of the error that occurred the last time
- occurred.
-
-
-
- Some common errors include errors caused by incorrect network configurations, insufficient
- access privileges to connect to the data source or target, or an incorrectly formed URL.
-
-
- To determine the task the object was performing when the
- error occurred, check the and
- properties.
-
-
-
- The has been disposed.
-
-
-
- 11/21/2002 1:32:28 PM
- Beth Parrott
- True
-
-
-
- Gets the message associated with the last
- event.
-
-
- Describes the last error encountered or the last step taken in connecting to or updating
- the data.
-
-
- The has been disposed.
-
-
-
- 11/21/2002 1:32:29 PM
- Beth Parrott
- True
-
-
-
- Gets or sets the mode that specifies how reads
- data.
-
-
- A that indicates if
- raises the
- event to notify when
- new data arrives or if you must call
- to poll and dequeue buffered data into the
- property.
-
- 6/20/2006 4:42:01 PM
- Staci McCormick
- True
-
-
-
- Gets or sets the location of a data source or target.
-
-
- A string that represents the URL of the data source or target. The default value is
- .
-
-
-
- The object can connect to different data sources or targets
- based on the specified URL. The
- property determines if the object is transferring data from a data
- source or to a data target.
-
-
- If the data source or target redirects the
- object to a new URL, the
- property is set to the new URL.
-
-
- The following types of URLs are supported:
-
- ProtocolExample
- -
- DataSocket Server (dstp:)
-
- dstp://localhost/wave
- dstp://machine/item
-
-
- -
- Standard Web server (http:)
- http://www.ni.com/cworks/datasocket.tone.wav
-
- -
- Standard FTP Sites (ftp:)
-
- ftp://ftp.ni.com/datasocket/ping.wav
- The FTP site must allow anonymous connections.
-
-
- -
- Lookout/Logos objects (lookout: or logos:)
-
- lookout://localhost/testprocess/pot1.value
- logos://localhost/testprocess/pot1.value
-
-
- -
- Files directly accessible from the file system (file:)
-
- file:ping.wav
- file:c:/mydata/ping.wav
- file://machine/mydata/ping.wav
-
-
- -
- OLE for Process Control (OPC) Servers (opc:)
-
- opc:/National Instruments.OPCDemo/sine
- opc:/National Instruments.OPCDemo/sine?AccessPath=sine
- opc://machine/National Instruments.OPCModbus/Modbus Demo Box.40
-
-
-
-
-
-
- The has been disposed.
-
-
- Key Measurement Studio DataSocket .NET Library Features
- 9/16/2008 10:05:55 AM
- Measurement Studio
- True
-
-
-
- Occurs when the status of the connection changes.
-
-
- This event occurs every time the connection status changes, such as when the
- object connects to a data source or target specified by the
- property, transfers data, or encounters an error.
-
-
-
-
- 11/21/2002 1:32:41 PM
- Beth Parrott
- True
-
-
-
- Occurs when the value or attributes of the property is
- updated.
-
-
-
- The object sets the
- to immediately before this event
- is generated.
-
-
- In write access mode, the event occurs when data is
- ready to send. In read access mode, the event occurs when data is received.
- You can use the event to
- scale, display, or process new data.
-
-
-
-
- 11/21/2002 1:32:44 PM
- Beth Parrott
- True
-
-
-
- Contains the name of a attribute and its associated
- data.
-
-
-
- Attributes provide information such as the time the value was calculated or acquired, the units in which the value is expressed, the equipment used to generate the value, or any other properties that you want to define.
-
- Use the object when you iterate through the
- of a
- object.
-
-
- The following example iterates through the attributes of a object
- and displays each and
- value.
-
- Private Sub ShowDataSocketAttributes(ByVal data As DataSocketData)
- Console.WriteLine("DataSocket Data Attributes")
- Dim attr As DataSocketAttribute
- For Each attr In data.Attributes
- Console.WriteLine("{0}: {1}", attr.Name, attr.Data.Value.ToString())
- Next
- End Sub
-
-
-
-
- private void ShowDataSocketAttributes(DataSocketData data)
- {
- Console.WriteLine("DataSocket Data Attributes");
- foreach (DataSocketAttribute attr in data.Attributes)
- Console.WriteLine("{0}: {1}", attr.Name, attr.Data.Value.ToString());
- }
-
-
-
- 11/21/2002 1:33:10 PM
- Beth Parrott
- True
-
-
-
- Overrides .
-
- Returns a string representation of the object.
- 10/30/2002 11:44:10 AM
- Beth Parrott
- True
-
-
-
- Gets the name of the object.
-
-
- A string value that represents the name of the associated data.
-
- 11/21/2002 1:33:13 PM
- Beth Parrott
- True
-
-
-
- Gets the data of the object.
-
-
- A that represents the attribute data.
-
- 6/20/2006 4:42:07 PM
- Staci McCormick
- True
-
-
-
- Encapsulates the collection of the attributes of a
- object.
-
-
-
- Each attribute consists of a string name and a value.
-
-
- 11/21/2002 1:34:22 PM
- Beth Parrott
- True
-
-
- Overrides .
- Returns a string representation of the object.
- 10/30/2002 12:10:36 PM
- Beth Parrott
- True
-
-
-
- Gets the names of the attributes that are associated with the object.
-
- An array of strings that indicate the names of the attributes that are associated with
- the object.
- 6/9/2003 10:24:14 AM
- Beth Parrott
- True
-
-
-
- Creates an attribute of a object.
-
-
- The name of the attribute to add.
-
-
- The value of the attribute.
-
-
- The object that represents
- the value of the added attribute.
-
-
- is .
-
-
- An element with the same key already exists in the collection.
-
-
- is a data type that is not supported by .
-
- 6/9/2003 9:47:57 AM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:19 PM
- Measurement Studio
- True
-
-
- Removes all items from the collection.
- 10/30/2002 12:10:54 PM
- Beth Parrott
- True
-
-
- Returns if the specified attribute is in the collection.
- The name of the item to locate in the collection.
-
- Returns if the collection contains .
-
-
- is .
-
- 6/9/2003 9:48:09 AM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:20 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:19 PM
- Measurement Studio
- True
-
-
- Returns an enumerator that you can use to iterate through the collection.
- Enumerator for the collection.
-
- For a detailed explanation of this method, refer to in the Microsoft
- .NET Framework documentation.
-
- 10/30/2002 12:11:08 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:20 PM
- Measurement Studio
- True
-
-
-
- Removes the first occurrence of the specified attribute from the collection.
-
-
- The name of the attribute to remove from the collection.
-
-
- is .
-
-
- An attribute with the specified name was not found in the collection.
-
- 6/9/2003 9:48:21 AM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:23 PM
- Measurement Studio
- True
-
-
-
- Gets the attribute in the collection with the specified name. In Visual C#, this
- property is the indexer.
-
-
- The of the attribute
- with the specified name.
-
-
- The specified attribute name is .
-
-
- There is no attribute in the collection with the specified range.
-
- 6/20/2006 4:42:12 PM
- Staci McCormick
- True
-
-
-
- 1/23/2009 4:54:17 PM
- Measurement Studio
- True
-
-
-
- Gets the number of elements in the collection.
-
-
- The number of elements contained in the collection.
-
- 11/21/2002 1:34:30 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:41 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:16 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:14 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:17 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:14 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:18 PM
- Measurement Studio
- True
-
-
-
- Represents a data source or target that you can bind to a property of a control.
-
-
-
- External data sources and targets might be
- on HTTP, FTP, OPC, DSTP, or file servers located anywhere on the Internet.
-
-
- The object uses National Instruments DataSocket
- technology to connect to data sources and targets and share live measurements over the
- Internet.
- To expose a data source or target as a binding to a Windows Forms control,
- add a object to the
- of a object.
-
-
- You must call when you finish using a
- object.
-
-
-
-
-
- 1/22/2013 1:43:10 PM
- National Instruments
- True
-
-
-
- Initializes a new instance of .
-
- 10/30/2002 11:46:05 AM
- Beth Parrott
- True
-
-
-
- Overrides .
-
-
- A string representation of the object.
-
-
- The has been disposed.
-
- 6/9/2003 10:03:11 AM
- Beth Parrott
- True
-
-
-
- Releases all resources used by the
- object.
-
- 11/21/2002 1:33:21 PM
- Beth Parrott
- True
-
-
-
- Releases the resources used by the object.
-
-
- If , this method releases managed and unmanaged resources. If , this method
- releases only unmanaged resources.
-
-
-
- The public method and the finalizer call this method. The public
- method invokes the protected Dispose(Boolean) method with
- set to . The finalizer invokes the protected Dispose(Boolean) method
- with set to
- .
-
-
- When you set the parameter to , this method releases all
- resources held by managed objects that the object
- references. This method invokes the method of each referenced object.
-
-
- 11/21/2002 1:33:23 PM
- Beth Parrott
- True
-
-
-
- Finalizes the instance of the object.
-
- 10/30/2002 11:44:16 AM
- Beth Parrott
- True
-
-
-
- Connects the object to a data source or target.
-
-
-
- The method establishes the
- connection with the current values of the
- and the
- properties.
-
-
- The object creates the connection asynchronously.
- You must return
- control to the application message loop after you create the connection and before you
- perform data transfers on data
- or attributes. You can check the
- property to determine if the connection is established.
-
-
- When connecting to a data source in a read access mode,
- the object updates the data after the connection is
- completed. When connecting to a data target in a write access mode, the
- object transfers the data when the connection is
- made. If you connect in an automatic update mode, the
- object automatically transfers data when
- new data is available.
-
-
- If you connect a reading client to a
- object that does not exist, the server creates the item with a default value of 0.
-
-
-
- The has been disposed.
-
-
- 11/21/2002 1:33:51 PM
- Beth Parrott
- True
-
-
-
- Connects the object to the specified data source or target.
-
-
- Location of the data source or target to which the
- must connect.
-
-
-
- The method sets the
- property to the value of the
- parameter. The method uses the current value of
- to establish the connection.
-
-
- The object creates the connection asynchronously.
- You must return
- control to the application message loop after you create the connection and before you
- perform data transfers on data
- or attributes. You can check the
- property to determine if the connection is established.
-
-
- When connecting to a data source in a read access mode,
- the object updates the data after the connection is
- completed. When connecting to a data target in a write access mode, the
- object transfers the data when the connection is
- made. If you connect in an automatic update mode, the
- object automatically transfers data when
- new data is available.
-
-
- If you connect a reading client to a
- object that does not exist, the server creates the item with a default value of 0.
-
-
-
- is .
-
-
- The has been disposed.
-
-
- 11/21/2002 1:33:53 PM
- Beth Parrott
- True
-
-
-
- Connects the object to the specified data source or target with the
- specified access mode.
-
-
- Location of the data source or target to which the
- object must connect.
-
-
- An value that specifies the type of connection the
- object makes when it connects to the data source or
- target.
-
-
-
- The method sets the
- and
- properties to the values of the
- and parameters.
-
-
- The object creates the connection asynchronously.
- You must return
- control to the application message loop after you create the connection and before you
- perform data transfers on data
- or attributes. You can check the
- property to determine if the connection is established.
-
-
- When connecting to a data source in a read access mode,
- the object updates the data after the connection is
- completed. When connecting to a data target in a write access mode, the
- object transfers the data when the connection is
- made. If you connect in an automatic update mode, the
- object automatically transfers data when
- new data is available.
-
-
- If you connect a reading client to a
- object that does not exist, the server creates the item with a default value of 0.
-
-
-
- is .
-
-
- is not a member of .
-
-
- The has been disposed.
-
- 11/21/2002 1:33:55 PM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified timeout.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
-
- The method establishes the
- connection with the current values of the
- and the
- properties.
-
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 10:18:00 AM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified .
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
-
- The method establishes the
- connection with the current values of the
- and the
- properties.
-
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 10:20:43 AM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified URL and timeout.
-
-
- Location of the data source or target to which the
- must connect.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
-
- The method sets the
- property to the value of the
- parameter. The method uses the current value of
- to establish the connection.
-
-
-
- The has been disposed.
-
-
- is .
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 10:19:51 AM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified URL and .
-
-
- Location of the data source or target to which the
- must connect.
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
-
- The method sets the
- property to the value of the
- parameter. The method uses the current value of
- to establish the connection.
-
-
-
- The has been disposed.
-
-
- is .
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 10:20:17 AM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified URL, access mode, and timeout.
-
-
- Location of the data source or target to which the
- must connect.
-
-
- An value that specifies the type of connection the
- object makes when it connects to the data source or
- target.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
-
- The method sets the
- and
- properties to the values of the
- and parameters.
-
-
-
- The has been disposed.
-
-
- is .
-
-
- is not a member of .
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 10:18:41 AM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified URL, access mode, and .
-
-
- Location of the data source or target to which the
- must connect.
-
-
- An value that specifies the type of connection the
- object makes when it connects to the data source or
- target.
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
-
- The method sets the
- and
- properties to the values of the
- and parameters.
-
-
-
- The has been disposed.
-
-
- is .
-
-
- is not a member of .
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 10:19:16 AM
- Beth Parrott
- True
-
-
-
- Disconnects the object from the data source or target to which it is
- currently connected.
-
-
- The value of and its attributes remain
- unchanged when the object is disconnected.
-
- has no effect if the
- object is not connected.
-
-
-
- The has been disposed.
-
-
- 11/21/2002 1:33:56 PM
- Beth Parrott
- True
-
-
-
- Synchronously disconnects the object from
- the data source or target to which it is currently connected using the specified timeout.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
-
- The value of the property and its attributes
- remain unchanged when the object is disconnected.
-
-
- has no effect if the
- object is already disconnected.
-
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 10:23:23 AM
- Beth Parrott
- True
-
-
-
- Synchronously disconnects the object from
- the data source or target to which it is currently connected using the specified .
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
-
- The value of the property and its attributes
- remain unchanged when the object is already disconnected.
-
-
- has no effect if the
- object is disconnected.
-
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 10:23:32 AM
- Beth Parrott
- True
-
-
-
- Initiates a write to the server with the specified data and timeout.
-
-
- The data to write to the server.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
- initiates a write to the server
- and then waits for the amount of time specified by for the server
- to acknowledge that the write was successful.
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 10:22:43 AM
- Beth Parrott
- True
-
-
-
- Initiates a write to the server with the specified data and .
-
-
- The data to write to the server.
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
- initiates a write to the server
- and then waits for the amount of time specified by for the server
- to acknowledge that the write was successful.
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 10:23:12 AM
- Beth Parrott
- True
-
-
-
- Synchronously polls the client-side buffer for unprocessed values using the specified timeout.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
- is used in synchronous read mode
- to poll the client-side buffer for any unprocessed values. If the buffer contains
- unprocessed data, the next value is dequeued into the
- property and the return value is
- . If the buffer contains no new values,
- will wait for the specified timeout
- interval for a new value to arrive.
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 10:21:55 AM
- Beth Parrott
- True
-
-
-
- Synchronously polls the client-side buffer for unprocessed values using the specified .
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
- is used in synchronous read mode
- to poll the client-side buffer for any unprocessed values. If the buffer contains
- unprocessed data, the next value is dequeued into the
- property and the return value is
- . If the buffer contains no new values,
- will wait for the specified timeout
- interval for a new value to arrive.
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 10:22:12 AM
- Beth Parrott
- True
-
-
-
- Causes the object to transfer data from a data source or to
- a data target.
-
-
-
- Use the property to determine if
- transfers data from a data source or to a data target.
-
-
- When using the or access mode, call the
- method when you want transfer data between the data source or target
- and the local object.
- If you want to
- transfer data every time new data is available without calling , use the
- or access modes.
-
-
-
- The has been disposed.
-
-
- The is not connected.
-
-
- 6/9/2003 10:03:35 AM
- Beth Parrott
- True
-
-
-
- Enables interactive browsing and selection of data sources or targets.
-
-
- The method launches a dialog box that provides interactive browsing
- and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
- objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
-
-
- The has been disposed.
-
- 11/21/2002 1:34:00 PM
- Beth Parrott
- True
-
-
-
- Enables interactive browsing and selection of data sources or targets and configures the dialog box with a specified URL.
-
-
- String that contains the URL. If the protocol is opc:,
- dstp:, logos:,
- or file, or if you omit this parameter, this method opens a dialog box in which the user can
- find and select a data source or target. You can prompt the user to create a Web or FTP
- location with the http: or ftp: protocols. You also can use a complete URL, such
- as dstp://localhost/wave.
-
-
- The method launches a dialog box that provides interactive browsing
- and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
- objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
-
-
-
- is
-
-
-
- The has been disposed.
-
- 11/21/2002 1:34:01 PM
- Beth Parrott
- True
-
-
-
- Enables interactive browsing and selection of data sources or targets and configures the dialog box URL and title.
-
-
- String that contains the URL. If the protocol is opc:,
- dstp:, logos:,
- or file, or if you omit this parameter, this method opens a dialog box in which the user can
- find and select a data source or target. You can prompt the user to create a Web or FTP
- location with the http: or ftp: protocols. You also can use a complete URL, such
- as dstp://localhost/wave.
-
-
- Title of the dialog box.
-
-
- The method launches a dialog box that provides interactive browsing
- and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
- objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
-
-
-
- is
-
- -or-
-
- is
-
-
-
- The has been disposed.
-
- 11/21/2002 1:34:03 PM
- Beth Parrott
- True
-
-
-
- Enables interactive browsing and selection of data sources or targets and configures the dialog box URL, title, and options.
-
-
- String that contains the URL. If the protocol is opc:,
- dstp:, logos:,
- or file, or if you omit this parameter, this method opens a dialog box in which the user can
- find and select a data source or target. You can prompt the user to create a Web or FTP
- location with the http: or ftp: protocols. You also can use a complete URL, such
- as dstp://localhost/wave.
-
-
- Title of the dialog box.
-
-
- Flags that control the behavior of the dialog box.
-
-
- The method launches a dialog box that provides interactive browsing
- and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
- objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
-
-
-
- is
-
- -or-
-
- is
-
-
-
- is not a member of .
-
-
- The has been disposed.
-
- 11/21/2002 1:34:05 PM
- Beth Parrott
- True
-
-
-
- Enables interactive browsing and selection of data sources or targets and configures the dialog box URL, title, options, and filter.
-
-
- String that contains the URL. If the protocol is opc:,
- dstp:, logos:,
- or file, or if you omit this parameter, this method opens a dialog box in which the user can
- find and select a data source or target. You can prompt the user to create a Web or FTP
- location with the http: or ftp: protocols. You also can use a complete URL, such
- as dstp://localhost/wave.
-
-
- Title of the dialog box.
-
-
- Flags that control the behavior of the dialog box.
-
-
- Filter string passed to the dialog box, as shown in the following example: DataSocket Data files (*.dsd)|*.dsd|All files (*.*)|*.*
-
-
- The method launches a dialog box that provides interactive browsing
- and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
- objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
-
-
-
- is
-
- -or-
-
- is
-
- -or-
-
- is .
-
-
-
- is not a member of .
-
-
- The has been disposed.
-
- 11/21/2002 1:34:07 PM
- Beth Parrott
- True
-
-
-
- Gets or sets the access mode for the connection.
-
-
- An that indicates the type of data transfer
- connection the object makes when connecting to the
- data source or target. The default value is .
-
-
- The value is not a member of .
-
-
- The has been disposed.
-
-
- If you connect with the or
-
- access mode,
- the data is read-only. If you try to set the
- value or attributes on a read-only object, a
- is generated. If the
- object is disconnected, you can set the data value
- and attributes regardless of the access mode.
-
- 6/20/2006 4:42:20 PM
- Staci McCormick
- True
-
-
-
- Gets or sets the name of the binding.
-
-
- A string value that indicates the name of the binding. The default value is .
-
-
- The has been disposed.
-
-
- When you bind a data source or target to a Windows Forms control,
- the value of identifies the binding. You can select the Windows Forms control in
- the Windows Forms Designer, navigate to the property in the Properties window, locate the property you want to bind to a
- data source or target, and select from the list of
- available bindings.
-
- 11/5/2008 10:39:50 AM
- Measurement Studio
- True
-
-
-
- Gets the actual URL of the current data source or target.
-
-
- The actual URL of the current data source or target.
-
-
-
- When connected to a data source or target, the value of
- differs from the value of
- property if the URL you specify points to
- a link that redirects the object to a new URL.
-
-
- If the object is disconnected, the
- property returns
- .
-
-
-
- The has been disposed.
-
-
- 11/21/2002 1:33:29 PM
- Beth Parrott
- True
-
-
-
- Gets or sets the maximum number of bytes that is allowed in the
- property buffer.
-
-
- An integer that specifies the maximum number of bytes that is allowed in the
- property buffer. The default value is
- 104,857,600.
-
-
- The has been disposed.
-
-
- The specified value is less than 0.
-
- 6/9/2003 9:50:20 AM
- Beth Parrott
- True
-
-
-
- Gets or sets the maximum number of packets that is allowed in the
- property buffer.
-
-
- An integer that specifies the maximum number of packets that is allowed in the
- property buffer. The default value is
- 1.
-
-
- The has been disposed.
-
-
- The specified value is less than 0.
-
- 6/9/2003 9:50:34 AM
- Beth Parrott
- True
-
-
-
- Gets the total number of bytes that is currently in the buffer divided by the maximum number of
- bytes allowed in the buffer.
-
-
- A double value between 0 and 1 that specifies the total number of bytes that is currently in the
- buffer divided by the maximum number of bytes allowed in the buffer.
-
-
- The has been disposed.
-
-
- 6/9/2003 9:51:26 AM
- Beth Parrott
- True
-
-
-
- Gets the total number of packets that is currently in the buffer divided by the maximum number of
- bytes allowed in the buffer.
-
-
- A double value between 0 and 1 that specifies the total number of packets that is currently in the
- buffer divided by the maximum number of bytes allowed in the buffer.
-
-
- The has been disposed.
-
-
- 6/9/2003 9:51:47 AM
- Beth Parrott
- True
-
-
-
- Gets the current status of the data connection.
-
-
- A that specifies the status of the data
- connection.
-
-
-
- If an error is encountered while connecting to the data source or target, the status indicates the
- last step attempted. The and
- properties describe the error.
-
-
-
- The has been disposed.
-
-
- 6/20/2006 4:42:24 PM
- Staci McCormick
- True
-
-
-
- Gets a value indicating if the object is in a connected or disconnected
- state.
-
-
- Returns if the object is in a connected state. Returns
- if the object is in a disconnected state.
-
-
- The has been disposed.
-
-
- 6/20/2006 4:42:35 PM
- Staci McCormick
- True
-
-
-
- Gets the error code associated with the last binding connection.
-
-
- 0 if no error occurred while the binding connection was established. If an error occurred, gets the error
- code of the error that occurred while the binding connection was established.
-
-
-
- Some common errors include errors caused by incorrect network configurations, insufficient
- access privileges to connect to the data source or target, or an incorrectly formed URL.
-
-
- To determine the task the object was performing when the
- error occurred, check the and
- properties.
-
-
-
- The has been disposed.
-
-
- 11/21/2002 1:33:34 PM
- Beth Parrott
- True
-
-
-
- Gets the message associated with the last the binding connection.
-
-
- Describes the last error that occurred or the last step taken in connecting to or updating
- the data.
-
-
- The has been disposed.
-
-
- 11/21/2002 1:33:46 PM
- Beth Parrott
- True
-
-
-
- Gets or sets the mode that specifies how reads
- data.
-
-
- A that indicates if
- notifies when
- new data arrives or if you must call
- to poll and dequeue buffered data into the
- property.
-
- 9/17/2009 4:46:41 PM
- Measurement Studio
- True
-
-
-
- Gets or sets the location of the data source or target to which the
- object is connecting.
-
-
- A string that represents the URL of the data source or target. The default value is .
-
-
-
- The object can connect to different data sources or targets
- according to the URL specified. The
- property determines if the object is transferring data from a data
- source or to a data target.
-
-
- If the data source or target pointed to by the URL redirects the
- to a new URL, the
- property is set to the new URL.
-
-
- The following types of URLs are supported:
-
- ProtocolExample
- -
- DataSocket Server (dstp:)
-
- dstp://localhost/wave
- dstp://machine/item
-
-
- -
- Standard Web server (http:)
- http://www.ni.com/cworks/datasocket.tone.wav
-
- -
- Standard FTP Sites (ftp:)
-
- ftp://ftp.ni.com/datasocket/ping.wav
- The FTP site must allow anonymous connections.
-
-
- -
- Lookout/Logos objects (lookout: or logos:)
-
- lookout://localhost/testprocess/pot1.value
- logos://localhost/testprocess/pot1.value
-
-
- -
- Files directly accessible from the file system (file:)
-
- file:ping.wav
- file:c:/mydata/ping.wav
- file://machine/mydata/ping.wav
-
-
- -
- OLE for Process Control (OPC) Servers (opc:)
-
- opc:/National Instruments.OPCDemo/sine
- opc:/National Instruments.OPCDemo/sine?AccessPath=sine
- opc://machine/National Instruments.OPCModbus/Modbus Demo Box.40
-
-
-
-
-
-
- The has been disposed.
-
-
- 11/20/2002 6:25:04 PM
- Beth Parrott
- True
-
-
-
- Gets the current value and attributes that the
- object received from the data source or target or
- that have been set locally.
-
-
- A that contains the data source or target and its
- attributes.
-
-
- The has been disposed.
-
- 6/20/2006 4:42:31 PM
- Staci McCormick
- True
-
-
-
- Represents a strongly-typed collection of objects.
-
-
- 11/21/2002 1:35:19 PM
- Beth Parrott
- True
-
-
- Overrides .
- Returns a string representation of the object.
- 10/30/2002 12:08:53 PM
- Beth Parrott
- True
-
-
-
- Adds an item to the end of the collection.
-
-
- Item to add to the collection.
-
-
- The array index of the added item.
-
-
- is .
-
- 11/21/2002 1:35:25 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:27 PM
- Measurement Studio
- True
-
-
-
- Adds an array of objects to the end of the collection.
-
-
- Array of objects to add to the collection.
-
-
- is .
-
- 11/21/2002 1:35:27 PM
- Beth Parrott
- True
-
-
-
- Adds a collection of objects to the end of the collection.
-
-
- Collection of objects to add to the collection.
-
-
- is .
-
- 10/30/2002 12:08:11 PM
- Beth Parrott
- True
-
-
- Removes all items from the collection.
- 10/30/2002 12:08:20 PM
- Beth Parrott
- True
-
-
-
- Returns if the specified element is in the collection.
-
-
- Item to locate in the collection.
-
-
- Returns if the collection contains .
-
- 10/30/2002 12:08:22 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:28 PM
- Measurement Studio
- True
-
-
- Copies the collection to an array or a portion of an array.
- Destination array for the collection.
- Index in the target array at which you want to begin copying the collection to.
-
-
- is multidimensional.
-
-
- - or -
-
-
- is greater than or equal to the array length.
-
-
- - or -
-
-
- The number of elements in the collection is greater than the available space between
- and the end of .
-
-
-
- is .
-
-
- is less than zero.
-
- 10/30/2002 12:08:24 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:27 PM
- Measurement Studio
- True
-
-
-
- Returns the zero-based index of the first occurrence of an item in the collection.
-
- Item to search for.
- Index of the item. If the item is not found, returns -1.
- 11/21/2002 1:35:31 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:28 PM
- Measurement Studio
- True
-
-
- Inserts an item into the collection at the specified index.
- Index to insert the item at.
- Item to insert into the collection.
-
- is not a valid index in the .
-
-
- is .
-
-
- The list elements after the removed element shift up to occupy the vacated spot. Because the list elements
- are indexed, the indexes of the shifted elements also are updated.
-
- 11/21/2002 1:35:33 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:29 PM
- Measurement Studio
- True
-
-
- Returns an enumerator that you can use to iterate through the collection.
- Enumerator for the collection.
-
- For a detailed explanation of this method, refer to in the Microsoft
- .NET Framework documentation.
-
- 10/30/2002 12:08:27 PM
- Beth Parrott
- True
-
-
- Removes the first occurrence of the specified item.
- Item to remove from the collection.
-
- The list elements after the removed element shift up to occupy the vacated spot. Because the list elements
- are indexed, the indexes of the shifted elements also are updated.
-
- 11/21/2002 1:35:35 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:29 PM
- Measurement Studio
- True
-
-
- Removes the item at the specified index.
- Zero-based index of the item to remove.
-
- is not a valid index in the .
-
-
- The list elements after the removed element shift up to occupy the vacated spot. Because the list elements
- are indexed, the indexes of the shifted elements also are updated.
-
- 11/21/2002 1:35:37 PM
- Beth Parrott
- True
-
-
- Gets or sets the at the specified index. In Visual C#, this property is the indexer.
-
- The object at the specified index.
-
-
- The zero-based index of the entry to locate in the collection.
-
-
- is outside the valid range of indexes for the collection.
-
-
- is .
-
- 5/30/2003 5:17:17 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:26 PM
- Measurement Studio
- True
-
-
- Gets an entry in the collection with the specified name. In Visual C#, this property is the indexer.
-
- The object with the specified binding
- name.
-
-
- Name of the entry to find in the collection.
-
-
- The binding with the specified name was not found in the collection.
-
-
- is .
-
- 1/10/2003 4:09:51 PM
- Beth Parrott
- True
-
-
-
- Gets the number of elements in the collection.
-
-
- The number of elements contained in the collection.
-
- 11/21/2002 1:35:29 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:23 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:25 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:25 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:24 PM
- Measurement Studio
- True
-
-
-
- Contains the value and attributes associated with the value.
-
-
-
-
- The object encapsulates the data obtained from
- or passed to a object.
- The object also encapsulates the data attributes.
-
-
- The object supports the following data types:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - Arrays of
- - Arrays of
- - Arrays of
- - Arrays of
- - Arrays of
- - Arrays of
- - Arrays of
- - Arrays of
- - Arrays of
- - Arrays of
- - Arrays of
- - Arrays of
- - Arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
-
-
-
- You must call when you finish using a
- object.
-
-
- 11/21/2002 1:34:11 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of .
-
-
- 10/30/2002 11:42:42 AM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:30 PM
- Measurement Studio
- True
-
-
-
- Overrides .
-
- Returns a string representation of the object.
- 10/30/2002 12:01:28 PM
- Beth Parrott
- True
-
-
-
- Releases all resources used by the object.
-
- 10/14/2009 9:29:15 AM
- Staci Heien
- True
-
-
-
- Releases all resources used by the object.
-
- 1/10/2003 4:09:12 PM
- Beth Parrott
- True
-
-
-
- Releases the unmanaged resources used by the object and
- optionally releases the managed resources.
-
-
- If , releases both managed and unmanaged resources. If , only releases
- unmanaged resources.
-
-
-
- The public method and the finalizer call this method. The public
- method invokes the protected Dispose(Boolean) method with
- set to . The finalizer invokes the protected Dispose(Boolean) method
- with set to
- .
-
-
- When you set the parameter to , this method releases all
- resources held by managed objects that the object
- references. This method invokes the method of each referenced object.
-
-
- 11/21/2002 9:33:09 AM
- Beth Parrott
- False
-
-
- Finalizes the instance of the object.
- 10/30/2002 12:00:52 PM
- Beth Parrott
- True
-
-
-
- Clears the property and
- all attributes.
-
-
- This method sets the property to 0 and removes all attributes of the object.
-
-
- 11/21/2002 1:34:18 PM
- Beth Parrott
- True
-
-
-
- Gets a value indicating if the object has been disposed.
-
-
- if has been
- called on the object. if
- has not been called
- on the object.
-
- 6/20/2006 4:42:45 PM
- Staci McCormick
- True
-
-
-
- Gets a list of attributes that are associated with the data.
-
-
- A collection of values
- that are associated with the data.
-
- 10/30/2002 12:00:56 PM
- Beth Parrott
- True
-
-
-
- Gets or sets the value of the object.
-
-
- The value of the local object. The default value is 0.
-
-
- Get this property to obtain the value of the local object. If the
- object belongs to a
- object that is
- configured for , the
- object transfers the data from the data source to the local object when the value of the data
- source is updated. Query the property to determine if the local
- object has been updated. If the object belongs to a object
- that is configured for , you must call
- to transfer data from the data source to the local object.
- Set this property to specify the value of the local
- object. If the object belongs to a
- object that is configured for ,
- the object transfers data from the local
- object when you set this property. If the
- object belongs to a
- object that
- is configured for , you must call
- to transfer data from the local object to the data target.
-
-
-
-
- 11/21/2002 1:34:20 PM
- Beth Parrott
- True
-
-
- Represents the exception that is thrown when a
- error occurs.
-
-
- 10/30/2002 12:01:36 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of .
-
- 11/21/2002 1:34:32 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of
- with the specified error message.
-
-
- The error message that explains the cause of the exception.
-
- 10/30/2002 12:01:47 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of
- with the specified error message and a reference to the inner exception that is the
- cause of the exception.
-
-
- The error message that explains the cause of the exception.
-
-
- The exception that caused this exception.
-
- 11/21/2002 1:34:34 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of with serialized data.
-
-
- The object that holds the serialized object data.
-
-
- The contextual information about the source or destination of a serialized stream.
-
- 10/30/2002 12:01:42 PM
- Beth Parrott
- True
-
-
- Overrides .
- Returns a string representation of the object.
- 10/30/2002 12:01:51 PM
- Beth Parrott
- True
-
-
-
- Encapsulates the interface to the National Instruments DataSocket Server.
-
-
-
-
- Use this class to run the DataSocket Server on the local machine. You must run the DataSocket Server on the machine on which you
- want to host DSTP data sources and targets.
-
-
- You must call when you finish using a
- object. If you add this object to a Windows form with the Windows
- Forms Designer, the form calls automatically.
-
-
- 11/21/2002 1:34:37 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of .
-
- 10/30/2002 12:07:36 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of
- with the specified container.
-
-
- that represents the object container.
-
-
- 10/30/2002 12:07:44 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of with the specified
- auto-start value.
-
-
- Specifies if the server automatically starts when the object is constructed.
-
-
- When you use this constructor, the object automatically
- shuts down when the object is disposed.
-
- The DataSocket Server is not installed.
-
-
- 10/30/2002 12:07:41 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of with the specified auto-start and
- auto-shutdown values.
-
-
- Specifies if the server automatically starts when the object is constructed.
-
-
- Specifies if the server automatically shuts down when the object is disposed.
-
-
- The DataSocket Server is not installed.
-
-
- 10/30/2002 12:07:43 PM
- Beth Parrott
- True
-
-
-
- Overrides .
-
-
- A string representation of the object.
-
-
- The has been disposed.
-
- 6/9/2003 10:09:24 AM
- Beth Parrott
- True
-
-
-
- Releases the resources used by object.
-
-
- If , this method releases managed and unmanaged resources. If , this method
- releases only unmanaged resources.
-
-
-
- The public method and the finalizer call this method. The public
- method invokes the protected Dispose(Boolean) method with
- set to . The finalizer invokes the protected Dispose(Boolean) method
- with set to
- .
-
-
- When you set the parameter to , this method releases all
- resources held by managed objects that the object
- references. This method invokes the method of each referenced object.
-
-
- 11/21/2002 1:34:39 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:30 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:31 PM
- Measurement Studio
- True
-
-
-
- Launches the local DataSocket Server.
-
-
- The has been disposed.
-
- 10/30/2002 12:08:02 PM
- Beth Parrott
- True
-
-
-
- Displays the local DataSocket Server.
-
-
- If the DataSocket Server is not already running and you call ,
- the DataSocket Server automatically starts.
-
-
- The has been disposed.
-
- 6/9/2003 10:31:37 AM
- Beth Parrott
- True
-
-
-
- Hides the local DataSocket Server.
-
-
- The has been disposed.
-
-
- If the DataSocket Server is not already running and you call ,
- the DataSocket Server automatically starts.
-
- The DataSocket Server is accessible from the Windows taskbar status area regardless of if it is hidden.
-
-
- 6/9/2003 10:31:21 AM
- Beth Parrott
- True
-
-
-
- Shuts down the local DataSocket Server.
-
-
- The has been disposed.
-
- 10/30/2002 12:08:00 PM
- Beth Parrott
- True
-
-
-
- Gets or sets a value indicating if the DataSocket Server automatically starts when the form loads.
-
-
- if the DataSocket Server automatically starts when the form loads. The default value is .
-
-
- The has been disposed.
-
-
- If the value of this property is , you must call to launch the DataSocket Server.
-
- This property is applicable only to objects that you create on
- a Windows Form with the Windows Forms Designer.
-
- 6/20/2006 4:42:53 PM
- Staci McCormick
- True
-
-
-
- Gets or sets a value indicating if the DataSocket Server automatically shuts down when the object is disposed.
-
-
- if the server automatically shuts down when the object is disposed. The default value is
- .
-
-
- The has been disposed.
-
- 6/20/2006 4:42:49 PM
- Staci McCormick
- True
-
-
-
- Gets a value indicating if the DataSocket Server is running.
-
-
- if the DataSocket Server is running.
-
-
- The has been disposed.
-
- 6/20/2006 4:42:57 PM
- Staci McCormick
- True
-
-
-
- Exposes data sources or targets as a bindable data items that you can bind to properties of Windows Forms controls.
-
-
-
- Complete the following steps to bind data sources or targets to a Windows Forms control:
-
- -
-
- From the Toolbox, drag a object onto a designer, such as the Windows
- Forms Designer. Because the object does not have a user interface, it is added to the component
- tray below the form.
-
-
- -
-
- In the Properties window, launch the collection editor for the property.
- Add a binding and specify a unique name and URL for the binding.
-
-
- -
-
- Click OK to accept the binding item and close the collection editor.
-
-
- -
-
- Select a Windows Forms control in the designer, navigate to the property in the Properties window, locate the property
- you want to bind to a data source or target, and select the name of the binding you added
- to the collection.
-
-
-
-
- You must call when you finish using a
- object. If you add this object to a Windows form with the Windows
- Forms Designer, the form calls automatically.
-
-
-
- 11/5/2008 10:39:09 AM
- Measurement Studio
- True
-
-
-
- Initializes a new instance of .
-
- 10/30/2002 12:09:03 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of the class
- with the specified container.
-
-
- that represents the object container.
-
- 10/30/2002 12:09:05 PM
- Beth Parrott
- True
-
-
-
- Overrides .
-
-
- A string representation of the object.
-
-
- The has been disposed.
-
- 6/9/2003 10:12:10 AM
- Beth Parrott
- True
-
-
-
- Releases the resources used by object.
-
-
- If , this method releases managed and unmanaged resources. If , this method releases
- only unmanaged resources.
-
-
-
- The public method and the finalizer call this method. The public
- method invokes the protected Dispose(Boolean) method with
- set to . The finalizer invokes the protected Dispose(Boolean) method
- with set to
- .
-
-
- When you set the parameter to , this method releases all
- resources held by managed objects that the object
- references. This method invokes the method of each referenced object.
-
-
- 11/21/2002 1:34:57 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:59 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:59 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:58 PM
- Measurement Studio
- True
-
-
-
- Calls the method on all
- objects in the
-
- collection.
-
-
- The has been disposed.
-
- 6/9/2003 10:12:44 AM
- Beth Parrott
- True
-
-
-
- Calls the method on all
- objects in the
- collection.
-
-
- The has been disposed.
-
- 6/9/2003 10:12:39 AM
- Beth Parrott
- True
-
-
-
- Calls the method on all
- objects in the
- collection.
-
-
- The has been disposed.
-
-
- A object in the
- collection is not connected.
-
- 6/9/2003 10:12:30 AM
- Beth Parrott
- True
-
-
-
- Raises the event.
-
-
- A object that contains the event data.
-
-
- A derived class can override
- to handle the event without attaching a delegate. This technique is preferred for event handling in a derived class.
-
-
- 11/21/2002 1:35:16 PM
- Beth Parrott
- True
-
-
-
- Raises the event.
-
-
- A object that contains the event data.
-
-
- A derived class can override
- to handle the event without attaching a delegate. This technique is preferred for event handling in a derived class.
-
-
- 11/21/2002 1:35:18 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:57 PM
- Measurement Studio
- True
-
-
-
- Occurs when the data of any object in the
- collection is updated.
-
- 11/21/2002 1:34:59 PM
- Beth Parrott
- True
-
-
-
- Occurs when the connection status of any object in the
- collection is updated.
-
- 11/21/2002 1:35:01 PM
- Beth Parrott
- True
-
-
-
- Gets or sets a value indicating if all bindings in the collection
- connect to associated data sources or targets when the form loads.
-
-
- if is called when the form
- loads. The default value is .
-
-
- The has been disposed.
-
-
- If the value of this property is , you must manually call
- .
- This property is applicable only to objects that you create on
- a Windows Form with the Windows Forms Designer.
-
- 6/20/2006 4:43:06 PM
- Staci McCormick
- True
-
-
-
- Gets the DataSocket object.
-
-
- A collection of objects. You can use a
- object to bind Windows Forms control properties to
- data sources and targets.
-
-
- The has been disposed.
-
-
- 6/9/2003 10:11:51 AM
- Beth Parrott
- True
-
-
-
- Provides data for the event.
-
-
-
- The event is generated when
- the local value or attributes change. The local
- value or attributes can change when the data source
- value or attributes change or when you set the value or attributes on the local
- object.
-
-
-
-
- 11/21/2002 1:35:39 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of .
-
-
- A reference to the that was updated.
-
- 10/30/2002 12:09:45 PM
- Beth Parrott
- True
-
-
- Overrides .
- Returns a string representation of the object.
- 10/30/2002 12:09:46 PM
- Beth Parrott
- True
-
-
-
- Gets a reference to the data that was updated when the event was generated.
-
-
- A that represents the data
- that was updated when the event was generated.
-
- 7/26/2004 10:16:50 AM
- Whitney Bates
- True
-
-
-
- Represents a method that handles the
- event of a
- object.
-
-
- The source of the event.
-
-
- A object that contains the event data.
-
-
- 11/21/2002 1:35:47 PM
- Beth Parrott
- True
-
-
-
- Defines valid values for the status subfield of the OPC quality attribute.
-
- 10/30/2002 12:09:51 PM
- Beth Parrott
- True
-
-
-
- The value is bad.
-
- 10/30/2002 12:09:56 PM
- Beth Parrott
- True
-
-
-
- The communication failed, and no last known value
- is available.
-
- 10/30/2002 12:09:57 PM
- Beth Parrott
- True
-
-
-
- There is a server-specific problem with the configuration.
-
- 10/30/2002 12:09:59 PM
- Beth Parrott
- True
-
-
-
- A device failure has been detected.
-
- 10/30/2002 12:10:00 PM
- Beth Parrott
- True
-
-
-
- The value is outside the limits defined for this parameter.
-
- 10/30/2002 12:10:02 PM
- Beth Parrott
- True
-
-
-
- The value is good.
-
- 10/30/2002 12:10:04 PM
- Beth Parrott
- True
-
-
-
- Communication has failed, but the last known value is available.
-
- 10/30/2002 12:10:06 PM
- Beth Parrott
- True
-
-
-
- The value is no longer being written.
-
- 10/30/2002 12:10:07 PM
- Beth Parrott
- True
-
-
-
- The value has been overridden.
-
- 10/30/2002 12:10:08 PM
- Beth Parrott
- True
-
-
-
- The input must be logically connected to a server but it
- is disconnected.
-
- 10/30/2002 12:10:09 PM
- Beth Parrott
- True
-
-
-
- The block is off scan or locked.
-
- 10/30/2002 12:10:10 PM
- Beth Parrott
- True
-
-
-
- The value has been pegged at one of the sensor limits or
- an internal diagnostics has detected that the sensor is out of calibration.
-
- 10/30/2002 12:10:11 PM
- Beth Parrott
- True
-
-
-
- A sensor failure has been detected.
-
- 10/30/2002 12:10:12 PM
- Beth Parrott
- True
-
-
-
- The value is derived from multiple sources and has less than the
- required number of good sources.
-
- 10/30/2002 12:10:12 PM
- Beth Parrott
- True
-
-
-
- The value cannot be determined.
-
- 10/30/2002 12:10:13 PM
- Beth Parrott
- True
-
-
-
- Specifies how a object reads data.
-
- 6/9/2003 10:16:27 AM
- Beth Parrott
- True
-
-
-
- Specifies that raises the
- event to notify
- when new data arrives.
-
- 6/9/2003 10:16:59 AM
- Beth Parrott
- True
-
-
-
- Specifies that you must call
- to poll and dequeue buffered data into the
- property. does not raise the
- event in this mode.
-
- 6/9/2003 10:17:37 AM
- Beth Parrott
- True
-
-
-
- Controls the behavior of the dialog box that
- displays.
-
-
-
- 11/21/2002 1:35:54 PM
- Beth Parrott
- True
-
-
-
- Specifies that dialog box is displayed
- with the default options.
-
- 10/30/2002 12:10:16 PM
- Beth Parrott
- True
-
-
-
- Opens a dialog box to prompt the user for permission to create the file if that file
- does not exist. If the user chooses to create the file, the dialog box closes
- and the method returns the specified name; otherwise, the dialog box remains open.
-
- 10/30/2002 12:10:15 PM
- Beth Parrott
- True
-
-
-
- Specifies that the user can enter the names only of existing files in the Filename field.
- If this flag is specified and the user enters an invalid name, the dialog box
- displays a warning in a message box.
-
- 10/30/2002 12:10:17 PM
- Beth Parrott
- True
-
-
-
- Hides the read-only checkbox.
-
- 10/30/2002 12:10:18 PM
- Beth Parrott
- True
-
-
-
- Restores the current directory to its original value if the user changed the directory
- while searching for files.
-
- 10/30/2002 12:10:18 PM
- Beth Parrott
- True
-
-
-
- Directs the dialog box to return the path and filename of the selected shortcut
- (.lnk) file. If this value is not provided, the dialog box returns the path and
- filename of the file referenced by the shortcut.
-
- 11/21/2002 1:35:57 PM
- Beth Parrott
- True
-
-
-
- Specifies that the returned file does not have the read-only checkbox selected and is
- not in a write-protected directory.
-
- 10/30/2002 12:10:20 PM
- Beth Parrott
- True
-
-
-
- Specifies that the file is not created before the dialog box is closed. Use this value if the application
- saves the file on a create-nonmodify network
- share. When an application specifies this flag,
- does not check for write protection, a full disk, an open drive door, or network protection.
- Applications that use this flag must perform file operations carefully because a file
- cannot be reopened after it is closed.
-
- 10/30/2002 12:10:21 PM
- Beth Parrott
- True
-
-
-
- Causes the Save As dialog box to generate a message box if the selected file already
- exists. The user must confirm overwriting the file.
-
- 10/30/2002 12:10:21 PM
- Beth Parrott
- True
-
-
-
- Specifies that the user can enter only valid paths and filenames. If you use this value and
- the user enters an invalid path or filename in the Filename field, the dialog box method
- displays a warning in a message box.
-
- 10/30/2002 12:10:22 PM
- Beth Parrott
- True
-
-
-
- Causes the read-only checkbox to be checked when the dialog box is created.
-
- 10/30/2002 12:10:23 PM
- Beth Parrott
- True
-
-
-
- Causes the file dialog box to be a Save As dialog box instead of an Open File
- dialog box.
-
- 10/30/2002 12:10:24 PM
- Beth Parrott
- True
-
-
-
+
+
+
+ NationalInstruments.Net
+
+
+
+
+ Clean up any resources being used.
+
+
+
+
+ Required method for Designer support - do not modify
+ the contents of this method with the code editor.
+
+
+
+
+ 2/12/2003 1:13:44 PM
+ Elton Wells
+ False
+
+
+
+ Specifies how a object transfers data.
+
+
+ If you connect with an automatically updated access mode, such as , , or ,
+ the object
+ transfers data every time new data is available. If you connect with
+ or
+ ,
+ use
+ to transfer the new data.
+
+ 11/21/2002 1:29:57 PM
+ Beth Parrott
+ True
+
+
+
+ Transfers data from the data source to the local object
+ when you establish the connection. Call to cause
+ subsequent data transfers.
+
+ 11/20/2003 2:32:11 PM
+ Jennifer Smith
+ True
+
+
+
+ Transfers data from the data source to the local object when
+ you establish the connection. When the data at the data source is updated, the data is transferred again automatically.
+ This mode is valid only for DSTP and logos and OPC data sources.
+
+ 12/7/2005 12:09:20 PM
+ Jennifer Smith
+ True
+
+
+
+ Transfers data from the data source to the local object when you establish
+ the connection. When the data at the data source is updated, the data is transferred again automatically. The
+ object automatically transfers data to the data target when you change any value or attribute on the local
+ object. This mode is valid only for DSTP and logos data sources and targets.
+
+ 12/10/2003 4:07:45 PM
+ Jennifer Smith
+ True
+
+
+
+ Transfers data from the local object to the data target at the time you establish
+ the connection. Call to cause subsequent data transfers.
+
+ 11/21/2002 1:30:33 PM
+ Beth Parrott
+ True
+
+
+
+ Transfers data from the local object to the data target when you establish
+ the connection. When you change any value or attribute on the local object, the
+ object automatically transfers data to the data target. This mode is valid only
+ for DSTP and logos data targets.
+
+ 12/10/2003 4:08:23 PM
+ Jennifer Smith
+ True
+
+
+
+ Specifies that is configured for manual
+ updating with buffering. gets the next
+ value in the buffer from the data source when the connection is established and when you call
+ .
+
+ 12/10/2003 4:06:40 PM
+ Jennifer Smith
+ True
+
+
+
+ Specifies that is configured for
+ automatic updating with buffering. gets
+ the next value from the data source when the connection is established, when the data value changes, and when any of the
+ data attributes change.
+
+ 12/10/2003 4:07:17 PM
+ Jennifer Smith
+ True
+
+
+
+ Specifies that is configured for automatic
+ updating with buffering. transfers data to
+ the data source when the
+ connection is established, when the data value changes, and when any of the data attributes
+ change. gets the data from the
+ data source when the data value changes and
+ when any of the data attributes change.
+
+ 12/10/2003 4:08:00 PM
+ Jennifer Smith
+ True
+
+
+
+ Provides data for the
+ event.
+
+
+
+ A object generates the
+ event when it receives new data.
+
+
+
+
+ 11/21/2002 1:30:49 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of .
+
+
+ The instance that generated the
+ event.
+
+ 10/30/2002 11:41:03 AM
+ Beth Parrott
+ True
+
+
+ Overrides .
+ Returns a string representation of the object.
+ 10/30/2002 11:41:06 AM
+ Beth Parrott
+ True
+
+
+
+ Gets the that generated the
+ event.
+
+
+ The that generated the event.
+
+ 7/13/2004 4:18:50 PM
+ Whitney Bates
+ True
+
+
+
+ Represents a method that handles the
+ event of a
+ object.
+
+
+ The source of the event.
+
+
+ A object that contains the
+ event data.
+
+
+
+ 11/21/2002 1:31:13 PM
+ Beth Parrott
+ True
+
+
+
+ Provides data for the
+ event.
+
+
+
+ The event occurs
+ when the status of a connection
+ changes, such as when a object connects to a
+ data source or target, transfers data, or encounters an error.
+
+
+
+ 11/21/2002 1:31:16 PM
+ Beth Parrott
+ True
+
+
+
+ Provides data for the event.
+
+
+
+ The event occurs when the
+ status of a connection changes, such as when a
+ object connects to a data source or target, transfers data, or
+ encounters an error.
+
+
+
+
+ 11/21/2002 1:31:49 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of .
+
+
+ The status of the connection.
+
+
+ Error of the connection, if an error exists. Refer to
+ DataSocket Error Codes for a list of possible
+ values.
+
+
+ Descriptive message about the connection status.
+
+
+
+
+ 7/15/2005 10:17:33 AM
+ Jennifer Smith
+ True
+
+
+
+ Overrides .
+
+ Returns a string representation of the object.
+ 10/30/2002 11:42:00 AM
+ Beth Parrott
+ True
+
+
+
+ Gets the status of the connection.
+
+
+ A that indicates
+ the status of the connection.
+
+ 6/20/2006 4:41:29 PM
+ Staci McCormick
+ True
+
+
+
+ Gets the error of the connection, if an error exists.
+
+
+ The numeric value of the last error code. You can use this value to look up
+ the cause of the error in the DataSocket documentation.
+
+ 10/30/2002 11:41:51 AM
+ Beth Parrott
+ True
+
+
+
+ Gets a descriptive message about the connection status.
+
+
+ A string value that describes the connection status of the
+ object.
+
+ 11/21/2002 1:31:54 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of .
+
+
+ The instance that generated the event.
+
+
+ The status of the connection.
+
+
+ Error of the connection, if one exists. Refer to
+ DataSocket Error Codes for a list of possible
+ values.
+
+
+ Descriptive message of the connection status.
+
+
+
+
+
+ 7/15/2005 10:17:19 AM
+ Jennifer Smith
+ True
+
+
+ Overrides .
+ Returns a string representation of the object.
+ 10/30/2002 11:41:23 AM
+ Beth Parrott
+ True
+
+
+
+ Gets the that generated the
+ event.
+
+
+ The that generated the event.
+
+ 7/26/2004 10:12:17 AM
+ Whitney Bates
+ True
+
+
+
+ Represents a method that handles the
+ event of a
+ object.
+
+
+ The source of the event.
+
+
+ A object that contains the
+ event data.
+
+
+
+ 11/21/2002 1:31:22 PM
+ Beth Parrott
+ True
+
+
+
+ Indicates the current status of the connection.
+
+ 11/21/2002 1:31:26 PM
+ Beth Parrott
+ True
+
+
+
+ The object is in the process of connecting
+ to the data source or target.
+
+ 11/21/2002 1:31:32 PM
+ Beth Parrott
+ True
+
+
+
+ The object is connected to the data source or target and is transferring the data or
+ waiting for an update.
+
+ 11/21/2002 1:31:36 PM
+ Beth Parrott
+ True
+
+
+
+ The object encountered an error while connecting
+ to the data source or target.
+
+ 11/21/2002 1:31:38 PM
+ Beth Parrott
+ True
+
+
+
+ The object is connected to the data source or target
+ and is not currently transferring data or is waiting for an update.
+
+ 11/21/2002 1:31:42 PM
+ Beth Parrott
+ True
+
+
+
+ The object is not connected to any data source
+ or data target.
+
+ 11/21/2002 1:31:45 PM
+ Beth Parrott
+ True
+
+
+
+ Represents a method that handles the
+ event of a
+ object.
+
+
+ The source of the event.
+
+
+ A object that contains the event data.
+
+
+
+ 11/21/2002 1:31:57 PM
+ Beth Parrott
+ True
+
+
+
+ Represents a connection to a data source or target.
+
+
+ You can use the NetworkVariable class library or the class library to transfer live measurement data between applications over a network.
+ You can use NetworkVariable or to exchange different types of data between Measurement Studio, LabVIEW, LabWindows/CVI, and other applications that support NI-Publish Subscribe Protocol (psp:).
+ NetworkVariable is the preferred method for transferring data between these applications, and, in these cases, NetworkVariable supersedes .
+ You can also use NetworkVariable and to exchange different types of data between OLE for Process Control (opc:) servers. Exchanging data between Measurement Studio applications and OPC servers with NetworkVariable requires LabVIEW DSC Run-Time System. Use to communicate directly with an OPC server.
+
+
+
+
+
+ The object encapsulates the .NET interface to National Instruments DataSocket
+ and includes the following features:
+
+ - Transfer data between different data sources and
+ targets.
+ - Specify a data source and target through a URL—the same
+ way you access Web pages in a Web browser.
+ - Use a single API to access OPC, HTTP, FTP, logos, and
+ file servers.
+ - Use the DataSocket Transfer Protocol (DSTP) to exchange data
+ of many different types.
+ - Browse the network to quickly locate a data source or target
+ on other computers and servers.
+
+
+ You must call when you finish using a object.
+ If you add this object to a Windows form with the Windows Forms Designer, the form calls
+ automatically.
+
+
+
+ 9/16/2008 10:06:51 AM
+ Measurement Studio
+ True
+
+
+
+ Initializes a new instance of .
+
+
+ 10/30/2002 11:42:42 AM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of
+ with the specified container.
+
+
+ An that represents the container for the
+ object.
+
+
+ 10/30/2002 11:42:45 AM
+ Beth Parrott
+ True
+
+
+
+ Overrides .
+
+ Returns a string representation of the object.
+ 10/30/2002 11:43:49 AM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:09 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:13 PM
+ Measurement Studio
+ True
+
+
+
+ Releases the resources used by the object.
+
+
+ If , this method releases managed and unmanaged resources. If , this method releases
+ only unmanaged resources.
+
+
+
+ The public method and the finalizer call this method. The public
+ method invokes the protected Dispose(Boolean) method with
+ set to . The finalizer invokes the protected Dispose(Boolean) method
+ with set to
+ .
+
+
+ When you set the parameter to , this method releases all
+ resources held by managed objects that this object
+ references. This method invokes the method of each referenced object.
+
+
+ 11/21/2002 1:32:04 PM
+ Beth Parrott
+ True
+
+
+
+ Connects the object to a data source or target.
+
+
+
+ The method establishes the
+ connection with the current values of the
+ and the
+ properties.
+
+
+ The object creates the connection asynchronously. You must return
+ control to the application message loop after you create the connection and before you
+ perform data transfers on data or
+ attributes. You can check the property or monitor the
+ event to
+ determine if the connection is established.
+
+
+ When connecting to a data source in a read access mode,
+ the object updates the data after the connection is
+ completed. When connecting to a data target in a write access mode, the
+ object transfers the data at the time the connection is
+ made. If you connect in an automatic update mode, the object
+ automatically transfers data when new data is available.
+
+
+ If you connect a reading client to a data source that
+ does not exist, the server creates the data source with a default value of 0.
+
+
+
+ The has been disposed.
+
+
+ The following example demonstrates how to establish a
+ connection with the method.
+
+ Dim connection As DataSocket = New DataSocket()
+ connection.AccessMode = AccessMode.ReadAutoUpdate
+ connection.Url = "dstp://localhost/data"
+ connection.Connect()
+
+
+
+
+ DataSocket connection = new DataSocket();
+ connection.AccessMode = AccessMode.ReadAutoUpdate;
+ connection.Url = "dstp://localhost/data";
+ connection.Connect();
+
+
+
+ Key Measurement Studio DataSocket .NET Library Features
+ 9/16/2008 10:06:00 AM
+ Measurement Studio
+ True
+
+
+
+ Connects the object to the specified data source or target.
+
+
+ Location of the data source or target to which the
+ must connect.
+
+
+
+ The method sets the
+ property to the value of the
+ parameter. The method uses the current value of
+ to establish the connection.
+
+
+ The object creates the connection asynchronously. You must return
+ control to the application message loop after you create the connection and before you
+ perform data transfers on data or
+ attributes. You can check the property or monitor the
+ event to
+ determine if the connection is established.
+
+
+ When connecting to a data source in a read access mode,
+ the object updates the data after the connection is
+ completed. When connecting to a data target in a write access mode, the
+ object transfers the data at the time the connection is
+ made. If you connect in an automatic update mode, the object
+ automatically transfers data when new data is available.
+
+
+ If you connect a reading client to a data source that
+ does not exist, the server creates the data source with a default value of 0.
+
+
+
+ is .
+
+
+ The has been disposed.
+
+
+ The following example demonstrates how to establish a
+ connection with the method.
+
+ Dim connection As DataSocket = New DataSocket()
+ connection.AccessMode = AccessMode.ReadAutoUpdate
+ connection.Connect("dstp://localhost/data")
+
+
+
+
+ DataSocket connection = new DataSocket();
+ connection.AccessMode = AccessMode.ReadAutoUpdate;
+ connection.Connect("dstp://localhost/data");
+
+
+
+ Key Measurement Studio DataSocket .NET Library Features
+ 9/16/2008 10:06:03 AM
+ Measurement Studio
+ True
+
+
+
+ Connects the object to the specified data source or target with the specified
+ access mode.
+
+
+ Location of the data source or target to which the
+ object must connect.
+
+
+ An value that specifies the type of connection the
+ object makes when it connects to the data source or
+ target.
+
+
+
+ The method sets the
+ and
+ properties to the values of the
+ and parameters.
+
+
+ The object creates the connection asynchronously. You must return
+ control to the application message loop after you create the connection and before you
+ perform data transfers on data or
+ attributes. You can check the property or monitor the
+ event to
+ determine if the connection is established.
+
+
+ When connecting to a data source in a read access mode,
+ the object updates the data after the connection is
+ completed. When connecting to a data target in a write access mode, the
+ object transfers the data at the time the connection is
+ made. If you connect in an automatic update mode, the object
+ automatically transfers data when new data is available.
+
+
+ If you connect a reading client to a data source that
+ does not exist, the server creates the data source with a default value of 0.
+
+
+
+ is .
+
+
+ is not a member of .
+
+
+ The has been disposed.
+
+
+ The following example demonstrates how to establish a
+ connection with the method.
+
+ Dim connection As DataSocket = New DataSocket()
+ connection.Connect("dstp://localhost/data", AccessMode.ReadAutoUpdate)
+
+
+
+
+ DataSocket connection = new DataSocket();
+ connection.Connect("dstp://localhost/data", AccessMode.ReadAutoUpdate);
+
+
+ Key Measurement Studio DataSocket .NET Library Features
+ 9/16/2008 10:06:07 AM
+ Measurement Studio
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified timeout.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+
+ The method establishes the
+ connection with the current values of the
+ and the
+ properties.
+
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 9:34:47 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified .
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+
+ The method establishes the
+ connection with the current values of the
+ and the
+ properties.
+
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 9:41:07 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified URL and timeout.
+
+
+ Location of the data source or target to which the
+ must connect.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+
+ The method sets the
+ property to the value of the
+ parameter. The method uses the current value of
+ to establish the connection.
+
+
+
+ The has been disposed.
+
+
+ is .
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 9:40:51 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified URL and .
+
+
+ Location of the data source or target to which the
+ must connect.
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+
+ The method sets the
+ property to the value of the
+ parameter. The method uses the current value of
+ to establish the connection.
+
+
+
+ The has been disposed.
+
+
+ is .
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 9:41:24 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified URL, access mode, and timeout.
+
+
+ Location of the data source or target to which the
+ must connect.
+
+
+ An value that specifies the type of connection the
+ object makes when it connects to the data source or
+ target.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+
+ The method sets the
+ and
+ properties to the values of the
+ and parameters.
+
+
+
+ The has been disposed.
+
+
+ is .
+
+
+ is not a member of .
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 9:40:08 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified URL, access mode, and .
+
+
+ Location of the data source or target to which the
+ must connect.
+
+
+ An value that specifies the type of connection the
+ object makes when it connects to the data source or
+ target.
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+
+ The method sets the
+ and
+ properties to the values of the
+ and parameters.
+
+
+
+ The has been disposed.
+
+
+ is .
+
+
+ is not a member of .
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 9:40:34 AM
+ Beth Parrott
+ True
+
+
+
+ Disconnects the object from the data source or target to which it is
+ currently connected.
+
+
+
+ The value of the property and its attributes
+ remain unchanged when the object is disconnected.
+
+
+ has no effect if the
+ object is disconnected.
+
+
+
+ The has been disposed.
+
+
+ 11/21/2002 1:32:53 PM
+ Beth Parrott
+ True
+
+
+
+ Synchronously disconnects the object from
+ the data source or target to which it is currently connected using the specified timeout.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+
+ The value of the property and its attributes
+ remain unchanged when the object is disconnected.
+
+
+ has no effect if the
+ object is already disconnected.
+
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 9:38:05 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously disconnects the object from
+ the data source or target to which it is currently connected using the specified .
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+
+ The value of the property and its attributes
+ remain unchanged when the object is disconnected.
+
+
+ has no effect if the
+ object is already disconnected.
+
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 9:41:34 AM
+ Beth Parrott
+ True
+
+
+
+ Initiates a write to the server with the specified data and timeout.
+
+
+ The data to write to the server.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+ initiates a write to the server
+ and then waits for the amount of time specified by for the server
+ to acknowledge that the write was successful.
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 9:45:18 AM
+ Beth Parrott
+ True
+
+
+
+ Initiates a write to the server with the specified data and .
+
+
+ The data to write to the server.
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+ initiates a write to the server
+ and then waits for the amount of time specified by for the server
+ to acknowledge that the write was successful.
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 9:45:52 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously polls the client-side buffer for unprocessed values using the specified timeout.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+ Use in synchronous read mode
+ to poll the client-side buffer for any unprocessed values. If the buffer contains
+ unprocessed data, the next value is dequeued into the
+ property and the return value is
+ . If the buffer contains no new values,
+ waits for the specified timeout
+ interval for a new value to arrive.
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 9:43:12 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously polls the client-side buffer for unprocessed values using the specified .
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+ Use in synchronous read mode
+ to poll the client-side buffer for any unprocessed values. If the buffer contains
+ unprocessed data, the next value is dequeued into the
+ property and the return value is
+ . If the buffer contains no new values,
+ waits for the specified timeout
+ interval for a new value to arrive.
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 9:43:57 AM
+ Beth Parrott
+ True
+
+
+
+ Causes the object to transfer data from a data source or to
+ a data target.
+
+
+
+ When you use the or access
+ mode, call the
+ method when you want to transfer data between the data source or target and the local
+ object. If the property is , it
+ is set to after the update is completed, and the
+ event is generated.
+
+ If you want to transfer data every time new data is available without calling ,
+ use the or access modes.
+
+
+
+ The has been disposed.
+
+
+ The is not connected.
+
+
+ 6/9/2003 9:47:19 AM
+ Beth Parrott
+ True
+
+
+
+ Enables interactive browsing and selection of data sources or targets.
+
+
+ The method launches a dialog box that provides interactive browsing
+ and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
+ objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
+
+
+ The has been disposed.
+
+ Key Measurement Studio DataSocket .NET Library Features
+ 9/16/2008 10:06:11 AM
+ Measurement Studio
+ True
+
+
+
+ Enables interactive browsing and selection of data sources or targets and configures the dialog box with a specified URL.
+
+
+ String that contains the URL. If the protocol is opc:,
+ dstp:, logos:,
+ or file, or if you omit this parameter, this method opens a dialog box in which the user can
+ find and select a data source or target. You can prompt the user to create a Web or FTP
+ location with the http: or ftp: protocols. You also can use a complete URL, such
+ as dstp://localhost/wave.
+
+
+ The method launches a dialog box that provides interactive browsing
+ and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
+ objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
+
+
+
+ is
+
+
+
+ The has been disposed.
+
+ Key Measurement Studio DataSocket .NET Library Features
+ 9/16/2008 10:06:14 AM
+ Measurement Studio
+ True
+
+
+
+ Enables interactive browsing and selection of data sources or targets and configures the dialog box URL and title.
+
+
+ String that contains the URL. If the protocol is opc:,
+ dstp:, logos:,
+ or file, or if you omit this parameter, this method opens a dialog box in which the user can
+ find and select a data source or target. You can prompt the user to create a Web or FTP
+ location with the http: or ftp: protocols. You also can use a complete URL, such
+ as dstp://localhost/wave.
+
+
+ Title of the dialog box.
+
+
+ The method launches a dialog box that provides interactive browsing
+ and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
+ objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
+
+
+
+ is
+
+ -or-
+
+ is
+
+
+
+ The has been disposed.
+
+ Key Measurement Studio DataSocket .NET Library Features
+ 9/16/2008 10:06:18 AM
+ Measurement Studio
+ True
+
+
+
+ Enables interactive browsing and selection of data sources or targets and configures the dialog box URL, title, and options.
+
+
+ String that contains the URL. If the protocol is opc:,
+ dstp:, logos:,
+ or file, or if you omit this parameter, this method opens a dialog box in which the user can
+ find and select a data source or target. You can prompt the user to create a Web or FTP
+ location with the http: or ftp: protocols. You also can use a complete URL, such
+ as dstp://localhost/wave.
+
+
+ Title of the dialog box.
+
+
+ Flags that control the behavior of the dialog box.
+
+
+ The method launches a dialog box that provides interactive browsing
+ and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
+ objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
+
+
+
+ is
+
+ -or-
+
+ is
+
+
+
+ is not a member of .
+
+
+ The has been disposed.
+
+ Key Measurement Studio DataSocket .NET Library Features
+ 9/16/2008 10:06:20 AM
+ Measurement Studio
+ True
+
+
+
+ Enables interactive browsing and selection of data sources or targets and configures the dialog box URL, title, options, and filter.
+
+
+ String that contains the URL. If the protocol is opc:,
+ dstp:, logos:,
+ or file, or if you omit this parameter, this method opens a dialog box in which the user can
+ find and select a data source or target. You can prompt the user to create a Web or FTP
+ location with the http: or ftp: protocols. You also can use a complete URL, such
+ as dstp://localhost/wave.
+
+
+ Title of the dialog box.
+
+
+ Flags that control the behavior of the dialog box.
+
+
+ Filter string passed to the dialog box, as shown in the following example: DataSocket Data files (*.dsd)|*.dsd|All files (*.*)|*.*
+
+
+ The method launches a dialog box that provides interactive browsing
+ and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
+ objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
+
+
+
+ is
+
+ -or-
+
+ is
+
+ -or-
+
+ is .
+
+
+
+ is not a member of .
+
+
+ The has been disposed.
+
+ Key Measurement Studio DataSocket .NET Library Features
+ 9/16/2008 10:06:24 AM
+ Measurement Studio
+ True
+
+
+
+ Raises the event.
+
+
+ A object that contains the event data.
+
+
+ A derived class can override to handle the event without attaching a delegate. This technique is preferred for event handling in a derived class.
+
+
+ 11/21/2002 1:33:06 PM
+ Beth Parrott
+ True
+
+
+
+ Raises the event.
+
+
+ A object that contains the event
+ data.
+
+
+ A derived class can override
+ to handle the event without attaching a delegate. This technique is preferred for event handling in a derived class.
+
+
+ 11/21/2002 1:33:08 PM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets the access mode for the connection.
+
+
+ An that indicates the type
+ of data transfer connection the object
+ makes when connecting to the data source or target. The default value is
+ .
+
+
+ If you connect with the or
+
+ access mode,
+ the data is read-only. If you try to set the
+ value or attributes on a read-only object, a
+ is generated. If the
+ object is disconnected, you can set the data value
+ and attributes regardless of the access mode.
+
+
+ Value is not a member of .
+
+
+ The has been disposed.
+
+
+ The following example demonstrates how to specify the access mode when establishing
+ a connection.
+
+ Dim connection As DataSocket = New DataSocket()
+ connection.Connect("dstp://localhost/data", AccessMode.ReadAutoUpdate)
+
+
+
+
+ DataSocket connection = new DataSocket();
+ connection.Connect("dstp://localhost/data", AccessMode.ReadAutoUpdate);
+
+
+ Key Measurement Studio DataSocket .NET Library Features
+ 9/16/2008 10:06:35 AM
+ Measurement Studio
+ True
+
+
+
+ Gets the actual URL of the current data source or target.
+
+
+ The actual URL of the current data source or target.
+
+
+
+ When connected to a data source or target, the value of
+ differs from the value of the
+ property if the original URL you specify points to a link that redirects the
+ object to a new URL.
+
+
+ If the object is disconnected, the
+ property returns
+ .
+
+
+
+ The has been disposed.
+
+
+ 11/21/2002 1:32:11 PM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets a value indicating if the object connects to a data source or target
+ when the form loads.
+
+
+ if the object connects to a data source or target
+ when the form loads. The default value is .
+
+
+ The has been disposed.
+
+
+ This property is applicable only to a object that you create on a
+ Windows Form with a Windows Forms Designer.
+
+ Set the ,
+ , and
+ properties in the Visual Studio Properties window
+ at design time to automatically connect the object to the
+ data source or target when the form loads. You do not have to call
+ .
+
+
+ Like the method, this property causes the
+ object to generate the
+ event when the connection
+ is made and the event when data is
+ updated.
+
+
+
+ 6/20/2006 4:41:42 PM
+ Staci McCormick
+ True
+
+
+
+ Gets or sets the maximum number of bytes that is allowed in the
+ property buffer.
+
+
+ An integer that specifies the maximum number of bytes that is allowed in the
+ property buffer. The default value is
+ 104,857,600.
+
+
+ The has been disposed.
+
+
+ The specified value is less than 0.
+
+ 6/9/2003 9:27:43 AM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets the maximum number of packets that is allowed in the
+ property buffer.
+
+
+ An integer that specifies the maximum number of packets that is allowed in the
+ property buffer. The default value is
+ 1.
+
+
+ The has been disposed.
+
+
+ The specified value is less than 0.
+
+ 6/9/2003 9:28:07 AM
+ Beth Parrott
+ True
+
+
+
+ Gets the total number of bytes that is currently in the buffer divided by the maximum number of
+ bytes allowed in the buffer.
+
+
+ A double value between 0 and 1 that specifies the total number of bytes that is currently in the
+ buffer divided by the maximum number of bytes allowed in the buffer.
+
+
+ The has been disposed.
+
+
+ 6/9/2003 9:30:21 AM
+ Beth Parrott
+ True
+
+
+
+ Gets the total number of packets that is currently in the buffer divided by the maximum number of
+ bytes allowed in the buffer.
+
+
+ A double value between 0 and 1 that specifies the total number of packets that is currently in the
+ buffer divided by the maximum number of bytes allowed in the buffer.
+
+
+ The has been disposed.
+
+
+ 6/9/2003 9:29:58 AM
+ Beth Parrott
+ True
+
+
+
+ Gets the current status of the data connection.
+
+
+ A that specifies the status of the data
+ connection.
+
+
+
+ The value of this property is the same as the last status value passed to the
+ event.
+
+
+ If an error occurs while connecting to the data source or target, the status indicates the
+ last step attempted. The and
+ properties describe the error.
+
+
+
+ The has been disposed.
+
+
+ The following example demonstrates how to update a Windows Form StatusBar control with the
+ connection status, the last error, and the last message of a
+ connection.
+
+ Private Sub UpdateStatus(ByVal status As StatusBar, ByVal connection As DataSocket)
+ Dim output As StringBuilder = New StringBuilder()
+ output.AppendFormat("Status: {0}, ", connection.ConnectionStatus)
+ output.AppendFormat("Error: {0}, ", connection.LastError)
+ output.AppendFormat("Message: {0}", connection.LastMessage)
+ status.Text = output.ToString()
+ End Sub
+
+
+
+
+ private void UpdateStatus(StatusBar status, DataSocket connection)
+ {
+ StringBuilder output = new StringBuilder();
+ output.AppendFormat("Status: {0}, ", connection.ConnectionStatus);
+ output.AppendFormat("Error: {0}, ", connection.LastError);
+ output.AppendFormat("Message: {0}", connection.LastMessage);
+ status.Text = output.ToString();
+ }
+
+
+
+
+ 6/20/2006 4:41:45 PM
+ Staci McCormick
+ True
+
+
+
+ Gets the current value and attributes that the object received
+ from the data source or target
+ or that were set locally.
+
+
+ A that contains the data source or target and its
+ attributes.
+
+
+
+ Use this property to access the object that contains the
+ current value and attributes. Then use the methods and
+ properties to access the value or specified attributes.
+
+
+ When you connect the object to a data target with the
+ or
+ access mode, the
+ object transfers the current value and attributes to the target as
+ soon as the connection is complete. When you connect the object to
+ a data source with the or
+ access mode,
+ the object completes the connection and transfers the values.
+
+
+ Use the property or the
+ event to determine if and when the value or
+ attributes on the local object are set or changed.
+
+
+ When the object is disconnected from the previous data source or target,
+ it retains the value and attributes it last had while connected.
+
+
+
+ The has been disposed.
+
+ 6/20/2006 4:41:49 PM
+ Staci McCormick
+ True
+
+
+
+ Gets if the object is in a connected or disconnected
+ state.
+
+
+ Returns if the object is in a connected state. Returns
+ if the object is in a disconnected state.
+
+
+ The has been disposed.
+
+
+ 11/21/2002 1:32:22 PM
+ Beth Parrott
+ True
+
+
+
+ Gets a value indicating if values or attributes on the local object have changed
+ since the last data transfer.
+
+
+ if the or attributes have changed.
+ if the value or attributes are unchanged or if
+ has been queried since the last data transfer.
+
+
+ The event occurs when
+ changes from to
+ . Use this property to determine if the data value or attributes have changed since you last queried this property.
+ This property is typically useful only on a object that is configured for
+ or .
+ You can use a delegate instead of polling .
+
+
+
+ The has been disposed.
+
+
+
+ 6/20/2006 4:41:56 PM
+ Staci McCormick
+ True
+
+
+
+ Gets a value indicating if the connection status has changed or an error has occurred.
+
+
+ The property is set to when the
+ event is generated and set to
+ when the is queried.
+
+
+ The has been disposed.
+
+
+ Use this property to determine if the connection status has changed since you last queried this property. You can use a
+ instead of polling
+ .
+
+
+
+ 6/20/2006 4:41:53 PM
+ Staci McCormick
+ True
+
+
+
+ Gets the error code associated with the last
+ event.
+
+
+ 0 if no error occurred the last time
+ occurred. If an error occurred,
+ gets the error code of the error that occurred the last time
+ occurred.
+
+
+
+ Some common errors include errors caused by incorrect network configurations, insufficient
+ access privileges to connect to the data source or target, or an incorrectly formed URL.
+
+
+ To determine the task the object was performing when the
+ error occurred, check the and
+ properties.
+
+
+
+ The has been disposed.
+
+
+
+ 11/21/2002 1:32:28 PM
+ Beth Parrott
+ True
+
+
+
+ Gets the message associated with the last
+ event.
+
+
+ Describes the last error encountered or the last step taken in connecting to or updating
+ the data.
+
+
+ The has been disposed.
+
+
+
+ 11/21/2002 1:32:29 PM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets the mode that specifies how reads
+ data.
+
+
+ A that indicates if
+ raises the
+ event to notify when
+ new data arrives or if you must call
+ to poll and dequeue buffered data into the
+ property.
+
+ 6/20/2006 4:42:01 PM
+ Staci McCormick
+ True
+
+
+
+ Gets or sets the location of a data source or target.
+
+
+ A string that represents the URL of the data source or target. The default value is
+ .
+
+
+
+ The object can connect to different data sources or targets
+ based on the specified URL. The
+ property determines if the object is transferring data from a data
+ source or to a data target.
+
+
+ If the data source or target redirects the
+ object to a new URL, the
+ property is set to the new URL.
+
+
+ The following types of URLs are supported:
+
+ ProtocolExample
+ -
+ DataSocket Server (dstp:)
+
+ dstp://localhost/wave
+ dstp://machine/item
+
+
+ -
+ Standard Web server (http:)
+ http://www.ni.com/cworks/datasocket.tone.wav
+
+ -
+ Standard FTP Sites (ftp:)
+
+ ftp://ftp.ni.com/datasocket/ping.wav
+ The FTP site must allow anonymous connections.
+
+
+ -
+ Lookout/Logos objects (lookout: or logos:)
+
+ lookout://localhost/testprocess/pot1.value
+ logos://localhost/testprocess/pot1.value
+
+
+ -
+ Files directly accessible from the file system (file:)
+
+ file:ping.wav
+ file:c:/mydata/ping.wav
+ file://machine/mydata/ping.wav
+
+
+ -
+ OLE for Process Control (OPC) Servers (opc:)
+
+ opc:/National Instruments.OPCDemo/sine
+ opc:/National Instruments.OPCDemo/sine?AccessPath=sine
+ opc://machine/National Instruments.OPCModbus/Modbus Demo Box.40
+
+
+
+
+
+
+ The has been disposed.
+
+
+ Key Measurement Studio DataSocket .NET Library Features
+ 9/16/2008 10:05:55 AM
+ Measurement Studio
+ True
+
+
+
+ Occurs when the status of the connection changes.
+
+
+ This event occurs every time the connection status changes, such as when the
+ object connects to a data source or target specified by the
+ property, transfers data, or encounters an error.
+
+
+
+
+ 11/21/2002 1:32:41 PM
+ Beth Parrott
+ True
+
+
+
+ Occurs when the value or attributes of the property is
+ updated.
+
+
+
+ The object sets the
+ to immediately before this event
+ is generated.
+
+
+ In write access mode, the event occurs when data is
+ ready to send. In read access mode, the event occurs when data is received.
+ You can use the event to
+ scale, display, or process new data.
+
+
+
+
+ 11/21/2002 1:32:44 PM
+ Beth Parrott
+ True
+
+
+
+ Contains the name of a attribute and its associated
+ data.
+
+
+
+ Attributes provide information such as the time the value was calculated or acquired, the units in which the value is expressed, the equipment used to generate the value, or any other properties that you want to define.
+
+ Use the object when you iterate through the
+ of a
+ object.
+
+
+ The following example iterates through the attributes of a object
+ and displays each and
+ value.
+
+ Private Sub ShowDataSocketAttributes(ByVal data As DataSocketData)
+ Console.WriteLine("DataSocket Data Attributes")
+ Dim attr As DataSocketAttribute
+ For Each attr In data.Attributes
+ Console.WriteLine("{0}: {1}", attr.Name, attr.Data.Value.ToString())
+ Next
+ End Sub
+
+
+
+
+ private void ShowDataSocketAttributes(DataSocketData data)
+ {
+ Console.WriteLine("DataSocket Data Attributes");
+ foreach (DataSocketAttribute attr in data.Attributes)
+ Console.WriteLine("{0}: {1}", attr.Name, attr.Data.Value.ToString());
+ }
+
+
+
+ 11/21/2002 1:33:10 PM
+ Beth Parrott
+ True
+
+
+
+ Overrides .
+
+ Returns a string representation of the object.
+ 10/30/2002 11:44:10 AM
+ Beth Parrott
+ True
+
+
+
+ Gets the name of the object.
+
+
+ A string value that represents the name of the associated data.
+
+ 11/21/2002 1:33:13 PM
+ Beth Parrott
+ True
+
+
+
+ Gets the data of the object.
+
+
+ A that represents the attribute data.
+
+ 6/20/2006 4:42:07 PM
+ Staci McCormick
+ True
+
+
+
+ Encapsulates the collection of the attributes of a
+ object.
+
+
+
+ Each attribute consists of a string name and a value.
+
+
+ 11/21/2002 1:34:22 PM
+ Beth Parrott
+ True
+
+
+ Overrides .
+ Returns a string representation of the object.
+ 10/30/2002 12:10:36 PM
+ Beth Parrott
+ True
+
+
+
+ Gets the names of the attributes that are associated with the object.
+
+ An array of strings that indicate the names of the attributes that are associated with
+ the object.
+ 6/9/2003 10:24:14 AM
+ Beth Parrott
+ True
+
+
+
+ Creates an attribute of a object.
+
+
+ The name of the attribute to add.
+
+
+ The value of the attribute.
+
+
+ The object that represents
+ the value of the added attribute.
+
+
+ is .
+
+
+ An element with the same key already exists in the collection.
+
+
+ is a data type that is not supported by .
+
+ 6/9/2003 9:47:57 AM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:19 PM
+ Measurement Studio
+ True
+
+
+ Removes all items from the collection.
+ 10/30/2002 12:10:54 PM
+ Beth Parrott
+ True
+
+
+ Returns if the specified attribute is in the collection.
+ The name of the item to locate in the collection.
+
+ Returns if the collection contains .
+
+
+ is .
+
+ 6/9/2003 9:48:09 AM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:20 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:19 PM
+ Measurement Studio
+ True
+
+
+ Returns an enumerator that you can use to iterate through the collection.
+ Enumerator for the collection.
+
+ For a detailed explanation of this method, refer to in the Microsoft
+ .NET Framework documentation.
+
+ 10/30/2002 12:11:08 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:20 PM
+ Measurement Studio
+ True
+
+
+
+ Removes the first occurrence of the specified attribute from the collection.
+
+
+ The name of the attribute to remove from the collection.
+
+
+ is .
+
+
+ An attribute with the specified name was not found in the collection.
+
+ 6/9/2003 9:48:21 AM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:23 PM
+ Measurement Studio
+ True
+
+
+
+ Gets the attribute in the collection with the specified name. In Visual C#, this
+ property is the indexer.
+
+
+ The of the attribute
+ with the specified name.
+
+
+ The specified attribute name is .
+
+
+ There is no attribute in the collection with the specified range.
+
+ 6/20/2006 4:42:12 PM
+ Staci McCormick
+ True
+
+
+
+ 1/23/2009 4:54:17 PM
+ Measurement Studio
+ True
+
+
+
+ Gets the number of elements in the collection.
+
+
+ The number of elements contained in the collection.
+
+ 11/21/2002 1:34:30 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:41 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:16 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:14 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:17 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:14 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:18 PM
+ Measurement Studio
+ True
+
+
+
+ Represents a data source or target that you can bind to a property of a control.
+
+
+
+ External data sources and targets might be
+ on HTTP, FTP, OPC, DSTP, or file servers located anywhere on the Internet.
+
+
+ The object uses National Instruments DataSocket
+ technology to connect to data sources and targets and share live measurements over the
+ Internet.
+ To expose a data source or target as a binding to a Windows Forms control,
+ add a object to the
+ of a object.
+
+
+ You must call when you finish using a
+ object.
+
+
+
+
+
+ 1/22/2013 1:43:10 PM
+ National Instruments
+ True
+
+
+
+ Initializes a new instance of .
+
+ 10/30/2002 11:46:05 AM
+ Beth Parrott
+ True
+
+
+
+ Overrides .
+
+
+ A string representation of the object.
+
+
+ The has been disposed.
+
+ 6/9/2003 10:03:11 AM
+ Beth Parrott
+ True
+
+
+
+ Releases all resources used by the
+ object.
+
+ 11/21/2002 1:33:21 PM
+ Beth Parrott
+ True
+
+
+
+ Releases the resources used by the object.
+
+
+ If , this method releases managed and unmanaged resources. If , this method
+ releases only unmanaged resources.
+
+
+
+ The public method and the finalizer call this method. The public
+ method invokes the protected Dispose(Boolean) method with
+ set to . The finalizer invokes the protected Dispose(Boolean) method
+ with set to
+ .
+
+
+ When you set the parameter to , this method releases all
+ resources held by managed objects that the object
+ references. This method invokes the method of each referenced object.
+
+
+ 11/21/2002 1:33:23 PM
+ Beth Parrott
+ True
+
+
+
+ Finalizes the instance of the object.
+
+ 10/30/2002 11:44:16 AM
+ Beth Parrott
+ True
+
+
+
+ Connects the object to a data source or target.
+
+
+
+ The method establishes the
+ connection with the current values of the
+ and the
+ properties.
+
+
+ The object creates the connection asynchronously.
+ You must return
+ control to the application message loop after you create the connection and before you
+ perform data transfers on data
+ or attributes. You can check the
+ property to determine if the connection is established.
+
+
+ When connecting to a data source in a read access mode,
+ the object updates the data after the connection is
+ completed. When connecting to a data target in a write access mode, the
+ object transfers the data when the connection is
+ made. If you connect in an automatic update mode, the
+ object automatically transfers data when
+ new data is available.
+
+
+ If you connect a reading client to a
+ object that does not exist, the server creates the item with a default value of 0.
+
+
+
+ The has been disposed.
+
+
+ 11/21/2002 1:33:51 PM
+ Beth Parrott
+ True
+
+
+
+ Connects the object to the specified data source or target.
+
+
+ Location of the data source or target to which the
+ must connect.
+
+
+
+ The method sets the
+ property to the value of the
+ parameter. The method uses the current value of
+ to establish the connection.
+
+
+ The object creates the connection asynchronously.
+ You must return
+ control to the application message loop after you create the connection and before you
+ perform data transfers on data
+ or attributes. You can check the
+ property to determine if the connection is established.
+
+
+ When connecting to a data source in a read access mode,
+ the object updates the data after the connection is
+ completed. When connecting to a data target in a write access mode, the
+ object transfers the data when the connection is
+ made. If you connect in an automatic update mode, the
+ object automatically transfers data when
+ new data is available.
+
+
+ If you connect a reading client to a
+ object that does not exist, the server creates the item with a default value of 0.
+
+
+
+ is .
+
+
+ The has been disposed.
+
+
+ 11/21/2002 1:33:53 PM
+ Beth Parrott
+ True
+
+
+
+ Connects the object to the specified data source or target with the
+ specified access mode.
+
+
+ Location of the data source or target to which the
+ object must connect.
+
+
+ An value that specifies the type of connection the
+ object makes when it connects to the data source or
+ target.
+
+
+
+ The method sets the
+ and
+ properties to the values of the
+ and parameters.
+
+
+ The object creates the connection asynchronously.
+ You must return
+ control to the application message loop after you create the connection and before you
+ perform data transfers on data
+ or attributes. You can check the
+ property to determine if the connection is established.
+
+
+ When connecting to a data source in a read access mode,
+ the object updates the data after the connection is
+ completed. When connecting to a data target in a write access mode, the
+ object transfers the data when the connection is
+ made. If you connect in an automatic update mode, the
+ object automatically transfers data when
+ new data is available.
+
+
+ If you connect a reading client to a
+ object that does not exist, the server creates the item with a default value of 0.
+
+
+
+ is .
+
+
+ is not a member of .
+
+
+ The has been disposed.
+
+ 11/21/2002 1:33:55 PM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified timeout.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+
+ The method establishes the
+ connection with the current values of the
+ and the
+ properties.
+
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 10:18:00 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified .
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+
+ The method establishes the
+ connection with the current values of the
+ and the
+ properties.
+
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 10:20:43 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified URL and timeout.
+
+
+ Location of the data source or target to which the
+ must connect.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+
+ The method sets the
+ property to the value of the
+ parameter. The method uses the current value of
+ to establish the connection.
+
+
+
+ The has been disposed.
+
+
+ is .
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 10:19:51 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified URL and .
+
+
+ Location of the data source or target to which the
+ must connect.
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+
+ The method sets the
+ property to the value of the
+ parameter. The method uses the current value of
+ to establish the connection.
+
+
+
+ The has been disposed.
+
+
+ is .
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 10:20:17 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified URL, access mode, and timeout.
+
+
+ Location of the data source or target to which the
+ must connect.
+
+
+ An value that specifies the type of connection the
+ object makes when it connects to the data source or
+ target.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+
+ The method sets the
+ and
+ properties to the values of the
+ and parameters.
+
+
+
+ The has been disposed.
+
+
+ is .
+
+
+ is not a member of .
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 10:18:41 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified URL, access mode, and .
+
+
+ Location of the data source or target to which the
+ must connect.
+
+
+ An value that specifies the type of connection the
+ object makes when it connects to the data source or
+ target.
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+
+ The method sets the
+ and
+ properties to the values of the
+ and parameters.
+
+
+
+ The has been disposed.
+
+
+ is .
+
+
+ is not a member of .
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 10:19:16 AM
+ Beth Parrott
+ True
+
+
+
+ Disconnects the object from the data source or target to which it is
+ currently connected.
+
+
+ The value of and its attributes remain
+ unchanged when the object is disconnected.
+
+ has no effect if the
+ object is not connected.
+
+
+
+ The has been disposed.
+
+
+ 11/21/2002 1:33:56 PM
+ Beth Parrott
+ True
+
+
+
+ Synchronously disconnects the object from
+ the data source or target to which it is currently connected using the specified timeout.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+
+ The value of the property and its attributes
+ remain unchanged when the object is disconnected.
+
+
+ has no effect if the
+ object is already disconnected.
+
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 10:23:23 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously disconnects the object from
+ the data source or target to which it is currently connected using the specified .
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+
+ The value of the property and its attributes
+ remain unchanged when the object is already disconnected.
+
+
+ has no effect if the
+ object is disconnected.
+
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 10:23:32 AM
+ Beth Parrott
+ True
+
+
+
+ Initiates a write to the server with the specified data and timeout.
+
+
+ The data to write to the server.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+ initiates a write to the server
+ and then waits for the amount of time specified by for the server
+ to acknowledge that the write was successful.
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 10:22:43 AM
+ Beth Parrott
+ True
+
+
+
+ Initiates a write to the server with the specified data and .
+
+
+ The data to write to the server.
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+ initiates a write to the server
+ and then waits for the amount of time specified by for the server
+ to acknowledge that the write was successful.
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 10:23:12 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously polls the client-side buffer for unprocessed values using the specified timeout.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+ is used in synchronous read mode
+ to poll the client-side buffer for any unprocessed values. If the buffer contains
+ unprocessed data, the next value is dequeued into the
+ property and the return value is
+ . If the buffer contains no new values,
+ will wait for the specified timeout
+ interval for a new value to arrive.
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 10:21:55 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously polls the client-side buffer for unprocessed values using the specified .
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+ is used in synchronous read mode
+ to poll the client-side buffer for any unprocessed values. If the buffer contains
+ unprocessed data, the next value is dequeued into the
+ property and the return value is
+ . If the buffer contains no new values,
+ will wait for the specified timeout
+ interval for a new value to arrive.
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 10:22:12 AM
+ Beth Parrott
+ True
+
+
+
+ Causes the object to transfer data from a data source or to
+ a data target.
+
+
+
+ Use the property to determine if
+ transfers data from a data source or to a data target.
+
+
+ When using the or access mode, call the
+ method when you want transfer data between the data source or target
+ and the local object.
+ If you want to
+ transfer data every time new data is available without calling , use the
+ or access modes.
+
+
+
+ The has been disposed.
+
+
+ The is not connected.
+
+
+ 6/9/2003 10:03:35 AM
+ Beth Parrott
+ True
+
+
+
+ Enables interactive browsing and selection of data sources or targets.
+
+
+ The method launches a dialog box that provides interactive browsing
+ and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
+ objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
+
+
+ The has been disposed.
+
+ 11/21/2002 1:34:00 PM
+ Beth Parrott
+ True
+
+
+
+ Enables interactive browsing and selection of data sources or targets and configures the dialog box with a specified URL.
+
+
+ String that contains the URL. If the protocol is opc:,
+ dstp:, logos:,
+ or file, or if you omit this parameter, this method opens a dialog box in which the user can
+ find and select a data source or target. You can prompt the user to create a Web or FTP
+ location with the http: or ftp: protocols. You also can use a complete URL, such
+ as dstp://localhost/wave.
+
+
+ The method launches a dialog box that provides interactive browsing
+ and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
+ objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
+
+
+
+ is
+
+
+
+ The has been disposed.
+
+ 11/21/2002 1:34:01 PM
+ Beth Parrott
+ True
+
+
+
+ Enables interactive browsing and selection of data sources or targets and configures the dialog box URL and title.
+
+
+ String that contains the URL. If the protocol is opc:,
+ dstp:, logos:,
+ or file, or if you omit this parameter, this method opens a dialog box in which the user can
+ find and select a data source or target. You can prompt the user to create a Web or FTP
+ location with the http: or ftp: protocols. You also can use a complete URL, such
+ as dstp://localhost/wave.
+
+
+ Title of the dialog box.
+
+
+ The method launches a dialog box that provides interactive browsing
+ and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
+ objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
+
+
+
+ is
+
+ -or-
+
+ is
+
+
+
+ The has been disposed.
+
+ 11/21/2002 1:34:03 PM
+ Beth Parrott
+ True
+
+
+
+ Enables interactive browsing and selection of data sources or targets and configures the dialog box URL, title, and options.
+
+
+ String that contains the URL. If the protocol is opc:,
+ dstp:, logos:,
+ or file, or if you omit this parameter, this method opens a dialog box in which the user can
+ find and select a data source or target. You can prompt the user to create a Web or FTP
+ location with the http: or ftp: protocols. You also can use a complete URL, such
+ as dstp://localhost/wave.
+
+
+ Title of the dialog box.
+
+
+ Flags that control the behavior of the dialog box.
+
+
+ The method launches a dialog box that provides interactive browsing
+ and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
+ objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
+
+
+
+ is
+
+ -or-
+
+ is
+
+
+
+ is not a member of .
+
+
+ The has been disposed.
+
+ 11/21/2002 1:34:05 PM
+ Beth Parrott
+ True
+
+
+
+ Enables interactive browsing and selection of data sources or targets and configures the dialog box URL, title, options, and filter.
+
+
+ String that contains the URL. If the protocol is opc:,
+ dstp:, logos:,
+ or file, or if you omit this parameter, this method opens a dialog box in which the user can
+ find and select a data source or target. You can prompt the user to create a Web or FTP
+ location with the http: or ftp: protocols. You also can use a complete URL, such
+ as dstp://localhost/wave.
+
+
+ Title of the dialog box.
+
+
+ Flags that control the behavior of the dialog box.
+
+
+ Filter string passed to the dialog box, as shown in the following example: DataSocket Data files (*.dsd)|*.dsd|All files (*.*)|*.*
+
+
+ The method launches a dialog box that provides interactive browsing
+ and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
+ objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
+
+
+
+ is
+
+ -or-
+
+ is
+
+ -or-
+
+ is .
+
+
+
+ is not a member of .
+
+
+ The has been disposed.
+
+ 11/21/2002 1:34:07 PM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets the access mode for the connection.
+
+
+ An that indicates the type of data transfer
+ connection the object makes when connecting to the
+ data source or target. The default value is .
+
+
+ The value is not a member of .
+
+
+ The has been disposed.
+
+
+ If you connect with the or
+
+ access mode,
+ the data is read-only. If you try to set the
+ value or attributes on a read-only object, a
+ is generated. If the
+ object is disconnected, you can set the data value
+ and attributes regardless of the access mode.
+
+ 6/20/2006 4:42:20 PM
+ Staci McCormick
+ True
+
+
+
+ Gets or sets the name of the binding.
+
+
+ A string value that indicates the name of the binding. The default value is .
+
+
+ The has been disposed.
+
+
+ When you bind a data source or target to a Windows Forms control,
+ the value of identifies the binding. You can select the Windows Forms control in
+ the Windows Forms Designer, navigate to the property in the Properties window, locate the property you want to bind to a
+ data source or target, and select from the list of
+ available bindings.
+
+ 11/5/2008 10:39:50 AM
+ Measurement Studio
+ True
+
+
+
+ Gets the actual URL of the current data source or target.
+
+
+ The actual URL of the current data source or target.
+
+
+
+ When connected to a data source or target, the value of
+ differs from the value of
+ property if the URL you specify points to
+ a link that redirects the object to a new URL.
+
+
+ If the object is disconnected, the
+ property returns
+ .
+
+
+
+ The has been disposed.
+
+
+ 11/21/2002 1:33:29 PM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets the maximum number of bytes that is allowed in the
+ property buffer.
+
+
+ An integer that specifies the maximum number of bytes that is allowed in the
+ property buffer. The default value is
+ 104,857,600.
+
+
+ The has been disposed.
+
+
+ The specified value is less than 0.
+
+ 6/9/2003 9:50:20 AM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets the maximum number of packets that is allowed in the
+ property buffer.
+
+
+ An integer that specifies the maximum number of packets that is allowed in the
+ property buffer. The default value is
+ 1.
+
+
+ The has been disposed.
+
+
+ The specified value is less than 0.
+
+ 6/9/2003 9:50:34 AM
+ Beth Parrott
+ True
+
+
+
+ Gets the total number of bytes that is currently in the buffer divided by the maximum number of
+ bytes allowed in the buffer.
+
+
+ A double value between 0 and 1 that specifies the total number of bytes that is currently in the
+ buffer divided by the maximum number of bytes allowed in the buffer.
+
+
+ The has been disposed.
+
+
+ 6/9/2003 9:51:26 AM
+ Beth Parrott
+ True
+
+
+
+ Gets the total number of packets that is currently in the buffer divided by the maximum number of
+ bytes allowed in the buffer.
+
+
+ A double value between 0 and 1 that specifies the total number of packets that is currently in the
+ buffer divided by the maximum number of bytes allowed in the buffer.
+
+
+ The has been disposed.
+
+
+ 6/9/2003 9:51:47 AM
+ Beth Parrott
+ True
+
+
+
+ Gets the current status of the data connection.
+
+
+ A that specifies the status of the data
+ connection.
+
+
+
+ If an error is encountered while connecting to the data source or target, the status indicates the
+ last step attempted. The and
+ properties describe the error.
+
+
+
+ The has been disposed.
+
+
+ 6/20/2006 4:42:24 PM
+ Staci McCormick
+ True
+
+
+
+ Gets a value indicating if the object is in a connected or disconnected
+ state.
+
+
+ Returns if the object is in a connected state. Returns
+ if the object is in a disconnected state.
+
+
+ The has been disposed.
+
+
+ 6/20/2006 4:42:35 PM
+ Staci McCormick
+ True
+
+
+
+ Gets the error code associated with the last binding connection.
+
+
+ 0 if no error occurred while the binding connection was established. If an error occurred, gets the error
+ code of the error that occurred while the binding connection was established.
+
+
+
+ Some common errors include errors caused by incorrect network configurations, insufficient
+ access privileges to connect to the data source or target, or an incorrectly formed URL.
+
+
+ To determine the task the object was performing when the
+ error occurred, check the and
+ properties.
+
+
+
+ The has been disposed.
+
+
+ 11/21/2002 1:33:34 PM
+ Beth Parrott
+ True
+
+
+
+ Gets the message associated with the last the binding connection.
+
+
+ Describes the last error that occurred or the last step taken in connecting to or updating
+ the data.
+
+
+ The has been disposed.
+
+
+ 11/21/2002 1:33:46 PM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets the mode that specifies how reads
+ data.
+
+
+ A that indicates if
+ notifies when
+ new data arrives or if you must call
+ to poll and dequeue buffered data into the
+ property.
+
+ 9/17/2009 4:46:41 PM
+ Measurement Studio
+ True
+
+
+
+ Gets or sets the location of the data source or target to which the
+ object is connecting.
+
+
+ A string that represents the URL of the data source or target. The default value is .
+
+
+
+ The object can connect to different data sources or targets
+ according to the URL specified. The
+ property determines if the object is transferring data from a data
+ source or to a data target.
+
+
+ If the data source or target pointed to by the URL redirects the
+ to a new URL, the
+ property is set to the new URL.
+
+
+ The following types of URLs are supported:
+
+ ProtocolExample
+ -
+ DataSocket Server (dstp:)
+
+ dstp://localhost/wave
+ dstp://machine/item
+
+
+ -
+ Standard Web server (http:)
+ http://www.ni.com/cworks/datasocket.tone.wav
+
+ -
+ Standard FTP Sites (ftp:)
+
+ ftp://ftp.ni.com/datasocket/ping.wav
+ The FTP site must allow anonymous connections.
+
+
+ -
+ Lookout/Logos objects (lookout: or logos:)
+
+ lookout://localhost/testprocess/pot1.value
+ logos://localhost/testprocess/pot1.value
+
+
+ -
+ Files directly accessible from the file system (file:)
+
+ file:ping.wav
+ file:c:/mydata/ping.wav
+ file://machine/mydata/ping.wav
+
+
+ -
+ OLE for Process Control (OPC) Servers (opc:)
+
+ opc:/National Instruments.OPCDemo/sine
+ opc:/National Instruments.OPCDemo/sine?AccessPath=sine
+ opc://machine/National Instruments.OPCModbus/Modbus Demo Box.40
+
+
+
+
+
+
+ The has been disposed.
+
+
+ 11/20/2002 6:25:04 PM
+ Beth Parrott
+ True
+
+
+
+ Gets the current value and attributes that the
+ object received from the data source or target or
+ that have been set locally.
+
+
+ A that contains the data source or target and its
+ attributes.
+
+
+ The has been disposed.
+
+ 6/20/2006 4:42:31 PM
+ Staci McCormick
+ True
+
+
+
+ Represents a strongly-typed collection of objects.
+
+
+ 11/21/2002 1:35:19 PM
+ Beth Parrott
+ True
+
+
+ Overrides .
+ Returns a string representation of the object.
+ 10/30/2002 12:08:53 PM
+ Beth Parrott
+ True
+
+
+
+ Adds an item to the end of the collection.
+
+
+ Item to add to the collection.
+
+
+ The array index of the added item.
+
+
+ is .
+
+ 11/21/2002 1:35:25 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:27 PM
+ Measurement Studio
+ True
+
+
+
+ Adds an array of objects to the end of the collection.
+
+
+ Array of objects to add to the collection.
+
+
+ is .
+
+ 11/21/2002 1:35:27 PM
+ Beth Parrott
+ True
+
+
+
+ Adds a collection of objects to the end of the collection.
+
+
+ Collection of objects to add to the collection.
+
+
+ is .
+
+ 10/30/2002 12:08:11 PM
+ Beth Parrott
+ True
+
+
+ Removes all items from the collection.
+ 10/30/2002 12:08:20 PM
+ Beth Parrott
+ True
+
+
+
+ Returns if the specified element is in the collection.
+
+
+ Item to locate in the collection.
+
+
+ Returns if the collection contains .
+
+ 10/30/2002 12:08:22 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:28 PM
+ Measurement Studio
+ True
+
+
+ Copies the collection to an array or a portion of an array.
+ Destination array for the collection.
+ Index in the target array at which you want to begin copying the collection to.
+
+
+ is multidimensional.
+
+
+ - or -
+
+
+ is greater than or equal to the array length.
+
+
+ - or -
+
+
+ The number of elements in the collection is greater than the available space between
+ and the end of .
+
+
+
+ is .
+
+
+ is less than zero.
+
+ 10/30/2002 12:08:24 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:27 PM
+ Measurement Studio
+ True
+
+
+
+ Returns the zero-based index of the first occurrence of an item in the collection.
+
+ Item to search for.
+ Index of the item. If the item is not found, returns -1.
+ 11/21/2002 1:35:31 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:28 PM
+ Measurement Studio
+ True
+
+
+ Inserts an item into the collection at the specified index.
+ Index to insert the item at.
+ Item to insert into the collection.
+
+ is not a valid index in the .
+
+
+ is .
+
+
+ The list elements after the removed element shift up to occupy the vacated spot. Because the list elements
+ are indexed, the indexes of the shifted elements also are updated.
+
+ 11/21/2002 1:35:33 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:29 PM
+ Measurement Studio
+ True
+
+
+ Returns an enumerator that you can use to iterate through the collection.
+ Enumerator for the collection.
+
+ For a detailed explanation of this method, refer to in the Microsoft
+ .NET Framework documentation.
+
+ 10/30/2002 12:08:27 PM
+ Beth Parrott
+ True
+
+
+ Removes the first occurrence of the specified item.
+ Item to remove from the collection.
+
+ The list elements after the removed element shift up to occupy the vacated spot. Because the list elements
+ are indexed, the indexes of the shifted elements also are updated.
+
+ 11/21/2002 1:35:35 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:29 PM
+ Measurement Studio
+ True
+
+
+ Removes the item at the specified index.
+ Zero-based index of the item to remove.
+
+ is not a valid index in the .
+
+
+ The list elements after the removed element shift up to occupy the vacated spot. Because the list elements
+ are indexed, the indexes of the shifted elements also are updated.
+
+ 11/21/2002 1:35:37 PM
+ Beth Parrott
+ True
+
+
+ Gets or sets the at the specified index. In Visual C#, this property is the indexer.
+
+ The object at the specified index.
+
+
+ The zero-based index of the entry to locate in the collection.
+
+
+ is outside the valid range of indexes for the collection.
+
+
+ is .
+
+ 5/30/2003 5:17:17 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:26 PM
+ Measurement Studio
+ True
+
+
+ Gets an entry in the collection with the specified name. In Visual C#, this property is the indexer.
+
+ The object with the specified binding
+ name.
+
+
+ Name of the entry to find in the collection.
+
+
+ The binding with the specified name was not found in the collection.
+
+
+ is .
+
+ 1/10/2003 4:09:51 PM
+ Beth Parrott
+ True
+
+
+
+ Gets the number of elements in the collection.
+
+
+ The number of elements contained in the collection.
+
+ 11/21/2002 1:35:29 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:23 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:25 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:25 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:24 PM
+ Measurement Studio
+ True
+
+
+
+ Contains the value and attributes associated with the value.
+
+
+
+
+ The object encapsulates the data obtained from
+ or passed to a object.
+ The object also encapsulates the data attributes.
+
+
+ The object supports the following data types:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+
+
+
+ You must call when you finish using a
+ object.
+
+
+ 11/21/2002 1:34:11 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of .
+
+
+ 10/30/2002 11:42:42 AM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:30 PM
+ Measurement Studio
+ True
+
+
+
+ Overrides .
+
+ Returns a string representation of the object.
+ 10/30/2002 12:01:28 PM
+ Beth Parrott
+ True
+
+
+
+ Releases all resources used by the object.
+
+ 10/14/2009 9:29:15 AM
+ Staci Heien
+ True
+
+
+
+ Releases all resources used by the object.
+
+ 1/10/2003 4:09:12 PM
+ Beth Parrott
+ True
+
+
+
+ Releases the unmanaged resources used by the object and
+ optionally releases the managed resources.
+
+
+ If , releases both managed and unmanaged resources. If , only releases
+ unmanaged resources.
+
+
+
+ The public method and the finalizer call this method. The public
+ method invokes the protected Dispose(Boolean) method with
+ set to . The finalizer invokes the protected Dispose(Boolean) method
+ with set to
+ .
+
+
+ When you set the parameter to , this method releases all
+ resources held by managed objects that the object
+ references. This method invokes the method of each referenced object.
+
+
+ 11/21/2002 9:33:09 AM
+ Beth Parrott
+ False
+
+
+ Finalizes the instance of the object.
+ 10/30/2002 12:00:52 PM
+ Beth Parrott
+ True
+
+
+
+ Clears the property and
+ all attributes.
+
+
+ This method sets the property to 0 and removes all attributes of the object.
+
+
+ 11/21/2002 1:34:18 PM
+ Beth Parrott
+ True
+
+
+
+ Gets a value indicating if the object has been disposed.
+
+
+ if has been
+ called on the object. if
+ has not been called
+ on the object.
+
+ 6/20/2006 4:42:45 PM
+ Staci McCormick
+ True
+
+
+
+ Gets a list of attributes that are associated with the data.
+
+
+ A collection of values
+ that are associated with the data.
+
+ 10/30/2002 12:00:56 PM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets the value of the object.
+
+
+ The value of the local object. The default value is 0.
+
+
+ Get this property to obtain the value of the local object. If the
+ object belongs to a
+ object that is
+ configured for , the
+ object transfers the data from the data source to the local object when the value of the data
+ source is updated. Query the property to determine if the local
+ object has been updated. If the object belongs to a object
+ that is configured for , you must call
+ to transfer data from the data source to the local object.
+ Set this property to specify the value of the local
+ object. If the object belongs to a
+ object that is configured for ,
+ the object transfers data from the local
+ object when you set this property. If the
+ object belongs to a
+ object that
+ is configured for , you must call
+ to transfer data from the local object to the data target.
+
+
+
+
+ 11/21/2002 1:34:20 PM
+ Beth Parrott
+ True
+
+
+ Represents the exception that is thrown when a
+ error occurs.
+
+
+ 10/30/2002 12:01:36 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of .
+
+ 11/21/2002 1:34:32 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of
+ with the specified error message.
+
+
+ The error message that explains the cause of the exception.
+
+ 10/30/2002 12:01:47 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of
+ with the specified error message and a reference to the inner exception that is the
+ cause of the exception.
+
+
+ The error message that explains the cause of the exception.
+
+
+ The exception that caused this exception.
+
+ 11/21/2002 1:34:34 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of with serialized data.
+
+
+ The object that holds the serialized object data.
+
+
+ The contextual information about the source or destination of a serialized stream.
+
+ 10/30/2002 12:01:42 PM
+ Beth Parrott
+ True
+
+
+ Overrides .
+ Returns a string representation of the object.
+ 10/30/2002 12:01:51 PM
+ Beth Parrott
+ True
+
+
+
+ Encapsulates the interface to the National Instruments DataSocket Server.
+
+
+
+
+ Use this class to run the DataSocket Server on the local machine. You must run the DataSocket Server on the machine on which you
+ want to host DSTP data sources and targets.
+
+
+ You must call when you finish using a
+ object. If you add this object to a Windows form with the Windows
+ Forms Designer, the form calls automatically.
+
+
+ 11/21/2002 1:34:37 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of .
+
+ 10/30/2002 12:07:36 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of
+ with the specified container.
+
+
+ that represents the object container.
+
+
+ 10/30/2002 12:07:44 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of with the specified
+ auto-start value.
+
+
+ Specifies if the server automatically starts when the object is constructed.
+
+
+ When you use this constructor, the object automatically
+ shuts down when the object is disposed.
+
+ The DataSocket Server is not installed.
+
+
+ 10/30/2002 12:07:41 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of with the specified auto-start and
+ auto-shutdown values.
+
+
+ Specifies if the server automatically starts when the object is constructed.
+
+
+ Specifies if the server automatically shuts down when the object is disposed.
+
+
+ The DataSocket Server is not installed.
+
+
+ 10/30/2002 12:07:43 PM
+ Beth Parrott
+ True
+
+
+
+ Overrides .
+
+
+ A string representation of the object.
+
+
+ The has been disposed.
+
+ 6/9/2003 10:09:24 AM
+ Beth Parrott
+ True
+
+
+
+ Releases the resources used by object.
+
+
+ If , this method releases managed and unmanaged resources. If , this method
+ releases only unmanaged resources.
+
+
+
+ The public method and the finalizer call this method. The public
+ method invokes the protected Dispose(Boolean) method with
+ set to . The finalizer invokes the protected Dispose(Boolean) method
+ with set to
+ .
+
+
+ When you set the parameter to , this method releases all
+ resources held by managed objects that the object
+ references. This method invokes the method of each referenced object.
+
+
+ 11/21/2002 1:34:39 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:30 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:31 PM
+ Measurement Studio
+ True
+
+
+
+ Launches the local DataSocket Server.
+
+
+ The has been disposed.
+
+ 10/30/2002 12:08:02 PM
+ Beth Parrott
+ True
+
+
+
+ Displays the local DataSocket Server.
+
+
+ If the DataSocket Server is not already running and you call ,
+ the DataSocket Server automatically starts.
+
+
+ The has been disposed.
+
+ 6/9/2003 10:31:37 AM
+ Beth Parrott
+ True
+
+
+
+ Hides the local DataSocket Server.
+
+
+ The has been disposed.
+
+
+ If the DataSocket Server is not already running and you call ,
+ the DataSocket Server automatically starts.
+
+ The DataSocket Server is accessible from the Windows taskbar status area regardless of if it is hidden.
+
+
+ 6/9/2003 10:31:21 AM
+ Beth Parrott
+ True
+
+
+
+ Shuts down the local DataSocket Server.
+
+
+ The has been disposed.
+
+ 10/30/2002 12:08:00 PM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets a value indicating if the DataSocket Server automatically starts when the form loads.
+
+
+ if the DataSocket Server automatically starts when the form loads. The default value is .
+
+
+ The has been disposed.
+
+
+ If the value of this property is , you must call to launch the DataSocket Server.
+
+ This property is applicable only to objects that you create on
+ a Windows Form with the Windows Forms Designer.
+
+ 6/20/2006 4:42:53 PM
+ Staci McCormick
+ True
+
+
+
+ Gets or sets a value indicating if the DataSocket Server automatically shuts down when the object is disposed.
+
+
+ if the server automatically shuts down when the object is disposed. The default value is
+ .
+
+
+ The has been disposed.
+
+ 6/20/2006 4:42:49 PM
+ Staci McCormick
+ True
+
+
+
+ Gets a value indicating if the DataSocket Server is running.
+
+
+ if the DataSocket Server is running.
+
+
+ The has been disposed.
+
+ 6/20/2006 4:42:57 PM
+ Staci McCormick
+ True
+
+
+
+ Exposes data sources or targets as a bindable data items that you can bind to properties of Windows Forms controls.
+
+
+
+ Complete the following steps to bind data sources or targets to a Windows Forms control:
+
+ -
+
+ From the Toolbox, drag a object onto a designer, such as the Windows
+ Forms Designer. Because the object does not have a user interface, it is added to the component
+ tray below the form.
+
+
+ -
+
+ In the Properties window, launch the collection editor for the property.
+ Add a binding and specify a unique name and URL for the binding.
+
+
+ -
+
+ Click OK to accept the binding item and close the collection editor.
+
+
+ -
+
+ Select a Windows Forms control in the designer, navigate to the property in the Properties window, locate the property
+ you want to bind to a data source or target, and select the name of the binding you added
+ to the collection.
+
+
+
+
+ You must call when you finish using a
+ object. If you add this object to a Windows form with the Windows
+ Forms Designer, the form calls automatically.
+
+
+
+ 11/5/2008 10:39:09 AM
+ Measurement Studio
+ True
+
+
+
+ Initializes a new instance of .
+
+ 10/30/2002 12:09:03 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of the class
+ with the specified container.
+
+
+ that represents the object container.
+
+ 10/30/2002 12:09:05 PM
+ Beth Parrott
+ True
+
+
+
+ Overrides .
+
+
+ A string representation of the object.
+
+
+ The has been disposed.
+
+ 6/9/2003 10:12:10 AM
+ Beth Parrott
+ True
+
+
+
+ Releases the resources used by object.
+
+
+ If , this method releases managed and unmanaged resources. If , this method releases
+ only unmanaged resources.
+
+
+
+ The public method and the finalizer call this method. The public
+ method invokes the protected Dispose(Boolean) method with
+ set to . The finalizer invokes the protected Dispose(Boolean) method
+ with set to
+ .
+
+
+ When you set the parameter to , this method releases all
+ resources held by managed objects that the object
+ references. This method invokes the method of each referenced object.
+
+
+ 11/21/2002 1:34:57 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:59 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:59 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:58 PM
+ Measurement Studio
+ True
+
+
+
+ Calls the method on all
+ objects in the
+
+ collection.
+
+
+ The has been disposed.
+
+ 6/9/2003 10:12:44 AM
+ Beth Parrott
+ True
+
+
+
+ Calls the method on all
+ objects in the
+ collection.
+
+
+ The has been disposed.
+
+ 6/9/2003 10:12:39 AM
+ Beth Parrott
+ True
+
+
+
+ Calls the method on all
+ objects in the
+ collection.
+
+
+ The has been disposed.
+
+
+ A object in the
+ collection is not connected.
+
+ 6/9/2003 10:12:30 AM
+ Beth Parrott
+ True
+
+
+
+ Raises the event.
+
+
+ A object that contains the event data.
+
+
+ A derived class can override
+ to handle the event without attaching a delegate. This technique is preferred for event handling in a derived class.
+
+
+ 11/21/2002 1:35:16 PM
+ Beth Parrott
+ True
+
+
+
+ Raises the event.
+
+
+ A object that contains the event data.
+
+
+ A derived class can override
+ to handle the event without attaching a delegate. This technique is preferred for event handling in a derived class.
+
+
+ 11/21/2002 1:35:18 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:57 PM
+ Measurement Studio
+ True
+
+
+
+ Occurs when the data of any object in the
+ collection is updated.
+
+ 11/21/2002 1:34:59 PM
+ Beth Parrott
+ True
+
+
+
+ Occurs when the connection status of any object in the
+ collection is updated.
+
+ 11/21/2002 1:35:01 PM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets a value indicating if all bindings in the collection
+ connect to associated data sources or targets when the form loads.
+
+
+ if is called when the form
+ loads. The default value is .
+
+
+ The has been disposed.
+
+
+ If the value of this property is , you must manually call
+ .
+ This property is applicable only to objects that you create on
+ a Windows Form with the Windows Forms Designer.
+
+ 6/20/2006 4:43:06 PM
+ Staci McCormick
+ True
+
+
+
+ Gets the DataSocket object.
+
+
+ A collection of objects. You can use a
+ object to bind Windows Forms control properties to
+ data sources and targets.
+
+
+ The has been disposed.
+
+
+ 6/9/2003 10:11:51 AM
+ Beth Parrott
+ True
+
+
+
+ Provides data for the event.
+
+
+
+ The event is generated when
+ the local value or attributes change. The local
+ value or attributes can change when the data source
+ value or attributes change or when you set the value or attributes on the local
+ object.
+
+
+
+
+ 11/21/2002 1:35:39 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of .
+
+
+ A reference to the that was updated.
+
+ 10/30/2002 12:09:45 PM
+ Beth Parrott
+ True
+
+
+ Overrides .
+ Returns a string representation of the object.
+ 10/30/2002 12:09:46 PM
+ Beth Parrott
+ True
+
+
+
+ Gets a reference to the data that was updated when the event was generated.
+
+
+ A that represents the data
+ that was updated when the event was generated.
+
+ 7/26/2004 10:16:50 AM
+ Whitney Bates
+ True
+
+
+
+ Represents a method that handles the
+ event of a
+ object.
+
+
+ The source of the event.
+
+
+ A object that contains the event data.
+
+
+ 11/21/2002 1:35:47 PM
+ Beth Parrott
+ True
+
+
+
+ Defines valid values for the status subfield of the OPC quality attribute.
+
+ 10/30/2002 12:09:51 PM
+ Beth Parrott
+ True
+
+
+
+ The value is bad.
+
+ 10/30/2002 12:09:56 PM
+ Beth Parrott
+ True
+
+
+
+ The communication failed, and no last known value
+ is available.
+
+ 10/30/2002 12:09:57 PM
+ Beth Parrott
+ True
+
+
+
+ There is a server-specific problem with the configuration.
+
+ 10/30/2002 12:09:59 PM
+ Beth Parrott
+ True
+
+
+
+ A device failure has been detected.
+
+ 10/30/2002 12:10:00 PM
+ Beth Parrott
+ True
+
+
+
+ The value is outside the limits defined for this parameter.
+
+ 10/30/2002 12:10:02 PM
+ Beth Parrott
+ True
+
+
+
+ The value is good.
+
+ 10/30/2002 12:10:04 PM
+ Beth Parrott
+ True
+
+
+
+ Communication has failed, but the last known value is available.
+
+ 10/30/2002 12:10:06 PM
+ Beth Parrott
+ True
+
+
+
+ The value is no longer being written.
+
+ 10/30/2002 12:10:07 PM
+ Beth Parrott
+ True
+
+
+
+ The value has been overridden.
+
+ 10/30/2002 12:10:08 PM
+ Beth Parrott
+ True
+
+
+
+ The input must be logically connected to a server but it
+ is disconnected.
+
+ 10/30/2002 12:10:09 PM
+ Beth Parrott
+ True
+
+
+
+ The block is off scan or locked.
+
+ 10/30/2002 12:10:10 PM
+ Beth Parrott
+ True
+
+
+
+ The value has been pegged at one of the sensor limits or
+ an internal diagnostics has detected that the sensor is out of calibration.
+
+ 10/30/2002 12:10:11 PM
+ Beth Parrott
+ True
+
+
+
+ A sensor failure has been detected.
+
+ 10/30/2002 12:10:12 PM
+ Beth Parrott
+ True
+
+
+
+ The value is derived from multiple sources and has less than the
+ required number of good sources.
+
+ 10/30/2002 12:10:12 PM
+ Beth Parrott
+ True
+
+
+
+ The value cannot be determined.
+
+ 10/30/2002 12:10:13 PM
+ Beth Parrott
+ True
+
+
+
+ Specifies how a object reads data.
+
+ 6/9/2003 10:16:27 AM
+ Beth Parrott
+ True
+
+
+
+ Specifies that raises the
+ event to notify
+ when new data arrives.
+
+ 6/9/2003 10:16:59 AM
+ Beth Parrott
+ True
+
+
+
+ Specifies that you must call
+ to poll and dequeue buffered data into the
+ property. does not raise the
+ event in this mode.
+
+ 6/9/2003 10:17:37 AM
+ Beth Parrott
+ True
+
+
+
+ Controls the behavior of the dialog box that
+ displays.
+
+
+
+ 11/21/2002 1:35:54 PM
+ Beth Parrott
+ True
+
+
+
+ Specifies that dialog box is displayed
+ with the default options.
+
+ 10/30/2002 12:10:16 PM
+ Beth Parrott
+ True
+
+
+
+ Opens a dialog box to prompt the user for permission to create the file if that file
+ does not exist. If the user chooses to create the file, the dialog box closes
+ and the method returns the specified name; otherwise, the dialog box remains open.
+
+ 10/30/2002 12:10:15 PM
+ Beth Parrott
+ True
+
+
+
+ Specifies that the user can enter the names only of existing files in the Filename field.
+ If this flag is specified and the user enters an invalid name, the dialog box
+ displays a warning in a message box.
+
+ 10/30/2002 12:10:17 PM
+ Beth Parrott
+ True
+
+
+
+ Hides the read-only checkbox.
+
+ 10/30/2002 12:10:18 PM
+ Beth Parrott
+ True
+
+
+
+ Restores the current directory to its original value if the user changed the directory
+ while searching for files.
+
+ 10/30/2002 12:10:18 PM
+ Beth Parrott
+ True
+
+
+
+ Directs the dialog box to return the path and filename of the selected shortcut
+ (.lnk) file. If this value is not provided, the dialog box returns the path and
+ filename of the file referenced by the shortcut.
+
+ 11/21/2002 1:35:57 PM
+ Beth Parrott
+ True
+
+
+
+ Specifies that the returned file does not have the read-only checkbox selected and is
+ not in a write-protected directory.
+
+ 10/30/2002 12:10:20 PM
+ Beth Parrott
+ True
+
+
+
+ Specifies that the file is not created before the dialog box is closed. Use this value if the application
+ saves the file on a create-nonmodify network
+ share. When an application specifies this flag,
+ does not check for write protection, a full disk, an open drive door, or network protection.
+ Applications that use this flag must perform file operations carefully because a file
+ cannot be reopened after it is closed.
+
+ 10/30/2002 12:10:21 PM
+ Beth Parrott
+ True
+
+
+
+ Causes the Save As dialog box to generate a message box if the selected file already
+ exists. The user must confirm overwriting the file.
+
+ 10/30/2002 12:10:21 PM
+ Beth Parrott
+ True
+
+
+
+ Specifies that the user can enter only valid paths and filenames. If you use this value and
+ the user enters an invalid path or filename in the Filename field, the dialog box method
+ displays a warning in a message box.
+
+ 10/30/2002 12:10:22 PM
+ Beth Parrott
+ True
+
+
+
+ Causes the read-only checkbox to be checked when the dialog box is created.
+
+ 10/30/2002 12:10:23 PM
+ Beth Parrott
+ True
+
+
+
+ Causes the file dialog box to be a Save As dialog box instead of an Open File
+ dialog box.
+
+ 10/30/2002 12:10:24 PM
+ Beth Parrott
+ True
+
+
+
diff --git a/Axel-boss/Axel-boss/bin/scanUC.dll b/Axel-boss/Axel-boss/bin/scanUC.dll
deleted file mode 100644
index 6392dbc8..00000000
Binary files a/Axel-boss/Axel-boss/bin/scanUC.dll and /dev/null differ
diff --git a/Axel-boss/Axel-boss/bin/scanUC.pdb b/Axel-boss/Axel-boss/bin/scanUC.pdb
deleted file mode 100644
index 955e61bd..00000000
Binary files a/Axel-boss/Axel-boss/bin/scanUC.pdb and /dev/null differ
diff --git a/Axel-boss/Axel-boss/data/notes.txt b/Axel-boss/Axel-boss/data/notes.txt
index ab2e87ae..b438b40b 100644
--- a/Axel-boss/Axel-boss/data/notes.txt
+++ b/Axel-boss/Axel-boss/data/notes.txt
@@ -1,7 +1,7 @@
-
-gap is still 0
-
-
+
+gap is still 0
+
+
> starting acquisition
> 0.00313; 3.266; 0; 200; 300; 5
> 0.00313; 3.266; 0; 200; 300; 4
@@ -25,4 +25,4 @@ gap is still 0
> 0.00313; 6.9282; 0; 300; 100; 2
> 0.00313; 6.9282; 0; 300; 100; 1
> Ref file: F:\Axel-track\data\17-05-30_16-51-38.log
-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+=-=-=-=-=-=-=-=-=-=-=-=-=-=
diff --git a/Axel-boss/Axel-boss/obj/Debug/App.g.cs b/Axel-boss/Axel-boss/obj/Debug/App.g.cs
index 9df03402..36dba9b5 100644
--- a/Axel-boss/Axel-boss/obj/Debug/App.g.cs
+++ b/Axel-boss/Axel-boss/obj/Debug/App.g.cs
@@ -1,69 +1,69 @@
-#pragma checksum "..\..\App.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "67AD38CCD9933A1E2D451707144B134C"
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-using System;
-using System.Diagnostics;
-using System.Windows;
-using System.Windows.Automation;
-using System.Windows.Controls;
-using System.Windows.Controls.Primitives;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Ink;
-using System.Windows.Input;
-using System.Windows.Markup;
-using System.Windows.Media;
-using System.Windows.Media.Animation;
-using System.Windows.Media.Effects;
-using System.Windows.Media.Imaging;
-using System.Windows.Media.Media3D;
-using System.Windows.Media.TextFormatting;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
-using System.Windows.Shell;
-
-
-namespace Axel_boss {
-
-
- ///
- /// App
- ///
- public partial class App : System.Windows.Application {
-
- ///
- /// InitializeComponent
- ///
- [System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
- public void InitializeComponent() {
-
- #line 4 "..\..\App.xaml"
- this.StartupUri = new System.Uri("MainWindow.xaml", System.UriKind.Relative);
-
- #line default
- #line hidden
- }
-
- ///
- /// Application Entry Point.
- ///
- [System.STAThreadAttribute()]
- [System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
- public static void Main() {
- Axel_boss.App app = new Axel_boss.App();
- app.InitializeComponent();
- app.Run();
- }
- }
-}
-
+#pragma checksum "..\..\App.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "67AD38CCD9933A1E2D451707144B134C"
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using System;
+using System.Diagnostics;
+using System.Windows;
+using System.Windows.Automation;
+using System.Windows.Controls;
+using System.Windows.Controls.Primitives;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Ink;
+using System.Windows.Input;
+using System.Windows.Markup;
+using System.Windows.Media;
+using System.Windows.Media.Animation;
+using System.Windows.Media.Effects;
+using System.Windows.Media.Imaging;
+using System.Windows.Media.Media3D;
+using System.Windows.Media.TextFormatting;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using System.Windows.Shell;
+
+
+namespace Axel_boss {
+
+
+ ///
+ /// App
+ ///
+ public partial class App : System.Windows.Application {
+
+ ///
+ /// InitializeComponent
+ ///
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
+ public void InitializeComponent() {
+
+ #line 4 "..\..\App.xaml"
+ this.StartupUri = new System.Uri("MainWindow.xaml", System.UriKind.Relative);
+
+ #line default
+ #line hidden
+ }
+
+ ///
+ /// Application Entry Point.
+ ///
+ [System.STAThreadAttribute()]
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
+ public static void Main() {
+ Axel_boss.App app = new Axel_boss.App();
+ app.InitializeComponent();
+ app.Run();
+ }
+ }
+}
+
diff --git a/Axel-boss/Axel-boss/obj/Debug/App.g.i.cs b/Axel-boss/Axel-boss/obj/Debug/App.g.i.cs
index 9df03402..36dba9b5 100644
--- a/Axel-boss/Axel-boss/obj/Debug/App.g.i.cs
+++ b/Axel-boss/Axel-boss/obj/Debug/App.g.i.cs
@@ -1,69 +1,69 @@
-#pragma checksum "..\..\App.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "67AD38CCD9933A1E2D451707144B134C"
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-using System;
-using System.Diagnostics;
-using System.Windows;
-using System.Windows.Automation;
-using System.Windows.Controls;
-using System.Windows.Controls.Primitives;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Ink;
-using System.Windows.Input;
-using System.Windows.Markup;
-using System.Windows.Media;
-using System.Windows.Media.Animation;
-using System.Windows.Media.Effects;
-using System.Windows.Media.Imaging;
-using System.Windows.Media.Media3D;
-using System.Windows.Media.TextFormatting;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
-using System.Windows.Shell;
-
-
-namespace Axel_boss {
-
-
- ///
- /// App
- ///
- public partial class App : System.Windows.Application {
-
- ///
- /// InitializeComponent
- ///
- [System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
- public void InitializeComponent() {
-
- #line 4 "..\..\App.xaml"
- this.StartupUri = new System.Uri("MainWindow.xaml", System.UriKind.Relative);
-
- #line default
- #line hidden
- }
-
- ///
- /// Application Entry Point.
- ///
- [System.STAThreadAttribute()]
- [System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
- public static void Main() {
- Axel_boss.App app = new Axel_boss.App();
- app.InitializeComponent();
- app.Run();
- }
- }
-}
-
+#pragma checksum "..\..\App.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "67AD38CCD9933A1E2D451707144B134C"
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using System;
+using System.Diagnostics;
+using System.Windows;
+using System.Windows.Automation;
+using System.Windows.Controls;
+using System.Windows.Controls.Primitives;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Ink;
+using System.Windows.Input;
+using System.Windows.Markup;
+using System.Windows.Media;
+using System.Windows.Media.Animation;
+using System.Windows.Media.Effects;
+using System.Windows.Media.Imaging;
+using System.Windows.Media.Media3D;
+using System.Windows.Media.TextFormatting;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using System.Windows.Shell;
+
+
+namespace Axel_boss {
+
+
+ ///
+ /// App
+ ///
+ public partial class App : System.Windows.Application {
+
+ ///
+ /// InitializeComponent
+ ///
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
+ public void InitializeComponent() {
+
+ #line 4 "..\..\App.xaml"
+ this.StartupUri = new System.Uri("MainWindow.xaml", System.UriKind.Relative);
+
+ #line default
+ #line hidden
+ }
+
+ ///
+ /// Application Entry Point.
+ ///
+ [System.STAThreadAttribute()]
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
+ public static void Main() {
+ Axel_boss.App app = new Axel_boss.App();
+ app.InitializeComponent();
+ app.Run();
+ }
+ }
+}
+
diff --git a/Axel-boss/Axel-boss/obj/Debug/Axel-boss.csproj.FileListAbsolute.txt b/Axel-boss/Axel-boss/obj/Debug/Axel-boss.csproj.FileListAbsolute.txt
index 4ed65bfe..6b6fb6a4 100644
--- a/Axel-boss/Axel-boss/obj/Debug/Axel-boss.csproj.FileListAbsolute.txt
+++ b/Axel-boss/Axel-boss/obj/Debug/Axel-boss.csproj.FileListAbsolute.txt
@@ -1,76 +1,77 @@
-E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\MainWindow.baml
-E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\MainWindow.g.cs
-E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\App.g.cs
-E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\Axel-boss_MarkupCompile.cache
-E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\Axel-boss.g.resources
-E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\Axel_boss.Properties.Resources.resources
-E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\Axel-boss.csproj.GenerateResource.Cache
-E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\Axel-boss.exe.licenses
-E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\Axel-boss.exe
-E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\Axel-boss.pdb
-E:\VSprojects\Axel-boss\Axel-boss\bin\Axel-boss.exe
-E:\VSprojects\Axel-boss\Axel-boss\bin\Axel-boss.pdb
-E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\Axel-boss.csprojResolveAssemblyReference.cache
-C:\Software\Axel-boss2\Axel-boss\obj\Debug\Axel-boss.exe
-C:\Software\Axel-boss2\Axel-boss\obj\Debug\Axel-boss.pdb
-C:\Software\Axel-boss2\Axel-boss\obj\Debug\Axel-boss.csprojResolveAssemblyReference.cache
-C:\Software\Axel-boss2\Axel-boss\obj\Debug\MainWindow.baml
-C:\Software\Axel-boss2\Axel-boss\obj\Debug\MainWindow.g.cs
-C:\Software\Axel-boss2\Axel-boss\obj\Debug\App.g.cs
-C:\Software\Axel-boss2\Axel-boss\obj\Debug\Axel-boss_MarkupCompile.cache
-C:\Software\Axel-boss2\Axel-boss\obj\Debug\Axel-boss.g.resources
-C:\Software\Axel-boss2\Axel-boss\obj\Debug\Axel_boss.Properties.Resources.resources
-C:\Software\Axel-boss2\Axel-boss\obj\Debug\Axel-boss.csproj.GenerateResource.Cache
-C:\Software\Axel-boss2\Axel-boss\obj\Debug\Axel-boss.exe.licenses
-C:\Software\Axel-boss2\Axel-boss\bin\Axel-boss.exe
-C:\Software\Axel-boss2\Axel-boss\bin\Axel-boss.pdb
-C:\Software\Axel-boss2\Axel-boss\bin\AxelChart.pdb
-C:\Software\Axel-boss2\Axel-boss\bin\scanUC.pdb
-C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.exe
-C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.pdb
-C:\Axel-Suite\Axel-boss\Axel-boss\bin\Axel-boss.exe
-C:\Axel-Suite\Axel-boss\Axel-boss\bin\Axel-boss.pdb
-C:\Axel-Suite\Axel-boss\Axel-boss\bin\AxelChart.pdb
-C:\Axel-Suite\Axel-boss\Axel-boss\bin\scanUC.pdb
-C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.csprojResolveAssemblyReference.cache
-C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\MainWindow.baml
-C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\MainWindow.g.cs
-C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\App.g.cs
-C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\Axel-boss_MarkupCompile.cache
-C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.g.resources
-C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\Axel_boss.Properties.Resources.resources
-C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.csproj.GenerateResource.Cache
-C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.exe.licenses
-E:\VSprojects\Axel-boss\Axel-boss\bin\UtilsLib.dll
-E:\VSprojects\Axel-boss\Axel-boss\bin\UtilsLib.pdb
-F:\Axel-boss\Axel-boss\obj\Debug\Axel-boss.exe
-F:\Axel-boss\Axel-boss\obj\Debug\Axel-boss.pdb
-F:\Axel-boss\Axel-boss\bin\Axel-boss.exe
-F:\Axel-boss\Axel-boss\bin\Axel-boss.pdb
-F:\Axel-boss\Axel-boss\bin\UtilsLib.dll
-F:\Axel-boss\Axel-boss\bin\AxelChart.pdb
-F:\Axel-boss\Axel-boss\bin\scanUC.pdb
-F:\Axel-boss\Axel-boss\bin\UtilsLib.pdb
-F:\Axel-boss\Axel-boss\obj\Debug\Axel-boss.csprojResolveAssemblyReference.cache
-F:\Axel-boss\Axel-boss\obj\Debug\MainWindow.baml
-F:\Axel-boss\Axel-boss\obj\Debug\MainWindow.g.cs
-F:\Axel-boss\Axel-boss\obj\Debug\App.g.cs
-F:\Axel-boss\Axel-boss\obj\Debug\Axel-boss_MarkupCompile.cache
-F:\Axel-boss\Axel-boss\obj\Debug\Axel-boss.g.resources
-F:\Axel-boss\Axel-boss\obj\Debug\Axel_boss.Properties.Resources.resources
-F:\Axel-boss\Axel-boss\obj\Debug\Axel-boss.csproj.GenerateResource.Cache
-F:\Axel-boss\Axel-boss\obj\Debug\Axel-boss.exe.licenses
-E:\VSprojects\Axel-boss\Axel-boss\bin\AxelChart.pdb
-E:\VSprojects\Axel-boss\Axel-boss\bin\scanUC.pdb
-E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.exe
-E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.pdb
-E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\bin\Axel-boss.exe
-E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\bin\Axel-boss.pdb
-E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\MainWindow.baml
-E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\MainWindow.g.cs
-E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\App.g.cs
-E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\Axel-boss_MarkupCompile.cache
-E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.g.resources
-E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\Axel_boss.Properties.Resources.resources
-E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.csproj.GenerateResource.Cache
-E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.exe.licenses
+E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\MainWindow.baml
+E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\MainWindow.g.cs
+E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\App.g.cs
+E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\Axel-boss_MarkupCompile.cache
+E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\Axel-boss.g.resources
+E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\Axel_boss.Properties.Resources.resources
+E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\Axel-boss.csproj.GenerateResource.Cache
+E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\Axel-boss.exe.licenses
+E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\Axel-boss.exe
+E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\Axel-boss.pdb
+E:\VSprojects\Axel-boss\Axel-boss\bin\Axel-boss.exe
+E:\VSprojects\Axel-boss\Axel-boss\bin\Axel-boss.pdb
+E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\Axel-boss.csprojResolveAssemblyReference.cache
+C:\Software\Axel-boss2\Axel-boss\obj\Debug\Axel-boss.exe
+C:\Software\Axel-boss2\Axel-boss\obj\Debug\Axel-boss.pdb
+C:\Software\Axel-boss2\Axel-boss\obj\Debug\Axel-boss.csprojResolveAssemblyReference.cache
+C:\Software\Axel-boss2\Axel-boss\obj\Debug\MainWindow.baml
+C:\Software\Axel-boss2\Axel-boss\obj\Debug\MainWindow.g.cs
+C:\Software\Axel-boss2\Axel-boss\obj\Debug\App.g.cs
+C:\Software\Axel-boss2\Axel-boss\obj\Debug\Axel-boss_MarkupCompile.cache
+C:\Software\Axel-boss2\Axel-boss\obj\Debug\Axel-boss.g.resources
+C:\Software\Axel-boss2\Axel-boss\obj\Debug\Axel_boss.Properties.Resources.resources
+C:\Software\Axel-boss2\Axel-boss\obj\Debug\Axel-boss.csproj.GenerateResource.Cache
+C:\Software\Axel-boss2\Axel-boss\obj\Debug\Axel-boss.exe.licenses
+C:\Software\Axel-boss2\Axel-boss\bin\Axel-boss.exe
+C:\Software\Axel-boss2\Axel-boss\bin\Axel-boss.pdb
+C:\Software\Axel-boss2\Axel-boss\bin\AxelChart.pdb
+C:\Software\Axel-boss2\Axel-boss\bin\scanUC.pdb
+C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.exe
+C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.pdb
+C:\Axel-Suite\Axel-boss\Axel-boss\bin\Axel-boss.exe
+C:\Axel-Suite\Axel-boss\Axel-boss\bin\Axel-boss.pdb
+C:\Axel-Suite\Axel-boss\Axel-boss\bin\AxelChart.pdb
+C:\Axel-Suite\Axel-boss\Axel-boss\bin\scanUC.pdb
+C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.csprojResolveAssemblyReference.cache
+C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\MainWindow.baml
+C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\MainWindow.g.cs
+C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\App.g.cs
+C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\Axel-boss_MarkupCompile.cache
+C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.g.resources
+C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\Axel_boss.Properties.Resources.resources
+C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.csproj.GenerateResource.Cache
+C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.exe.licenses
+E:\VSprojects\Axel-boss\Axel-boss\bin\UtilsLib.dll
+E:\VSprojects\Axel-boss\Axel-boss\bin\UtilsLib.pdb
+F:\Axel-boss\Axel-boss\obj\Debug\Axel-boss.exe
+F:\Axel-boss\Axel-boss\obj\Debug\Axel-boss.pdb
+F:\Axel-boss\Axel-boss\bin\Axel-boss.exe
+F:\Axel-boss\Axel-boss\bin\Axel-boss.pdb
+F:\Axel-boss\Axel-boss\bin\UtilsLib.dll
+F:\Axel-boss\Axel-boss\bin\AxelChart.pdb
+F:\Axel-boss\Axel-boss\bin\scanUC.pdb
+F:\Axel-boss\Axel-boss\bin\UtilsLib.pdb
+F:\Axel-boss\Axel-boss\obj\Debug\Axel-boss.csprojResolveAssemblyReference.cache
+F:\Axel-boss\Axel-boss\obj\Debug\MainWindow.baml
+F:\Axel-boss\Axel-boss\obj\Debug\MainWindow.g.cs
+F:\Axel-boss\Axel-boss\obj\Debug\App.g.cs
+F:\Axel-boss\Axel-boss\obj\Debug\Axel-boss_MarkupCompile.cache
+F:\Axel-boss\Axel-boss\obj\Debug\Axel-boss.g.resources
+F:\Axel-boss\Axel-boss\obj\Debug\Axel_boss.Properties.Resources.resources
+F:\Axel-boss\Axel-boss\obj\Debug\Axel-boss.csproj.GenerateResource.Cache
+F:\Axel-boss\Axel-boss\obj\Debug\Axel-boss.exe.licenses
+E:\VSprojects\Axel-boss\Axel-boss\bin\AxelChart.pdb
+E:\VSprojects\Axel-boss\Axel-boss\bin\scanUC.pdb
+E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.exe
+E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.pdb
+E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\bin\Axel-boss.exe
+E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\bin\Axel-boss.pdb
+E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\MainWindow.baml
+E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\MainWindow.g.cs
+E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\App.g.cs
+E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\Axel-boss_MarkupCompile.cache
+E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.g.resources
+E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\Axel_boss.Properties.Resources.resources
+E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.csproj.GenerateResource.Cache
+E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.exe.licenses
+E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.csprojResolveAssemblyReference.cache
diff --git a/Axel-boss/Axel-boss/obj/Debug/Axel-boss.g.resources b/Axel-boss/Axel-boss/obj/Debug/Axel-boss.g.resources
index cf99cdfd..6e9eaf3f 100644
Binary files a/Axel-boss/Axel-boss/obj/Debug/Axel-boss.g.resources and b/Axel-boss/Axel-boss/obj/Debug/Axel-boss.g.resources differ
diff --git a/Axel-boss/Axel-boss/obj/Debug/Axel-boss_Content.g.i.cs b/Axel-boss/Axel-boss/obj/Debug/Axel-boss_Content.g.i.cs
index f4bf1462..1c641d85 100644
--- a/Axel-boss/Axel-boss/obj/Debug/Axel-boss_Content.g.i.cs
+++ b/Axel-boss/Axel-boss/obj/Debug/Axel-boss_Content.g.i.cs
@@ -1,13 +1,13 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-[assembly: System.Windows.Resources.AssemblyAssociatedContentFileAttribute("speed1.ico")]
-
-
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+[assembly: System.Windows.Resources.AssemblyAssociatedContentFileAttribute("speed1.ico")]
+
+
diff --git a/Axel-boss/Axel-boss/obj/Debug/Axel-boss_MarkupCompile.cache b/Axel-boss/Axel-boss/obj/Debug/Axel-boss_MarkupCompile.cache
index 554b3fc5..d5ddda3d 100644
--- a/Axel-boss/Axel-boss/obj/Debug/Axel-boss_MarkupCompile.cache
+++ b/Axel-boss/Axel-boss/obj/Debug/Axel-boss_MarkupCompile.cache
@@ -1,20 +1,20 @@
-Axel-boss
-
-
-winexe
-C#
-.cs
-E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\
-Axel_boss
-none
-false
-DEBUG;TRACE
-E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\App.xaml
-11151548125
-
-61551967082
-29-1965676778
-MainWindow.xaml;
-
-False
-
+Axel-boss
+
+
+winexe
+C#
+.cs
+E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\
+Axel_boss
+none
+false
+DEBUG;TRACE
+E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\App.xaml
+11151548125
+
+71092390585
+29-1965676778
+MainWindow.xaml;
+
+False
+
diff --git a/Axel-boss/Axel-boss/obj/Debug/Axel-boss_MarkupCompile.i.cache b/Axel-boss/Axel-boss/obj/Debug/Axel-boss_MarkupCompile.i.cache
deleted file mode 100644
index 10c1e4de..00000000
--- a/Axel-boss/Axel-boss/obj/Debug/Axel-boss_MarkupCompile.i.cache
+++ /dev/null
@@ -1,20 +0,0 @@
-Axel-boss
-
-
-winexe
-C#
-.cs
-E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\
-Axel_boss
-none
-false
-DEBUG;TRACE
-E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\App.xaml
-11151548125
-
-11982042998
-29-1965676778
-MainWindow.xaml;
-
-False
-
diff --git a/Axel-boss/Axel-boss/obj/Debug/CoreCompileInputs.cache b/Axel-boss/Axel-boss/obj/Debug/CoreCompileInputs.cache
index fe42d441..345bb39f 100644
--- a/Axel-boss/Axel-boss/obj/Debug/CoreCompileInputs.cache
+++ b/Axel-boss/Axel-boss/obj/Debug/CoreCompileInputs.cache
@@ -1 +1 @@
-30d99477857fd4ae64d67653c4c82853c00fd5c3
+30d99477857fd4ae64d67653c4c82853c00fd5c3
diff --git a/Axel-boss/Axel-boss/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/Axel-boss/Axel-boss/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
index e65b3667..783f455a 100644
Binary files a/Axel-boss/Axel-boss/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache and b/Axel-boss/Axel-boss/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ
diff --git a/Axel-boss/Axel-boss/obj/Debug/MainWindow.baml b/Axel-boss/Axel-boss/obj/Debug/MainWindow.baml
index 3c2836bc..09b2fa58 100644
Binary files a/Axel-boss/Axel-boss/obj/Debug/MainWindow.baml and b/Axel-boss/Axel-boss/obj/Debug/MainWindow.baml differ
diff --git a/Axel-boss/Axel-boss/obj/Debug/MainWindow.g.cs b/Axel-boss/Axel-boss/obj/Debug/MainWindow.g.cs
index 3c5cdc1c..0bb6063a 100644
--- a/Axel-boss/Axel-boss/obj/Debug/MainWindow.g.cs
+++ b/Axel-boss/Axel-boss/obj/Debug/MainWindow.g.cs
@@ -1,436 +1,397 @@
-#pragma checksum "..\..\MainWindow.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "C29786438835445A1365CF174BF8B69C"
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-using AxelChartNS;
-using NationalInstruments.Controls;
-using NationalInstruments.Controls.Rendering;
-using System;
-using System.Diagnostics;
-using System.Windows;
-using System.Windows.Automation;
-using System.Windows.Controls;
-using System.Windows.Controls.Primitives;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Ink;
-using System.Windows.Input;
-using System.Windows.Markup;
-using System.Windows.Media;
-using System.Windows.Media.Animation;
-using System.Windows.Media.Effects;
-using System.Windows.Media.Imaging;
-using System.Windows.Media.Media3D;
-using System.Windows.Media.TextFormatting;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
-using System.Windows.Shell;
-using scanNS;
-
-
-namespace Axel_boss {
-
-
- ///
- /// MainWindow
- ///
- public partial class MainWindow : System.Windows.Window, System.Windows.Markup.IComponentConnector {
-
-
- #line 1 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal Axel_boss.MainWindow frmAxelBoss;
-
- #line default
- #line hidden
-
-
- #line 8 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Grid gridMain;
-
- #line default
- #line hidden
-
-
- #line 14 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Grid gridLeft;
-
- #line default
- #line hidden
-
-
- #line 19 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal scanNS.scanClass ucScan1;
-
- #line default
- #line hidden
-
-
- #line 20 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TextBox tbLog;
-
- #line default
- #line hidden
-
-
- #line 23 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Grid gridRight;
-
- #line default
- #line hidden
-
-
- #line 25 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.RowDefinition rowUpperChart;
-
- #line default
- #line hidden
-
-
- #line 26 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.RowDefinition rowMiddleChart;
-
- #line default
- #line hidden
-
-
- #line 27 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.RowDefinition rowLowerChart;
-
- #line default
- #line hidden
-
-
- #line 30 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.GridSplitter splitDown;
-
- #line default
- #line hidden
-
-
- #line 32 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal AxelChartNS.AxelChartClass AxelChart1;
-
- #line default
- #line hidden
-
-
- #line 34 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Grid gridMiddle;
-
- #line default
- #line hidden
-
-
- #line 35 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TabControl tabSecPlots;
-
- #line default
- #line hidden
-
-
- #line 37 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TabItem tabAcceleration;
-
- #line default
- #line hidden
-
-
- #line 39 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.GraphInteractionPalette interatctionOverview;
-
- #line default
- #line hidden
-
-
- #line 40 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.Graph graphAcceleration;
-
- #line default
- #line hidden
-
-
- #line 56 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TabItem tabVelocity;
-
- #line default
- #line hidden
-
-
- #line 59 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.GraphInteractionPalette interactionPower;
-
- #line default
- #line hidden
-
-
- #line 60 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.Graph graphVelocity;
-
- #line default
- #line hidden
-
-
- #line 72 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TabItem tabDistance;
-
- #line default
- #line hidden
-
-
- #line 74 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.GraphInteractionPalette interactionHisto;
-
- #line default
- #line hidden
-
-
- #line 75 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.Graph graphDistance;
-
- #line default
- #line hidden
-
-
- #line 97 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Button btnOpen;
-
- #line default
- #line hidden
-
-
- #line 98 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Button btnSaveAs;
-
- #line default
- #line hidden
-
-
- #line 101 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Button btnClear;
-
- #line default
- #line hidden
-
-
- #line 105 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.GroupBox groupStat;
-
- #line default
- #line hidden
-
-
- #line 108 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TextBox tbRem;
-
- #line default
- #line hidden
-
-
- #line 109 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Button btnSplit;
-
- #line default
- #line hidden
-
-
- #line 119 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal AxelChartNS.AxelChartClass AxelChart2;
-
- #line default
- #line hidden
-
- private bool _contentLoaded;
-
- ///
- /// InitializeComponent
- ///
- [System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
- public void InitializeComponent() {
- if (_contentLoaded) {
- return;
- }
- _contentLoaded = true;
- System.Uri resourceLocater = new System.Uri("/Axel-boss;component/mainwindow.xaml", System.UriKind.Relative);
-
- #line 1 "..\..\MainWindow.xaml"
- System.Windows.Application.LoadComponent(this, resourceLocater);
-
- #line default
- #line hidden
- }
-
- [System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
- [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
- void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
- switch (connectionId)
- {
- case 1:
- this.frmAxelBoss = ((Axel_boss.MainWindow)(target));
- return;
- case 2:
- this.gridMain = ((System.Windows.Controls.Grid)(target));
- return;
- case 3:
- this.gridLeft = ((System.Windows.Controls.Grid)(target));
- return;
- case 4:
- this.ucScan1 = ((scanNS.scanClass)(target));
- return;
- case 5:
- this.tbLog = ((System.Windows.Controls.TextBox)(target));
- return;
- case 6:
- this.gridRight = ((System.Windows.Controls.Grid)(target));
- return;
- case 7:
- this.rowUpperChart = ((System.Windows.Controls.RowDefinition)(target));
- return;
- case 8:
- this.rowMiddleChart = ((System.Windows.Controls.RowDefinition)(target));
- return;
- case 9:
- this.rowLowerChart = ((System.Windows.Controls.RowDefinition)(target));
- return;
- case 10:
- this.splitDown = ((System.Windows.Controls.GridSplitter)(target));
-
- #line 30 "..\..\MainWindow.xaml"
- this.splitDown.MouseDoubleClick += new System.Windows.Input.MouseButtonEventHandler(this.splitDown_MouseDoubleClick);
-
- #line default
- #line hidden
- return;
- case 11:
- this.AxelChart1 = ((AxelChartNS.AxelChartClass)(target));
- return;
- case 12:
- this.gridMiddle = ((System.Windows.Controls.Grid)(target));
- return;
- case 13:
- this.tabSecPlots = ((System.Windows.Controls.TabControl)(target));
-
- #line 35 "..\..\MainWindow.xaml"
- this.tabSecPlots.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.tabSecPlots_SelectionChanged);
-
- #line default
- #line hidden
- return;
- case 14:
- this.tabAcceleration = ((System.Windows.Controls.TabItem)(target));
- return;
- case 15:
- this.interatctionOverview = ((NationalInstruments.Controls.GraphInteractionPalette)(target));
- return;
- case 16:
- this.graphAcceleration = ((NationalInstruments.Controls.Graph)(target));
- return;
- case 17:
- this.tabVelocity = ((System.Windows.Controls.TabItem)(target));
- return;
- case 18:
- this.interactionPower = ((NationalInstruments.Controls.GraphInteractionPalette)(target));
- return;
- case 19:
- this.graphVelocity = ((NationalInstruments.Controls.Graph)(target));
- return;
- case 20:
- this.tabDistance = ((System.Windows.Controls.TabItem)(target));
- return;
- case 21:
- this.interactionHisto = ((NationalInstruments.Controls.GraphInteractionPalette)(target));
- return;
- case 22:
- this.graphDistance = ((NationalInstruments.Controls.Graph)(target));
- return;
- case 23:
- this.btnOpen = ((System.Windows.Controls.Button)(target));
-
- #line 97 "..\..\MainWindow.xaml"
- this.btnOpen.Click += new System.Windows.RoutedEventHandler(this.btnOpen_Click);
-
- #line default
- #line hidden
- return;
- case 24:
- this.btnSaveAs = ((System.Windows.Controls.Button)(target));
-
- #line 98 "..\..\MainWindow.xaml"
- this.btnSaveAs.Click += new System.Windows.RoutedEventHandler(this.btnSaveAs_Click);
-
- #line default
- #line hidden
- return;
- case 25:
- this.btnClear = ((System.Windows.Controls.Button)(target));
-
- #line 101 "..\..\MainWindow.xaml"
- this.btnClear.Click += new System.Windows.RoutedEventHandler(this.btnClear_Click);
-
- #line default
- #line hidden
- return;
- case 26:
- this.groupStat = ((System.Windows.Controls.GroupBox)(target));
- return;
- case 27:
- this.tbRem = ((System.Windows.Controls.TextBox)(target));
- return;
- case 28:
- this.btnSplit = ((System.Windows.Controls.Button)(target));
-
- #line 109 "..\..\MainWindow.xaml"
- this.btnSplit.Click += new System.Windows.RoutedEventHandler(this.btnSplit_Click);
-
- #line default
- #line hidden
- return;
- case 29:
- this.AxelChart2 = ((AxelChartNS.AxelChartClass)(target));
- return;
- }
- this._contentLoaded = true;
- }
- }
-}
-
+#pragma checksum "..\..\MainWindow.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "1016A22D29AD7D3B040AFAD605B5B27A"
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using AxelChartNS;
+using NationalInstruments.Controls;
+using NationalInstruments.Controls.Rendering;
+using System;
+using System.Diagnostics;
+using System.Windows;
+using System.Windows.Automation;
+using System.Windows.Controls;
+using System.Windows.Controls.Primitives;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Ink;
+using System.Windows.Input;
+using System.Windows.Markup;
+using System.Windows.Media;
+using System.Windows.Media.Animation;
+using System.Windows.Media.Effects;
+using System.Windows.Media.Imaging;
+using System.Windows.Media.Media3D;
+using System.Windows.Media.TextFormatting;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using System.Windows.Shell;
+using scanNS;
+
+
+namespace Axel_boss {
+
+
+ ///
+ /// MainWindow
+ ///
+ public partial class MainWindow : System.Windows.Window, System.Windows.Markup.IComponentConnector {
+
+
+ #line 1 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal Axel_boss.MainWindow frmAxelBoss;
+
+ #line default
+ #line hidden
+
+
+ #line 8 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Grid gridMain;
+
+ #line default
+ #line hidden
+
+
+ #line 14 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Grid gridLeft;
+
+ #line default
+ #line hidden
+
+
+ #line 19 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal scanNS.scanClass ucScan1;
+
+ #line default
+ #line hidden
+
+
+ #line 20 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TextBox tbLog;
+
+ #line default
+ #line hidden
+
+
+ #line 23 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Grid gridRight;
+
+ #line default
+ #line hidden
+
+
+ #line 25 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.RowDefinition rowUpperChart;
+
+ #line default
+ #line hidden
+
+
+ #line 26 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.RowDefinition rowMiddleChart;
+
+ #line default
+ #line hidden
+
+
+ #line 27 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.RowDefinition rowLowerChart;
+
+ #line default
+ #line hidden
+
+
+ #line 30 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.GridSplitter splitDown;
+
+ #line default
+ #line hidden
+
+
+ #line 32 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal AxelChartNS.AxelChartClass AxelChart1;
+
+ #line default
+ #line hidden
+
+
+ #line 34 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Grid gridMiddle;
+
+ #line default
+ #line hidden
+
+
+ #line 35 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TabControl tabSecPlots;
+
+ #line default
+ #line hidden
+
+
+ #line 37 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TabItem tabAcceleration;
+
+ #line default
+ #line hidden
+
+
+ #line 39 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.GraphInteractionPalette interatctionOverview;
+
+ #line default
+ #line hidden
+
+
+ #line 40 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.Graph graphAcceleration;
+
+ #line default
+ #line hidden
+
+
+ #line 56 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TabItem tabVelocity;
+
+ #line default
+ #line hidden
+
+
+ #line 59 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.GraphInteractionPalette interactionPower;
+
+ #line default
+ #line hidden
+
+
+ #line 60 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.Graph graphVelocity;
+
+ #line default
+ #line hidden
+
+
+ #line 72 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TabItem tabDistance;
+
+ #line default
+ #line hidden
+
+
+ #line 74 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.GraphInteractionPalette interactionHisto;
+
+ #line default
+ #line hidden
+
+
+ #line 75 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.Graph graphDistance;
+
+ #line default
+ #line hidden
+
+
+ #line 97 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Button btnOpen;
+
+ #line default
+ #line hidden
+
+
+ #line 98 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Button btnSaveAs;
+
+ #line default
+ #line hidden
+
+
+ #line 101 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Button btnClear;
+
+ #line default
+ #line hidden
+
+
+ #line 111 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal AxelChartNS.AxelChartClass AxelChart2;
+
+ #line default
+ #line hidden
+
+ private bool _contentLoaded;
+
+ ///
+ /// InitializeComponent
+ ///
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
+ public void InitializeComponent() {
+ if (_contentLoaded) {
+ return;
+ }
+ _contentLoaded = true;
+ System.Uri resourceLocater = new System.Uri("/Axel-boss;component/mainwindow.xaml", System.UriKind.Relative);
+
+ #line 1 "..\..\MainWindow.xaml"
+ System.Windows.Application.LoadComponent(this, resourceLocater);
+
+ #line default
+ #line hidden
+ }
+
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
+ void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
+ switch (connectionId)
+ {
+ case 1:
+ this.frmAxelBoss = ((Axel_boss.MainWindow)(target));
+ return;
+ case 2:
+ this.gridMain = ((System.Windows.Controls.Grid)(target));
+ return;
+ case 3:
+ this.gridLeft = ((System.Windows.Controls.Grid)(target));
+ return;
+ case 4:
+ this.ucScan1 = ((scanNS.scanClass)(target));
+ return;
+ case 5:
+ this.tbLog = ((System.Windows.Controls.TextBox)(target));
+ return;
+ case 6:
+ this.gridRight = ((System.Windows.Controls.Grid)(target));
+ return;
+ case 7:
+ this.rowUpperChart = ((System.Windows.Controls.RowDefinition)(target));
+ return;
+ case 8:
+ this.rowMiddleChart = ((System.Windows.Controls.RowDefinition)(target));
+ return;
+ case 9:
+ this.rowLowerChart = ((System.Windows.Controls.RowDefinition)(target));
+ return;
+ case 10:
+ this.splitDown = ((System.Windows.Controls.GridSplitter)(target));
+
+ #line 30 "..\..\MainWindow.xaml"
+ this.splitDown.MouseDoubleClick += new System.Windows.Input.MouseButtonEventHandler(this.splitDown_MouseDoubleClick);
+
+ #line default
+ #line hidden
+ return;
+ case 11:
+ this.AxelChart1 = ((AxelChartNS.AxelChartClass)(target));
+ return;
+ case 12:
+ this.gridMiddle = ((System.Windows.Controls.Grid)(target));
+ return;
+ case 13:
+ this.tabSecPlots = ((System.Windows.Controls.TabControl)(target));
+
+ #line 35 "..\..\MainWindow.xaml"
+ this.tabSecPlots.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.tabSecPlots_SelectionChanged);
+
+ #line default
+ #line hidden
+ return;
+ case 14:
+ this.tabAcceleration = ((System.Windows.Controls.TabItem)(target));
+ return;
+ case 15:
+ this.interatctionOverview = ((NationalInstruments.Controls.GraphInteractionPalette)(target));
+ return;
+ case 16:
+ this.graphAcceleration = ((NationalInstruments.Controls.Graph)(target));
+ return;
+ case 17:
+ this.tabVelocity = ((System.Windows.Controls.TabItem)(target));
+ return;
+ case 18:
+ this.interactionPower = ((NationalInstruments.Controls.GraphInteractionPalette)(target));
+ return;
+ case 19:
+ this.graphVelocity = ((NationalInstruments.Controls.Graph)(target));
+ return;
+ case 20:
+ this.tabDistance = ((System.Windows.Controls.TabItem)(target));
+ return;
+ case 21:
+ this.interactionHisto = ((NationalInstruments.Controls.GraphInteractionPalette)(target));
+ return;
+ case 22:
+ this.graphDistance = ((NationalInstruments.Controls.Graph)(target));
+ return;
+ case 23:
+ this.btnOpen = ((System.Windows.Controls.Button)(target));
+
+ #line 97 "..\..\MainWindow.xaml"
+ this.btnOpen.Click += new System.Windows.RoutedEventHandler(this.btnOpen_Click);
+
+ #line default
+ #line hidden
+ return;
+ case 24:
+ this.btnSaveAs = ((System.Windows.Controls.Button)(target));
+
+ #line 98 "..\..\MainWindow.xaml"
+ this.btnSaveAs.Click += new System.Windows.RoutedEventHandler(this.btnSaveAs_Click);
+
+ #line default
+ #line hidden
+ return;
+ case 25:
+ this.btnClear = ((System.Windows.Controls.Button)(target));
+
+ #line 101 "..\..\MainWindow.xaml"
+ this.btnClear.Click += new System.Windows.RoutedEventHandler(this.btnClear_Click);
+
+ #line default
+ #line hidden
+ return;
+ case 26:
+ this.AxelChart2 = ((AxelChartNS.AxelChartClass)(target));
+ return;
+ }
+ this._contentLoaded = true;
+ }
+ }
+}
+
diff --git a/Axel-boss/Axel-boss/obj/Debug/MainWindow.g.i.cs b/Axel-boss/Axel-boss/obj/Debug/MainWindow.g.i.cs
index 3c5cdc1c..0bb6063a 100644
--- a/Axel-boss/Axel-boss/obj/Debug/MainWindow.g.i.cs
+++ b/Axel-boss/Axel-boss/obj/Debug/MainWindow.g.i.cs
@@ -1,436 +1,397 @@
-#pragma checksum "..\..\MainWindow.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "C29786438835445A1365CF174BF8B69C"
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-using AxelChartNS;
-using NationalInstruments.Controls;
-using NationalInstruments.Controls.Rendering;
-using System;
-using System.Diagnostics;
-using System.Windows;
-using System.Windows.Automation;
-using System.Windows.Controls;
-using System.Windows.Controls.Primitives;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Ink;
-using System.Windows.Input;
-using System.Windows.Markup;
-using System.Windows.Media;
-using System.Windows.Media.Animation;
-using System.Windows.Media.Effects;
-using System.Windows.Media.Imaging;
-using System.Windows.Media.Media3D;
-using System.Windows.Media.TextFormatting;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
-using System.Windows.Shell;
-using scanNS;
-
-
-namespace Axel_boss {
-
-
- ///
- /// MainWindow
- ///
- public partial class MainWindow : System.Windows.Window, System.Windows.Markup.IComponentConnector {
-
-
- #line 1 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal Axel_boss.MainWindow frmAxelBoss;
-
- #line default
- #line hidden
-
-
- #line 8 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Grid gridMain;
-
- #line default
- #line hidden
-
-
- #line 14 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Grid gridLeft;
-
- #line default
- #line hidden
-
-
- #line 19 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal scanNS.scanClass ucScan1;
-
- #line default
- #line hidden
-
-
- #line 20 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TextBox tbLog;
-
- #line default
- #line hidden
-
-
- #line 23 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Grid gridRight;
-
- #line default
- #line hidden
-
-
- #line 25 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.RowDefinition rowUpperChart;
-
- #line default
- #line hidden
-
-
- #line 26 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.RowDefinition rowMiddleChart;
-
- #line default
- #line hidden
-
-
- #line 27 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.RowDefinition rowLowerChart;
-
- #line default
- #line hidden
-
-
- #line 30 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.GridSplitter splitDown;
-
- #line default
- #line hidden
-
-
- #line 32 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal AxelChartNS.AxelChartClass AxelChart1;
-
- #line default
- #line hidden
-
-
- #line 34 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Grid gridMiddle;
-
- #line default
- #line hidden
-
-
- #line 35 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TabControl tabSecPlots;
-
- #line default
- #line hidden
-
-
- #line 37 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TabItem tabAcceleration;
-
- #line default
- #line hidden
-
-
- #line 39 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.GraphInteractionPalette interatctionOverview;
-
- #line default
- #line hidden
-
-
- #line 40 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.Graph graphAcceleration;
-
- #line default
- #line hidden
-
-
- #line 56 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TabItem tabVelocity;
-
- #line default
- #line hidden
-
-
- #line 59 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.GraphInteractionPalette interactionPower;
-
- #line default
- #line hidden
-
-
- #line 60 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.Graph graphVelocity;
-
- #line default
- #line hidden
-
-
- #line 72 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TabItem tabDistance;
-
- #line default
- #line hidden
-
-
- #line 74 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.GraphInteractionPalette interactionHisto;
-
- #line default
- #line hidden
-
-
- #line 75 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.Graph graphDistance;
-
- #line default
- #line hidden
-
-
- #line 97 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Button btnOpen;
-
- #line default
- #line hidden
-
-
- #line 98 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Button btnSaveAs;
-
- #line default
- #line hidden
-
-
- #line 101 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Button btnClear;
-
- #line default
- #line hidden
-
-
- #line 105 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.GroupBox groupStat;
-
- #line default
- #line hidden
-
-
- #line 108 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TextBox tbRem;
-
- #line default
- #line hidden
-
-
- #line 109 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Button btnSplit;
-
- #line default
- #line hidden
-
-
- #line 119 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal AxelChartNS.AxelChartClass AxelChart2;
-
- #line default
- #line hidden
-
- private bool _contentLoaded;
-
- ///
- /// InitializeComponent
- ///
- [System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
- public void InitializeComponent() {
- if (_contentLoaded) {
- return;
- }
- _contentLoaded = true;
- System.Uri resourceLocater = new System.Uri("/Axel-boss;component/mainwindow.xaml", System.UriKind.Relative);
-
- #line 1 "..\..\MainWindow.xaml"
- System.Windows.Application.LoadComponent(this, resourceLocater);
-
- #line default
- #line hidden
- }
-
- [System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
- [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
- void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
- switch (connectionId)
- {
- case 1:
- this.frmAxelBoss = ((Axel_boss.MainWindow)(target));
- return;
- case 2:
- this.gridMain = ((System.Windows.Controls.Grid)(target));
- return;
- case 3:
- this.gridLeft = ((System.Windows.Controls.Grid)(target));
- return;
- case 4:
- this.ucScan1 = ((scanNS.scanClass)(target));
- return;
- case 5:
- this.tbLog = ((System.Windows.Controls.TextBox)(target));
- return;
- case 6:
- this.gridRight = ((System.Windows.Controls.Grid)(target));
- return;
- case 7:
- this.rowUpperChart = ((System.Windows.Controls.RowDefinition)(target));
- return;
- case 8:
- this.rowMiddleChart = ((System.Windows.Controls.RowDefinition)(target));
- return;
- case 9:
- this.rowLowerChart = ((System.Windows.Controls.RowDefinition)(target));
- return;
- case 10:
- this.splitDown = ((System.Windows.Controls.GridSplitter)(target));
-
- #line 30 "..\..\MainWindow.xaml"
- this.splitDown.MouseDoubleClick += new System.Windows.Input.MouseButtonEventHandler(this.splitDown_MouseDoubleClick);
-
- #line default
- #line hidden
- return;
- case 11:
- this.AxelChart1 = ((AxelChartNS.AxelChartClass)(target));
- return;
- case 12:
- this.gridMiddle = ((System.Windows.Controls.Grid)(target));
- return;
- case 13:
- this.tabSecPlots = ((System.Windows.Controls.TabControl)(target));
-
- #line 35 "..\..\MainWindow.xaml"
- this.tabSecPlots.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.tabSecPlots_SelectionChanged);
-
- #line default
- #line hidden
- return;
- case 14:
- this.tabAcceleration = ((System.Windows.Controls.TabItem)(target));
- return;
- case 15:
- this.interatctionOverview = ((NationalInstruments.Controls.GraphInteractionPalette)(target));
- return;
- case 16:
- this.graphAcceleration = ((NationalInstruments.Controls.Graph)(target));
- return;
- case 17:
- this.tabVelocity = ((System.Windows.Controls.TabItem)(target));
- return;
- case 18:
- this.interactionPower = ((NationalInstruments.Controls.GraphInteractionPalette)(target));
- return;
- case 19:
- this.graphVelocity = ((NationalInstruments.Controls.Graph)(target));
- return;
- case 20:
- this.tabDistance = ((System.Windows.Controls.TabItem)(target));
- return;
- case 21:
- this.interactionHisto = ((NationalInstruments.Controls.GraphInteractionPalette)(target));
- return;
- case 22:
- this.graphDistance = ((NationalInstruments.Controls.Graph)(target));
- return;
- case 23:
- this.btnOpen = ((System.Windows.Controls.Button)(target));
-
- #line 97 "..\..\MainWindow.xaml"
- this.btnOpen.Click += new System.Windows.RoutedEventHandler(this.btnOpen_Click);
-
- #line default
- #line hidden
- return;
- case 24:
- this.btnSaveAs = ((System.Windows.Controls.Button)(target));
-
- #line 98 "..\..\MainWindow.xaml"
- this.btnSaveAs.Click += new System.Windows.RoutedEventHandler(this.btnSaveAs_Click);
-
- #line default
- #line hidden
- return;
- case 25:
- this.btnClear = ((System.Windows.Controls.Button)(target));
-
- #line 101 "..\..\MainWindow.xaml"
- this.btnClear.Click += new System.Windows.RoutedEventHandler(this.btnClear_Click);
-
- #line default
- #line hidden
- return;
- case 26:
- this.groupStat = ((System.Windows.Controls.GroupBox)(target));
- return;
- case 27:
- this.tbRem = ((System.Windows.Controls.TextBox)(target));
- return;
- case 28:
- this.btnSplit = ((System.Windows.Controls.Button)(target));
-
- #line 109 "..\..\MainWindow.xaml"
- this.btnSplit.Click += new System.Windows.RoutedEventHandler(this.btnSplit_Click);
-
- #line default
- #line hidden
- return;
- case 29:
- this.AxelChart2 = ((AxelChartNS.AxelChartClass)(target));
- return;
- }
- this._contentLoaded = true;
- }
- }
-}
-
+#pragma checksum "..\..\MainWindow.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "1016A22D29AD7D3B040AFAD605B5B27A"
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using AxelChartNS;
+using NationalInstruments.Controls;
+using NationalInstruments.Controls.Rendering;
+using System;
+using System.Diagnostics;
+using System.Windows;
+using System.Windows.Automation;
+using System.Windows.Controls;
+using System.Windows.Controls.Primitives;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Ink;
+using System.Windows.Input;
+using System.Windows.Markup;
+using System.Windows.Media;
+using System.Windows.Media.Animation;
+using System.Windows.Media.Effects;
+using System.Windows.Media.Imaging;
+using System.Windows.Media.Media3D;
+using System.Windows.Media.TextFormatting;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using System.Windows.Shell;
+using scanNS;
+
+
+namespace Axel_boss {
+
+
+ ///
+ /// MainWindow
+ ///
+ public partial class MainWindow : System.Windows.Window, System.Windows.Markup.IComponentConnector {
+
+
+ #line 1 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal Axel_boss.MainWindow frmAxelBoss;
+
+ #line default
+ #line hidden
+
+
+ #line 8 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Grid gridMain;
+
+ #line default
+ #line hidden
+
+
+ #line 14 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Grid gridLeft;
+
+ #line default
+ #line hidden
+
+
+ #line 19 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal scanNS.scanClass ucScan1;
+
+ #line default
+ #line hidden
+
+
+ #line 20 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TextBox tbLog;
+
+ #line default
+ #line hidden
+
+
+ #line 23 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Grid gridRight;
+
+ #line default
+ #line hidden
+
+
+ #line 25 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.RowDefinition rowUpperChart;
+
+ #line default
+ #line hidden
+
+
+ #line 26 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.RowDefinition rowMiddleChart;
+
+ #line default
+ #line hidden
+
+
+ #line 27 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.RowDefinition rowLowerChart;
+
+ #line default
+ #line hidden
+
+
+ #line 30 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.GridSplitter splitDown;
+
+ #line default
+ #line hidden
+
+
+ #line 32 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal AxelChartNS.AxelChartClass AxelChart1;
+
+ #line default
+ #line hidden
+
+
+ #line 34 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Grid gridMiddle;
+
+ #line default
+ #line hidden
+
+
+ #line 35 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TabControl tabSecPlots;
+
+ #line default
+ #line hidden
+
+
+ #line 37 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TabItem tabAcceleration;
+
+ #line default
+ #line hidden
+
+
+ #line 39 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.GraphInteractionPalette interatctionOverview;
+
+ #line default
+ #line hidden
+
+
+ #line 40 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.Graph graphAcceleration;
+
+ #line default
+ #line hidden
+
+
+ #line 56 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TabItem tabVelocity;
+
+ #line default
+ #line hidden
+
+
+ #line 59 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.GraphInteractionPalette interactionPower;
+
+ #line default
+ #line hidden
+
+
+ #line 60 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.Graph graphVelocity;
+
+ #line default
+ #line hidden
+
+
+ #line 72 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TabItem tabDistance;
+
+ #line default
+ #line hidden
+
+
+ #line 74 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.GraphInteractionPalette interactionHisto;
+
+ #line default
+ #line hidden
+
+
+ #line 75 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.Graph graphDistance;
+
+ #line default
+ #line hidden
+
+
+ #line 97 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Button btnOpen;
+
+ #line default
+ #line hidden
+
+
+ #line 98 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Button btnSaveAs;
+
+ #line default
+ #line hidden
+
+
+ #line 101 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Button btnClear;
+
+ #line default
+ #line hidden
+
+
+ #line 111 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal AxelChartNS.AxelChartClass AxelChart2;
+
+ #line default
+ #line hidden
+
+ private bool _contentLoaded;
+
+ ///
+ /// InitializeComponent
+ ///
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
+ public void InitializeComponent() {
+ if (_contentLoaded) {
+ return;
+ }
+ _contentLoaded = true;
+ System.Uri resourceLocater = new System.Uri("/Axel-boss;component/mainwindow.xaml", System.UriKind.Relative);
+
+ #line 1 "..\..\MainWindow.xaml"
+ System.Windows.Application.LoadComponent(this, resourceLocater);
+
+ #line default
+ #line hidden
+ }
+
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
+ void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
+ switch (connectionId)
+ {
+ case 1:
+ this.frmAxelBoss = ((Axel_boss.MainWindow)(target));
+ return;
+ case 2:
+ this.gridMain = ((System.Windows.Controls.Grid)(target));
+ return;
+ case 3:
+ this.gridLeft = ((System.Windows.Controls.Grid)(target));
+ return;
+ case 4:
+ this.ucScan1 = ((scanNS.scanClass)(target));
+ return;
+ case 5:
+ this.tbLog = ((System.Windows.Controls.TextBox)(target));
+ return;
+ case 6:
+ this.gridRight = ((System.Windows.Controls.Grid)(target));
+ return;
+ case 7:
+ this.rowUpperChart = ((System.Windows.Controls.RowDefinition)(target));
+ return;
+ case 8:
+ this.rowMiddleChart = ((System.Windows.Controls.RowDefinition)(target));
+ return;
+ case 9:
+ this.rowLowerChart = ((System.Windows.Controls.RowDefinition)(target));
+ return;
+ case 10:
+ this.splitDown = ((System.Windows.Controls.GridSplitter)(target));
+
+ #line 30 "..\..\MainWindow.xaml"
+ this.splitDown.MouseDoubleClick += new System.Windows.Input.MouseButtonEventHandler(this.splitDown_MouseDoubleClick);
+
+ #line default
+ #line hidden
+ return;
+ case 11:
+ this.AxelChart1 = ((AxelChartNS.AxelChartClass)(target));
+ return;
+ case 12:
+ this.gridMiddle = ((System.Windows.Controls.Grid)(target));
+ return;
+ case 13:
+ this.tabSecPlots = ((System.Windows.Controls.TabControl)(target));
+
+ #line 35 "..\..\MainWindow.xaml"
+ this.tabSecPlots.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.tabSecPlots_SelectionChanged);
+
+ #line default
+ #line hidden
+ return;
+ case 14:
+ this.tabAcceleration = ((System.Windows.Controls.TabItem)(target));
+ return;
+ case 15:
+ this.interatctionOverview = ((NationalInstruments.Controls.GraphInteractionPalette)(target));
+ return;
+ case 16:
+ this.graphAcceleration = ((NationalInstruments.Controls.Graph)(target));
+ return;
+ case 17:
+ this.tabVelocity = ((System.Windows.Controls.TabItem)(target));
+ return;
+ case 18:
+ this.interactionPower = ((NationalInstruments.Controls.GraphInteractionPalette)(target));
+ return;
+ case 19:
+ this.graphVelocity = ((NationalInstruments.Controls.Graph)(target));
+ return;
+ case 20:
+ this.tabDistance = ((System.Windows.Controls.TabItem)(target));
+ return;
+ case 21:
+ this.interactionHisto = ((NationalInstruments.Controls.GraphInteractionPalette)(target));
+ return;
+ case 22:
+ this.graphDistance = ((NationalInstruments.Controls.Graph)(target));
+ return;
+ case 23:
+ this.btnOpen = ((System.Windows.Controls.Button)(target));
+
+ #line 97 "..\..\MainWindow.xaml"
+ this.btnOpen.Click += new System.Windows.RoutedEventHandler(this.btnOpen_Click);
+
+ #line default
+ #line hidden
+ return;
+ case 24:
+ this.btnSaveAs = ((System.Windows.Controls.Button)(target));
+
+ #line 98 "..\..\MainWindow.xaml"
+ this.btnSaveAs.Click += new System.Windows.RoutedEventHandler(this.btnSaveAs_Click);
+
+ #line default
+ #line hidden
+ return;
+ case 25:
+ this.btnClear = ((System.Windows.Controls.Button)(target));
+
+ #line 101 "..\..\MainWindow.xaml"
+ this.btnClear.Click += new System.Windows.RoutedEventHandler(this.btnClear_Click);
+
+ #line default
+ #line hidden
+ return;
+ case 26:
+ this.AxelChart2 = ((AxelChartNS.AxelChartClass)(target));
+ return;
+ }
+ this._contentLoaded = true;
+ }
+ }
+}
+
diff --git a/Axel-boss/AxelProcUC/AxelProcUC/Properties/licenses.licx b/Axel-boss/AxelProcUC/AxelProcUC/Properties/licenses.licx
new file mode 100644
index 00000000..f5317110
--- /dev/null
+++ b/Axel-boss/AxelProcUC/AxelProcUC/Properties/licenses.licx
@@ -0,0 +1,8 @@
+# The following section of this file was auto-generated by Measurement Studio. Do not edit or remove this file from the project.
+# This file is used for licensing Measurement Studio components.
+# Begin Measurement Studio licenses
+NationalInstruments.Restricted.AnalysisLicenser, NationalInstruments.Analysis.Enterprise, Version=15.0.45.49153, Culture=neutral, PublicKeyToken=4febd62461bf11a4
+NationalInstruments.Controls.Internal.WpfEnterpriseLicenser, NationalInstruments.Controls, Version=15.0.45.3898, Culture=neutral, PublicKeyToken=4febd62461bf11a4
+NationalInstruments.Controls.Internal.WpfProfessionalLicenser, NationalInstruments.Controls, Version=15.0.45.3898, Culture=neutral, PublicKeyToken=4febd62461bf11a4
+NationalInstruments.Controls.Internal.WpfStandardLicenser, NationalInstruments.Controls, Version=15.0.45.3898, Culture=neutral, PublicKeyToken=4febd62461bf11a4
+# End Measurement Studio licenses
diff --git a/Axel-boss/bin/NationalInstruments.Net.xml b/Axel-boss/bin/NationalInstruments.Net.xml
index 72b618a3..524465b0 100644
--- a/Axel-boss/bin/NationalInstruments.Net.xml
+++ b/Axel-boss/bin/NationalInstruments.Net.xml
@@ -1,4834 +1,4834 @@
-
-
-
- NationalInstruments.Net
-
-
-
-
- Clean up any resources being used.
-
-
-
-
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
-
-
-
-
- 2/12/2003 1:13:44 PM
- Elton Wells
- False
-
-
-
- Specifies how a object transfers data.
-
-
- If you connect with an automatically updated access mode, such as , , or ,
- the object
- transfers data every time new data is available. If you connect with
- or
- ,
- use
- to transfer the new data.
-
- 11/21/2002 1:29:57 PM
- Beth Parrott
- True
-
-
-
- Transfers data from the data source to the local object
- when you establish the connection. Call to cause
- subsequent data transfers.
-
- 11/20/2003 2:32:11 PM
- Jennifer Smith
- True
-
-
-
- Transfers data from the data source to the local object when
- you establish the connection. When the data at the data source is updated, the data is transferred again automatically.
- This mode is valid only for DSTP and logos and OPC data sources.
-
- 12/7/2005 12:09:20 PM
- Jennifer Smith
- True
-
-
-
- Transfers data from the data source to the local object when you establish
- the connection. When the data at the data source is updated, the data is transferred again automatically. The
- object automatically transfers data to the data target when you change any value or attribute on the local
- object. This mode is valid only for DSTP and logos data sources and targets.
-
- 12/10/2003 4:07:45 PM
- Jennifer Smith
- True
-
-
-
- Transfers data from the local object to the data target at the time you establish
- the connection. Call to cause subsequent data transfers.
-
- 11/21/2002 1:30:33 PM
- Beth Parrott
- True
-
-
-
- Transfers data from the local object to the data target when you establish
- the connection. When you change any value or attribute on the local object, the
- object automatically transfers data to the data target. This mode is valid only
- for DSTP and logos data targets.
-
- 12/10/2003 4:08:23 PM
- Jennifer Smith
- True
-
-
-
- Specifies that is configured for manual
- updating with buffering. gets the next
- value in the buffer from the data source when the connection is established and when you call
- .
-
- 12/10/2003 4:06:40 PM
- Jennifer Smith
- True
-
-
-
- Specifies that is configured for
- automatic updating with buffering. gets
- the next value from the data source when the connection is established, when the data value changes, and when any of the
- data attributes change.
-
- 12/10/2003 4:07:17 PM
- Jennifer Smith
- True
-
-
-
- Specifies that is configured for automatic
- updating with buffering. transfers data to
- the data source when the
- connection is established, when the data value changes, and when any of the data attributes
- change. gets the data from the
- data source when the data value changes and
- when any of the data attributes change.
-
- 12/10/2003 4:08:00 PM
- Jennifer Smith
- True
-
-
-
- Provides data for the
- event.
-
-
-
- A object generates the
- event when it receives new data.
-
-
-
-
- 11/21/2002 1:30:49 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of .
-
-
- The instance that generated the
- event.
-
- 10/30/2002 11:41:03 AM
- Beth Parrott
- True
-
-
- Overrides .
- Returns a string representation of the object.
- 10/30/2002 11:41:06 AM
- Beth Parrott
- True
-
-
-
- Gets the that generated the
- event.
-
-
- The that generated the event.
-
- 7/13/2004 4:18:50 PM
- Whitney Bates
- True
-
-
-
- Represents a method that handles the
- event of a
- object.
-
-
- The source of the event.
-
-
- A object that contains the
- event data.
-
-
-
- 11/21/2002 1:31:13 PM
- Beth Parrott
- True
-
-
-
- Provides data for the
- event.
-
-
-
- The event occurs
- when the status of a connection
- changes, such as when a object connects to a
- data source or target, transfers data, or encounters an error.
-
-
-
- 11/21/2002 1:31:16 PM
- Beth Parrott
- True
-
-
-
- Provides data for the event.
-
-
-
- The event occurs when the
- status of a connection changes, such as when a
- object connects to a data source or target, transfers data, or
- encounters an error.
-
-
-
-
- 11/21/2002 1:31:49 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of .
-
-
- The status of the connection.
-
-
- Error of the connection, if an error exists. Refer to
- DataSocket Error Codes for a list of possible
- values.
-
-
- Descriptive message about the connection status.
-
-
-
-
- 7/15/2005 10:17:33 AM
- Jennifer Smith
- True
-
-
-
- Overrides .
-
- Returns a string representation of the object.
- 10/30/2002 11:42:00 AM
- Beth Parrott
- True
-
-
-
- Gets the status of the connection.
-
-
- A that indicates
- the status of the connection.
-
- 6/20/2006 4:41:29 PM
- Staci McCormick
- True
-
-
-
- Gets the error of the connection, if an error exists.
-
-
- The numeric value of the last error code. You can use this value to look up
- the cause of the error in the DataSocket documentation.
-
- 10/30/2002 11:41:51 AM
- Beth Parrott
- True
-
-
-
- Gets a descriptive message about the connection status.
-
-
- A string value that describes the connection status of the
- object.
-
- 11/21/2002 1:31:54 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of .
-
-
- The instance that generated the event.
-
-
- The status of the connection.
-
-
- Error of the connection, if one exists. Refer to
- DataSocket Error Codes for a list of possible
- values.
-
-
- Descriptive message of the connection status.
-
-
-
-
-
- 7/15/2005 10:17:19 AM
- Jennifer Smith
- True
-
-
- Overrides .
- Returns a string representation of the object.
- 10/30/2002 11:41:23 AM
- Beth Parrott
- True
-
-
-
- Gets the that generated the
- event.
-
-
- The that generated the event.
-
- 7/26/2004 10:12:17 AM
- Whitney Bates
- True
-
-
-
- Represents a method that handles the
- event of a
- object.
-
-
- The source of the event.
-
-
- A object that contains the
- event data.
-
-
-
- 11/21/2002 1:31:22 PM
- Beth Parrott
- True
-
-
-
- Indicates the current status of the connection.
-
- 11/21/2002 1:31:26 PM
- Beth Parrott
- True
-
-
-
- The object is in the process of connecting
- to the data source or target.
-
- 11/21/2002 1:31:32 PM
- Beth Parrott
- True
-
-
-
- The object is connected to the data source or target and is transferring the data or
- waiting for an update.
-
- 11/21/2002 1:31:36 PM
- Beth Parrott
- True
-
-
-
- The object encountered an error while connecting
- to the data source or target.
-
- 11/21/2002 1:31:38 PM
- Beth Parrott
- True
-
-
-
- The object is connected to the data source or target
- and is not currently transferring data or is waiting for an update.
-
- 11/21/2002 1:31:42 PM
- Beth Parrott
- True
-
-
-
- The object is not connected to any data source
- or data target.
-
- 11/21/2002 1:31:45 PM
- Beth Parrott
- True
-
-
-
- Represents a method that handles the
- event of a
- object.
-
-
- The source of the event.
-
-
- A object that contains the event data.
-
-
-
- 11/21/2002 1:31:57 PM
- Beth Parrott
- True
-
-
-
- Represents a connection to a data source or target.
-
-
- You can use the NetworkVariable class library or the class library to transfer live measurement data between applications over a network.
- You can use NetworkVariable or to exchange different types of data between Measurement Studio, LabVIEW, LabWindows/CVI, and other applications that support NI-Publish Subscribe Protocol (psp:).
- NetworkVariable is the preferred method for transferring data between these applications, and, in these cases, NetworkVariable supersedes .
- You can also use NetworkVariable and to exchange different types of data between OLE for Process Control (opc:) servers. Exchanging data between Measurement Studio applications and OPC servers with NetworkVariable requires LabVIEW DSC Run-Time System. Use to communicate directly with an OPC server.
-
-
-
-
-
- The object encapsulates the .NET interface to National Instruments DataSocket
- and includes the following features:
-
- - Transfer data between different data sources and
- targets.
- - Specify a data source and target through a URL—the same
- way you access Web pages in a Web browser.
- - Use a single API to access OPC, HTTP, FTP, logos, and
- file servers.
- - Use the DataSocket Transfer Protocol (DSTP) to exchange data
- of many different types.
- - Browse the network to quickly locate a data source or target
- on other computers and servers.
-
-
- You must call when you finish using a object.
- If you add this object to a Windows form with the Windows Forms Designer, the form calls
- automatically.
-
-
-
- 9/16/2008 10:06:51 AM
- Measurement Studio
- True
-
-
-
- Initializes a new instance of .
-
-
- 10/30/2002 11:42:42 AM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of
- with the specified container.
-
-
- An that represents the container for the
- object.
-
-
- 10/30/2002 11:42:45 AM
- Beth Parrott
- True
-
-
-
- Overrides .
-
- Returns a string representation of the object.
- 10/30/2002 11:43:49 AM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:09 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:13 PM
- Measurement Studio
- True
-
-
-
- Releases the resources used by the object.
-
-
- If , this method releases managed and unmanaged resources. If , this method releases
- only unmanaged resources.
-
-
-
- The public method and the finalizer call this method. The public
- method invokes the protected Dispose(Boolean) method with
- set to . The finalizer invokes the protected Dispose(Boolean) method
- with set to
- .
-
-
- When you set the parameter to , this method releases all
- resources held by managed objects that this object
- references. This method invokes the method of each referenced object.
-
-
- 11/21/2002 1:32:04 PM
- Beth Parrott
- True
-
-
-
- Connects the object to a data source or target.
-
-
-
- The method establishes the
- connection with the current values of the
- and the
- properties.
-
-
- The object creates the connection asynchronously. You must return
- control to the application message loop after you create the connection and before you
- perform data transfers on data or
- attributes. You can check the property or monitor the
- event to
- determine if the connection is established.
-
-
- When connecting to a data source in a read access mode,
- the object updates the data after the connection is
- completed. When connecting to a data target in a write access mode, the
- object transfers the data at the time the connection is
- made. If you connect in an automatic update mode, the object
- automatically transfers data when new data is available.
-
-
- If you connect a reading client to a data source that
- does not exist, the server creates the data source with a default value of 0.
-
-
-
- The has been disposed.
-
-
- The following example demonstrates how to establish a
- connection with the method.
-
- Dim connection As DataSocket = New DataSocket()
- connection.AccessMode = AccessMode.ReadAutoUpdate
- connection.Url = "dstp://localhost/data"
- connection.Connect()
-
-
-
-
- DataSocket connection = new DataSocket();
- connection.AccessMode = AccessMode.ReadAutoUpdate;
- connection.Url = "dstp://localhost/data";
- connection.Connect();
-
-
-
- Key Measurement Studio DataSocket .NET Library Features
- 9/16/2008 10:06:00 AM
- Measurement Studio
- True
-
-
-
- Connects the object to the specified data source or target.
-
-
- Location of the data source or target to which the
- must connect.
-
-
-
- The method sets the
- property to the value of the
- parameter. The method uses the current value of
- to establish the connection.
-
-
- The object creates the connection asynchronously. You must return
- control to the application message loop after you create the connection and before you
- perform data transfers on data or
- attributes. You can check the property or monitor the
- event to
- determine if the connection is established.
-
-
- When connecting to a data source in a read access mode,
- the object updates the data after the connection is
- completed. When connecting to a data target in a write access mode, the
- object transfers the data at the time the connection is
- made. If you connect in an automatic update mode, the object
- automatically transfers data when new data is available.
-
-
- If you connect a reading client to a data source that
- does not exist, the server creates the data source with a default value of 0.
-
-
-
- is .
-
-
- The has been disposed.
-
-
- The following example demonstrates how to establish a
- connection with the method.
-
- Dim connection As DataSocket = New DataSocket()
- connection.AccessMode = AccessMode.ReadAutoUpdate
- connection.Connect("dstp://localhost/data")
-
-
-
-
- DataSocket connection = new DataSocket();
- connection.AccessMode = AccessMode.ReadAutoUpdate;
- connection.Connect("dstp://localhost/data");
-
-
-
- Key Measurement Studio DataSocket .NET Library Features
- 9/16/2008 10:06:03 AM
- Measurement Studio
- True
-
-
-
- Connects the object to the specified data source or target with the specified
- access mode.
-
-
- Location of the data source or target to which the
- object must connect.
-
-
- An value that specifies the type of connection the
- object makes when it connects to the data source or
- target.
-
-
-
- The method sets the
- and
- properties to the values of the
- and parameters.
-
-
- The object creates the connection asynchronously. You must return
- control to the application message loop after you create the connection and before you
- perform data transfers on data or
- attributes. You can check the property or monitor the
- event to
- determine if the connection is established.
-
-
- When connecting to a data source in a read access mode,
- the object updates the data after the connection is
- completed. When connecting to a data target in a write access mode, the
- object transfers the data at the time the connection is
- made. If you connect in an automatic update mode, the object
- automatically transfers data when new data is available.
-
-
- If you connect a reading client to a data source that
- does not exist, the server creates the data source with a default value of 0.
-
-
-
- is .
-
-
- is not a member of .
-
-
- The has been disposed.
-
-
- The following example demonstrates how to establish a
- connection with the method.
-
- Dim connection As DataSocket = New DataSocket()
- connection.Connect("dstp://localhost/data", AccessMode.ReadAutoUpdate)
-
-
-
-
- DataSocket connection = new DataSocket();
- connection.Connect("dstp://localhost/data", AccessMode.ReadAutoUpdate);
-
-
- Key Measurement Studio DataSocket .NET Library Features
- 9/16/2008 10:06:07 AM
- Measurement Studio
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified timeout.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
-
- The method establishes the
- connection with the current values of the
- and the
- properties.
-
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 9:34:47 AM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified .
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
-
- The method establishes the
- connection with the current values of the
- and the
- properties.
-
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 9:41:07 AM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified URL and timeout.
-
-
- Location of the data source or target to which the
- must connect.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
-
- The method sets the
- property to the value of the
- parameter. The method uses the current value of
- to establish the connection.
-
-
-
- The has been disposed.
-
-
- is .
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 9:40:51 AM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified URL and .
-
-
- Location of the data source or target to which the
- must connect.
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
-
- The method sets the
- property to the value of the
- parameter. The method uses the current value of
- to establish the connection.
-
-
-
- The has been disposed.
-
-
- is .
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 9:41:24 AM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified URL, access mode, and timeout.
-
-
- Location of the data source or target to which the
- must connect.
-
-
- An value that specifies the type of connection the
- object makes when it connects to the data source or
- target.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
-
- The method sets the
- and
- properties to the values of the
- and parameters.
-
-
-
- The has been disposed.
-
-
- is .
-
-
- is not a member of .
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 9:40:08 AM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified URL, access mode, and .
-
-
- Location of the data source or target to which the
- must connect.
-
-
- An value that specifies the type of connection the
- object makes when it connects to the data source or
- target.
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
-
- The method sets the
- and
- properties to the values of the
- and parameters.
-
-
-
- The has been disposed.
-
-
- is .
-
-
- is not a member of .
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 9:40:34 AM
- Beth Parrott
- True
-
-
-
- Disconnects the object from the data source or target to which it is
- currently connected.
-
-
-
- The value of the property and its attributes
- remain unchanged when the object is disconnected.
-
-
- has no effect if the
- object is disconnected.
-
-
-
- The has been disposed.
-
-
- 11/21/2002 1:32:53 PM
- Beth Parrott
- True
-
-
-
- Synchronously disconnects the object from
- the data source or target to which it is currently connected using the specified timeout.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
-
- The value of the property and its attributes
- remain unchanged when the object is disconnected.
-
-
- has no effect if the
- object is already disconnected.
-
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 9:38:05 AM
- Beth Parrott
- True
-
-
-
- Synchronously disconnects the object from
- the data source or target to which it is currently connected using the specified .
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
-
- The value of the property and its attributes
- remain unchanged when the object is disconnected.
-
-
- has no effect if the
- object is already disconnected.
-
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 9:41:34 AM
- Beth Parrott
- True
-
-
-
- Initiates a write to the server with the specified data and timeout.
-
-
- The data to write to the server.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
- initiates a write to the server
- and then waits for the amount of time specified by for the server
- to acknowledge that the write was successful.
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 9:45:18 AM
- Beth Parrott
- True
-
-
-
- Initiates a write to the server with the specified data and .
-
-
- The data to write to the server.
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
- initiates a write to the server
- and then waits for the amount of time specified by for the server
- to acknowledge that the write was successful.
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 9:45:52 AM
- Beth Parrott
- True
-
-
-
- Synchronously polls the client-side buffer for unprocessed values using the specified timeout.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
- Use in synchronous read mode
- to poll the client-side buffer for any unprocessed values. If the buffer contains
- unprocessed data, the next value is dequeued into the
- property and the return value is
- . If the buffer contains no new values,
- waits for the specified timeout
- interval for a new value to arrive.
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 9:43:12 AM
- Beth Parrott
- True
-
-
-
- Synchronously polls the client-side buffer for unprocessed values using the specified .
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
- Use in synchronous read mode
- to poll the client-side buffer for any unprocessed values. If the buffer contains
- unprocessed data, the next value is dequeued into the
- property and the return value is
- . If the buffer contains no new values,
- waits for the specified timeout
- interval for a new value to arrive.
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 9:43:57 AM
- Beth Parrott
- True
-
-
-
- Causes the object to transfer data from a data source or to
- a data target.
-
-
-
- When you use the or access
- mode, call the
- method when you want to transfer data between the data source or target and the local
- object. If the property is , it
- is set to after the update is completed, and the
- event is generated.
-
- If you want to transfer data every time new data is available without calling ,
- use the or access modes.
-
-
-
- The has been disposed.
-
-
- The is not connected.
-
-
- 6/9/2003 9:47:19 AM
- Beth Parrott
- True
-
-
-
- Enables interactive browsing and selection of data sources or targets.
-
-
- The method launches a dialog box that provides interactive browsing
- and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
- objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
-
-
- The has been disposed.
-
- Key Measurement Studio DataSocket .NET Library Features
- 9/16/2008 10:06:11 AM
- Measurement Studio
- True
-
-
-
- Enables interactive browsing and selection of data sources or targets and configures the dialog box with a specified URL.
-
-
- String that contains the URL. If the protocol is opc:,
- dstp:, logos:,
- or file, or if you omit this parameter, this method opens a dialog box in which the user can
- find and select a data source or target. You can prompt the user to create a Web or FTP
- location with the http: or ftp: protocols. You also can use a complete URL, such
- as dstp://localhost/wave.
-
-
- The method launches a dialog box that provides interactive browsing
- and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
- objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
-
-
-
- is
-
-
-
- The has been disposed.
-
- Key Measurement Studio DataSocket .NET Library Features
- 9/16/2008 10:06:14 AM
- Measurement Studio
- True
-
-
-
- Enables interactive browsing and selection of data sources or targets and configures the dialog box URL and title.
-
-
- String that contains the URL. If the protocol is opc:,
- dstp:, logos:,
- or file, or if you omit this parameter, this method opens a dialog box in which the user can
- find and select a data source or target. You can prompt the user to create a Web or FTP
- location with the http: or ftp: protocols. You also can use a complete URL, such
- as dstp://localhost/wave.
-
-
- Title of the dialog box.
-
-
- The method launches a dialog box that provides interactive browsing
- and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
- objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
-
-
-
- is
-
- -or-
-
- is
-
-
-
- The has been disposed.
-
- Key Measurement Studio DataSocket .NET Library Features
- 9/16/2008 10:06:18 AM
- Measurement Studio
- True
-
-
-
- Enables interactive browsing and selection of data sources or targets and configures the dialog box URL, title, and options.
-
-
- String that contains the URL. If the protocol is opc:,
- dstp:, logos:,
- or file, or if you omit this parameter, this method opens a dialog box in which the user can
- find and select a data source or target. You can prompt the user to create a Web or FTP
- location with the http: or ftp: protocols. You also can use a complete URL, such
- as dstp://localhost/wave.
-
-
- Title of the dialog box.
-
-
- Flags that control the behavior of the dialog box.
-
-
- The method launches a dialog box that provides interactive browsing
- and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
- objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
-
-
-
- is
-
- -or-
-
- is
-
-
-
- is not a member of .
-
-
- The has been disposed.
-
- Key Measurement Studio DataSocket .NET Library Features
- 9/16/2008 10:06:20 AM
- Measurement Studio
- True
-
-
-
- Enables interactive browsing and selection of data sources or targets and configures the dialog box URL, title, options, and filter.
-
-
- String that contains the URL. If the protocol is opc:,
- dstp:, logos:,
- or file, or if you omit this parameter, this method opens a dialog box in which the user can
- find and select a data source or target. You can prompt the user to create a Web or FTP
- location with the http: or ftp: protocols. You also can use a complete URL, such
- as dstp://localhost/wave.
-
-
- Title of the dialog box.
-
-
- Flags that control the behavior of the dialog box.
-
-
- Filter string passed to the dialog box, as shown in the following example: DataSocket Data files (*.dsd)|*.dsd|All files (*.*)|*.*
-
-
- The method launches a dialog box that provides interactive browsing
- and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
- objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
-
-
-
- is
-
- -or-
-
- is
-
- -or-
-
- is .
-
-
-
- is not a member of .
-
-
- The has been disposed.
-
- Key Measurement Studio DataSocket .NET Library Features
- 9/16/2008 10:06:24 AM
- Measurement Studio
- True
-
-
-
- Raises the event.
-
-
- A object that contains the event data.
-
-
- A derived class can override to handle the event without attaching a delegate. This technique is preferred for event handling in a derived class.
-
-
- 11/21/2002 1:33:06 PM
- Beth Parrott
- True
-
-
-
- Raises the event.
-
-
- A object that contains the event
- data.
-
-
- A derived class can override
- to handle the event without attaching a delegate. This technique is preferred for event handling in a derived class.
-
-
- 11/21/2002 1:33:08 PM
- Beth Parrott
- True
-
-
-
- Gets or sets the access mode for the connection.
-
-
- An that indicates the type
- of data transfer connection the object
- makes when connecting to the data source or target. The default value is
- .
-
-
- If you connect with the or
-
- access mode,
- the data is read-only. If you try to set the
- value or attributes on a read-only object, a
- is generated. If the
- object is disconnected, you can set the data value
- and attributes regardless of the access mode.
-
-
- Value is not a member of .
-
-
- The has been disposed.
-
-
- The following example demonstrates how to specify the access mode when establishing
- a connection.
-
- Dim connection As DataSocket = New DataSocket()
- connection.Connect("dstp://localhost/data", AccessMode.ReadAutoUpdate)
-
-
-
-
- DataSocket connection = new DataSocket();
- connection.Connect("dstp://localhost/data", AccessMode.ReadAutoUpdate);
-
-
- Key Measurement Studio DataSocket .NET Library Features
- 9/16/2008 10:06:35 AM
- Measurement Studio
- True
-
-
-
- Gets the actual URL of the current data source or target.
-
-
- The actual URL of the current data source or target.
-
-
-
- When connected to a data source or target, the value of
- differs from the value of the
- property if the original URL you specify points to a link that redirects the
- object to a new URL.
-
-
- If the object is disconnected, the
- property returns
- .
-
-
-
- The has been disposed.
-
-
- 11/21/2002 1:32:11 PM
- Beth Parrott
- True
-
-
-
- Gets or sets a value indicating if the object connects to a data source or target
- when the form loads.
-
-
- if the object connects to a data source or target
- when the form loads. The default value is .
-
-
- The has been disposed.
-
-
- This property is applicable only to a object that you create on a
- Windows Form with a Windows Forms Designer.
-
- Set the ,
- , and
- properties in the Visual Studio Properties window
- at design time to automatically connect the object to the
- data source or target when the form loads. You do not have to call
- .
-
-
- Like the method, this property causes the
- object to generate the
- event when the connection
- is made and the event when data is
- updated.
-
-
-
- 6/20/2006 4:41:42 PM
- Staci McCormick
- True
-
-
-
- Gets or sets the maximum number of bytes that is allowed in the
- property buffer.
-
-
- An integer that specifies the maximum number of bytes that is allowed in the
- property buffer. The default value is
- 104,857,600.
-
-
- The has been disposed.
-
-
- The specified value is less than 0.
-
- 6/9/2003 9:27:43 AM
- Beth Parrott
- True
-
-
-
- Gets or sets the maximum number of packets that is allowed in the
- property buffer.
-
-
- An integer that specifies the maximum number of packets that is allowed in the
- property buffer. The default value is
- 1.
-
-
- The has been disposed.
-
-
- The specified value is less than 0.
-
- 6/9/2003 9:28:07 AM
- Beth Parrott
- True
-
-
-
- Gets the total number of bytes that is currently in the buffer divided by the maximum number of
- bytes allowed in the buffer.
-
-
- A double value between 0 and 1 that specifies the total number of bytes that is currently in the
- buffer divided by the maximum number of bytes allowed in the buffer.
-
-
- The has been disposed.
-
-
- 6/9/2003 9:30:21 AM
- Beth Parrott
- True
-
-
-
- Gets the total number of packets that is currently in the buffer divided by the maximum number of
- bytes allowed in the buffer.
-
-
- A double value between 0 and 1 that specifies the total number of packets that is currently in the
- buffer divided by the maximum number of bytes allowed in the buffer.
-
-
- The has been disposed.
-
-
- 6/9/2003 9:29:58 AM
- Beth Parrott
- True
-
-
-
- Gets the current status of the data connection.
-
-
- A that specifies the status of the data
- connection.
-
-
-
- The value of this property is the same as the last status value passed to the
- event.
-
-
- If an error occurs while connecting to the data source or target, the status indicates the
- last step attempted. The and
- properties describe the error.
-
-
-
- The has been disposed.
-
-
- The following example demonstrates how to update a Windows Form StatusBar control with the
- connection status, the last error, and the last message of a
- connection.
-
- Private Sub UpdateStatus(ByVal status As StatusBar, ByVal connection As DataSocket)
- Dim output As StringBuilder = New StringBuilder()
- output.AppendFormat("Status: {0}, ", connection.ConnectionStatus)
- output.AppendFormat("Error: {0}, ", connection.LastError)
- output.AppendFormat("Message: {0}", connection.LastMessage)
- status.Text = output.ToString()
- End Sub
-
-
-
-
- private void UpdateStatus(StatusBar status, DataSocket connection)
- {
- StringBuilder output = new StringBuilder();
- output.AppendFormat("Status: {0}, ", connection.ConnectionStatus);
- output.AppendFormat("Error: {0}, ", connection.LastError);
- output.AppendFormat("Message: {0}", connection.LastMessage);
- status.Text = output.ToString();
- }
-
-
-
-
- 6/20/2006 4:41:45 PM
- Staci McCormick
- True
-
-
-
- Gets the current value and attributes that the object received
- from the data source or target
- or that were set locally.
-
-
- A that contains the data source or target and its
- attributes.
-
-
-
- Use this property to access the object that contains the
- current value and attributes. Then use the methods and
- properties to access the value or specified attributes.
-
-
- When you connect the object to a data target with the
- or
- access mode, the
- object transfers the current value and attributes to the target as
- soon as the connection is complete. When you connect the object to
- a data source with the or
- access mode,
- the object completes the connection and transfers the values.
-
-
- Use the property or the
- event to determine if and when the value or
- attributes on the local object are set or changed.
-
-
- When the object is disconnected from the previous data source or target,
- it retains the value and attributes it last had while connected.
-
-
-
- The has been disposed.
-
- 6/20/2006 4:41:49 PM
- Staci McCormick
- True
-
-
-
- Gets if the object is in a connected or disconnected
- state.
-
-
- Returns if the object is in a connected state. Returns
- if the object is in a disconnected state.
-
-
- The has been disposed.
-
-
- 11/21/2002 1:32:22 PM
- Beth Parrott
- True
-
-
-
- Gets a value indicating if values or attributes on the local object have changed
- since the last data transfer.
-
-
- if the or attributes have changed.
- if the value or attributes are unchanged or if
- has been queried since the last data transfer.
-
-
- The event occurs when
- changes from to
- . Use this property to determine if the data value or attributes have changed since you last queried this property.
- This property is typically useful only on a object that is configured for
- or .
- You can use a delegate instead of polling .
-
-
-
- The has been disposed.
-
-
-
- 6/20/2006 4:41:56 PM
- Staci McCormick
- True
-
-
-
- Gets a value indicating if the connection status has changed or an error has occurred.
-
-
- The property is set to when the
- event is generated and set to
- when the is queried.
-
-
- The has been disposed.
-
-
- Use this property to determine if the connection status has changed since you last queried this property. You can use a
- instead of polling
- .
-
-
-
- 6/20/2006 4:41:53 PM
- Staci McCormick
- True
-
-
-
- Gets the error code associated with the last
- event.
-
-
- 0 if no error occurred the last time
- occurred. If an error occurred,
- gets the error code of the error that occurred the last time
- occurred.
-
-
-
- Some common errors include errors caused by incorrect network configurations, insufficient
- access privileges to connect to the data source or target, or an incorrectly formed URL.
-
-
- To determine the task the object was performing when the
- error occurred, check the and
- properties.
-
-
-
- The has been disposed.
-
-
-
- 11/21/2002 1:32:28 PM
- Beth Parrott
- True
-
-
-
- Gets the message associated with the last
- event.
-
-
- Describes the last error encountered or the last step taken in connecting to or updating
- the data.
-
-
- The has been disposed.
-
-
-
- 11/21/2002 1:32:29 PM
- Beth Parrott
- True
-
-
-
- Gets or sets the mode that specifies how reads
- data.
-
-
- A that indicates if
- raises the
- event to notify when
- new data arrives or if you must call
- to poll and dequeue buffered data into the
- property.
-
- 6/20/2006 4:42:01 PM
- Staci McCormick
- True
-
-
-
- Gets or sets the location of a data source or target.
-
-
- A string that represents the URL of the data source or target. The default value is
- .
-
-
-
- The object can connect to different data sources or targets
- based on the specified URL. The
- property determines if the object is transferring data from a data
- source or to a data target.
-
-
- If the data source or target redirects the
- object to a new URL, the
- property is set to the new URL.
-
-
- The following types of URLs are supported:
-
- ProtocolExample
- -
- DataSocket Server (dstp:)
-
- dstp://localhost/wave
- dstp://machine/item
-
-
- -
- Standard Web server (http:)
- http://www.ni.com/cworks/datasocket.tone.wav
-
- -
- Standard FTP Sites (ftp:)
-
- ftp://ftp.ni.com/datasocket/ping.wav
- The FTP site must allow anonymous connections.
-
-
- -
- Lookout/Logos objects (lookout: or logos:)
-
- lookout://localhost/testprocess/pot1.value
- logos://localhost/testprocess/pot1.value
-
-
- -
- Files directly accessible from the file system (file:)
-
- file:ping.wav
- file:c:/mydata/ping.wav
- file://machine/mydata/ping.wav
-
-
- -
- OLE for Process Control (OPC) Servers (opc:)
-
- opc:/National Instruments.OPCDemo/sine
- opc:/National Instruments.OPCDemo/sine?AccessPath=sine
- opc://machine/National Instruments.OPCModbus/Modbus Demo Box.40
-
-
-
-
-
-
- The has been disposed.
-
-
- Key Measurement Studio DataSocket .NET Library Features
- 9/16/2008 10:05:55 AM
- Measurement Studio
- True
-
-
-
- Occurs when the status of the connection changes.
-
-
- This event occurs every time the connection status changes, such as when the
- object connects to a data source or target specified by the
- property, transfers data, or encounters an error.
-
-
-
-
- 11/21/2002 1:32:41 PM
- Beth Parrott
- True
-
-
-
- Occurs when the value or attributes of the property is
- updated.
-
-
-
- The object sets the
- to immediately before this event
- is generated.
-
-
- In write access mode, the event occurs when data is
- ready to send. In read access mode, the event occurs when data is received.
- You can use the event to
- scale, display, or process new data.
-
-
-
-
- 11/21/2002 1:32:44 PM
- Beth Parrott
- True
-
-
-
- Contains the name of a attribute and its associated
- data.
-
-
-
- Attributes provide information such as the time the value was calculated or acquired, the units in which the value is expressed, the equipment used to generate the value, or any other properties that you want to define.
-
- Use the object when you iterate through the
- of a
- object.
-
-
- The following example iterates through the attributes of a object
- and displays each and
- value.
-
- Private Sub ShowDataSocketAttributes(ByVal data As DataSocketData)
- Console.WriteLine("DataSocket Data Attributes")
- Dim attr As DataSocketAttribute
- For Each attr In data.Attributes
- Console.WriteLine("{0}: {1}", attr.Name, attr.Data.Value.ToString())
- Next
- End Sub
-
-
-
-
- private void ShowDataSocketAttributes(DataSocketData data)
- {
- Console.WriteLine("DataSocket Data Attributes");
- foreach (DataSocketAttribute attr in data.Attributes)
- Console.WriteLine("{0}: {1}", attr.Name, attr.Data.Value.ToString());
- }
-
-
-
- 11/21/2002 1:33:10 PM
- Beth Parrott
- True
-
-
-
- Overrides .
-
- Returns a string representation of the object.
- 10/30/2002 11:44:10 AM
- Beth Parrott
- True
-
-
-
- Gets the name of the object.
-
-
- A string value that represents the name of the associated data.
-
- 11/21/2002 1:33:13 PM
- Beth Parrott
- True
-
-
-
- Gets the data of the object.
-
-
- A that represents the attribute data.
-
- 6/20/2006 4:42:07 PM
- Staci McCormick
- True
-
-
-
- Encapsulates the collection of the attributes of a
- object.
-
-
-
- Each attribute consists of a string name and a value.
-
-
- 11/21/2002 1:34:22 PM
- Beth Parrott
- True
-
-
- Overrides .
- Returns a string representation of the object.
- 10/30/2002 12:10:36 PM
- Beth Parrott
- True
-
-
-
- Gets the names of the attributes that are associated with the object.
-
- An array of strings that indicate the names of the attributes that are associated with
- the object.
- 6/9/2003 10:24:14 AM
- Beth Parrott
- True
-
-
-
- Creates an attribute of a object.
-
-
- The name of the attribute to add.
-
-
- The value of the attribute.
-
-
- The object that represents
- the value of the added attribute.
-
-
- is .
-
-
- An element with the same key already exists in the collection.
-
-
- is a data type that is not supported by .
-
- 6/9/2003 9:47:57 AM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:19 PM
- Measurement Studio
- True
-
-
- Removes all items from the collection.
- 10/30/2002 12:10:54 PM
- Beth Parrott
- True
-
-
- Returns if the specified attribute is in the collection.
- The name of the item to locate in the collection.
-
- Returns if the collection contains .
-
-
- is .
-
- 6/9/2003 9:48:09 AM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:20 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:19 PM
- Measurement Studio
- True
-
-
- Returns an enumerator that you can use to iterate through the collection.
- Enumerator for the collection.
-
- For a detailed explanation of this method, refer to in the Microsoft
- .NET Framework documentation.
-
- 10/30/2002 12:11:08 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:20 PM
- Measurement Studio
- True
-
-
-
- Removes the first occurrence of the specified attribute from the collection.
-
-
- The name of the attribute to remove from the collection.
-
-
- is .
-
-
- An attribute with the specified name was not found in the collection.
-
- 6/9/2003 9:48:21 AM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:23 PM
- Measurement Studio
- True
-
-
-
- Gets the attribute in the collection with the specified name. In Visual C#, this
- property is the indexer.
-
-
- The of the attribute
- with the specified name.
-
-
- The specified attribute name is .
-
-
- There is no attribute in the collection with the specified range.
-
- 6/20/2006 4:42:12 PM
- Staci McCormick
- True
-
-
-
- 1/23/2009 4:54:17 PM
- Measurement Studio
- True
-
-
-
- Gets the number of elements in the collection.
-
-
- The number of elements contained in the collection.
-
- 11/21/2002 1:34:30 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:41 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:16 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:14 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:17 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:14 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:18 PM
- Measurement Studio
- True
-
-
-
- Represents a data source or target that you can bind to a property of a control.
-
-
-
- External data sources and targets might be
- on HTTP, FTP, OPC, DSTP, or file servers located anywhere on the Internet.
-
-
- The object uses National Instruments DataSocket
- technology to connect to data sources and targets and share live measurements over the
- Internet.
- To expose a data source or target as a binding to a Windows Forms control,
- add a object to the
- of a object.
-
-
- You must call when you finish using a
- object.
-
-
-
-
-
- 1/22/2013 1:43:10 PM
- National Instruments
- True
-
-
-
- Initializes a new instance of .
-
- 10/30/2002 11:46:05 AM
- Beth Parrott
- True
-
-
-
- Overrides .
-
-
- A string representation of the object.
-
-
- The has been disposed.
-
- 6/9/2003 10:03:11 AM
- Beth Parrott
- True
-
-
-
- Releases all resources used by the
- object.
-
- 11/21/2002 1:33:21 PM
- Beth Parrott
- True
-
-
-
- Releases the resources used by the object.
-
-
- If , this method releases managed and unmanaged resources. If , this method
- releases only unmanaged resources.
-
-
-
- The public method and the finalizer call this method. The public
- method invokes the protected Dispose(Boolean) method with
- set to . The finalizer invokes the protected Dispose(Boolean) method
- with set to
- .
-
-
- When you set the parameter to , this method releases all
- resources held by managed objects that the object
- references. This method invokes the method of each referenced object.
-
-
- 11/21/2002 1:33:23 PM
- Beth Parrott
- True
-
-
-
- Finalizes the instance of the object.
-
- 10/30/2002 11:44:16 AM
- Beth Parrott
- True
-
-
-
- Connects the object to a data source or target.
-
-
-
- The method establishes the
- connection with the current values of the
- and the
- properties.
-
-
- The object creates the connection asynchronously.
- You must return
- control to the application message loop after you create the connection and before you
- perform data transfers on data
- or attributes. You can check the
- property to determine if the connection is established.
-
-
- When connecting to a data source in a read access mode,
- the object updates the data after the connection is
- completed. When connecting to a data target in a write access mode, the
- object transfers the data when the connection is
- made. If you connect in an automatic update mode, the
- object automatically transfers data when
- new data is available.
-
-
- If you connect a reading client to a
- object that does not exist, the server creates the item with a default value of 0.
-
-
-
- The has been disposed.
-
-
- 11/21/2002 1:33:51 PM
- Beth Parrott
- True
-
-
-
- Connects the object to the specified data source or target.
-
-
- Location of the data source or target to which the
- must connect.
-
-
-
- The method sets the
- property to the value of the
- parameter. The method uses the current value of
- to establish the connection.
-
-
- The object creates the connection asynchronously.
- You must return
- control to the application message loop after you create the connection and before you
- perform data transfers on data
- or attributes. You can check the
- property to determine if the connection is established.
-
-
- When connecting to a data source in a read access mode,
- the object updates the data after the connection is
- completed. When connecting to a data target in a write access mode, the
- object transfers the data when the connection is
- made. If you connect in an automatic update mode, the
- object automatically transfers data when
- new data is available.
-
-
- If you connect a reading client to a
- object that does not exist, the server creates the item with a default value of 0.
-
-
-
- is .
-
-
- The has been disposed.
-
-
- 11/21/2002 1:33:53 PM
- Beth Parrott
- True
-
-
-
- Connects the object to the specified data source or target with the
- specified access mode.
-
-
- Location of the data source or target to which the
- object must connect.
-
-
- An value that specifies the type of connection the
- object makes when it connects to the data source or
- target.
-
-
-
- The method sets the
- and
- properties to the values of the
- and parameters.
-
-
- The object creates the connection asynchronously.
- You must return
- control to the application message loop after you create the connection and before you
- perform data transfers on data
- or attributes. You can check the
- property to determine if the connection is established.
-
-
- When connecting to a data source in a read access mode,
- the object updates the data after the connection is
- completed. When connecting to a data target in a write access mode, the
- object transfers the data when the connection is
- made. If you connect in an automatic update mode, the
- object automatically transfers data when
- new data is available.
-
-
- If you connect a reading client to a
- object that does not exist, the server creates the item with a default value of 0.
-
-
-
- is .
-
-
- is not a member of .
-
-
- The has been disposed.
-
- 11/21/2002 1:33:55 PM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified timeout.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
-
- The method establishes the
- connection with the current values of the
- and the
- properties.
-
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 10:18:00 AM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified .
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
-
- The method establishes the
- connection with the current values of the
- and the
- properties.
-
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 10:20:43 AM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified URL and timeout.
-
-
- Location of the data source or target to which the
- must connect.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
-
- The method sets the
- property to the value of the
- parameter. The method uses the current value of
- to establish the connection.
-
-
-
- The has been disposed.
-
-
- is .
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 10:19:51 AM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified URL and .
-
-
- Location of the data source or target to which the
- must connect.
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
-
- The method sets the
- property to the value of the
- parameter. The method uses the current value of
- to establish the connection.
-
-
-
- The has been disposed.
-
-
- is .
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 10:20:17 AM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified URL, access mode, and timeout.
-
-
- Location of the data source or target to which the
- must connect.
-
-
- An value that specifies the type of connection the
- object makes when it connects to the data source or
- target.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
-
- The method sets the
- and
- properties to the values of the
- and parameters.
-
-
-
- The has been disposed.
-
-
- is .
-
-
- is not a member of .
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 10:18:41 AM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified URL, access mode, and .
-
-
- Location of the data source or target to which the
- must connect.
-
-
- An value that specifies the type of connection the
- object makes when it connects to the data source or
- target.
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
-
- The method sets the
- and
- properties to the values of the
- and parameters.
-
-
-
- The has been disposed.
-
-
- is .
-
-
- is not a member of .
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 10:19:16 AM
- Beth Parrott
- True
-
-
-
- Disconnects the object from the data source or target to which it is
- currently connected.
-
-
- The value of and its attributes remain
- unchanged when the object is disconnected.
-
- has no effect if the
- object is not connected.
-
-
-
- The has been disposed.
-
-
- 11/21/2002 1:33:56 PM
- Beth Parrott
- True
-
-
-
- Synchronously disconnects the object from
- the data source or target to which it is currently connected using the specified timeout.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
-
- The value of the property and its attributes
- remain unchanged when the object is disconnected.
-
-
- has no effect if the
- object is already disconnected.
-
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 10:23:23 AM
- Beth Parrott
- True
-
-
-
- Synchronously disconnects the object from
- the data source or target to which it is currently connected using the specified .
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
-
- The value of the property and its attributes
- remain unchanged when the object is already disconnected.
-
-
- has no effect if the
- object is disconnected.
-
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 10:23:32 AM
- Beth Parrott
- True
-
-
-
- Initiates a write to the server with the specified data and timeout.
-
-
- The data to write to the server.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
- initiates a write to the server
- and then waits for the amount of time specified by for the server
- to acknowledge that the write was successful.
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 10:22:43 AM
- Beth Parrott
- True
-
-
-
- Initiates a write to the server with the specified data and .
-
-
- The data to write to the server.
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
- initiates a write to the server
- and then waits for the amount of time specified by for the server
- to acknowledge that the write was successful.
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 10:23:12 AM
- Beth Parrott
- True
-
-
-
- Synchronously polls the client-side buffer for unprocessed values using the specified timeout.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
- is used in synchronous read mode
- to poll the client-side buffer for any unprocessed values. If the buffer contains
- unprocessed data, the next value is dequeued into the
- property and the return value is
- . If the buffer contains no new values,
- will wait for the specified timeout
- interval for a new value to arrive.
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 10:21:55 AM
- Beth Parrott
- True
-
-
-
- Synchronously polls the client-side buffer for unprocessed values using the specified .
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
- is used in synchronous read mode
- to poll the client-side buffer for any unprocessed values. If the buffer contains
- unprocessed data, the next value is dequeued into the
- property and the return value is
- . If the buffer contains no new values,
- will wait for the specified timeout
- interval for a new value to arrive.
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 10:22:12 AM
- Beth Parrott
- True
-
-
-
- Causes the object to transfer data from a data source or to
- a data target.
-
-
-
- Use the property to determine if
- transfers data from a data source or to a data target.
-
-
- When using the or access mode, call the
- method when you want transfer data between the data source or target
- and the local object.
- If you want to
- transfer data every time new data is available without calling , use the
- or access modes.
-
-
-
- The has been disposed.
-
-
- The is not connected.
-
-
- 6/9/2003 10:03:35 AM
- Beth Parrott
- True
-
-
-
- Enables interactive browsing and selection of data sources or targets.
-
-
- The method launches a dialog box that provides interactive browsing
- and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
- objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
-
-
- The has been disposed.
-
- 11/21/2002 1:34:00 PM
- Beth Parrott
- True
-
-
-
- Enables interactive browsing and selection of data sources or targets and configures the dialog box with a specified URL.
-
-
- String that contains the URL. If the protocol is opc:,
- dstp:, logos:,
- or file, or if you omit this parameter, this method opens a dialog box in which the user can
- find and select a data source or target. You can prompt the user to create a Web or FTP
- location with the http: or ftp: protocols. You also can use a complete URL, such
- as dstp://localhost/wave.
-
-
- The method launches a dialog box that provides interactive browsing
- and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
- objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
-
-
-
- is
-
-
-
- The has been disposed.
-
- 11/21/2002 1:34:01 PM
- Beth Parrott
- True
-
-
-
- Enables interactive browsing and selection of data sources or targets and configures the dialog box URL and title.
-
-
- String that contains the URL. If the protocol is opc:,
- dstp:, logos:,
- or file, or if you omit this parameter, this method opens a dialog box in which the user can
- find and select a data source or target. You can prompt the user to create a Web or FTP
- location with the http: or ftp: protocols. You also can use a complete URL, such
- as dstp://localhost/wave.
-
-
- Title of the dialog box.
-
-
- The method launches a dialog box that provides interactive browsing
- and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
- objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
-
-
-
- is
-
- -or-
-
- is
-
-
-
- The has been disposed.
-
- 11/21/2002 1:34:03 PM
- Beth Parrott
- True
-
-
-
- Enables interactive browsing and selection of data sources or targets and configures the dialog box URL, title, and options.
-
-
- String that contains the URL. If the protocol is opc:,
- dstp:, logos:,
- or file, or if you omit this parameter, this method opens a dialog box in which the user can
- find and select a data source or target. You can prompt the user to create a Web or FTP
- location with the http: or ftp: protocols. You also can use a complete URL, such
- as dstp://localhost/wave.
-
-
- Title of the dialog box.
-
-
- Flags that control the behavior of the dialog box.
-
-
- The method launches a dialog box that provides interactive browsing
- and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
- objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
-
-
-
- is
-
- -or-
-
- is
-
-
-
- is not a member of .
-
-
- The has been disposed.
-
- 11/21/2002 1:34:05 PM
- Beth Parrott
- True
-
-
-
- Enables interactive browsing and selection of data sources or targets and configures the dialog box URL, title, options, and filter.
-
-
- String that contains the URL. If the protocol is opc:,
- dstp:, logos:,
- or file, or if you omit this parameter, this method opens a dialog box in which the user can
- find and select a data source or target. You can prompt the user to create a Web or FTP
- location with the http: or ftp: protocols. You also can use a complete URL, such
- as dstp://localhost/wave.
-
-
- Title of the dialog box.
-
-
- Flags that control the behavior of the dialog box.
-
-
- Filter string passed to the dialog box, as shown in the following example: DataSocket Data files (*.dsd)|*.dsd|All files (*.*)|*.*
-
-
- The method launches a dialog box that provides interactive browsing
- and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
- objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
-
-
-
- is
-
- -or-
-
- is
-
- -or-
-
- is .
-
-
-
- is not a member of .
-
-
- The has been disposed.
-
- 11/21/2002 1:34:07 PM
- Beth Parrott
- True
-
-
-
- Gets or sets the access mode for the connection.
-
-
- An that indicates the type of data transfer
- connection the object makes when connecting to the
- data source or target. The default value is .
-
-
- The value is not a member of .
-
-
- The has been disposed.
-
-
- If you connect with the or
-
- access mode,
- the data is read-only. If you try to set the
- value or attributes on a read-only object, a
- is generated. If the
- object is disconnected, you can set the data value
- and attributes regardless of the access mode.
-
- 6/20/2006 4:42:20 PM
- Staci McCormick
- True
-
-
-
- Gets or sets the name of the binding.
-
-
- A string value that indicates the name of the binding. The default value is .
-
-
- The has been disposed.
-
-
- When you bind a data source or target to a Windows Forms control,
- the value of identifies the binding. You can select the Windows Forms control in
- the Windows Forms Designer, navigate to the property in the Properties window, locate the property you want to bind to a
- data source or target, and select from the list of
- available bindings.
-
- 11/5/2008 10:39:50 AM
- Measurement Studio
- True
-
-
-
- Gets the actual URL of the current data source or target.
-
-
- The actual URL of the current data source or target.
-
-
-
- When connected to a data source or target, the value of
- differs from the value of
- property if the URL you specify points to
- a link that redirects the object to a new URL.
-
-
- If the object is disconnected, the
- property returns
- .
-
-
-
- The has been disposed.
-
-
- 11/21/2002 1:33:29 PM
- Beth Parrott
- True
-
-
-
- Gets or sets the maximum number of bytes that is allowed in the
- property buffer.
-
-
- An integer that specifies the maximum number of bytes that is allowed in the
- property buffer. The default value is
- 104,857,600.
-
-
- The has been disposed.
-
-
- The specified value is less than 0.
-
- 6/9/2003 9:50:20 AM
- Beth Parrott
- True
-
-
-
- Gets or sets the maximum number of packets that is allowed in the
- property buffer.
-
-
- An integer that specifies the maximum number of packets that is allowed in the
- property buffer. The default value is
- 1.
-
-
- The has been disposed.
-
-
- The specified value is less than 0.
-
- 6/9/2003 9:50:34 AM
- Beth Parrott
- True
-
-
-
- Gets the total number of bytes that is currently in the buffer divided by the maximum number of
- bytes allowed in the buffer.
-
-
- A double value between 0 and 1 that specifies the total number of bytes that is currently in the
- buffer divided by the maximum number of bytes allowed in the buffer.
-
-
- The has been disposed.
-
-
- 6/9/2003 9:51:26 AM
- Beth Parrott
- True
-
-
-
- Gets the total number of packets that is currently in the buffer divided by the maximum number of
- bytes allowed in the buffer.
-
-
- A double value between 0 and 1 that specifies the total number of packets that is currently in the
- buffer divided by the maximum number of bytes allowed in the buffer.
-
-
- The has been disposed.
-
-
- 6/9/2003 9:51:47 AM
- Beth Parrott
- True
-
-
-
- Gets the current status of the data connection.
-
-
- A that specifies the status of the data
- connection.
-
-
-
- If an error is encountered while connecting to the data source or target, the status indicates the
- last step attempted. The and
- properties describe the error.
-
-
-
- The has been disposed.
-
-
- 6/20/2006 4:42:24 PM
- Staci McCormick
- True
-
-
-
- Gets a value indicating if the object is in a connected or disconnected
- state.
-
-
- Returns if the object is in a connected state. Returns
- if the object is in a disconnected state.
-
-
- The has been disposed.
-
-
- 6/20/2006 4:42:35 PM
- Staci McCormick
- True
-
-
-
- Gets the error code associated with the last binding connection.
-
-
- 0 if no error occurred while the binding connection was established. If an error occurred, gets the error
- code of the error that occurred while the binding connection was established.
-
-
-
- Some common errors include errors caused by incorrect network configurations, insufficient
- access privileges to connect to the data source or target, or an incorrectly formed URL.
-
-
- To determine the task the object was performing when the
- error occurred, check the and
- properties.
-
-
-
- The has been disposed.
-
-
- 11/21/2002 1:33:34 PM
- Beth Parrott
- True
-
-
-
- Gets the message associated with the last the binding connection.
-
-
- Describes the last error that occurred or the last step taken in connecting to or updating
- the data.
-
-
- The has been disposed.
-
-
- 11/21/2002 1:33:46 PM
- Beth Parrott
- True
-
-
-
- Gets or sets the mode that specifies how reads
- data.
-
-
- A that indicates if
- notifies when
- new data arrives or if you must call
- to poll and dequeue buffered data into the
- property.
-
- 9/17/2009 4:46:41 PM
- Measurement Studio
- True
-
-
-
- Gets or sets the location of the data source or target to which the
- object is connecting.
-
-
- A string that represents the URL of the data source or target. The default value is .
-
-
-
- The object can connect to different data sources or targets
- according to the URL specified. The
- property determines if the object is transferring data from a data
- source or to a data target.
-
-
- If the data source or target pointed to by the URL redirects the
- to a new URL, the
- property is set to the new URL.
-
-
- The following types of URLs are supported:
-
- ProtocolExample
- -
- DataSocket Server (dstp:)
-
- dstp://localhost/wave
- dstp://machine/item
-
-
- -
- Standard Web server (http:)
- http://www.ni.com/cworks/datasocket.tone.wav
-
- -
- Standard FTP Sites (ftp:)
-
- ftp://ftp.ni.com/datasocket/ping.wav
- The FTP site must allow anonymous connections.
-
-
- -
- Lookout/Logos objects (lookout: or logos:)
-
- lookout://localhost/testprocess/pot1.value
- logos://localhost/testprocess/pot1.value
-
-
- -
- Files directly accessible from the file system (file:)
-
- file:ping.wav
- file:c:/mydata/ping.wav
- file://machine/mydata/ping.wav
-
-
- -
- OLE for Process Control (OPC) Servers (opc:)
-
- opc:/National Instruments.OPCDemo/sine
- opc:/National Instruments.OPCDemo/sine?AccessPath=sine
- opc://machine/National Instruments.OPCModbus/Modbus Demo Box.40
-
-
-
-
-
-
- The has been disposed.
-
-
- 11/20/2002 6:25:04 PM
- Beth Parrott
- True
-
-
-
- Gets the current value and attributes that the
- object received from the data source or target or
- that have been set locally.
-
-
- A that contains the data source or target and its
- attributes.
-
-
- The has been disposed.
-
- 6/20/2006 4:42:31 PM
- Staci McCormick
- True
-
-
-
- Represents a strongly-typed collection of objects.
-
-
- 11/21/2002 1:35:19 PM
- Beth Parrott
- True
-
-
- Overrides .
- Returns a string representation of the object.
- 10/30/2002 12:08:53 PM
- Beth Parrott
- True
-
-
-
- Adds an item to the end of the collection.
-
-
- Item to add to the collection.
-
-
- The array index of the added item.
-
-
- is .
-
- 11/21/2002 1:35:25 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:27 PM
- Measurement Studio
- True
-
-
-
- Adds an array of objects to the end of the collection.
-
-
- Array of objects to add to the collection.
-
-
- is .
-
- 11/21/2002 1:35:27 PM
- Beth Parrott
- True
-
-
-
- Adds a collection of objects to the end of the collection.
-
-
- Collection of objects to add to the collection.
-
-
- is .
-
- 10/30/2002 12:08:11 PM
- Beth Parrott
- True
-
-
- Removes all items from the collection.
- 10/30/2002 12:08:20 PM
- Beth Parrott
- True
-
-
-
- Returns if the specified element is in the collection.
-
-
- Item to locate in the collection.
-
-
- Returns if the collection contains .
-
- 10/30/2002 12:08:22 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:28 PM
- Measurement Studio
- True
-
-
- Copies the collection to an array or a portion of an array.
- Destination array for the collection.
- Index in the target array at which you want to begin copying the collection to.
-
-
- is multidimensional.
-
-
- - or -
-
-
- is greater than or equal to the array length.
-
-
- - or -
-
-
- The number of elements in the collection is greater than the available space between
- and the end of .
-
-
-
- is .
-
-
- is less than zero.
-
- 10/30/2002 12:08:24 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:27 PM
- Measurement Studio
- True
-
-
-
- Returns the zero-based index of the first occurrence of an item in the collection.
-
- Item to search for.
- Index of the item. If the item is not found, returns -1.
- 11/21/2002 1:35:31 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:28 PM
- Measurement Studio
- True
-
-
- Inserts an item into the collection at the specified index.
- Index to insert the item at.
- Item to insert into the collection.
-
- is not a valid index in the .
-
-
- is .
-
-
- The list elements after the removed element shift up to occupy the vacated spot. Because the list elements
- are indexed, the indexes of the shifted elements also are updated.
-
- 11/21/2002 1:35:33 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:29 PM
- Measurement Studio
- True
-
-
- Returns an enumerator that you can use to iterate through the collection.
- Enumerator for the collection.
-
- For a detailed explanation of this method, refer to in the Microsoft
- .NET Framework documentation.
-
- 10/30/2002 12:08:27 PM
- Beth Parrott
- True
-
-
- Removes the first occurrence of the specified item.
- Item to remove from the collection.
-
- The list elements after the removed element shift up to occupy the vacated spot. Because the list elements
- are indexed, the indexes of the shifted elements also are updated.
-
- 11/21/2002 1:35:35 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:29 PM
- Measurement Studio
- True
-
-
- Removes the item at the specified index.
- Zero-based index of the item to remove.
-
- is not a valid index in the .
-
-
- The list elements after the removed element shift up to occupy the vacated spot. Because the list elements
- are indexed, the indexes of the shifted elements also are updated.
-
- 11/21/2002 1:35:37 PM
- Beth Parrott
- True
-
-
- Gets or sets the at the specified index. In Visual C#, this property is the indexer.
-
- The object at the specified index.
-
-
- The zero-based index of the entry to locate in the collection.
-
-
- is outside the valid range of indexes for the collection.
-
-
- is .
-
- 5/30/2003 5:17:17 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:26 PM
- Measurement Studio
- True
-
-
- Gets an entry in the collection with the specified name. In Visual C#, this property is the indexer.
-
- The object with the specified binding
- name.
-
-
- Name of the entry to find in the collection.
-
-
- The binding with the specified name was not found in the collection.
-
-
- is .
-
- 1/10/2003 4:09:51 PM
- Beth Parrott
- True
-
-
-
- Gets the number of elements in the collection.
-
-
- The number of elements contained in the collection.
-
- 11/21/2002 1:35:29 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:23 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:25 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:25 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:24 PM
- Measurement Studio
- True
-
-
-
- Contains the value and attributes associated with the value.
-
-
-
-
- The object encapsulates the data obtained from
- or passed to a object.
- The object also encapsulates the data attributes.
-
-
- The object supports the following data types:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - Arrays of
- - Arrays of
- - Arrays of
- - Arrays of
- - Arrays of
- - Arrays of
- - Arrays of
- - Arrays of
- - Arrays of
- - Arrays of
- - Arrays of
- - Arrays of
- - Arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
-
-
-
- You must call when you finish using a
- object.
-
-
- 11/21/2002 1:34:11 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of .
-
-
- 10/30/2002 11:42:42 AM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:30 PM
- Measurement Studio
- True
-
-
-
- Overrides .
-
- Returns a string representation of the object.
- 10/30/2002 12:01:28 PM
- Beth Parrott
- True
-
-
-
- Releases all resources used by the object.
-
- 10/14/2009 9:29:15 AM
- Staci Heien
- True
-
-
-
- Releases all resources used by the object.
-
- 1/10/2003 4:09:12 PM
- Beth Parrott
- True
-
-
-
- Releases the unmanaged resources used by the object and
- optionally releases the managed resources.
-
-
- If , releases both managed and unmanaged resources. If , only releases
- unmanaged resources.
-
-
-
- The public method and the finalizer call this method. The public
- method invokes the protected Dispose(Boolean) method with
- set to . The finalizer invokes the protected Dispose(Boolean) method
- with set to
- .
-
-
- When you set the parameter to , this method releases all
- resources held by managed objects that the object
- references. This method invokes the method of each referenced object.
-
-
- 11/21/2002 9:33:09 AM
- Beth Parrott
- False
-
-
- Finalizes the instance of the object.
- 10/30/2002 12:00:52 PM
- Beth Parrott
- True
-
-
-
- Clears the property and
- all attributes.
-
-
- This method sets the property to 0 and removes all attributes of the object.
-
-
- 11/21/2002 1:34:18 PM
- Beth Parrott
- True
-
-
-
- Gets a value indicating if the object has been disposed.
-
-
- if has been
- called on the object. if
- has not been called
- on the object.
-
- 6/20/2006 4:42:45 PM
- Staci McCormick
- True
-
-
-
- Gets a list of attributes that are associated with the data.
-
-
- A collection of values
- that are associated with the data.
-
- 10/30/2002 12:00:56 PM
- Beth Parrott
- True
-
-
-
- Gets or sets the value of the object.
-
-
- The value of the local object. The default value is 0.
-
-
- Get this property to obtain the value of the local object. If the
- object belongs to a
- object that is
- configured for , the
- object transfers the data from the data source to the local object when the value of the data
- source is updated. Query the property to determine if the local
- object has been updated. If the object belongs to a object
- that is configured for , you must call
- to transfer data from the data source to the local object.
- Set this property to specify the value of the local
- object. If the object belongs to a
- object that is configured for ,
- the object transfers data from the local
- object when you set this property. If the
- object belongs to a
- object that
- is configured for , you must call
- to transfer data from the local object to the data target.
-
-
-
-
- 11/21/2002 1:34:20 PM
- Beth Parrott
- True
-
-
- Represents the exception that is thrown when a
- error occurs.
-
-
- 10/30/2002 12:01:36 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of .
-
- 11/21/2002 1:34:32 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of
- with the specified error message.
-
-
- The error message that explains the cause of the exception.
-
- 10/30/2002 12:01:47 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of
- with the specified error message and a reference to the inner exception that is the
- cause of the exception.
-
-
- The error message that explains the cause of the exception.
-
-
- The exception that caused this exception.
-
- 11/21/2002 1:34:34 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of with serialized data.
-
-
- The object that holds the serialized object data.
-
-
- The contextual information about the source or destination of a serialized stream.
-
- 10/30/2002 12:01:42 PM
- Beth Parrott
- True
-
-
- Overrides .
- Returns a string representation of the object.
- 10/30/2002 12:01:51 PM
- Beth Parrott
- True
-
-
-
- Encapsulates the interface to the National Instruments DataSocket Server.
-
-
-
-
- Use this class to run the DataSocket Server on the local machine. You must run the DataSocket Server on the machine on which you
- want to host DSTP data sources and targets.
-
-
- You must call when you finish using a
- object. If you add this object to a Windows form with the Windows
- Forms Designer, the form calls automatically.
-
-
- 11/21/2002 1:34:37 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of .
-
- 10/30/2002 12:07:36 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of
- with the specified container.
-
-
- that represents the object container.
-
-
- 10/30/2002 12:07:44 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of with the specified
- auto-start value.
-
-
- Specifies if the server automatically starts when the object is constructed.
-
-
- When you use this constructor, the object automatically
- shuts down when the object is disposed.
-
- The DataSocket Server is not installed.
-
-
- 10/30/2002 12:07:41 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of with the specified auto-start and
- auto-shutdown values.
-
-
- Specifies if the server automatically starts when the object is constructed.
-
-
- Specifies if the server automatically shuts down when the object is disposed.
-
-
- The DataSocket Server is not installed.
-
-
- 10/30/2002 12:07:43 PM
- Beth Parrott
- True
-
-
-
- Overrides .
-
-
- A string representation of the object.
-
-
- The has been disposed.
-
- 6/9/2003 10:09:24 AM
- Beth Parrott
- True
-
-
-
- Releases the resources used by object.
-
-
- If , this method releases managed and unmanaged resources. If , this method
- releases only unmanaged resources.
-
-
-
- The public method and the finalizer call this method. The public
- method invokes the protected Dispose(Boolean) method with
- set to . The finalizer invokes the protected Dispose(Boolean) method
- with set to
- .
-
-
- When you set the parameter to , this method releases all
- resources held by managed objects that the object
- references. This method invokes the method of each referenced object.
-
-
- 11/21/2002 1:34:39 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:30 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:31 PM
- Measurement Studio
- True
-
-
-
- Launches the local DataSocket Server.
-
-
- The has been disposed.
-
- 10/30/2002 12:08:02 PM
- Beth Parrott
- True
-
-
-
- Displays the local DataSocket Server.
-
-
- If the DataSocket Server is not already running and you call ,
- the DataSocket Server automatically starts.
-
-
- The has been disposed.
-
- 6/9/2003 10:31:37 AM
- Beth Parrott
- True
-
-
-
- Hides the local DataSocket Server.
-
-
- The has been disposed.
-
-
- If the DataSocket Server is not already running and you call ,
- the DataSocket Server automatically starts.
-
- The DataSocket Server is accessible from the Windows taskbar status area regardless of if it is hidden.
-
-
- 6/9/2003 10:31:21 AM
- Beth Parrott
- True
-
-
-
- Shuts down the local DataSocket Server.
-
-
- The has been disposed.
-
- 10/30/2002 12:08:00 PM
- Beth Parrott
- True
-
-
-
- Gets or sets a value indicating if the DataSocket Server automatically starts when the form loads.
-
-
- if the DataSocket Server automatically starts when the form loads. The default value is .
-
-
- The has been disposed.
-
-
- If the value of this property is , you must call to launch the DataSocket Server.
-
- This property is applicable only to objects that you create on
- a Windows Form with the Windows Forms Designer.
-
- 6/20/2006 4:42:53 PM
- Staci McCormick
- True
-
-
-
- Gets or sets a value indicating if the DataSocket Server automatically shuts down when the object is disposed.
-
-
- if the server automatically shuts down when the object is disposed. The default value is
- .
-
-
- The has been disposed.
-
- 6/20/2006 4:42:49 PM
- Staci McCormick
- True
-
-
-
- Gets a value indicating if the DataSocket Server is running.
-
-
- if the DataSocket Server is running.
-
-
- The has been disposed.
-
- 6/20/2006 4:42:57 PM
- Staci McCormick
- True
-
-
-
- Exposes data sources or targets as a bindable data items that you can bind to properties of Windows Forms controls.
-
-
-
- Complete the following steps to bind data sources or targets to a Windows Forms control:
-
- -
-
- From the Toolbox, drag a object onto a designer, such as the Windows
- Forms Designer. Because the object does not have a user interface, it is added to the component
- tray below the form.
-
-
- -
-
- In the Properties window, launch the collection editor for the property.
- Add a binding and specify a unique name and URL for the binding.
-
-
- -
-
- Click OK to accept the binding item and close the collection editor.
-
-
- -
-
- Select a Windows Forms control in the designer, navigate to the property in the Properties window, locate the property
- you want to bind to a data source or target, and select the name of the binding you added
- to the collection.
-
-
-
-
- You must call when you finish using a
- object. If you add this object to a Windows form with the Windows
- Forms Designer, the form calls automatically.
-
-
-
- 11/5/2008 10:39:09 AM
- Measurement Studio
- True
-
-
-
- Initializes a new instance of .
-
- 10/30/2002 12:09:03 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of the class
- with the specified container.
-
-
- that represents the object container.
-
- 10/30/2002 12:09:05 PM
- Beth Parrott
- True
-
-
-
- Overrides .
-
-
- A string representation of the object.
-
-
- The has been disposed.
-
- 6/9/2003 10:12:10 AM
- Beth Parrott
- True
-
-
-
- Releases the resources used by object.
-
-
- If , this method releases managed and unmanaged resources. If , this method releases
- only unmanaged resources.
-
-
-
- The public method and the finalizer call this method. The public
- method invokes the protected Dispose(Boolean) method with
- set to . The finalizer invokes the protected Dispose(Boolean) method
- with set to
- .
-
-
- When you set the parameter to , this method releases all
- resources held by managed objects that the object
- references. This method invokes the method of each referenced object.
-
-
- 11/21/2002 1:34:57 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:59 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:59 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:58 PM
- Measurement Studio
- True
-
-
-
- Calls the method on all
- objects in the
-
- collection.
-
-
- The has been disposed.
-
- 6/9/2003 10:12:44 AM
- Beth Parrott
- True
-
-
-
- Calls the method on all
- objects in the
- collection.
-
-
- The has been disposed.
-
- 6/9/2003 10:12:39 AM
- Beth Parrott
- True
-
-
-
- Calls the method on all
- objects in the
- collection.
-
-
- The has been disposed.
-
-
- A object in the
- collection is not connected.
-
- 6/9/2003 10:12:30 AM
- Beth Parrott
- True
-
-
-
- Raises the event.
-
-
- A object that contains the event data.
-
-
- A derived class can override
- to handle the event without attaching a delegate. This technique is preferred for event handling in a derived class.
-
-
- 11/21/2002 1:35:16 PM
- Beth Parrott
- True
-
-
-
- Raises the event.
-
-
- A object that contains the event data.
-
-
- A derived class can override
- to handle the event without attaching a delegate. This technique is preferred for event handling in a derived class.
-
-
- 11/21/2002 1:35:18 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:57 PM
- Measurement Studio
- True
-
-
-
- Occurs when the data of any object in the
- collection is updated.
-
- 11/21/2002 1:34:59 PM
- Beth Parrott
- True
-
-
-
- Occurs when the connection status of any object in the
- collection is updated.
-
- 11/21/2002 1:35:01 PM
- Beth Parrott
- True
-
-
-
- Gets or sets a value indicating if all bindings in the collection
- connect to associated data sources or targets when the form loads.
-
-
- if is called when the form
- loads. The default value is .
-
-
- The has been disposed.
-
-
- If the value of this property is , you must manually call
- .
- This property is applicable only to objects that you create on
- a Windows Form with the Windows Forms Designer.
-
- 6/20/2006 4:43:06 PM
- Staci McCormick
- True
-
-
-
- Gets the DataSocket object.
-
-
- A collection of objects. You can use a
- object to bind Windows Forms control properties to
- data sources and targets.
-
-
- The has been disposed.
-
-
- 6/9/2003 10:11:51 AM
- Beth Parrott
- True
-
-
-
- Provides data for the event.
-
-
-
- The event is generated when
- the local value or attributes change. The local
- value or attributes can change when the data source
- value or attributes change or when you set the value or attributes on the local
- object.
-
-
-
-
- 11/21/2002 1:35:39 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of .
-
-
- A reference to the that was updated.
-
- 10/30/2002 12:09:45 PM
- Beth Parrott
- True
-
-
- Overrides .
- Returns a string representation of the object.
- 10/30/2002 12:09:46 PM
- Beth Parrott
- True
-
-
-
- Gets a reference to the data that was updated when the event was generated.
-
-
- A that represents the data
- that was updated when the event was generated.
-
- 7/26/2004 10:16:50 AM
- Whitney Bates
- True
-
-
-
- Represents a method that handles the
- event of a
- object.
-
-
- The source of the event.
-
-
- A object that contains the event data.
-
-
- 11/21/2002 1:35:47 PM
- Beth Parrott
- True
-
-
-
- Defines valid values for the status subfield of the OPC quality attribute.
-
- 10/30/2002 12:09:51 PM
- Beth Parrott
- True
-
-
-
- The value is bad.
-
- 10/30/2002 12:09:56 PM
- Beth Parrott
- True
-
-
-
- The communication failed, and no last known value
- is available.
-
- 10/30/2002 12:09:57 PM
- Beth Parrott
- True
-
-
-
- There is a server-specific problem with the configuration.
-
- 10/30/2002 12:09:59 PM
- Beth Parrott
- True
-
-
-
- A device failure has been detected.
-
- 10/30/2002 12:10:00 PM
- Beth Parrott
- True
-
-
-
- The value is outside the limits defined for this parameter.
-
- 10/30/2002 12:10:02 PM
- Beth Parrott
- True
-
-
-
- The value is good.
-
- 10/30/2002 12:10:04 PM
- Beth Parrott
- True
-
-
-
- Communication has failed, but the last known value is available.
-
- 10/30/2002 12:10:06 PM
- Beth Parrott
- True
-
-
-
- The value is no longer being written.
-
- 10/30/2002 12:10:07 PM
- Beth Parrott
- True
-
-
-
- The value has been overridden.
-
- 10/30/2002 12:10:08 PM
- Beth Parrott
- True
-
-
-
- The input must be logically connected to a server but it
- is disconnected.
-
- 10/30/2002 12:10:09 PM
- Beth Parrott
- True
-
-
-
- The block is off scan or locked.
-
- 10/30/2002 12:10:10 PM
- Beth Parrott
- True
-
-
-
- The value has been pegged at one of the sensor limits or
- an internal diagnostics has detected that the sensor is out of calibration.
-
- 10/30/2002 12:10:11 PM
- Beth Parrott
- True
-
-
-
- A sensor failure has been detected.
-
- 10/30/2002 12:10:12 PM
- Beth Parrott
- True
-
-
-
- The value is derived from multiple sources and has less than the
- required number of good sources.
-
- 10/30/2002 12:10:12 PM
- Beth Parrott
- True
-
-
-
- The value cannot be determined.
-
- 10/30/2002 12:10:13 PM
- Beth Parrott
- True
-
-
-
- Specifies how a object reads data.
-
- 6/9/2003 10:16:27 AM
- Beth Parrott
- True
-
-
-
- Specifies that raises the
- event to notify
- when new data arrives.
-
- 6/9/2003 10:16:59 AM
- Beth Parrott
- True
-
-
-
- Specifies that you must call
- to poll and dequeue buffered data into the
- property. does not raise the
- event in this mode.
-
- 6/9/2003 10:17:37 AM
- Beth Parrott
- True
-
-
-
- Controls the behavior of the dialog box that
- displays.
-
-
-
- 11/21/2002 1:35:54 PM
- Beth Parrott
- True
-
-
-
- Specifies that dialog box is displayed
- with the default options.
-
- 10/30/2002 12:10:16 PM
- Beth Parrott
- True
-
-
-
- Opens a dialog box to prompt the user for permission to create the file if that file
- does not exist. If the user chooses to create the file, the dialog box closes
- and the method returns the specified name; otherwise, the dialog box remains open.
-
- 10/30/2002 12:10:15 PM
- Beth Parrott
- True
-
-
-
- Specifies that the user can enter the names only of existing files in the Filename field.
- If this flag is specified and the user enters an invalid name, the dialog box
- displays a warning in a message box.
-
- 10/30/2002 12:10:17 PM
- Beth Parrott
- True
-
-
-
- Hides the read-only checkbox.
-
- 10/30/2002 12:10:18 PM
- Beth Parrott
- True
-
-
-
- Restores the current directory to its original value if the user changed the directory
- while searching for files.
-
- 10/30/2002 12:10:18 PM
- Beth Parrott
- True
-
-
-
- Directs the dialog box to return the path and filename of the selected shortcut
- (.lnk) file. If this value is not provided, the dialog box returns the path and
- filename of the file referenced by the shortcut.
-
- 11/21/2002 1:35:57 PM
- Beth Parrott
- True
-
-
-
- Specifies that the returned file does not have the read-only checkbox selected and is
- not in a write-protected directory.
-
- 10/30/2002 12:10:20 PM
- Beth Parrott
- True
-
-
-
- Specifies that the file is not created before the dialog box is closed. Use this value if the application
- saves the file on a create-nonmodify network
- share. When an application specifies this flag,
- does not check for write protection, a full disk, an open drive door, or network protection.
- Applications that use this flag must perform file operations carefully because a file
- cannot be reopened after it is closed.
-
- 10/30/2002 12:10:21 PM
- Beth Parrott
- True
-
-
-
- Causes the Save As dialog box to generate a message box if the selected file already
- exists. The user must confirm overwriting the file.
-
- 10/30/2002 12:10:21 PM
- Beth Parrott
- True
-
-
-
- Specifies that the user can enter only valid paths and filenames. If you use this value and
- the user enters an invalid path or filename in the Filename field, the dialog box method
- displays a warning in a message box.
-
- 10/30/2002 12:10:22 PM
- Beth Parrott
- True
-
-
-
- Causes the read-only checkbox to be checked when the dialog box is created.
-
- 10/30/2002 12:10:23 PM
- Beth Parrott
- True
-
-
-
- Causes the file dialog box to be a Save As dialog box instead of an Open File
- dialog box.
-
- 10/30/2002 12:10:24 PM
- Beth Parrott
- True
-
-
-
+
+
+
+ NationalInstruments.Net
+
+
+
+
+ Clean up any resources being used.
+
+
+
+
+ Required method for Designer support - do not modify
+ the contents of this method with the code editor.
+
+
+
+
+ 2/12/2003 1:13:44 PM
+ Elton Wells
+ False
+
+
+
+ Specifies how a object transfers data.
+
+
+ If you connect with an automatically updated access mode, such as , , or ,
+ the object
+ transfers data every time new data is available. If you connect with
+ or
+ ,
+ use
+ to transfer the new data.
+
+ 11/21/2002 1:29:57 PM
+ Beth Parrott
+ True
+
+
+
+ Transfers data from the data source to the local object
+ when you establish the connection. Call to cause
+ subsequent data transfers.
+
+ 11/20/2003 2:32:11 PM
+ Jennifer Smith
+ True
+
+
+
+ Transfers data from the data source to the local object when
+ you establish the connection. When the data at the data source is updated, the data is transferred again automatically.
+ This mode is valid only for DSTP and logos and OPC data sources.
+
+ 12/7/2005 12:09:20 PM
+ Jennifer Smith
+ True
+
+
+
+ Transfers data from the data source to the local object when you establish
+ the connection. When the data at the data source is updated, the data is transferred again automatically. The
+ object automatically transfers data to the data target when you change any value or attribute on the local
+ object. This mode is valid only for DSTP and logos data sources and targets.
+
+ 12/10/2003 4:07:45 PM
+ Jennifer Smith
+ True
+
+
+
+ Transfers data from the local object to the data target at the time you establish
+ the connection. Call to cause subsequent data transfers.
+
+ 11/21/2002 1:30:33 PM
+ Beth Parrott
+ True
+
+
+
+ Transfers data from the local object to the data target when you establish
+ the connection. When you change any value or attribute on the local object, the
+ object automatically transfers data to the data target. This mode is valid only
+ for DSTP and logos data targets.
+
+ 12/10/2003 4:08:23 PM
+ Jennifer Smith
+ True
+
+
+
+ Specifies that is configured for manual
+ updating with buffering. gets the next
+ value in the buffer from the data source when the connection is established and when you call
+ .
+
+ 12/10/2003 4:06:40 PM
+ Jennifer Smith
+ True
+
+
+
+ Specifies that is configured for
+ automatic updating with buffering. gets
+ the next value from the data source when the connection is established, when the data value changes, and when any of the
+ data attributes change.
+
+ 12/10/2003 4:07:17 PM
+ Jennifer Smith
+ True
+
+
+
+ Specifies that is configured for automatic
+ updating with buffering. transfers data to
+ the data source when the
+ connection is established, when the data value changes, and when any of the data attributes
+ change. gets the data from the
+ data source when the data value changes and
+ when any of the data attributes change.
+
+ 12/10/2003 4:08:00 PM
+ Jennifer Smith
+ True
+
+
+
+ Provides data for the
+ event.
+
+
+
+ A object generates the
+ event when it receives new data.
+
+
+
+
+ 11/21/2002 1:30:49 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of .
+
+
+ The instance that generated the
+ event.
+
+ 10/30/2002 11:41:03 AM
+ Beth Parrott
+ True
+
+
+ Overrides .
+ Returns a string representation of the object.
+ 10/30/2002 11:41:06 AM
+ Beth Parrott
+ True
+
+
+
+ Gets the that generated the
+ event.
+
+
+ The that generated the event.
+
+ 7/13/2004 4:18:50 PM
+ Whitney Bates
+ True
+
+
+
+ Represents a method that handles the
+ event of a
+ object.
+
+
+ The source of the event.
+
+
+ A object that contains the
+ event data.
+
+
+
+ 11/21/2002 1:31:13 PM
+ Beth Parrott
+ True
+
+
+
+ Provides data for the
+ event.
+
+
+
+ The event occurs
+ when the status of a connection
+ changes, such as when a object connects to a
+ data source or target, transfers data, or encounters an error.
+
+
+
+ 11/21/2002 1:31:16 PM
+ Beth Parrott
+ True
+
+
+
+ Provides data for the event.
+
+
+
+ The event occurs when the
+ status of a connection changes, such as when a
+ object connects to a data source or target, transfers data, or
+ encounters an error.
+
+
+
+
+ 11/21/2002 1:31:49 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of .
+
+
+ The status of the connection.
+
+
+ Error of the connection, if an error exists. Refer to
+ DataSocket Error Codes for a list of possible
+ values.
+
+
+ Descriptive message about the connection status.
+
+
+
+
+ 7/15/2005 10:17:33 AM
+ Jennifer Smith
+ True
+
+
+
+ Overrides .
+
+ Returns a string representation of the object.
+ 10/30/2002 11:42:00 AM
+ Beth Parrott
+ True
+
+
+
+ Gets the status of the connection.
+
+
+ A that indicates
+ the status of the connection.
+
+ 6/20/2006 4:41:29 PM
+ Staci McCormick
+ True
+
+
+
+ Gets the error of the connection, if an error exists.
+
+
+ The numeric value of the last error code. You can use this value to look up
+ the cause of the error in the DataSocket documentation.
+
+ 10/30/2002 11:41:51 AM
+ Beth Parrott
+ True
+
+
+
+ Gets a descriptive message about the connection status.
+
+
+ A string value that describes the connection status of the
+ object.
+
+ 11/21/2002 1:31:54 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of .
+
+
+ The instance that generated the event.
+
+
+ The status of the connection.
+
+
+ Error of the connection, if one exists. Refer to
+ DataSocket Error Codes for a list of possible
+ values.
+
+
+ Descriptive message of the connection status.
+
+
+
+
+
+ 7/15/2005 10:17:19 AM
+ Jennifer Smith
+ True
+
+
+ Overrides .
+ Returns a string representation of the object.
+ 10/30/2002 11:41:23 AM
+ Beth Parrott
+ True
+
+
+
+ Gets the that generated the
+ event.
+
+
+ The that generated the event.
+
+ 7/26/2004 10:12:17 AM
+ Whitney Bates
+ True
+
+
+
+ Represents a method that handles the
+ event of a
+ object.
+
+
+ The source of the event.
+
+
+ A object that contains the
+ event data.
+
+
+
+ 11/21/2002 1:31:22 PM
+ Beth Parrott
+ True
+
+
+
+ Indicates the current status of the connection.
+
+ 11/21/2002 1:31:26 PM
+ Beth Parrott
+ True
+
+
+
+ The object is in the process of connecting
+ to the data source or target.
+
+ 11/21/2002 1:31:32 PM
+ Beth Parrott
+ True
+
+
+
+ The object is connected to the data source or target and is transferring the data or
+ waiting for an update.
+
+ 11/21/2002 1:31:36 PM
+ Beth Parrott
+ True
+
+
+
+ The object encountered an error while connecting
+ to the data source or target.
+
+ 11/21/2002 1:31:38 PM
+ Beth Parrott
+ True
+
+
+
+ The object is connected to the data source or target
+ and is not currently transferring data or is waiting for an update.
+
+ 11/21/2002 1:31:42 PM
+ Beth Parrott
+ True
+
+
+
+ The object is not connected to any data source
+ or data target.
+
+ 11/21/2002 1:31:45 PM
+ Beth Parrott
+ True
+
+
+
+ Represents a method that handles the
+ event of a
+ object.
+
+
+ The source of the event.
+
+
+ A object that contains the event data.
+
+
+
+ 11/21/2002 1:31:57 PM
+ Beth Parrott
+ True
+
+
+
+ Represents a connection to a data source or target.
+
+
+ You can use the NetworkVariable class library or the class library to transfer live measurement data between applications over a network.
+ You can use NetworkVariable or to exchange different types of data between Measurement Studio, LabVIEW, LabWindows/CVI, and other applications that support NI-Publish Subscribe Protocol (psp:).
+ NetworkVariable is the preferred method for transferring data between these applications, and, in these cases, NetworkVariable supersedes .
+ You can also use NetworkVariable and to exchange different types of data between OLE for Process Control (opc:) servers. Exchanging data between Measurement Studio applications and OPC servers with NetworkVariable requires LabVIEW DSC Run-Time System. Use to communicate directly with an OPC server.
+
+
+
+
+
+ The object encapsulates the .NET interface to National Instruments DataSocket
+ and includes the following features:
+
+ - Transfer data between different data sources and
+ targets.
+ - Specify a data source and target through a URL—the same
+ way you access Web pages in a Web browser.
+ - Use a single API to access OPC, HTTP, FTP, logos, and
+ file servers.
+ - Use the DataSocket Transfer Protocol (DSTP) to exchange data
+ of many different types.
+ - Browse the network to quickly locate a data source or target
+ on other computers and servers.
+
+
+ You must call when you finish using a object.
+ If you add this object to a Windows form with the Windows Forms Designer, the form calls
+ automatically.
+
+
+
+ 9/16/2008 10:06:51 AM
+ Measurement Studio
+ True
+
+
+
+ Initializes a new instance of .
+
+
+ 10/30/2002 11:42:42 AM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of
+ with the specified container.
+
+
+ An that represents the container for the
+ object.
+
+
+ 10/30/2002 11:42:45 AM
+ Beth Parrott
+ True
+
+
+
+ Overrides .
+
+ Returns a string representation of the object.
+ 10/30/2002 11:43:49 AM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:09 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:13 PM
+ Measurement Studio
+ True
+
+
+
+ Releases the resources used by the object.
+
+
+ If , this method releases managed and unmanaged resources. If , this method releases
+ only unmanaged resources.
+
+
+
+ The public method and the finalizer call this method. The public
+ method invokes the protected Dispose(Boolean) method with
+ set to . The finalizer invokes the protected Dispose(Boolean) method
+ with set to
+ .
+
+
+ When you set the parameter to , this method releases all
+ resources held by managed objects that this object
+ references. This method invokes the method of each referenced object.
+
+
+ 11/21/2002 1:32:04 PM
+ Beth Parrott
+ True
+
+
+
+ Connects the object to a data source or target.
+
+
+
+ The method establishes the
+ connection with the current values of the
+ and the
+ properties.
+
+
+ The object creates the connection asynchronously. You must return
+ control to the application message loop after you create the connection and before you
+ perform data transfers on data or
+ attributes. You can check the property or monitor the
+ event to
+ determine if the connection is established.
+
+
+ When connecting to a data source in a read access mode,
+ the object updates the data after the connection is
+ completed. When connecting to a data target in a write access mode, the
+ object transfers the data at the time the connection is
+ made. If you connect in an automatic update mode, the object
+ automatically transfers data when new data is available.
+
+
+ If you connect a reading client to a data source that
+ does not exist, the server creates the data source with a default value of 0.
+
+
+
+ The has been disposed.
+
+
+ The following example demonstrates how to establish a
+ connection with the method.
+
+ Dim connection As DataSocket = New DataSocket()
+ connection.AccessMode = AccessMode.ReadAutoUpdate
+ connection.Url = "dstp://localhost/data"
+ connection.Connect()
+
+
+
+
+ DataSocket connection = new DataSocket();
+ connection.AccessMode = AccessMode.ReadAutoUpdate;
+ connection.Url = "dstp://localhost/data";
+ connection.Connect();
+
+
+
+ Key Measurement Studio DataSocket .NET Library Features
+ 9/16/2008 10:06:00 AM
+ Measurement Studio
+ True
+
+
+
+ Connects the object to the specified data source or target.
+
+
+ Location of the data source or target to which the
+ must connect.
+
+
+
+ The method sets the
+ property to the value of the
+ parameter. The method uses the current value of
+ to establish the connection.
+
+
+ The object creates the connection asynchronously. You must return
+ control to the application message loop after you create the connection and before you
+ perform data transfers on data or
+ attributes. You can check the property or monitor the
+ event to
+ determine if the connection is established.
+
+
+ When connecting to a data source in a read access mode,
+ the object updates the data after the connection is
+ completed. When connecting to a data target in a write access mode, the
+ object transfers the data at the time the connection is
+ made. If you connect in an automatic update mode, the object
+ automatically transfers data when new data is available.
+
+
+ If you connect a reading client to a data source that
+ does not exist, the server creates the data source with a default value of 0.
+
+
+
+ is .
+
+
+ The has been disposed.
+
+
+ The following example demonstrates how to establish a
+ connection with the method.
+
+ Dim connection As DataSocket = New DataSocket()
+ connection.AccessMode = AccessMode.ReadAutoUpdate
+ connection.Connect("dstp://localhost/data")
+
+
+
+
+ DataSocket connection = new DataSocket();
+ connection.AccessMode = AccessMode.ReadAutoUpdate;
+ connection.Connect("dstp://localhost/data");
+
+
+
+ Key Measurement Studio DataSocket .NET Library Features
+ 9/16/2008 10:06:03 AM
+ Measurement Studio
+ True
+
+
+
+ Connects the object to the specified data source or target with the specified
+ access mode.
+
+
+ Location of the data source or target to which the
+ object must connect.
+
+
+ An value that specifies the type of connection the
+ object makes when it connects to the data source or
+ target.
+
+
+
+ The method sets the
+ and
+ properties to the values of the
+ and parameters.
+
+
+ The object creates the connection asynchronously. You must return
+ control to the application message loop after you create the connection and before you
+ perform data transfers on data or
+ attributes. You can check the property or monitor the
+ event to
+ determine if the connection is established.
+
+
+ When connecting to a data source in a read access mode,
+ the object updates the data after the connection is
+ completed. When connecting to a data target in a write access mode, the
+ object transfers the data at the time the connection is
+ made. If you connect in an automatic update mode, the object
+ automatically transfers data when new data is available.
+
+
+ If you connect a reading client to a data source that
+ does not exist, the server creates the data source with a default value of 0.
+
+
+
+ is .
+
+
+ is not a member of .
+
+
+ The has been disposed.
+
+
+ The following example demonstrates how to establish a
+ connection with the method.
+
+ Dim connection As DataSocket = New DataSocket()
+ connection.Connect("dstp://localhost/data", AccessMode.ReadAutoUpdate)
+
+
+
+
+ DataSocket connection = new DataSocket();
+ connection.Connect("dstp://localhost/data", AccessMode.ReadAutoUpdate);
+
+
+ Key Measurement Studio DataSocket .NET Library Features
+ 9/16/2008 10:06:07 AM
+ Measurement Studio
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified timeout.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+
+ The method establishes the
+ connection with the current values of the
+ and the
+ properties.
+
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 9:34:47 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified .
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+
+ The method establishes the
+ connection with the current values of the
+ and the
+ properties.
+
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 9:41:07 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified URL and timeout.
+
+
+ Location of the data source or target to which the
+ must connect.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+
+ The method sets the
+ property to the value of the
+ parameter. The method uses the current value of
+ to establish the connection.
+
+
+
+ The has been disposed.
+
+
+ is .
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 9:40:51 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified URL and .
+
+
+ Location of the data source or target to which the
+ must connect.
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+
+ The method sets the
+ property to the value of the
+ parameter. The method uses the current value of
+ to establish the connection.
+
+
+
+ The has been disposed.
+
+
+ is .
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 9:41:24 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified URL, access mode, and timeout.
+
+
+ Location of the data source or target to which the
+ must connect.
+
+
+ An value that specifies the type of connection the
+ object makes when it connects to the data source or
+ target.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+
+ The method sets the
+ and
+ properties to the values of the
+ and parameters.
+
+
+
+ The has been disposed.
+
+
+ is .
+
+
+ is not a member of .
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 9:40:08 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified URL, access mode, and .
+
+
+ Location of the data source or target to which the
+ must connect.
+
+
+ An value that specifies the type of connection the
+ object makes when it connects to the data source or
+ target.
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+
+ The method sets the
+ and
+ properties to the values of the
+ and parameters.
+
+
+
+ The has been disposed.
+
+
+ is .
+
+
+ is not a member of .
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 9:40:34 AM
+ Beth Parrott
+ True
+
+
+
+ Disconnects the object from the data source or target to which it is
+ currently connected.
+
+
+
+ The value of the property and its attributes
+ remain unchanged when the object is disconnected.
+
+
+ has no effect if the
+ object is disconnected.
+
+
+
+ The has been disposed.
+
+
+ 11/21/2002 1:32:53 PM
+ Beth Parrott
+ True
+
+
+
+ Synchronously disconnects the object from
+ the data source or target to which it is currently connected using the specified timeout.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+
+ The value of the property and its attributes
+ remain unchanged when the object is disconnected.
+
+
+ has no effect if the
+ object is already disconnected.
+
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 9:38:05 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously disconnects the object from
+ the data source or target to which it is currently connected using the specified .
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+
+ The value of the property and its attributes
+ remain unchanged when the object is disconnected.
+
+
+ has no effect if the
+ object is already disconnected.
+
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 9:41:34 AM
+ Beth Parrott
+ True
+
+
+
+ Initiates a write to the server with the specified data and timeout.
+
+
+ The data to write to the server.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+ initiates a write to the server
+ and then waits for the amount of time specified by for the server
+ to acknowledge that the write was successful.
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 9:45:18 AM
+ Beth Parrott
+ True
+
+
+
+ Initiates a write to the server with the specified data and .
+
+
+ The data to write to the server.
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+ initiates a write to the server
+ and then waits for the amount of time specified by for the server
+ to acknowledge that the write was successful.
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 9:45:52 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously polls the client-side buffer for unprocessed values using the specified timeout.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+ Use in synchronous read mode
+ to poll the client-side buffer for any unprocessed values. If the buffer contains
+ unprocessed data, the next value is dequeued into the
+ property and the return value is
+ . If the buffer contains no new values,
+ waits for the specified timeout
+ interval for a new value to arrive.
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 9:43:12 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously polls the client-side buffer for unprocessed values using the specified .
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+ Use in synchronous read mode
+ to poll the client-side buffer for any unprocessed values. If the buffer contains
+ unprocessed data, the next value is dequeued into the
+ property and the return value is
+ . If the buffer contains no new values,
+ waits for the specified timeout
+ interval for a new value to arrive.
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 9:43:57 AM
+ Beth Parrott
+ True
+
+
+
+ Causes the object to transfer data from a data source or to
+ a data target.
+
+
+
+ When you use the or access
+ mode, call the
+ method when you want to transfer data between the data source or target and the local
+ object. If the property is , it
+ is set to after the update is completed, and the
+ event is generated.
+
+ If you want to transfer data every time new data is available without calling ,
+ use the or access modes.
+
+
+
+ The has been disposed.
+
+
+ The is not connected.
+
+
+ 6/9/2003 9:47:19 AM
+ Beth Parrott
+ True
+
+
+
+ Enables interactive browsing and selection of data sources or targets.
+
+
+ The method launches a dialog box that provides interactive browsing
+ and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
+ objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
+
+
+ The has been disposed.
+
+ Key Measurement Studio DataSocket .NET Library Features
+ 9/16/2008 10:06:11 AM
+ Measurement Studio
+ True
+
+
+
+ Enables interactive browsing and selection of data sources or targets and configures the dialog box with a specified URL.
+
+
+ String that contains the URL. If the protocol is opc:,
+ dstp:, logos:,
+ or file, or if you omit this parameter, this method opens a dialog box in which the user can
+ find and select a data source or target. You can prompt the user to create a Web or FTP
+ location with the http: or ftp: protocols. You also can use a complete URL, such
+ as dstp://localhost/wave.
+
+
+ The method launches a dialog box that provides interactive browsing
+ and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
+ objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
+
+
+
+ is
+
+
+
+ The has been disposed.
+
+ Key Measurement Studio DataSocket .NET Library Features
+ 9/16/2008 10:06:14 AM
+ Measurement Studio
+ True
+
+
+
+ Enables interactive browsing and selection of data sources or targets and configures the dialog box URL and title.
+
+
+ String that contains the URL. If the protocol is opc:,
+ dstp:, logos:,
+ or file, or if you omit this parameter, this method opens a dialog box in which the user can
+ find and select a data source or target. You can prompt the user to create a Web or FTP
+ location with the http: or ftp: protocols. You also can use a complete URL, such
+ as dstp://localhost/wave.
+
+
+ Title of the dialog box.
+
+
+ The method launches a dialog box that provides interactive browsing
+ and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
+ objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
+
+
+
+ is
+
+ -or-
+
+ is
+
+
+
+ The has been disposed.
+
+ Key Measurement Studio DataSocket .NET Library Features
+ 9/16/2008 10:06:18 AM
+ Measurement Studio
+ True
+
+
+
+ Enables interactive browsing and selection of data sources or targets and configures the dialog box URL, title, and options.
+
+
+ String that contains the URL. If the protocol is opc:,
+ dstp:, logos:,
+ or file, or if you omit this parameter, this method opens a dialog box in which the user can
+ find and select a data source or target. You can prompt the user to create a Web or FTP
+ location with the http: or ftp: protocols. You also can use a complete URL, such
+ as dstp://localhost/wave.
+
+
+ Title of the dialog box.
+
+
+ Flags that control the behavior of the dialog box.
+
+
+ The method launches a dialog box that provides interactive browsing
+ and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
+ objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
+
+
+
+ is
+
+ -or-
+
+ is
+
+
+
+ is not a member of .
+
+
+ The has been disposed.
+
+ Key Measurement Studio DataSocket .NET Library Features
+ 9/16/2008 10:06:20 AM
+ Measurement Studio
+ True
+
+
+
+ Enables interactive browsing and selection of data sources or targets and configures the dialog box URL, title, options, and filter.
+
+
+ String that contains the URL. If the protocol is opc:,
+ dstp:, logos:,
+ or file, or if you omit this parameter, this method opens a dialog box in which the user can
+ find and select a data source or target. You can prompt the user to create a Web or FTP
+ location with the http: or ftp: protocols. You also can use a complete URL, such
+ as dstp://localhost/wave.
+
+
+ Title of the dialog box.
+
+
+ Flags that control the behavior of the dialog box.
+
+
+ Filter string passed to the dialog box, as shown in the following example: DataSocket Data files (*.dsd)|*.dsd|All files (*.*)|*.*
+
+
+ The method launches a dialog box that provides interactive browsing
+ and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
+ objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
+
+
+
+ is
+
+ -or-
+
+ is
+
+ -or-
+
+ is .
+
+
+
+ is not a member of .
+
+
+ The has been disposed.
+
+ Key Measurement Studio DataSocket .NET Library Features
+ 9/16/2008 10:06:24 AM
+ Measurement Studio
+ True
+
+
+
+ Raises the event.
+
+
+ A object that contains the event data.
+
+
+ A derived class can override to handle the event without attaching a delegate. This technique is preferred for event handling in a derived class.
+
+
+ 11/21/2002 1:33:06 PM
+ Beth Parrott
+ True
+
+
+
+ Raises the event.
+
+
+ A object that contains the event
+ data.
+
+
+ A derived class can override
+ to handle the event without attaching a delegate. This technique is preferred for event handling in a derived class.
+
+
+ 11/21/2002 1:33:08 PM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets the access mode for the connection.
+
+
+ An that indicates the type
+ of data transfer connection the object
+ makes when connecting to the data source or target. The default value is
+ .
+
+
+ If you connect with the or
+
+ access mode,
+ the data is read-only. If you try to set the
+ value or attributes on a read-only object, a
+ is generated. If the
+ object is disconnected, you can set the data value
+ and attributes regardless of the access mode.
+
+
+ Value is not a member of .
+
+
+ The has been disposed.
+
+
+ The following example demonstrates how to specify the access mode when establishing
+ a connection.
+
+ Dim connection As DataSocket = New DataSocket()
+ connection.Connect("dstp://localhost/data", AccessMode.ReadAutoUpdate)
+
+
+
+
+ DataSocket connection = new DataSocket();
+ connection.Connect("dstp://localhost/data", AccessMode.ReadAutoUpdate);
+
+
+ Key Measurement Studio DataSocket .NET Library Features
+ 9/16/2008 10:06:35 AM
+ Measurement Studio
+ True
+
+
+
+ Gets the actual URL of the current data source or target.
+
+
+ The actual URL of the current data source or target.
+
+
+
+ When connected to a data source or target, the value of
+ differs from the value of the
+ property if the original URL you specify points to a link that redirects the
+ object to a new URL.
+
+
+ If the object is disconnected, the
+ property returns
+ .
+
+
+
+ The has been disposed.
+
+
+ 11/21/2002 1:32:11 PM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets a value indicating if the object connects to a data source or target
+ when the form loads.
+
+
+ if the object connects to a data source or target
+ when the form loads. The default value is .
+
+
+ The has been disposed.
+
+
+ This property is applicable only to a object that you create on a
+ Windows Form with a Windows Forms Designer.
+
+ Set the ,
+ , and
+ properties in the Visual Studio Properties window
+ at design time to automatically connect the object to the
+ data source or target when the form loads. You do not have to call
+ .
+
+
+ Like the method, this property causes the
+ object to generate the
+ event when the connection
+ is made and the event when data is
+ updated.
+
+
+
+ 6/20/2006 4:41:42 PM
+ Staci McCormick
+ True
+
+
+
+ Gets or sets the maximum number of bytes that is allowed in the
+ property buffer.
+
+
+ An integer that specifies the maximum number of bytes that is allowed in the
+ property buffer. The default value is
+ 104,857,600.
+
+
+ The has been disposed.
+
+
+ The specified value is less than 0.
+
+ 6/9/2003 9:27:43 AM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets the maximum number of packets that is allowed in the
+ property buffer.
+
+
+ An integer that specifies the maximum number of packets that is allowed in the
+ property buffer. The default value is
+ 1.
+
+
+ The has been disposed.
+
+
+ The specified value is less than 0.
+
+ 6/9/2003 9:28:07 AM
+ Beth Parrott
+ True
+
+
+
+ Gets the total number of bytes that is currently in the buffer divided by the maximum number of
+ bytes allowed in the buffer.
+
+
+ A double value between 0 and 1 that specifies the total number of bytes that is currently in the
+ buffer divided by the maximum number of bytes allowed in the buffer.
+
+
+ The has been disposed.
+
+
+ 6/9/2003 9:30:21 AM
+ Beth Parrott
+ True
+
+
+
+ Gets the total number of packets that is currently in the buffer divided by the maximum number of
+ bytes allowed in the buffer.
+
+
+ A double value between 0 and 1 that specifies the total number of packets that is currently in the
+ buffer divided by the maximum number of bytes allowed in the buffer.
+
+
+ The has been disposed.
+
+
+ 6/9/2003 9:29:58 AM
+ Beth Parrott
+ True
+
+
+
+ Gets the current status of the data connection.
+
+
+ A that specifies the status of the data
+ connection.
+
+
+
+ The value of this property is the same as the last status value passed to the
+ event.
+
+
+ If an error occurs while connecting to the data source or target, the status indicates the
+ last step attempted. The and
+ properties describe the error.
+
+
+
+ The has been disposed.
+
+
+ The following example demonstrates how to update a Windows Form StatusBar control with the
+ connection status, the last error, and the last message of a
+ connection.
+
+ Private Sub UpdateStatus(ByVal status As StatusBar, ByVal connection As DataSocket)
+ Dim output As StringBuilder = New StringBuilder()
+ output.AppendFormat("Status: {0}, ", connection.ConnectionStatus)
+ output.AppendFormat("Error: {0}, ", connection.LastError)
+ output.AppendFormat("Message: {0}", connection.LastMessage)
+ status.Text = output.ToString()
+ End Sub
+
+
+
+
+ private void UpdateStatus(StatusBar status, DataSocket connection)
+ {
+ StringBuilder output = new StringBuilder();
+ output.AppendFormat("Status: {0}, ", connection.ConnectionStatus);
+ output.AppendFormat("Error: {0}, ", connection.LastError);
+ output.AppendFormat("Message: {0}", connection.LastMessage);
+ status.Text = output.ToString();
+ }
+
+
+
+
+ 6/20/2006 4:41:45 PM
+ Staci McCormick
+ True
+
+
+
+ Gets the current value and attributes that the object received
+ from the data source or target
+ or that were set locally.
+
+
+ A that contains the data source or target and its
+ attributes.
+
+
+
+ Use this property to access the object that contains the
+ current value and attributes. Then use the methods and
+ properties to access the value or specified attributes.
+
+
+ When you connect the object to a data target with the
+ or
+ access mode, the
+ object transfers the current value and attributes to the target as
+ soon as the connection is complete. When you connect the object to
+ a data source with the or
+ access mode,
+ the object completes the connection and transfers the values.
+
+
+ Use the property or the
+ event to determine if and when the value or
+ attributes on the local object are set or changed.
+
+
+ When the object is disconnected from the previous data source or target,
+ it retains the value and attributes it last had while connected.
+
+
+
+ The has been disposed.
+
+ 6/20/2006 4:41:49 PM
+ Staci McCormick
+ True
+
+
+
+ Gets if the object is in a connected or disconnected
+ state.
+
+
+ Returns if the object is in a connected state. Returns
+ if the object is in a disconnected state.
+
+
+ The has been disposed.
+
+
+ 11/21/2002 1:32:22 PM
+ Beth Parrott
+ True
+
+
+
+ Gets a value indicating if values or attributes on the local object have changed
+ since the last data transfer.
+
+
+ if the or attributes have changed.
+ if the value or attributes are unchanged or if
+ has been queried since the last data transfer.
+
+
+ The event occurs when
+ changes from to
+ . Use this property to determine if the data value or attributes have changed since you last queried this property.
+ This property is typically useful only on a object that is configured for
+ or .
+ You can use a delegate instead of polling .
+
+
+
+ The has been disposed.
+
+
+
+ 6/20/2006 4:41:56 PM
+ Staci McCormick
+ True
+
+
+
+ Gets a value indicating if the connection status has changed or an error has occurred.
+
+
+ The property is set to when the
+ event is generated and set to
+ when the is queried.
+
+
+ The has been disposed.
+
+
+ Use this property to determine if the connection status has changed since you last queried this property. You can use a
+ instead of polling
+ .
+
+
+
+ 6/20/2006 4:41:53 PM
+ Staci McCormick
+ True
+
+
+
+ Gets the error code associated with the last
+ event.
+
+
+ 0 if no error occurred the last time
+ occurred. If an error occurred,
+ gets the error code of the error that occurred the last time
+ occurred.
+
+
+
+ Some common errors include errors caused by incorrect network configurations, insufficient
+ access privileges to connect to the data source or target, or an incorrectly formed URL.
+
+
+ To determine the task the object was performing when the
+ error occurred, check the and
+ properties.
+
+
+
+ The has been disposed.
+
+
+
+ 11/21/2002 1:32:28 PM
+ Beth Parrott
+ True
+
+
+
+ Gets the message associated with the last
+ event.
+
+
+ Describes the last error encountered or the last step taken in connecting to or updating
+ the data.
+
+
+ The has been disposed.
+
+
+
+ 11/21/2002 1:32:29 PM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets the mode that specifies how reads
+ data.
+
+
+ A that indicates if
+ raises the
+ event to notify when
+ new data arrives or if you must call
+ to poll and dequeue buffered data into the
+ property.
+
+ 6/20/2006 4:42:01 PM
+ Staci McCormick
+ True
+
+
+
+ Gets or sets the location of a data source or target.
+
+
+ A string that represents the URL of the data source or target. The default value is
+ .
+
+
+
+ The object can connect to different data sources or targets
+ based on the specified URL. The
+ property determines if the object is transferring data from a data
+ source or to a data target.
+
+
+ If the data source or target redirects the
+ object to a new URL, the
+ property is set to the new URL.
+
+
+ The following types of URLs are supported:
+
+ ProtocolExample
+ -
+ DataSocket Server (dstp:)
+
+ dstp://localhost/wave
+ dstp://machine/item
+
+
+ -
+ Standard Web server (http:)
+ http://www.ni.com/cworks/datasocket.tone.wav
+
+ -
+ Standard FTP Sites (ftp:)
+
+ ftp://ftp.ni.com/datasocket/ping.wav
+ The FTP site must allow anonymous connections.
+
+
+ -
+ Lookout/Logos objects (lookout: or logos:)
+
+ lookout://localhost/testprocess/pot1.value
+ logos://localhost/testprocess/pot1.value
+
+
+ -
+ Files directly accessible from the file system (file:)
+
+ file:ping.wav
+ file:c:/mydata/ping.wav
+ file://machine/mydata/ping.wav
+
+
+ -
+ OLE for Process Control (OPC) Servers (opc:)
+
+ opc:/National Instruments.OPCDemo/sine
+ opc:/National Instruments.OPCDemo/sine?AccessPath=sine
+ opc://machine/National Instruments.OPCModbus/Modbus Demo Box.40
+
+
+
+
+
+
+ The has been disposed.
+
+
+ Key Measurement Studio DataSocket .NET Library Features
+ 9/16/2008 10:05:55 AM
+ Measurement Studio
+ True
+
+
+
+ Occurs when the status of the connection changes.
+
+
+ This event occurs every time the connection status changes, such as when the
+ object connects to a data source or target specified by the
+ property, transfers data, or encounters an error.
+
+
+
+
+ 11/21/2002 1:32:41 PM
+ Beth Parrott
+ True
+
+
+
+ Occurs when the value or attributes of the property is
+ updated.
+
+
+
+ The object sets the
+ to immediately before this event
+ is generated.
+
+
+ In write access mode, the event occurs when data is
+ ready to send. In read access mode, the event occurs when data is received.
+ You can use the event to
+ scale, display, or process new data.
+
+
+
+
+ 11/21/2002 1:32:44 PM
+ Beth Parrott
+ True
+
+
+
+ Contains the name of a attribute and its associated
+ data.
+
+
+
+ Attributes provide information such as the time the value was calculated or acquired, the units in which the value is expressed, the equipment used to generate the value, or any other properties that you want to define.
+
+ Use the object when you iterate through the
+ of a
+ object.
+
+
+ The following example iterates through the attributes of a object
+ and displays each and
+ value.
+
+ Private Sub ShowDataSocketAttributes(ByVal data As DataSocketData)
+ Console.WriteLine("DataSocket Data Attributes")
+ Dim attr As DataSocketAttribute
+ For Each attr In data.Attributes
+ Console.WriteLine("{0}: {1}", attr.Name, attr.Data.Value.ToString())
+ Next
+ End Sub
+
+
+
+
+ private void ShowDataSocketAttributes(DataSocketData data)
+ {
+ Console.WriteLine("DataSocket Data Attributes");
+ foreach (DataSocketAttribute attr in data.Attributes)
+ Console.WriteLine("{0}: {1}", attr.Name, attr.Data.Value.ToString());
+ }
+
+
+
+ 11/21/2002 1:33:10 PM
+ Beth Parrott
+ True
+
+
+
+ Overrides .
+
+ Returns a string representation of the object.
+ 10/30/2002 11:44:10 AM
+ Beth Parrott
+ True
+
+
+
+ Gets the name of the object.
+
+
+ A string value that represents the name of the associated data.
+
+ 11/21/2002 1:33:13 PM
+ Beth Parrott
+ True
+
+
+
+ Gets the data of the object.
+
+
+ A that represents the attribute data.
+
+ 6/20/2006 4:42:07 PM
+ Staci McCormick
+ True
+
+
+
+ Encapsulates the collection of the attributes of a
+ object.
+
+
+
+ Each attribute consists of a string name and a value.
+
+
+ 11/21/2002 1:34:22 PM
+ Beth Parrott
+ True
+
+
+ Overrides .
+ Returns a string representation of the object.
+ 10/30/2002 12:10:36 PM
+ Beth Parrott
+ True
+
+
+
+ Gets the names of the attributes that are associated with the object.
+
+ An array of strings that indicate the names of the attributes that are associated with
+ the object.
+ 6/9/2003 10:24:14 AM
+ Beth Parrott
+ True
+
+
+
+ Creates an attribute of a object.
+
+
+ The name of the attribute to add.
+
+
+ The value of the attribute.
+
+
+ The object that represents
+ the value of the added attribute.
+
+
+ is .
+
+
+ An element with the same key already exists in the collection.
+
+
+ is a data type that is not supported by .
+
+ 6/9/2003 9:47:57 AM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:19 PM
+ Measurement Studio
+ True
+
+
+ Removes all items from the collection.
+ 10/30/2002 12:10:54 PM
+ Beth Parrott
+ True
+
+
+ Returns if the specified attribute is in the collection.
+ The name of the item to locate in the collection.
+
+ Returns if the collection contains .
+
+
+ is .
+
+ 6/9/2003 9:48:09 AM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:20 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:19 PM
+ Measurement Studio
+ True
+
+
+ Returns an enumerator that you can use to iterate through the collection.
+ Enumerator for the collection.
+
+ For a detailed explanation of this method, refer to in the Microsoft
+ .NET Framework documentation.
+
+ 10/30/2002 12:11:08 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:20 PM
+ Measurement Studio
+ True
+
+
+
+ Removes the first occurrence of the specified attribute from the collection.
+
+
+ The name of the attribute to remove from the collection.
+
+
+ is .
+
+
+ An attribute with the specified name was not found in the collection.
+
+ 6/9/2003 9:48:21 AM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:23 PM
+ Measurement Studio
+ True
+
+
+
+ Gets the attribute in the collection with the specified name. In Visual C#, this
+ property is the indexer.
+
+
+ The of the attribute
+ with the specified name.
+
+
+ The specified attribute name is .
+
+
+ There is no attribute in the collection with the specified range.
+
+ 6/20/2006 4:42:12 PM
+ Staci McCormick
+ True
+
+
+
+ 1/23/2009 4:54:17 PM
+ Measurement Studio
+ True
+
+
+
+ Gets the number of elements in the collection.
+
+
+ The number of elements contained in the collection.
+
+ 11/21/2002 1:34:30 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:41 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:16 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:14 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:17 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:14 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:18 PM
+ Measurement Studio
+ True
+
+
+
+ Represents a data source or target that you can bind to a property of a control.
+
+
+
+ External data sources and targets might be
+ on HTTP, FTP, OPC, DSTP, or file servers located anywhere on the Internet.
+
+
+ The object uses National Instruments DataSocket
+ technology to connect to data sources and targets and share live measurements over the
+ Internet.
+ To expose a data source or target as a binding to a Windows Forms control,
+ add a object to the
+ of a object.
+
+
+ You must call when you finish using a
+ object.
+
+
+
+
+
+ 1/22/2013 1:43:10 PM
+ National Instruments
+ True
+
+
+
+ Initializes a new instance of .
+
+ 10/30/2002 11:46:05 AM
+ Beth Parrott
+ True
+
+
+
+ Overrides .
+
+
+ A string representation of the object.
+
+
+ The has been disposed.
+
+ 6/9/2003 10:03:11 AM
+ Beth Parrott
+ True
+
+
+
+ Releases all resources used by the
+ object.
+
+ 11/21/2002 1:33:21 PM
+ Beth Parrott
+ True
+
+
+
+ Releases the resources used by the object.
+
+
+ If , this method releases managed and unmanaged resources. If , this method
+ releases only unmanaged resources.
+
+
+
+ The public method and the finalizer call this method. The public
+ method invokes the protected Dispose(Boolean) method with
+ set to . The finalizer invokes the protected Dispose(Boolean) method
+ with set to
+ .
+
+
+ When you set the parameter to , this method releases all
+ resources held by managed objects that the object
+ references. This method invokes the method of each referenced object.
+
+
+ 11/21/2002 1:33:23 PM
+ Beth Parrott
+ True
+
+
+
+ Finalizes the instance of the object.
+
+ 10/30/2002 11:44:16 AM
+ Beth Parrott
+ True
+
+
+
+ Connects the object to a data source or target.
+
+
+
+ The method establishes the
+ connection with the current values of the
+ and the
+ properties.
+
+
+ The object creates the connection asynchronously.
+ You must return
+ control to the application message loop after you create the connection and before you
+ perform data transfers on data
+ or attributes. You can check the
+ property to determine if the connection is established.
+
+
+ When connecting to a data source in a read access mode,
+ the object updates the data after the connection is
+ completed. When connecting to a data target in a write access mode, the
+ object transfers the data when the connection is
+ made. If you connect in an automatic update mode, the
+ object automatically transfers data when
+ new data is available.
+
+
+ If you connect a reading client to a
+ object that does not exist, the server creates the item with a default value of 0.
+
+
+
+ The has been disposed.
+
+
+ 11/21/2002 1:33:51 PM
+ Beth Parrott
+ True
+
+
+
+ Connects the object to the specified data source or target.
+
+
+ Location of the data source or target to which the
+ must connect.
+
+
+
+ The method sets the
+ property to the value of the
+ parameter. The method uses the current value of
+ to establish the connection.
+
+
+ The object creates the connection asynchronously.
+ You must return
+ control to the application message loop after you create the connection and before you
+ perform data transfers on data
+ or attributes. You can check the
+ property to determine if the connection is established.
+
+
+ When connecting to a data source in a read access mode,
+ the object updates the data after the connection is
+ completed. When connecting to a data target in a write access mode, the
+ object transfers the data when the connection is
+ made. If you connect in an automatic update mode, the
+ object automatically transfers data when
+ new data is available.
+
+
+ If you connect a reading client to a
+ object that does not exist, the server creates the item with a default value of 0.
+
+
+
+ is .
+
+
+ The has been disposed.
+
+
+ 11/21/2002 1:33:53 PM
+ Beth Parrott
+ True
+
+
+
+ Connects the object to the specified data source or target with the
+ specified access mode.
+
+
+ Location of the data source or target to which the
+ object must connect.
+
+
+ An value that specifies the type of connection the
+ object makes when it connects to the data source or
+ target.
+
+
+
+ The method sets the
+ and
+ properties to the values of the
+ and parameters.
+
+
+ The object creates the connection asynchronously.
+ You must return
+ control to the application message loop after you create the connection and before you
+ perform data transfers on data
+ or attributes. You can check the
+ property to determine if the connection is established.
+
+
+ When connecting to a data source in a read access mode,
+ the object updates the data after the connection is
+ completed. When connecting to a data target in a write access mode, the
+ object transfers the data when the connection is
+ made. If you connect in an automatic update mode, the
+ object automatically transfers data when
+ new data is available.
+
+
+ If you connect a reading client to a
+ object that does not exist, the server creates the item with a default value of 0.
+
+
+
+ is .
+
+
+ is not a member of .
+
+
+ The has been disposed.
+
+ 11/21/2002 1:33:55 PM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified timeout.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+
+ The method establishes the
+ connection with the current values of the
+ and the
+ properties.
+
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 10:18:00 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified .
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+
+ The method establishes the
+ connection with the current values of the
+ and the
+ properties.
+
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 10:20:43 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified URL and timeout.
+
+
+ Location of the data source or target to which the
+ must connect.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+
+ The method sets the
+ property to the value of the
+ parameter. The method uses the current value of
+ to establish the connection.
+
+
+
+ The has been disposed.
+
+
+ is .
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 10:19:51 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified URL and .
+
+
+ Location of the data source or target to which the
+ must connect.
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+
+ The method sets the
+ property to the value of the
+ parameter. The method uses the current value of
+ to establish the connection.
+
+
+
+ The has been disposed.
+
+
+ is .
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 10:20:17 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified URL, access mode, and timeout.
+
+
+ Location of the data source or target to which the
+ must connect.
+
+
+ An value that specifies the type of connection the
+ object makes when it connects to the data source or
+ target.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+
+ The method sets the
+ and
+ properties to the values of the
+ and parameters.
+
+
+
+ The has been disposed.
+
+
+ is .
+
+
+ is not a member of .
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 10:18:41 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified URL, access mode, and .
+
+
+ Location of the data source or target to which the
+ must connect.
+
+
+ An value that specifies the type of connection the
+ object makes when it connects to the data source or
+ target.
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+
+ The method sets the
+ and
+ properties to the values of the
+ and parameters.
+
+
+
+ The has been disposed.
+
+
+ is .
+
+
+ is not a member of .
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 10:19:16 AM
+ Beth Parrott
+ True
+
+
+
+ Disconnects the object from the data source or target to which it is
+ currently connected.
+
+
+ The value of and its attributes remain
+ unchanged when the object is disconnected.
+
+ has no effect if the
+ object is not connected.
+
+
+
+ The has been disposed.
+
+
+ 11/21/2002 1:33:56 PM
+ Beth Parrott
+ True
+
+
+
+ Synchronously disconnects the object from
+ the data source or target to which it is currently connected using the specified timeout.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+
+ The value of the property and its attributes
+ remain unchanged when the object is disconnected.
+
+
+ has no effect if the
+ object is already disconnected.
+
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 10:23:23 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously disconnects the object from
+ the data source or target to which it is currently connected using the specified .
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+
+ The value of the property and its attributes
+ remain unchanged when the object is already disconnected.
+
+
+ has no effect if the
+ object is disconnected.
+
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 10:23:32 AM
+ Beth Parrott
+ True
+
+
+
+ Initiates a write to the server with the specified data and timeout.
+
+
+ The data to write to the server.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+ initiates a write to the server
+ and then waits for the amount of time specified by for the server
+ to acknowledge that the write was successful.
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 10:22:43 AM
+ Beth Parrott
+ True
+
+
+
+ Initiates a write to the server with the specified data and .
+
+
+ The data to write to the server.
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+ initiates a write to the server
+ and then waits for the amount of time specified by for the server
+ to acknowledge that the write was successful.
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 10:23:12 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously polls the client-side buffer for unprocessed values using the specified timeout.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+ is used in synchronous read mode
+ to poll the client-side buffer for any unprocessed values. If the buffer contains
+ unprocessed data, the next value is dequeued into the
+ property and the return value is
+ . If the buffer contains no new values,
+ will wait for the specified timeout
+ interval for a new value to arrive.
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 10:21:55 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously polls the client-side buffer for unprocessed values using the specified .
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+ is used in synchronous read mode
+ to poll the client-side buffer for any unprocessed values. If the buffer contains
+ unprocessed data, the next value is dequeued into the
+ property and the return value is
+ . If the buffer contains no new values,
+ will wait for the specified timeout
+ interval for a new value to arrive.
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 10:22:12 AM
+ Beth Parrott
+ True
+
+
+
+ Causes the object to transfer data from a data source or to
+ a data target.
+
+
+
+ Use the property to determine if
+ transfers data from a data source or to a data target.
+
+
+ When using the or access mode, call the
+ method when you want transfer data between the data source or target
+ and the local object.
+ If you want to
+ transfer data every time new data is available without calling , use the
+ or access modes.
+
+
+
+ The has been disposed.
+
+
+ The is not connected.
+
+
+ 6/9/2003 10:03:35 AM
+ Beth Parrott
+ True
+
+
+
+ Enables interactive browsing and selection of data sources or targets.
+
+
+ The method launches a dialog box that provides interactive browsing
+ and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
+ objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
+
+
+ The has been disposed.
+
+ 11/21/2002 1:34:00 PM
+ Beth Parrott
+ True
+
+
+
+ Enables interactive browsing and selection of data sources or targets and configures the dialog box with a specified URL.
+
+
+ String that contains the URL. If the protocol is opc:,
+ dstp:, logos:,
+ or file, or if you omit this parameter, this method opens a dialog box in which the user can
+ find and select a data source or target. You can prompt the user to create a Web or FTP
+ location with the http: or ftp: protocols. You also can use a complete URL, such
+ as dstp://localhost/wave.
+
+
+ The method launches a dialog box that provides interactive browsing
+ and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
+ objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
+
+
+
+ is
+
+
+
+ The has been disposed.
+
+ 11/21/2002 1:34:01 PM
+ Beth Parrott
+ True
+
+
+
+ Enables interactive browsing and selection of data sources or targets and configures the dialog box URL and title.
+
+
+ String that contains the URL. If the protocol is opc:,
+ dstp:, logos:,
+ or file, or if you omit this parameter, this method opens a dialog box in which the user can
+ find and select a data source or target. You can prompt the user to create a Web or FTP
+ location with the http: or ftp: protocols. You also can use a complete URL, such
+ as dstp://localhost/wave.
+
+
+ Title of the dialog box.
+
+
+ The method launches a dialog box that provides interactive browsing
+ and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
+ objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
+
+
+
+ is
+
+ -or-
+
+ is
+
+
+
+ The has been disposed.
+
+ 11/21/2002 1:34:03 PM
+ Beth Parrott
+ True
+
+
+
+ Enables interactive browsing and selection of data sources or targets and configures the dialog box URL, title, and options.
+
+
+ String that contains the URL. If the protocol is opc:,
+ dstp:, logos:,
+ or file, or if you omit this parameter, this method opens a dialog box in which the user can
+ find and select a data source or target. You can prompt the user to create a Web or FTP
+ location with the http: or ftp: protocols. You also can use a complete URL, such
+ as dstp://localhost/wave.
+
+
+ Title of the dialog box.
+
+
+ Flags that control the behavior of the dialog box.
+
+
+ The method launches a dialog box that provides interactive browsing
+ and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
+ objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
+
+
+
+ is
+
+ -or-
+
+ is
+
+
+
+ is not a member of .
+
+
+ The has been disposed.
+
+ 11/21/2002 1:34:05 PM
+ Beth Parrott
+ True
+
+
+
+ Enables interactive browsing and selection of data sources or targets and configures the dialog box URL, title, options, and filter.
+
+
+ String that contains the URL. If the protocol is opc:,
+ dstp:, logos:,
+ or file, or if you omit this parameter, this method opens a dialog box in which the user can
+ find and select a data source or target. You can prompt the user to create a Web or FTP
+ location with the http: or ftp: protocols. You also can use a complete URL, such
+ as dstp://localhost/wave.
+
+
+ Title of the dialog box.
+
+
+ Flags that control the behavior of the dialog box.
+
+
+ Filter string passed to the dialog box, as shown in the following example: DataSocket Data files (*.dsd)|*.dsd|All files (*.*)|*.*
+
+
+ The method launches a dialog box that provides interactive browsing
+ and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
+ objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
+
+
+
+ is
+
+ -or-
+
+ is
+
+ -or-
+
+ is .
+
+
+
+ is not a member of .
+
+
+ The has been disposed.
+
+ 11/21/2002 1:34:07 PM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets the access mode for the connection.
+
+
+ An that indicates the type of data transfer
+ connection the object makes when connecting to the
+ data source or target. The default value is .
+
+
+ The value is not a member of .
+
+
+ The has been disposed.
+
+
+ If you connect with the or
+
+ access mode,
+ the data is read-only. If you try to set the
+ value or attributes on a read-only object, a
+ is generated. If the
+ object is disconnected, you can set the data value
+ and attributes regardless of the access mode.
+
+ 6/20/2006 4:42:20 PM
+ Staci McCormick
+ True
+
+
+
+ Gets or sets the name of the binding.
+
+
+ A string value that indicates the name of the binding. The default value is .
+
+
+ The has been disposed.
+
+
+ When you bind a data source or target to a Windows Forms control,
+ the value of identifies the binding. You can select the Windows Forms control in
+ the Windows Forms Designer, navigate to the property in the Properties window, locate the property you want to bind to a
+ data source or target, and select from the list of
+ available bindings.
+
+ 11/5/2008 10:39:50 AM
+ Measurement Studio
+ True
+
+
+
+ Gets the actual URL of the current data source or target.
+
+
+ The actual URL of the current data source or target.
+
+
+
+ When connected to a data source or target, the value of
+ differs from the value of
+ property if the URL you specify points to
+ a link that redirects the object to a new URL.
+
+
+ If the object is disconnected, the
+ property returns
+ .
+
+
+
+ The has been disposed.
+
+
+ 11/21/2002 1:33:29 PM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets the maximum number of bytes that is allowed in the
+ property buffer.
+
+
+ An integer that specifies the maximum number of bytes that is allowed in the
+ property buffer. The default value is
+ 104,857,600.
+
+
+ The has been disposed.
+
+
+ The specified value is less than 0.
+
+ 6/9/2003 9:50:20 AM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets the maximum number of packets that is allowed in the
+ property buffer.
+
+
+ An integer that specifies the maximum number of packets that is allowed in the
+ property buffer. The default value is
+ 1.
+
+
+ The has been disposed.
+
+
+ The specified value is less than 0.
+
+ 6/9/2003 9:50:34 AM
+ Beth Parrott
+ True
+
+
+
+ Gets the total number of bytes that is currently in the buffer divided by the maximum number of
+ bytes allowed in the buffer.
+
+
+ A double value between 0 and 1 that specifies the total number of bytes that is currently in the
+ buffer divided by the maximum number of bytes allowed in the buffer.
+
+
+ The has been disposed.
+
+
+ 6/9/2003 9:51:26 AM
+ Beth Parrott
+ True
+
+
+
+ Gets the total number of packets that is currently in the buffer divided by the maximum number of
+ bytes allowed in the buffer.
+
+
+ A double value between 0 and 1 that specifies the total number of packets that is currently in the
+ buffer divided by the maximum number of bytes allowed in the buffer.
+
+
+ The has been disposed.
+
+
+ 6/9/2003 9:51:47 AM
+ Beth Parrott
+ True
+
+
+
+ Gets the current status of the data connection.
+
+
+ A that specifies the status of the data
+ connection.
+
+
+
+ If an error is encountered while connecting to the data source or target, the status indicates the
+ last step attempted. The and
+ properties describe the error.
+
+
+
+ The has been disposed.
+
+
+ 6/20/2006 4:42:24 PM
+ Staci McCormick
+ True
+
+
+
+ Gets a value indicating if the object is in a connected or disconnected
+ state.
+
+
+ Returns if the object is in a connected state. Returns
+ if the object is in a disconnected state.
+
+
+ The has been disposed.
+
+
+ 6/20/2006 4:42:35 PM
+ Staci McCormick
+ True
+
+
+
+ Gets the error code associated with the last binding connection.
+
+
+ 0 if no error occurred while the binding connection was established. If an error occurred, gets the error
+ code of the error that occurred while the binding connection was established.
+
+
+
+ Some common errors include errors caused by incorrect network configurations, insufficient
+ access privileges to connect to the data source or target, or an incorrectly formed URL.
+
+
+ To determine the task the object was performing when the
+ error occurred, check the and
+ properties.
+
+
+
+ The has been disposed.
+
+
+ 11/21/2002 1:33:34 PM
+ Beth Parrott
+ True
+
+
+
+ Gets the message associated with the last the binding connection.
+
+
+ Describes the last error that occurred or the last step taken in connecting to or updating
+ the data.
+
+
+ The has been disposed.
+
+
+ 11/21/2002 1:33:46 PM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets the mode that specifies how reads
+ data.
+
+
+ A that indicates if
+ notifies when
+ new data arrives or if you must call
+ to poll and dequeue buffered data into the
+ property.
+
+ 9/17/2009 4:46:41 PM
+ Measurement Studio
+ True
+
+
+
+ Gets or sets the location of the data source or target to which the
+ object is connecting.
+
+
+ A string that represents the URL of the data source or target. The default value is .
+
+
+
+ The object can connect to different data sources or targets
+ according to the URL specified. The
+ property determines if the object is transferring data from a data
+ source or to a data target.
+
+
+ If the data source or target pointed to by the URL redirects the
+ to a new URL, the
+ property is set to the new URL.
+
+
+ The following types of URLs are supported:
+
+ ProtocolExample
+ -
+ DataSocket Server (dstp:)
+
+ dstp://localhost/wave
+ dstp://machine/item
+
+
+ -
+ Standard Web server (http:)
+ http://www.ni.com/cworks/datasocket.tone.wav
+
+ -
+ Standard FTP Sites (ftp:)
+
+ ftp://ftp.ni.com/datasocket/ping.wav
+ The FTP site must allow anonymous connections.
+
+
+ -
+ Lookout/Logos objects (lookout: or logos:)
+
+ lookout://localhost/testprocess/pot1.value
+ logos://localhost/testprocess/pot1.value
+
+
+ -
+ Files directly accessible from the file system (file:)
+
+ file:ping.wav
+ file:c:/mydata/ping.wav
+ file://machine/mydata/ping.wav
+
+
+ -
+ OLE for Process Control (OPC) Servers (opc:)
+
+ opc:/National Instruments.OPCDemo/sine
+ opc:/National Instruments.OPCDemo/sine?AccessPath=sine
+ opc://machine/National Instruments.OPCModbus/Modbus Demo Box.40
+
+
+
+
+
+
+ The has been disposed.
+
+
+ 11/20/2002 6:25:04 PM
+ Beth Parrott
+ True
+
+
+
+ Gets the current value and attributes that the
+ object received from the data source or target or
+ that have been set locally.
+
+
+ A that contains the data source or target and its
+ attributes.
+
+
+ The has been disposed.
+
+ 6/20/2006 4:42:31 PM
+ Staci McCormick
+ True
+
+
+
+ Represents a strongly-typed collection of objects.
+
+
+ 11/21/2002 1:35:19 PM
+ Beth Parrott
+ True
+
+
+ Overrides .
+ Returns a string representation of the object.
+ 10/30/2002 12:08:53 PM
+ Beth Parrott
+ True
+
+
+
+ Adds an item to the end of the collection.
+
+
+ Item to add to the collection.
+
+
+ The array index of the added item.
+
+
+ is .
+
+ 11/21/2002 1:35:25 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:27 PM
+ Measurement Studio
+ True
+
+
+
+ Adds an array of objects to the end of the collection.
+
+
+ Array of objects to add to the collection.
+
+
+ is .
+
+ 11/21/2002 1:35:27 PM
+ Beth Parrott
+ True
+
+
+
+ Adds a collection of objects to the end of the collection.
+
+
+ Collection of objects to add to the collection.
+
+
+ is .
+
+ 10/30/2002 12:08:11 PM
+ Beth Parrott
+ True
+
+
+ Removes all items from the collection.
+ 10/30/2002 12:08:20 PM
+ Beth Parrott
+ True
+
+
+
+ Returns if the specified element is in the collection.
+
+
+ Item to locate in the collection.
+
+
+ Returns if the collection contains .
+
+ 10/30/2002 12:08:22 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:28 PM
+ Measurement Studio
+ True
+
+
+ Copies the collection to an array or a portion of an array.
+ Destination array for the collection.
+ Index in the target array at which you want to begin copying the collection to.
+
+
+ is multidimensional.
+
+
+ - or -
+
+
+ is greater than or equal to the array length.
+
+
+ - or -
+
+
+ The number of elements in the collection is greater than the available space between
+ and the end of .
+
+
+
+ is .
+
+
+ is less than zero.
+
+ 10/30/2002 12:08:24 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:27 PM
+ Measurement Studio
+ True
+
+
+
+ Returns the zero-based index of the first occurrence of an item in the collection.
+
+ Item to search for.
+ Index of the item. If the item is not found, returns -1.
+ 11/21/2002 1:35:31 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:28 PM
+ Measurement Studio
+ True
+
+
+ Inserts an item into the collection at the specified index.
+ Index to insert the item at.
+ Item to insert into the collection.
+
+ is not a valid index in the .
+
+
+ is .
+
+
+ The list elements after the removed element shift up to occupy the vacated spot. Because the list elements
+ are indexed, the indexes of the shifted elements also are updated.
+
+ 11/21/2002 1:35:33 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:29 PM
+ Measurement Studio
+ True
+
+
+ Returns an enumerator that you can use to iterate through the collection.
+ Enumerator for the collection.
+
+ For a detailed explanation of this method, refer to in the Microsoft
+ .NET Framework documentation.
+
+ 10/30/2002 12:08:27 PM
+ Beth Parrott
+ True
+
+
+ Removes the first occurrence of the specified item.
+ Item to remove from the collection.
+
+ The list elements after the removed element shift up to occupy the vacated spot. Because the list elements
+ are indexed, the indexes of the shifted elements also are updated.
+
+ 11/21/2002 1:35:35 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:29 PM
+ Measurement Studio
+ True
+
+
+ Removes the item at the specified index.
+ Zero-based index of the item to remove.
+
+ is not a valid index in the .
+
+
+ The list elements after the removed element shift up to occupy the vacated spot. Because the list elements
+ are indexed, the indexes of the shifted elements also are updated.
+
+ 11/21/2002 1:35:37 PM
+ Beth Parrott
+ True
+
+
+ Gets or sets the at the specified index. In Visual C#, this property is the indexer.
+
+ The object at the specified index.
+
+
+ The zero-based index of the entry to locate in the collection.
+
+
+ is outside the valid range of indexes for the collection.
+
+
+ is .
+
+ 5/30/2003 5:17:17 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:26 PM
+ Measurement Studio
+ True
+
+
+ Gets an entry in the collection with the specified name. In Visual C#, this property is the indexer.
+
+ The object with the specified binding
+ name.
+
+
+ Name of the entry to find in the collection.
+
+
+ The binding with the specified name was not found in the collection.
+
+
+ is .
+
+ 1/10/2003 4:09:51 PM
+ Beth Parrott
+ True
+
+
+
+ Gets the number of elements in the collection.
+
+
+ The number of elements contained in the collection.
+
+ 11/21/2002 1:35:29 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:23 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:25 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:25 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:24 PM
+ Measurement Studio
+ True
+
+
+
+ Contains the value and attributes associated with the value.
+
+
+
+
+ The object encapsulates the data obtained from
+ or passed to a object.
+ The object also encapsulates the data attributes.
+
+
+ The object supports the following data types:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+
+
+
+ You must call when you finish using a
+ object.
+
+
+ 11/21/2002 1:34:11 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of .
+
+
+ 10/30/2002 11:42:42 AM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:30 PM
+ Measurement Studio
+ True
+
+
+
+ Overrides .
+
+ Returns a string representation of the object.
+ 10/30/2002 12:01:28 PM
+ Beth Parrott
+ True
+
+
+
+ Releases all resources used by the object.
+
+ 10/14/2009 9:29:15 AM
+ Staci Heien
+ True
+
+
+
+ Releases all resources used by the object.
+
+ 1/10/2003 4:09:12 PM
+ Beth Parrott
+ True
+
+
+
+ Releases the unmanaged resources used by the object and
+ optionally releases the managed resources.
+
+
+ If , releases both managed and unmanaged resources. If , only releases
+ unmanaged resources.
+
+
+
+ The public method and the finalizer call this method. The public
+ method invokes the protected Dispose(Boolean) method with
+ set to . The finalizer invokes the protected Dispose(Boolean) method
+ with set to
+ .
+
+
+ When you set the parameter to , this method releases all
+ resources held by managed objects that the object
+ references. This method invokes the method of each referenced object.
+
+
+ 11/21/2002 9:33:09 AM
+ Beth Parrott
+ False
+
+
+ Finalizes the instance of the object.
+ 10/30/2002 12:00:52 PM
+ Beth Parrott
+ True
+
+
+
+ Clears the property and
+ all attributes.
+
+
+ This method sets the property to 0 and removes all attributes of the object.
+
+
+ 11/21/2002 1:34:18 PM
+ Beth Parrott
+ True
+
+
+
+ Gets a value indicating if the object has been disposed.
+
+
+ if has been
+ called on the object. if
+ has not been called
+ on the object.
+
+ 6/20/2006 4:42:45 PM
+ Staci McCormick
+ True
+
+
+
+ Gets a list of attributes that are associated with the data.
+
+
+ A collection of values
+ that are associated with the data.
+
+ 10/30/2002 12:00:56 PM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets the value of the object.
+
+
+ The value of the local object. The default value is 0.
+
+
+ Get this property to obtain the value of the local object. If the
+ object belongs to a
+ object that is
+ configured for , the
+ object transfers the data from the data source to the local object when the value of the data
+ source is updated. Query the property to determine if the local
+ object has been updated. If the object belongs to a object
+ that is configured for , you must call
+ to transfer data from the data source to the local object.
+ Set this property to specify the value of the local
+ object. If the object belongs to a
+ object that is configured for ,
+ the object transfers data from the local
+ object when you set this property. If the
+ object belongs to a
+ object that
+ is configured for , you must call
+ to transfer data from the local object to the data target.
+
+
+
+
+ 11/21/2002 1:34:20 PM
+ Beth Parrott
+ True
+
+
+ Represents the exception that is thrown when a
+ error occurs.
+
+
+ 10/30/2002 12:01:36 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of .
+
+ 11/21/2002 1:34:32 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of
+ with the specified error message.
+
+
+ The error message that explains the cause of the exception.
+
+ 10/30/2002 12:01:47 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of
+ with the specified error message and a reference to the inner exception that is the
+ cause of the exception.
+
+
+ The error message that explains the cause of the exception.
+
+
+ The exception that caused this exception.
+
+ 11/21/2002 1:34:34 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of with serialized data.
+
+
+ The object that holds the serialized object data.
+
+
+ The contextual information about the source or destination of a serialized stream.
+
+ 10/30/2002 12:01:42 PM
+ Beth Parrott
+ True
+
+
+ Overrides .
+ Returns a string representation of the object.
+ 10/30/2002 12:01:51 PM
+ Beth Parrott
+ True
+
+
+
+ Encapsulates the interface to the National Instruments DataSocket Server.
+
+
+
+
+ Use this class to run the DataSocket Server on the local machine. You must run the DataSocket Server on the machine on which you
+ want to host DSTP data sources and targets.
+
+
+ You must call when you finish using a
+ object. If you add this object to a Windows form with the Windows
+ Forms Designer, the form calls automatically.
+
+
+ 11/21/2002 1:34:37 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of .
+
+ 10/30/2002 12:07:36 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of
+ with the specified container.
+
+
+ that represents the object container.
+
+
+ 10/30/2002 12:07:44 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of with the specified
+ auto-start value.
+
+
+ Specifies if the server automatically starts when the object is constructed.
+
+
+ When you use this constructor, the object automatically
+ shuts down when the object is disposed.
+
+ The DataSocket Server is not installed.
+
+
+ 10/30/2002 12:07:41 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of with the specified auto-start and
+ auto-shutdown values.
+
+
+ Specifies if the server automatically starts when the object is constructed.
+
+
+ Specifies if the server automatically shuts down when the object is disposed.
+
+
+ The DataSocket Server is not installed.
+
+
+ 10/30/2002 12:07:43 PM
+ Beth Parrott
+ True
+
+
+
+ Overrides .
+
+
+ A string representation of the object.
+
+
+ The has been disposed.
+
+ 6/9/2003 10:09:24 AM
+ Beth Parrott
+ True
+
+
+
+ Releases the resources used by object.
+
+
+ If , this method releases managed and unmanaged resources. If , this method
+ releases only unmanaged resources.
+
+
+
+ The public method and the finalizer call this method. The public
+ method invokes the protected Dispose(Boolean) method with
+ set to . The finalizer invokes the protected Dispose(Boolean) method
+ with set to
+ .
+
+
+ When you set the parameter to , this method releases all
+ resources held by managed objects that the object
+ references. This method invokes the method of each referenced object.
+
+
+ 11/21/2002 1:34:39 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:30 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:31 PM
+ Measurement Studio
+ True
+
+
+
+ Launches the local DataSocket Server.
+
+
+ The has been disposed.
+
+ 10/30/2002 12:08:02 PM
+ Beth Parrott
+ True
+
+
+
+ Displays the local DataSocket Server.
+
+
+ If the DataSocket Server is not already running and you call ,
+ the DataSocket Server automatically starts.
+
+
+ The has been disposed.
+
+ 6/9/2003 10:31:37 AM
+ Beth Parrott
+ True
+
+
+
+ Hides the local DataSocket Server.
+
+
+ The has been disposed.
+
+
+ If the DataSocket Server is not already running and you call ,
+ the DataSocket Server automatically starts.
+
+ The DataSocket Server is accessible from the Windows taskbar status area regardless of if it is hidden.
+
+
+ 6/9/2003 10:31:21 AM
+ Beth Parrott
+ True
+
+
+
+ Shuts down the local DataSocket Server.
+
+
+ The has been disposed.
+
+ 10/30/2002 12:08:00 PM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets a value indicating if the DataSocket Server automatically starts when the form loads.
+
+
+ if the DataSocket Server automatically starts when the form loads. The default value is .
+
+
+ The has been disposed.
+
+
+ If the value of this property is , you must call to launch the DataSocket Server.
+
+ This property is applicable only to objects that you create on
+ a Windows Form with the Windows Forms Designer.
+
+ 6/20/2006 4:42:53 PM
+ Staci McCormick
+ True
+
+
+
+ Gets or sets a value indicating if the DataSocket Server automatically shuts down when the object is disposed.
+
+
+ if the server automatically shuts down when the object is disposed. The default value is
+ .
+
+
+ The has been disposed.
+
+ 6/20/2006 4:42:49 PM
+ Staci McCormick
+ True
+
+
+
+ Gets a value indicating if the DataSocket Server is running.
+
+
+ if the DataSocket Server is running.
+
+
+ The has been disposed.
+
+ 6/20/2006 4:42:57 PM
+ Staci McCormick
+ True
+
+
+
+ Exposes data sources or targets as a bindable data items that you can bind to properties of Windows Forms controls.
+
+
+
+ Complete the following steps to bind data sources or targets to a Windows Forms control:
+
+ -
+
+ From the Toolbox, drag a object onto a designer, such as the Windows
+ Forms Designer. Because the object does not have a user interface, it is added to the component
+ tray below the form.
+
+
+ -
+
+ In the Properties window, launch the collection editor for the property.
+ Add a binding and specify a unique name and URL for the binding.
+
+
+ -
+
+ Click OK to accept the binding item and close the collection editor.
+
+
+ -
+
+ Select a Windows Forms control in the designer, navigate to the property in the Properties window, locate the property
+ you want to bind to a data source or target, and select the name of the binding you added
+ to the collection.
+
+
+
+
+ You must call when you finish using a
+ object. If you add this object to a Windows form with the Windows
+ Forms Designer, the form calls automatically.
+
+
+
+ 11/5/2008 10:39:09 AM
+ Measurement Studio
+ True
+
+
+
+ Initializes a new instance of .
+
+ 10/30/2002 12:09:03 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of the class
+ with the specified container.
+
+
+ that represents the object container.
+
+ 10/30/2002 12:09:05 PM
+ Beth Parrott
+ True
+
+
+
+ Overrides .
+
+
+ A string representation of the object.
+
+
+ The has been disposed.
+
+ 6/9/2003 10:12:10 AM
+ Beth Parrott
+ True
+
+
+
+ Releases the resources used by object.
+
+
+ If , this method releases managed and unmanaged resources. If , this method releases
+ only unmanaged resources.
+
+
+
+ The public method and the finalizer call this method. The public
+ method invokes the protected Dispose(Boolean) method with
+ set to . The finalizer invokes the protected Dispose(Boolean) method
+ with set to
+ .
+
+
+ When you set the parameter to , this method releases all
+ resources held by managed objects that the object
+ references. This method invokes the method of each referenced object.
+
+
+ 11/21/2002 1:34:57 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:59 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:59 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:58 PM
+ Measurement Studio
+ True
+
+
+
+ Calls the method on all
+ objects in the
+
+ collection.
+
+
+ The has been disposed.
+
+ 6/9/2003 10:12:44 AM
+ Beth Parrott
+ True
+
+
+
+ Calls the method on all
+ objects in the
+ collection.
+
+
+ The has been disposed.
+
+ 6/9/2003 10:12:39 AM
+ Beth Parrott
+ True
+
+
+
+ Calls the method on all
+ objects in the
+ collection.
+
+
+ The has been disposed.
+
+
+ A object in the
+ collection is not connected.
+
+ 6/9/2003 10:12:30 AM
+ Beth Parrott
+ True
+
+
+
+ Raises the event.
+
+
+ A object that contains the event data.
+
+
+ A derived class can override
+ to handle the event without attaching a delegate. This technique is preferred for event handling in a derived class.
+
+
+ 11/21/2002 1:35:16 PM
+ Beth Parrott
+ True
+
+
+
+ Raises the event.
+
+
+ A object that contains the event data.
+
+
+ A derived class can override
+ to handle the event without attaching a delegate. This technique is preferred for event handling in a derived class.
+
+
+ 11/21/2002 1:35:18 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:57 PM
+ Measurement Studio
+ True
+
+
+
+ Occurs when the data of any object in the
+ collection is updated.
+
+ 11/21/2002 1:34:59 PM
+ Beth Parrott
+ True
+
+
+
+ Occurs when the connection status of any object in the
+ collection is updated.
+
+ 11/21/2002 1:35:01 PM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets a value indicating if all bindings in the collection
+ connect to associated data sources or targets when the form loads.
+
+
+ if is called when the form
+ loads. The default value is .
+
+
+ The has been disposed.
+
+
+ If the value of this property is , you must manually call
+ .
+ This property is applicable only to objects that you create on
+ a Windows Form with the Windows Forms Designer.
+
+ 6/20/2006 4:43:06 PM
+ Staci McCormick
+ True
+
+
+
+ Gets the DataSocket object.
+
+
+ A collection of objects. You can use a
+ object to bind Windows Forms control properties to
+ data sources and targets.
+
+
+ The has been disposed.
+
+
+ 6/9/2003 10:11:51 AM
+ Beth Parrott
+ True
+
+
+
+ Provides data for the event.
+
+
+
+ The event is generated when
+ the local value or attributes change. The local
+ value or attributes can change when the data source
+ value or attributes change or when you set the value or attributes on the local
+ object.
+
+
+
+
+ 11/21/2002 1:35:39 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of .
+
+
+ A reference to the that was updated.
+
+ 10/30/2002 12:09:45 PM
+ Beth Parrott
+ True
+
+
+ Overrides .
+ Returns a string representation of the object.
+ 10/30/2002 12:09:46 PM
+ Beth Parrott
+ True
+
+
+
+ Gets a reference to the data that was updated when the event was generated.
+
+
+ A that represents the data
+ that was updated when the event was generated.
+
+ 7/26/2004 10:16:50 AM
+ Whitney Bates
+ True
+
+
+
+ Represents a method that handles the
+ event of a
+ object.
+
+
+ The source of the event.
+
+
+ A object that contains the event data.
+
+
+ 11/21/2002 1:35:47 PM
+ Beth Parrott
+ True
+
+
+
+ Defines valid values for the status subfield of the OPC quality attribute.
+
+ 10/30/2002 12:09:51 PM
+ Beth Parrott
+ True
+
+
+
+ The value is bad.
+
+ 10/30/2002 12:09:56 PM
+ Beth Parrott
+ True
+
+
+
+ The communication failed, and no last known value
+ is available.
+
+ 10/30/2002 12:09:57 PM
+ Beth Parrott
+ True
+
+
+
+ There is a server-specific problem with the configuration.
+
+ 10/30/2002 12:09:59 PM
+ Beth Parrott
+ True
+
+
+
+ A device failure has been detected.
+
+ 10/30/2002 12:10:00 PM
+ Beth Parrott
+ True
+
+
+
+ The value is outside the limits defined for this parameter.
+
+ 10/30/2002 12:10:02 PM
+ Beth Parrott
+ True
+
+
+
+ The value is good.
+
+ 10/30/2002 12:10:04 PM
+ Beth Parrott
+ True
+
+
+
+ Communication has failed, but the last known value is available.
+
+ 10/30/2002 12:10:06 PM
+ Beth Parrott
+ True
+
+
+
+ The value is no longer being written.
+
+ 10/30/2002 12:10:07 PM
+ Beth Parrott
+ True
+
+
+
+ The value has been overridden.
+
+ 10/30/2002 12:10:08 PM
+ Beth Parrott
+ True
+
+
+
+ The input must be logically connected to a server but it
+ is disconnected.
+
+ 10/30/2002 12:10:09 PM
+ Beth Parrott
+ True
+
+
+
+ The block is off scan or locked.
+
+ 10/30/2002 12:10:10 PM
+ Beth Parrott
+ True
+
+
+
+ The value has been pegged at one of the sensor limits or
+ an internal diagnostics has detected that the sensor is out of calibration.
+
+ 10/30/2002 12:10:11 PM
+ Beth Parrott
+ True
+
+
+
+ A sensor failure has been detected.
+
+ 10/30/2002 12:10:12 PM
+ Beth Parrott
+ True
+
+
+
+ The value is derived from multiple sources and has less than the
+ required number of good sources.
+
+ 10/30/2002 12:10:12 PM
+ Beth Parrott
+ True
+
+
+
+ The value cannot be determined.
+
+ 10/30/2002 12:10:13 PM
+ Beth Parrott
+ True
+
+
+
+ Specifies how a object reads data.
+
+ 6/9/2003 10:16:27 AM
+ Beth Parrott
+ True
+
+
+
+ Specifies that raises the
+ event to notify
+ when new data arrives.
+
+ 6/9/2003 10:16:59 AM
+ Beth Parrott
+ True
+
+
+
+ Specifies that you must call
+ to poll and dequeue buffered data into the
+ property. does not raise the
+ event in this mode.
+
+ 6/9/2003 10:17:37 AM
+ Beth Parrott
+ True
+
+
+
+ Controls the behavior of the dialog box that
+ displays.
+
+
+
+ 11/21/2002 1:35:54 PM
+ Beth Parrott
+ True
+
+
+
+ Specifies that dialog box is displayed
+ with the default options.
+
+ 10/30/2002 12:10:16 PM
+ Beth Parrott
+ True
+
+
+
+ Opens a dialog box to prompt the user for permission to create the file if that file
+ does not exist. If the user chooses to create the file, the dialog box closes
+ and the method returns the specified name; otherwise, the dialog box remains open.
+
+ 10/30/2002 12:10:15 PM
+ Beth Parrott
+ True
+
+
+
+ Specifies that the user can enter the names only of existing files in the Filename field.
+ If this flag is specified and the user enters an invalid name, the dialog box
+ displays a warning in a message box.
+
+ 10/30/2002 12:10:17 PM
+ Beth Parrott
+ True
+
+
+
+ Hides the read-only checkbox.
+
+ 10/30/2002 12:10:18 PM
+ Beth Parrott
+ True
+
+
+
+ Restores the current directory to its original value if the user changed the directory
+ while searching for files.
+
+ 10/30/2002 12:10:18 PM
+ Beth Parrott
+ True
+
+
+
+ Directs the dialog box to return the path and filename of the selected shortcut
+ (.lnk) file. If this value is not provided, the dialog box returns the path and
+ filename of the file referenced by the shortcut.
+
+ 11/21/2002 1:35:57 PM
+ Beth Parrott
+ True
+
+
+
+ Specifies that the returned file does not have the read-only checkbox selected and is
+ not in a write-protected directory.
+
+ 10/30/2002 12:10:20 PM
+ Beth Parrott
+ True
+
+
+
+ Specifies that the file is not created before the dialog box is closed. Use this value if the application
+ saves the file on a create-nonmodify network
+ share. When an application specifies this flag,
+ does not check for write protection, a full disk, an open drive door, or network protection.
+ Applications that use this flag must perform file operations carefully because a file
+ cannot be reopened after it is closed.
+
+ 10/30/2002 12:10:21 PM
+ Beth Parrott
+ True
+
+
+
+ Causes the Save As dialog box to generate a message box if the selected file already
+ exists. The user must confirm overwriting the file.
+
+ 10/30/2002 12:10:21 PM
+ Beth Parrott
+ True
+
+
+
+ Specifies that the user can enter only valid paths and filenames. If you use this value and
+ the user enters an invalid path or filename in the Filename field, the dialog box method
+ displays a warning in a message box.
+
+ 10/30/2002 12:10:22 PM
+ Beth Parrott
+ True
+
+
+
+ Causes the read-only checkbox to be checked when the dialog box is created.
+
+ 10/30/2002 12:10:23 PM
+ Beth Parrott
+ True
+
+
+
+ Causes the file dialog box to be a Save As dialog box instead of an Open File
+ dialog box.
+
+ 10/30/2002 12:10:24 PM
+ Beth Parrott
+ True
+
+
+
diff --git a/Axel-boss/scanUC/scanUC.sln b/Axel-boss/scanUC/scanUC.sln
index 8397cbe1..1e64c2c0 100644
--- a/Axel-boss/scanUC/scanUC.sln
+++ b/Axel-boss/scanUC/scanUC.sln
@@ -1,22 +1,22 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2013
-VisualStudioVersion = 12.0.31101.0
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "scanUC", "scanUC\scanUC.csproj", "{1FB4D7AD-D169-4B68-A11A-C398186F3C4C}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {1FB4D7AD-D169-4B68-A11A-C398186F3C4C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {1FB4D7AD-D169-4B68-A11A-C398186F3C4C}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {1FB4D7AD-D169-4B68-A11A-C398186F3C4C}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {1FB4D7AD-D169-4B68-A11A-C398186F3C4C}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2013
+VisualStudioVersion = 12.0.31101.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "scanUC", "scanUC\scanUC.csproj", "{1FB4D7AD-D169-4B68-A11A-C398186F3C4C}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {1FB4D7AD-D169-4B68-A11A-C398186F3C4C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1FB4D7AD-D169-4B68-A11A-C398186F3C4C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1FB4D7AD-D169-4B68-A11A-C398186F3C4C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1FB4D7AD-D169-4B68-A11A-C398186F3C4C}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/Axel-boss/scanUC/scanUC/PipeServer.cs b/Axel-boss/scanUC/scanUC/PipeServer.cs
index 26c82ff8..c69f0b56 100644
--- a/Axel-boss/scanUC/scanUC/PipeServer.cs
+++ b/Axel-boss/scanUC/scanUC/PipeServer.cs
@@ -1,72 +1,72 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.IO.Pipes;
-using System.Diagnostics;
-
-namespace PipesServerNS
-{
- // Delegate for passing received message back to caller
- public delegate void DelegateMessage(string Reply);
-
- class PipeServer
- {
- public event DelegateMessage PipeMessage;
- string _pipeName;
-
- public void Listen(string PipeName)
- {
- try
- {
- // Set to class level var so we can re-use in the async callback method
- _pipeName = PipeName;
- // Create the new async pipe
- NamedPipeServerStream pipeServer = new NamedPipeServerStream(PipeName, PipeDirection.In, 1, PipeTransmissionMode.Byte, PipeOptions.Asynchronous);
-
- // Wait for a connection
- pipeServer.BeginWaitForConnection(new AsyncCallback(WaitForConnectionCallBack), pipeServer);
- }
- catch (Exception oEX)
- {
- Debug.WriteLine(oEX.Message);
- }
- }
-
- private void WaitForConnectionCallBack(IAsyncResult iar)
- {
- try
- {
- // Get the pipe
- NamedPipeServerStream pipeServer = (NamedPipeServerStream)iar.AsyncState;
- // End waiting for the connection
- pipeServer.EndWaitForConnection(iar);
-
- byte[] buffer = new byte[255];
-
- // Read the incoming message
- pipeServer.Read(buffer, 0, 255);
-
- // Convert byte buffer to string
- string stringData = Encoding.UTF8.GetString(buffer, 0, buffer.Length);
- Debug.WriteLine(stringData + Environment.NewLine);
-
- // Pass message back to calling form
- PipeMessage.Invoke(stringData);
-
- // Kill original sever and create new wait server
- pipeServer.Close();
- pipeServer = null;
- pipeServer = new NamedPipeServerStream(_pipeName, PipeDirection.In, 1, PipeTransmissionMode.Byte, PipeOptions.Asynchronous);
-
- // Recursively wait for the connection again and again....
- pipeServer.BeginWaitForConnection(new AsyncCallback(WaitForConnectionCallBack), pipeServer);
- }
- catch
- {
- return;
- }
- }
- }
-}
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.IO.Pipes;
+using System.Diagnostics;
+
+namespace PipesServerNS
+{
+ // Delegate for passing received message back to caller
+ public delegate void DelegateMessage(string Reply);
+
+ class PipeServer
+ {
+ public event DelegateMessage PipeMessage;
+ string _pipeName;
+
+ public void Listen(string PipeName)
+ {
+ try
+ {
+ // Set to class level var so we can re-use in the async callback method
+ _pipeName = PipeName;
+ // Create the new async pipe
+ NamedPipeServerStream pipeServer = new NamedPipeServerStream(PipeName, PipeDirection.In, 1, PipeTransmissionMode.Byte, PipeOptions.Asynchronous);
+
+ // Wait for a connection
+ pipeServer.BeginWaitForConnection(new AsyncCallback(WaitForConnectionCallBack), pipeServer);
+ }
+ catch (Exception oEX)
+ {
+ Debug.WriteLine(oEX.Message);
+ }
+ }
+
+ private void WaitForConnectionCallBack(IAsyncResult iar)
+ {
+ try
+ {
+ // Get the pipe
+ NamedPipeServerStream pipeServer = (NamedPipeServerStream)iar.AsyncState;
+ // End waiting for the connection
+ pipeServer.EndWaitForConnection(iar);
+
+ byte[] buffer = new byte[255];
+
+ // Read the incoming message
+ pipeServer.Read(buffer, 0, 255);
+
+ // Convert byte buffer to string
+ string stringData = Encoding.UTF8.GetString(buffer, 0, buffer.Length);
+ Debug.WriteLine(stringData + Environment.NewLine);
+
+ // Pass message back to calling form
+ PipeMessage.Invoke(stringData);
+
+ // Kill original sever and create new wait server
+ pipeServer.Close();
+ pipeServer = null;
+ pipeServer = new NamedPipeServerStream(_pipeName, PipeDirection.In, 1, PipeTransmissionMode.Byte, PipeOptions.Asynchronous);
+
+ // Recursively wait for the connection again and again....
+ pipeServer.BeginWaitForConnection(new AsyncCallback(WaitForConnectionCallBack), pipeServer);
+ }
+ catch
+ {
+ return;
+ }
+ }
+ }
+}
diff --git a/Axel-boss/scanUC/scanUC/Properties/AssemblyInfo.cs b/Axel-boss/scanUC/scanUC/Properties/AssemblyInfo.cs
index c9b2878a..3ecc7f16 100644
--- a/Axel-boss/scanUC/scanUC/Properties/AssemblyInfo.cs
+++ b/Axel-boss/scanUC/scanUC/Properties/AssemblyInfo.cs
@@ -1,55 +1,55 @@
-using System.Reflection;
-using System.Resources;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-using System.Windows;
-
-// 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.
-[assembly: AssemblyTitle("scanUC")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("Imperial College")]
-[assembly: AssemblyProduct("scanUC")]
-[assembly: AssemblyCopyright("Teodor Krastev for Imperial College")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-//In order to begin building localizable applications, set
-//CultureYouAreCodingWith in your .csproj file
-//inside a . For example, if you are using US english
-//in your source files, set the to en-US. Then uncomment
-//the NeutralResourceLanguage attribute below. Update the "en-US" in
-//the line below to match the UICulture setting in the project file.
-
-//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
-
-
-[assembly:ThemeInfo(
- ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
- //(used if a resource is not found in the page,
- // or application resource dictionaries)
- ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
- //(used if a resource is not found in the page,
- // app, or any theme specific resource dictionaries)
-)]
-
-
-// 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:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+using System.Reflection;
+using System.Resources;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using System.Windows;
+
+// 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.
+[assembly: AssemblyTitle("scanUC")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Imperial College")]
+[assembly: AssemblyProduct("scanUC")]
+[assembly: AssemblyCopyright("Teodor Krastev for Imperial College")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+//In order to begin building localizable applications, set
+//CultureYouAreCodingWith in your .csproj file
+//inside a . For example, if you are using US english
+//in your source files, set the to en-US. Then uncomment
+//the NeutralResourceLanguage attribute below. Update the "en-US" in
+//the line below to match the UICulture setting in the project file.
+
+//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
+
+
+[assembly:ThemeInfo(
+ ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
+ //(used if a resource is not found in the page,
+ // or application resource dictionaries)
+ ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
+ //(used if a resource is not found in the page,
+ // app, or any theme specific resource dictionaries)
+)]
+
+
+// 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:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/Axel-boss/scanUC/scanUC/Properties/Resources.Designer.cs b/Axel-boss/scanUC/scanUC/Properties/Resources.Designer.cs
index f5a2f199..ef42b554 100644
--- a/Axel-boss/scanUC/scanUC/Properties/Resources.Designer.cs
+++ b/Axel-boss/scanUC/scanUC/Properties/Resources.Designer.cs
@@ -1,63 +1,63 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-namespace scanNS.Properties {
- using System;
-
-
- ///
- /// A strongly-typed resource class, for looking up localized strings, etc.
- ///
- // 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.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- internal class Resources {
-
- private static global::System.Resources.ResourceManager resourceMan;
-
- private static global::System.Globalization.CultureInfo resourceCulture;
-
- [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
- internal Resources() {
- }
-
- ///
- /// Returns the cached ResourceManager instance used by this class.
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Resources.ResourceManager ResourceManager {
- get {
- if (object.ReferenceEquals(resourceMan, null)) {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("scanNS.Properties.Resources", typeof(Resources).Assembly);
- resourceMan = temp;
- }
- return resourceMan;
- }
- }
-
- ///
- /// Overrides the current thread's CurrentUICulture property for all
- /// resource lookups using this strongly typed resource class.
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Globalization.CultureInfo Culture {
- get {
- return resourceCulture;
- }
- set {
- resourceCulture = value;
- }
- }
- }
-}
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace scanBoss.Properties {
+ using System;
+
+
+ ///
+ /// A strongly-typed resource class, for looking up localized strings, etc.
+ ///
+ // 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.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Resources {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources() {
+ }
+
+ ///
+ /// Returns the cached ResourceManager instance used by this class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("scanBoss.Properties.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// Overrides the current thread's CurrentUICulture property for all
+ /// resource lookups using this strongly typed resource class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+ }
+}
diff --git a/Axel-boss/scanUC/scanUC/Properties/Resources.resx b/Axel-boss/scanUC/scanUC/Properties/Resources.resx
index ffecec85..af7dbebb 100644
--- a/Axel-boss/scanUC/scanUC/Properties/Resources.resx
+++ b/Axel-boss/scanUC/scanUC/Properties/Resources.resx
@@ -1,117 +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
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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/Axel-boss/scanUC/scanUC/Properties/Settings.Designer.cs b/Axel-boss/scanUC/scanUC/Properties/Settings.Designer.cs
index 833bcb9d..597fec51 100644
--- a/Axel-boss/scanUC/scanUC/Properties/Settings.Designer.cs
+++ b/Axel-boss/scanUC/scanUC/Properties/Settings.Designer.cs
@@ -1,26 +1,26 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-namespace scanNS.Properties {
-
-
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")]
- internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
-
- private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
-
- public static Settings Default {
- get {
- return defaultInstance;
- }
- }
- }
-}
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace scanBoss.Properties {
+
+
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")]
+ internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
+
+ private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+
+ public static Settings Default {
+ get {
+ return defaultInstance;
+ }
+ }
+ }
+}
diff --git a/Axel-boss/scanUC/scanUC/Properties/Settings.settings b/Axel-boss/scanUC/scanUC/Properties/Settings.settings
index 8f2fd95d..033d7a5e 100644
--- a/Axel-boss/scanUC/scanUC/Properties/Settings.settings
+++ b/Axel-boss/scanUC/scanUC/Properties/Settings.settings
@@ -1,7 +1,7 @@
-
-
-
-
-
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Axel-boss/scanUC/scanUC/Properties/licenses.licx b/Axel-boss/scanUC/scanUC/Properties/licenses.licx
index 40103c9c..1991fe8f 100644
--- a/Axel-boss/scanUC/scanUC/Properties/licenses.licx
+++ b/Axel-boss/scanUC/scanUC/Properties/licenses.licx
@@ -1,7 +1,7 @@
-# The following section of this file was auto-generated by Measurement Studio. Do not edit or remove this file from the project.
-# This file is used for licensing Measurement Studio components.
-# Begin Measurement Studio licenses
-NationalInstruments.Controls.Internal.WpfEnterpriseLicenser, NationalInstruments.Controls, Version=15.0.45.3898, Culture=neutral, PublicKeyToken=4febd62461bf11a4
-NationalInstruments.Controls.Internal.WpfProfessionalLicenser, NationalInstruments.Controls, Version=15.0.45.3898, Culture=neutral, PublicKeyToken=4febd62461bf11a4
-NationalInstruments.Controls.Internal.WpfStandardLicenser, NationalInstruments.Controls, Version=15.0.45.3898, Culture=neutral, PublicKeyToken=4febd62461bf11a4
-# End Measurement Studio licenses
+# The following section of this file was auto-generated by Measurement Studio. Do not edit or remove this file from the project.
+# This file is used for licensing Measurement Studio components.
+# Begin Measurement Studio licenses
+NationalInstruments.Controls.Internal.WpfEnterpriseLicenser, NationalInstruments.Controls, Version=15.0.45.3898, Culture=neutral, PublicKeyToken=4febd62461bf11a4
+NationalInstruments.Controls.Internal.WpfProfessionalLicenser, NationalInstruments.Controls, Version=15.0.45.3898, Culture=neutral, PublicKeyToken=4febd62461bf11a4
+NationalInstruments.Controls.Internal.WpfStandardLicenser, NationalInstruments.Controls, Version=15.0.45.3898, Culture=neutral, PublicKeyToken=4febd62461bf11a4
+# End Measurement Studio licenses
diff --git a/Axel-boss/scanUC/scanUC/obj/Debug/CoreCompileInputs.cache b/Axel-boss/scanUC/scanUC/obj/Debug/CoreCompileInputs.cache
index 4037e5f3..9bde0d3d 100644
--- a/Axel-boss/scanUC/scanUC/obj/Debug/CoreCompileInputs.cache
+++ b/Axel-boss/scanUC/scanUC/obj/Debug/CoreCompileInputs.cache
@@ -1 +1 @@
-af6f74e6f09a9539ed13244f2efbe23eac2408f5
+af6f74e6f09a9539ed13244f2efbe23eac2408f5
diff --git a/Axel-boss/scanUC/scanUC/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll b/Axel-boss/scanUC/scanUC/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll
index a31a74d1..14b7f261 100644
Binary files a/Axel-boss/scanUC/scanUC/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll and b/Axel-boss/scanUC/scanUC/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll differ
diff --git a/Axel-boss/scanUC/scanUC/obj/Debug/UCLib1.csproj.FileListAbsolute.txt b/Axel-boss/scanUC/scanUC/obj/Debug/UCLib1.csproj.FileListAbsolute.txt
index 00107823..4052b913 100644
--- a/Axel-boss/scanUC/scanUC/obj/Debug/UCLib1.csproj.FileListAbsolute.txt
+++ b/Axel-boss/scanUC/scanUC/obj/Debug/UCLib1.csproj.FileListAbsolute.txt
@@ -1,23 +1,23 @@
-E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\bin\Debug\UCLib1.dll
-E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\bin\Debug\UCLib1.pdb
-E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\obj\Debug\UCLib1.csprojResolveAssemblyReference.cache
-E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\obj\Debug\UserControl1.baml
-E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\obj\Debug\UserControl1.g.cs
-E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\obj\Debug\UCLib1_MarkupCompile.cache
-E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\obj\Debug\UCLib1.g.resources
-E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\obj\Debug\UCLib1.Properties.Resources.resources
-E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\obj\Debug\UCLib1.csproj.GenerateResource.Cache
-E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\obj\Debug\UCLib1.dll.licenses
-E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\obj\Debug\UCLib1.dll
-E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\obj\Debug\UCLib1.pdb
-E:\VSprojects\Axel-boss\UCLib1\UCLib1\obj\Debug\UCLib1.csproj.GenerateResource.Cache
-E:\VSprojects\Axel-boss\UCLib1\UCLib1\bin\Debug\scanUC.dll
-E:\VSprojects\Axel-boss\UCLib1\UCLib1\bin\Debug\scanUC.pdb
-E:\VSprojects\Axel-boss\UCLib1\UCLib1\obj\Debug\scanUC_MarkupCompile.cache
-E:\VSprojects\Axel-boss\UCLib1\UCLib1\obj\Debug\scanUC.g.resources
-E:\VSprojects\Axel-boss\UCLib1\UCLib1\obj\Debug\scanUC.Properties.Resources.resources
-E:\VSprojects\Axel-boss\UCLib1\UCLib1\obj\Debug\scanUC.dll.licenses
-E:\VSprojects\Axel-boss\UCLib1\UCLib1\obj\Debug\scanUC.dll
-E:\VSprojects\Axel-boss\UCLib1\UCLib1\obj\Debug\scanUC.pdb
-E:\VSprojects\Axel-boss\UCLib1\UCLib1\obj\Debug\scanUC.baml
-E:\VSprojects\Axel-boss\UCLib1\UCLib1\obj\Debug\scanUC.g.cs
+E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\bin\Debug\UCLib1.dll
+E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\bin\Debug\UCLib1.pdb
+E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\obj\Debug\UCLib1.csprojResolveAssemblyReference.cache
+E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\obj\Debug\UserControl1.baml
+E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\obj\Debug\UserControl1.g.cs
+E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\obj\Debug\UCLib1_MarkupCompile.cache
+E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\obj\Debug\UCLib1.g.resources
+E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\obj\Debug\UCLib1.Properties.Resources.resources
+E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\obj\Debug\UCLib1.csproj.GenerateResource.Cache
+E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\obj\Debug\UCLib1.dll.licenses
+E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\obj\Debug\UCLib1.dll
+E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\obj\Debug\UCLib1.pdb
+E:\VSprojects\Axel-boss\UCLib1\UCLib1\obj\Debug\UCLib1.csproj.GenerateResource.Cache
+E:\VSprojects\Axel-boss\UCLib1\UCLib1\bin\Debug\scanUC.dll
+E:\VSprojects\Axel-boss\UCLib1\UCLib1\bin\Debug\scanUC.pdb
+E:\VSprojects\Axel-boss\UCLib1\UCLib1\obj\Debug\scanUC_MarkupCompile.cache
+E:\VSprojects\Axel-boss\UCLib1\UCLib1\obj\Debug\scanUC.g.resources
+E:\VSprojects\Axel-boss\UCLib1\UCLib1\obj\Debug\scanUC.Properties.Resources.resources
+E:\VSprojects\Axel-boss\UCLib1\UCLib1\obj\Debug\scanUC.dll.licenses
+E:\VSprojects\Axel-boss\UCLib1\UCLib1\obj\Debug\scanUC.dll
+E:\VSprojects\Axel-boss\UCLib1\UCLib1\obj\Debug\scanUC.pdb
+E:\VSprojects\Axel-boss\UCLib1\UCLib1\obj\Debug\scanUC.baml
+E:\VSprojects\Axel-boss\UCLib1\UCLib1\obj\Debug\scanUC.g.cs
diff --git a/Axel-boss/scanUC/scanUC/obj/Debug/UCLib1_MarkupCompile.i.cache b/Axel-boss/scanUC/scanUC/obj/Debug/UCLib1_MarkupCompile.i.cache
index 02040dac..c7d67dd2 100644
--- a/Axel-boss/scanUC/scanUC/obj/Debug/UCLib1_MarkupCompile.i.cache
+++ b/Axel-boss/scanUC/scanUC/obj/Debug/UCLib1_MarkupCompile.i.cache
@@ -1,20 +1,20 @@
-UCLib1
-
-
-library
-C#
-.cs
-E:\VSprojects\Axel-boss\UCLib1\UCLib1\obj\Debug\
-UCLib1
-none
-false
-DEBUG;TRACE
-
-1-98425716
-
-81832081038
-15841481964
-UserControl1.xaml;
-
-False
-
+UCLib1
+
+
+library
+C#
+.cs
+E:\VSprojects\Axel-boss\UCLib1\UCLib1\obj\Debug\
+UCLib1
+none
+false
+DEBUG;TRACE
+
+1-98425716
+
+81832081038
+15841481964
+UserControl1.xaml;
+
+False
+
diff --git a/Axel-boss/scanUC/scanUC/obj/Debug/UserControl1.g.i.cs b/Axel-boss/scanUC/scanUC/obj/Debug/UserControl1.g.i.cs
index a7561b2d..f7eddb0c 100644
--- a/Axel-boss/scanUC/scanUC/obj/Debug/UserControl1.g.i.cs
+++ b/Axel-boss/scanUC/scanUC/obj/Debug/UserControl1.g.i.cs
@@ -1,130 +1,130 @@
-#pragma checksum "..\..\UserControl1.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "2AA29D7CAB8328E57116DFBE6CBE57B5"
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-using NationalInstruments.Controls;
-using System;
-using System.Diagnostics;
-using System.Windows;
-using System.Windows.Automation;
-using System.Windows.Controls;
-using System.Windows.Controls.Primitives;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Ink;
-using System.Windows.Input;
-using System.Windows.Markup;
-using System.Windows.Media;
-using System.Windows.Media.Animation;
-using System.Windows.Media.Effects;
-using System.Windows.Media.Imaging;
-using System.Windows.Media.Media3D;
-using System.Windows.Media.TextFormatting;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
-using System.Windows.Shell;
-
-
-namespace UCLib1 {
-
-
- ///
- /// UserControl1
- ///
- public partial class UserControl1 : System.Windows.Controls.UserControl, System.Windows.Markup.IComponentConnector {
-
-
- #line 10 "..\..\UserControl1.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Label lblStatus;
-
- #line default
- #line hidden
-
-
- #line 12 "..\..\UserControl1.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.BooleanButton bbtnStart;
-
- #line default
- #line hidden
-
-
- #line 13 "..\..\UserControl1.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.GroupBox groupDigit;
-
- #line default
- #line hidden
-
-
- #line 15 "..\..\UserControl1.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.ComboBox cbDigitMode;
-
- #line default
- #line hidden
-
- private bool _contentLoaded;
-
- ///
- /// InitializeComponent
- ///
- [System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
- public void InitializeComponent() {
- if (_contentLoaded) {
- return;
- }
- _contentLoaded = true;
- System.Uri resourceLocater = new System.Uri("/scanUC;component/usercontrol1.xaml", System.UriKind.Relative);
-
- #line 1 "..\..\UserControl1.xaml"
- System.Windows.Application.LoadComponent(this, resourceLocater);
-
- #line default
- #line hidden
- }
-
- [System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
- [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
- void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
- switch (connectionId)
- {
- case 1:
- this.lblStatus = ((System.Windows.Controls.Label)(target));
- return;
- case 2:
- this.bbtnStart = ((NationalInstruments.Controls.BooleanButton)(target));
- return;
- case 3:
- this.groupDigit = ((System.Windows.Controls.GroupBox)(target));
- return;
- case 4:
- this.cbDigitMode = ((System.Windows.Controls.ComboBox)(target));
- return;
- case 5:
-
- #line 49 "..\..\UserControl1.xaml"
- ((System.Windows.Controls.Image)(target)).MouseDown += new System.Windows.Input.MouseButtonEventHandler(this.Image_MouseDown);
-
- #line default
- #line hidden
- return;
- }
- this._contentLoaded = true;
- }
- }
-}
-
+#pragma checksum "..\..\UserControl1.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "2AA29D7CAB8328E57116DFBE6CBE57B5"
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using NationalInstruments.Controls;
+using System;
+using System.Diagnostics;
+using System.Windows;
+using System.Windows.Automation;
+using System.Windows.Controls;
+using System.Windows.Controls.Primitives;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Ink;
+using System.Windows.Input;
+using System.Windows.Markup;
+using System.Windows.Media;
+using System.Windows.Media.Animation;
+using System.Windows.Media.Effects;
+using System.Windows.Media.Imaging;
+using System.Windows.Media.Media3D;
+using System.Windows.Media.TextFormatting;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using System.Windows.Shell;
+
+
+namespace UCLib1 {
+
+
+ ///
+ /// UserControl1
+ ///
+ public partial class UserControl1 : System.Windows.Controls.UserControl, System.Windows.Markup.IComponentConnector {
+
+
+ #line 10 "..\..\UserControl1.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Label lblStatus;
+
+ #line default
+ #line hidden
+
+
+ #line 12 "..\..\UserControl1.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.BooleanButton bbtnStart;
+
+ #line default
+ #line hidden
+
+
+ #line 13 "..\..\UserControl1.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.GroupBox groupDigit;
+
+ #line default
+ #line hidden
+
+
+ #line 15 "..\..\UserControl1.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.ComboBox cbDigitMode;
+
+ #line default
+ #line hidden
+
+ private bool _contentLoaded;
+
+ ///
+ /// InitializeComponent
+ ///
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
+ public void InitializeComponent() {
+ if (_contentLoaded) {
+ return;
+ }
+ _contentLoaded = true;
+ System.Uri resourceLocater = new System.Uri("/scanUC;component/usercontrol1.xaml", System.UriKind.Relative);
+
+ #line 1 "..\..\UserControl1.xaml"
+ System.Windows.Application.LoadComponent(this, resourceLocater);
+
+ #line default
+ #line hidden
+ }
+
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
+ void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
+ switch (connectionId)
+ {
+ case 1:
+ this.lblStatus = ((System.Windows.Controls.Label)(target));
+ return;
+ case 2:
+ this.bbtnStart = ((NationalInstruments.Controls.BooleanButton)(target));
+ return;
+ case 3:
+ this.groupDigit = ((System.Windows.Controls.GroupBox)(target));
+ return;
+ case 4:
+ this.cbDigitMode = ((System.Windows.Controls.ComboBox)(target));
+ return;
+ case 5:
+
+ #line 49 "..\..\UserControl1.xaml"
+ ((System.Windows.Controls.Image)(target)).MouseDown += new System.Windows.Input.MouseButtonEventHandler(this.Image_MouseDown);
+
+ #line default
+ #line hidden
+ return;
+ }
+ this._contentLoaded = true;
+ }
+ }
+}
+
diff --git a/Axel-boss/scanUC/scanUC/obj/Debug/scanBoss.csproj.FileListAbsolute.txt b/Axel-boss/scanUC/scanUC/obj/Debug/scanBoss.csproj.FileListAbsolute.txt
index 124a49c7..fa677bf8 100644
--- a/Axel-boss/scanUC/scanUC/obj/Debug/scanBoss.csproj.FileListAbsolute.txt
+++ b/Axel-boss/scanUC/scanUC/obj/Debug/scanBoss.csproj.FileListAbsolute.txt
@@ -1,12 +1,16 @@
-E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\bin\scanUC.dll
-E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\bin\scanUC.pdb
-E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanBoss.csprojResolveAssemblyReference.cache
-E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.baml
-E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.g.cs
-E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC_MarkupCompile.cache
-E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.g.resources
-E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanNS.Properties.Resources.resources
-E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanBoss.csproj.GenerateResource.Cache
-E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.dll.licenses
-E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.dll
-E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.pdb
+E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\bin\scanUC.dll
+E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\bin\scanUC.pdb
+E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanBoss.csprojResolveAssemblyReference.cache
+E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.baml
+E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.g.cs
+E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC_MarkupCompile.cache
+E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.g.resources
+E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanNS.Properties.Resources.resources
+E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanBoss.csproj.GenerateResource.Cache
+E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.dll.licenses
+E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.dll
+E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.pdb
+E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanBoss_MarkupCompile.cache
+E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanBoss.g.resources
+E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanBoss.Properties.Resources.resources
+E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanBoss.dll.licenses
diff --git a/Axel-boss/scanUC/scanUC/obj/Debug/scanBoss.csprojResolveAssemblyReference.cache b/Axel-boss/scanUC/scanUC/obj/Debug/scanBoss.csprojResolveAssemblyReference.cache
index a74a59d8..816139f3 100644
Binary files a/Axel-boss/scanUC/scanUC/obj/Debug/scanBoss.csprojResolveAssemblyReference.cache and b/Axel-boss/scanUC/scanUC/obj/Debug/scanBoss.csprojResolveAssemblyReference.cache differ
diff --git a/Axel-boss/scanUC/scanUC/obj/Debug/scanNS.Properties.Resources.resources b/Axel-boss/scanUC/scanUC/obj/Debug/scanNS.Properties.Resources.resources
deleted file mode 100644
index 6c05a977..00000000
Binary files a/Axel-boss/scanUC/scanUC/obj/Debug/scanNS.Properties.Resources.resources and /dev/null differ
diff --git a/Axel-boss/scanUC/scanUC/obj/Debug/scanUC.baml b/Axel-boss/scanUC/scanUC/obj/Debug/scanUC.baml
index e82ccca3..8df88bb7 100644
Binary files a/Axel-boss/scanUC/scanUC/obj/Debug/scanUC.baml and b/Axel-boss/scanUC/scanUC/obj/Debug/scanUC.baml differ
diff --git a/Axel-boss/scanUC/scanUC/obj/Debug/scanUC.csproj.FileListAbsolute.txt b/Axel-boss/scanUC/scanUC/obj/Debug/scanUC.csproj.FileListAbsolute.txt
index ee2c8e3d..931b9bcc 100644
--- a/Axel-boss/scanUC/scanUC/obj/Debug/scanUC.csproj.FileListAbsolute.txt
+++ b/Axel-boss/scanUC/scanUC/obj/Debug/scanUC.csproj.FileListAbsolute.txt
@@ -1,61 +1,61 @@
-E:\VSprojects\Axel-boss\scanUC\UCLib1\bin\scanUC.dll
-E:\VSprojects\Axel-boss\scanUC\UCLib1\bin\scanUC.pdb
-E:\VSprojects\Axel-boss\scanUC\UCLib1\obj\Debug\scanUC.baml
-E:\VSprojects\Axel-boss\scanUC\UCLib1\obj\Debug\scanUC.g.cs
-E:\VSprojects\Axel-boss\scanUC\UCLib1\obj\Debug\scanUC_MarkupCompile.cache
-E:\VSprojects\Axel-boss\scanUC\UCLib1\obj\Debug\scanUC.g.resources
-E:\VSprojects\Axel-boss\scanUC\UCLib1\obj\Debug\scanUC.Properties.Resources.resources
-E:\VSprojects\Axel-boss\scanUC\UCLib1\obj\Debug\scanUC.csproj.GenerateResource.Cache
-E:\VSprojects\Axel-boss\scanUC\UCLib1\obj\Debug\scanUC.dll.licenses
-E:\VSprojects\Axel-boss\scanUC\UCLib1\obj\Debug\scanUC.dll
-E:\VSprojects\Axel-boss\scanUC\UCLib1\obj\Debug\scanUC.pdb
-E:\VSprojects\Axel-boss\scanUC\scanUC\bin\scanUC.dll
-E:\VSprojects\Axel-boss\scanUC\scanUC\bin\scanUC.pdb
-E:\VSprojects\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.baml
-E:\VSprojects\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.g.cs
-E:\VSprojects\Axel-boss\scanUC\scanUC\obj\Debug\scanUC_MarkupCompile.cache
-E:\VSprojects\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.g.resources
-E:\VSprojects\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.csproj.GenerateResource.Cache
-E:\VSprojects\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.dll.licenses
-E:\VSprojects\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.dll
-E:\VSprojects\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.pdb
-E:\VSprojects\Axel-boss\scanUC\scanUC\obj\Debug\scanNS.Properties.Resources.resources
-E:\VSprojects\Axel-boss\Axel-boss\bin\scanUC.dll
-E:\VSprojects\Axel-boss\Axel-boss\bin\scanUC.pdb
-C:\Software\Axel-boss2\Axel-boss\bin\scanUC.dll
-C:\Software\Axel-boss2\Axel-boss\bin\scanUC.pdb
-C:\Software\Axel-boss2\scanUC\scanUC\obj\Debug\scanUC.csprojResolveAssemblyReference.cache
-C:\Software\Axel-boss2\scanUC\scanUC\obj\Debug\scanUC.baml
-C:\Software\Axel-boss2\scanUC\scanUC\obj\Debug\scanUC.g.cs
-C:\Software\Axel-boss2\scanUC\scanUC\obj\Debug\scanUC_MarkupCompile.cache
-C:\Software\Axel-boss2\scanUC\scanUC\obj\Debug\scanUC.g.resources
-C:\Software\Axel-boss2\scanUC\scanUC\obj\Debug\scanNS.Properties.Resources.resources
-C:\Software\Axel-boss2\scanUC\scanUC\obj\Debug\scanUC.csproj.GenerateResource.Cache
-C:\Software\Axel-boss2\scanUC\scanUC\obj\Debug\scanUC.dll.licenses
-C:\Software\Axel-boss2\scanUC\scanUC\obj\Debug\scanUC.dll
-C:\Software\Axel-boss2\scanUC\scanUC\obj\Debug\scanUC.pdb
-F:\Axel-boss\Axel-boss\bin\scanUC.dll
-F:\Axel-boss\Axel-boss\bin\scanUC.pdb
-F:\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.csprojResolveAssemblyReference.cache
-F:\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.baml
-F:\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.g.cs
-F:\Axel-boss\scanUC\scanUC\obj\Debug\scanUC_MarkupCompile.cache
-F:\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.g.resources
-F:\Axel-boss\scanUC\scanUC\obj\Debug\scanNS.Properties.Resources.resources
-F:\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.csproj.GenerateResource.Cache
-F:\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.dll.licenses
-F:\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.dll
-F:\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.pdb
-E:\VSprojects\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.csprojResolveAssemblyReference.cache
-E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\bin\scanUC.dll
-E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\bin\scanUC.pdb
-E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.csprojResolveAssemblyReference.cache
-E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.baml
-E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.g.cs
-E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC_MarkupCompile.cache
-E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.g.resources
-E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanNS.Properties.Resources.resources
-E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.csproj.GenerateResource.Cache
-E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.dll.licenses
-E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.dll
-E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.pdb
+E:\VSprojects\Axel-boss\scanUC\UCLib1\bin\scanUC.dll
+E:\VSprojects\Axel-boss\scanUC\UCLib1\bin\scanUC.pdb
+E:\VSprojects\Axel-boss\scanUC\UCLib1\obj\Debug\scanUC.baml
+E:\VSprojects\Axel-boss\scanUC\UCLib1\obj\Debug\scanUC.g.cs
+E:\VSprojects\Axel-boss\scanUC\UCLib1\obj\Debug\scanUC_MarkupCompile.cache
+E:\VSprojects\Axel-boss\scanUC\UCLib1\obj\Debug\scanUC.g.resources
+E:\VSprojects\Axel-boss\scanUC\UCLib1\obj\Debug\scanUC.Properties.Resources.resources
+E:\VSprojects\Axel-boss\scanUC\UCLib1\obj\Debug\scanUC.csproj.GenerateResource.Cache
+E:\VSprojects\Axel-boss\scanUC\UCLib1\obj\Debug\scanUC.dll.licenses
+E:\VSprojects\Axel-boss\scanUC\UCLib1\obj\Debug\scanUC.dll
+E:\VSprojects\Axel-boss\scanUC\UCLib1\obj\Debug\scanUC.pdb
+E:\VSprojects\Axel-boss\scanUC\scanUC\bin\scanUC.dll
+E:\VSprojects\Axel-boss\scanUC\scanUC\bin\scanUC.pdb
+E:\VSprojects\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.baml
+E:\VSprojects\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.g.cs
+E:\VSprojects\Axel-boss\scanUC\scanUC\obj\Debug\scanUC_MarkupCompile.cache
+E:\VSprojects\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.g.resources
+E:\VSprojects\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.csproj.GenerateResource.Cache
+E:\VSprojects\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.dll.licenses
+E:\VSprojects\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.dll
+E:\VSprojects\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.pdb
+E:\VSprojects\Axel-boss\scanUC\scanUC\obj\Debug\scanNS.Properties.Resources.resources
+E:\VSprojects\Axel-boss\Axel-boss\bin\scanUC.dll
+E:\VSprojects\Axel-boss\Axel-boss\bin\scanUC.pdb
+C:\Software\Axel-boss2\Axel-boss\bin\scanUC.dll
+C:\Software\Axel-boss2\Axel-boss\bin\scanUC.pdb
+C:\Software\Axel-boss2\scanUC\scanUC\obj\Debug\scanUC.csprojResolveAssemblyReference.cache
+C:\Software\Axel-boss2\scanUC\scanUC\obj\Debug\scanUC.baml
+C:\Software\Axel-boss2\scanUC\scanUC\obj\Debug\scanUC.g.cs
+C:\Software\Axel-boss2\scanUC\scanUC\obj\Debug\scanUC_MarkupCompile.cache
+C:\Software\Axel-boss2\scanUC\scanUC\obj\Debug\scanUC.g.resources
+C:\Software\Axel-boss2\scanUC\scanUC\obj\Debug\scanNS.Properties.Resources.resources
+C:\Software\Axel-boss2\scanUC\scanUC\obj\Debug\scanUC.csproj.GenerateResource.Cache
+C:\Software\Axel-boss2\scanUC\scanUC\obj\Debug\scanUC.dll.licenses
+C:\Software\Axel-boss2\scanUC\scanUC\obj\Debug\scanUC.dll
+C:\Software\Axel-boss2\scanUC\scanUC\obj\Debug\scanUC.pdb
+F:\Axel-boss\Axel-boss\bin\scanUC.dll
+F:\Axel-boss\Axel-boss\bin\scanUC.pdb
+F:\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.csprojResolveAssemblyReference.cache
+F:\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.baml
+F:\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.g.cs
+F:\Axel-boss\scanUC\scanUC\obj\Debug\scanUC_MarkupCompile.cache
+F:\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.g.resources
+F:\Axel-boss\scanUC\scanUC\obj\Debug\scanNS.Properties.Resources.resources
+F:\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.csproj.GenerateResource.Cache
+F:\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.dll.licenses
+F:\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.dll
+F:\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.pdb
+E:\VSprojects\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.csprojResolveAssemblyReference.cache
+E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\bin\scanUC.dll
+E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\bin\scanUC.pdb
+E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.csprojResolveAssemblyReference.cache
+E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.baml
+E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.g.cs
+E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC_MarkupCompile.cache
+E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.g.resources
+E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanNS.Properties.Resources.resources
+E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.csproj.GenerateResource.Cache
+E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.dll.licenses
+E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.dll
+E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.pdb
diff --git a/Axel-boss/scanUC/scanUC/obj/Debug/scanUC.dll b/Axel-boss/scanUC/scanUC/obj/Debug/scanUC.dll
deleted file mode 100644
index 6392dbc8..00000000
Binary files a/Axel-boss/scanUC/scanUC/obj/Debug/scanUC.dll and /dev/null differ
diff --git a/Axel-boss/scanUC/scanUC/obj/Debug/scanUC.g.cs b/Axel-boss/scanUC/scanUC/obj/Debug/scanUC.g.cs
index 2f37b478..a04ba6b3 100644
--- a/Axel-boss/scanUC/scanUC/obj/Debug/scanUC.g.cs
+++ b/Axel-boss/scanUC/scanUC/obj/Debug/scanUC.g.cs
@@ -1,333 +1,333 @@
-#pragma checksum "..\..\scanUC.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "DABCC9838E3D2175E47577C7ED628AAA"
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-using NationalInstruments.Controls;
-using System;
-using System.Diagnostics;
-using System.Windows;
-using System.Windows.Automation;
-using System.Windows.Controls;
-using System.Windows.Controls.Primitives;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Ink;
-using System.Windows.Input;
-using System.Windows.Markup;
-using System.Windows.Media;
-using System.Windows.Media.Animation;
-using System.Windows.Media.Effects;
-using System.Windows.Media.Imaging;
-using System.Windows.Media.Media3D;
-using System.Windows.Media.TextFormatting;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
-using System.Windows.Shell;
-
-
-namespace scanNS {
-
-
- ///
- /// scanClass
- ///
- public partial class scanClass : System.Windows.Controls.UserControl, System.Windows.Markup.IComponentConnector {
-
-
- #line 17 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.BooleanButton bbtnStart;
-
- #line default
- #line hidden
-
-
- #line 18 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.GroupBox groupDigit;
-
- #line default
- #line hidden
-
-
- #line 20 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.ComboBox cbDigitMode;
-
- #line default
- #line hidden
-
-
- #line 27 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TextBox tbDigitValue;
-
- #line default
- #line hidden
-
-
- #line 30 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TabControl tabControl;
-
- #line default
- #line hidden
-
-
- #line 31 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TabItem tabTimeLimit;
-
- #line default
- #line hidden
-
-
- #line 33 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TextBox tbTimeLimit;
-
- #line default
- #line hidden
-
-
- #line 34 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.ComboBox cbTimeEndless;
-
- #line default
- #line hidden
-
-
- #line 41 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TabItem tabBufferSizeLimit_;
-
- #line default
- #line hidden
-
-
- #line 43 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.ComboBox cbSizeEndless;
-
- #line default
- #line hidden
-
-
- #line 48 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TextBox tbBifferSize;
-
- #line default
- #line hidden
-
-
- #line 52 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TabItem tabRemote_;
-
- #line default
- #line hidden
-
-
- #line 54 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Label lbTotalTime;
-
- #line default
- #line hidden
-
-
- #line 55 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Label lbBufferSize;
-
- #line default
- #line hidden
-
-
- #line 56 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.CheckBox chkRemoteEnabled;
-
- #line default
- #line hidden
-
-
- #line 57 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.CheckBox chkStatsEnabled;
-
- #line default
- #line hidden
-
-
- #line 62 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Image imgSpeed;
-
- #line default
- #line hidden
-
-
- #line 72 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.ProgressBar progressBar;
-
- #line default
- #line hidden
-
-
- #line 73 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Label lbTimeElapsed;
-
- #line default
- #line hidden
-
-
- #line 74 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Label lbTimeLeft;
-
- #line default
- #line hidden
-
-
- #line 75 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Label lblStatus;
-
- #line default
- #line hidden
-
- private bool _contentLoaded;
-
- ///
- /// InitializeComponent
- ///
- [System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
- public void InitializeComponent() {
- if (_contentLoaded) {
- return;
- }
- _contentLoaded = true;
- System.Uri resourceLocater = new System.Uri("/scanUC;component/scanuc.xaml", System.UriKind.Relative);
-
- #line 1 "..\..\scanUC.xaml"
- System.Windows.Application.LoadComponent(this, resourceLocater);
-
- #line default
- #line hidden
- }
-
- [System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
- [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
- void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
- switch (connectionId)
- {
- case 1:
- this.bbtnStart = ((NationalInstruments.Controls.BooleanButton)(target));
-
- #line 17 "..\..\scanUC.xaml"
- this.bbtnStart.Click += new System.Windows.RoutedEventHandler(this.bbtnStart_Click);
-
- #line default
- #line hidden
- return;
- case 2:
- this.groupDigit = ((System.Windows.Controls.GroupBox)(target));
- return;
- case 3:
- this.cbDigitMode = ((System.Windows.Controls.ComboBox)(target));
-
- #line 20 "..\..\scanUC.xaml"
- this.cbDigitMode.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.cbDigitMode_SelectionChanged);
-
- #line default
- #line hidden
- return;
- case 4:
- this.tbDigitValue = ((System.Windows.Controls.TextBox)(target));
- return;
- case 5:
- this.tabControl = ((System.Windows.Controls.TabControl)(target));
-
- #line 30 "..\..\scanUC.xaml"
- this.tabControl.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.tabControl_SelectionChanged);
-
- #line default
- #line hidden
- return;
- case 6:
- this.tabTimeLimit = ((System.Windows.Controls.TabItem)(target));
- return;
- case 7:
- this.tbTimeLimit = ((System.Windows.Controls.TextBox)(target));
- return;
- case 8:
- this.cbTimeEndless = ((System.Windows.Controls.ComboBox)(target));
- return;
- case 9:
- this.tabBufferSizeLimit_ = ((System.Windows.Controls.TabItem)(target));
- return;
- case 10:
- this.cbSizeEndless = ((System.Windows.Controls.ComboBox)(target));
- return;
- case 11:
- this.tbBifferSize = ((System.Windows.Controls.TextBox)(target));
- return;
- case 12:
- this.tabRemote_ = ((System.Windows.Controls.TabItem)(target));
- return;
- case 13:
- this.lbTotalTime = ((System.Windows.Controls.Label)(target));
- return;
- case 14:
- this.lbBufferSize = ((System.Windows.Controls.Label)(target));
- return;
- case 15:
- this.chkRemoteEnabled = ((System.Windows.Controls.CheckBox)(target));
- return;
- case 16:
- this.chkStatsEnabled = ((System.Windows.Controls.CheckBox)(target));
- return;
- case 17:
- this.imgSpeed = ((System.Windows.Controls.Image)(target));
-
- #line 62 "..\..\scanUC.xaml"
- this.imgSpeed.MouseDown += new System.Windows.Input.MouseButtonEventHandler(this.Image_MouseDown);
-
- #line default
- #line hidden
- return;
- case 18:
- this.progressBar = ((System.Windows.Controls.ProgressBar)(target));
- return;
- case 19:
- this.lbTimeElapsed = ((System.Windows.Controls.Label)(target));
- return;
- case 20:
- this.lbTimeLeft = ((System.Windows.Controls.Label)(target));
- return;
- case 21:
- this.lblStatus = ((System.Windows.Controls.Label)(target));
- return;
- }
- this._contentLoaded = true;
- }
- }
-}
-
+#pragma checksum "..\..\scanUC.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "DABCC9838E3D2175E47577C7ED628AAA"
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using NationalInstruments.Controls;
+using System;
+using System.Diagnostics;
+using System.Windows;
+using System.Windows.Automation;
+using System.Windows.Controls;
+using System.Windows.Controls.Primitives;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Ink;
+using System.Windows.Input;
+using System.Windows.Markup;
+using System.Windows.Media;
+using System.Windows.Media.Animation;
+using System.Windows.Media.Effects;
+using System.Windows.Media.Imaging;
+using System.Windows.Media.Media3D;
+using System.Windows.Media.TextFormatting;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using System.Windows.Shell;
+
+
+namespace scanNS {
+
+
+ ///
+ /// scanClass
+ ///
+ public partial class scanClass : System.Windows.Controls.UserControl, System.Windows.Markup.IComponentConnector {
+
+
+ #line 17 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.BooleanButton bbtnStart;
+
+ #line default
+ #line hidden
+
+
+ #line 18 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.GroupBox groupDigit;
+
+ #line default
+ #line hidden
+
+
+ #line 20 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.ComboBox cbDigitMode;
+
+ #line default
+ #line hidden
+
+
+ #line 27 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TextBox tbDigitValue;
+
+ #line default
+ #line hidden
+
+
+ #line 30 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TabControl tabControl;
+
+ #line default
+ #line hidden
+
+
+ #line 31 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TabItem tabTimeLimit;
+
+ #line default
+ #line hidden
+
+
+ #line 33 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TextBox tbTimeLimit;
+
+ #line default
+ #line hidden
+
+
+ #line 34 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.ComboBox cbTimeEndless;
+
+ #line default
+ #line hidden
+
+
+ #line 41 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TabItem tabBufferSizeLimit_;
+
+ #line default
+ #line hidden
+
+
+ #line 43 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.ComboBox cbSizeEndless;
+
+ #line default
+ #line hidden
+
+
+ #line 48 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TextBox tbBifferSize;
+
+ #line default
+ #line hidden
+
+
+ #line 52 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TabItem tabRemote_;
+
+ #line default
+ #line hidden
+
+
+ #line 54 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Label lbTotalTime;
+
+ #line default
+ #line hidden
+
+
+ #line 55 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Label lbBufferSize;
+
+ #line default
+ #line hidden
+
+
+ #line 56 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.CheckBox chkRemoteEnabled;
+
+ #line default
+ #line hidden
+
+
+ #line 57 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.CheckBox chkStatsEnabled;
+
+ #line default
+ #line hidden
+
+
+ #line 62 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Image imgSpeed;
+
+ #line default
+ #line hidden
+
+
+ #line 72 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.ProgressBar progressBar;
+
+ #line default
+ #line hidden
+
+
+ #line 73 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Label lbTimeElapsed;
+
+ #line default
+ #line hidden
+
+
+ #line 74 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Label lbTimeLeft;
+
+ #line default
+ #line hidden
+
+
+ #line 75 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Label lblStatus;
+
+ #line default
+ #line hidden
+
+ private bool _contentLoaded;
+
+ ///
+ /// InitializeComponent
+ ///
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
+ public void InitializeComponent() {
+ if (_contentLoaded) {
+ return;
+ }
+ _contentLoaded = true;
+ System.Uri resourceLocater = new System.Uri("/scanBoss;component/scanuc.xaml", System.UriKind.Relative);
+
+ #line 1 "..\..\scanUC.xaml"
+ System.Windows.Application.LoadComponent(this, resourceLocater);
+
+ #line default
+ #line hidden
+ }
+
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
+ void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
+ switch (connectionId)
+ {
+ case 1:
+ this.bbtnStart = ((NationalInstruments.Controls.BooleanButton)(target));
+
+ #line 17 "..\..\scanUC.xaml"
+ this.bbtnStart.Click += new System.Windows.RoutedEventHandler(this.bbtnStart_Click);
+
+ #line default
+ #line hidden
+ return;
+ case 2:
+ this.groupDigit = ((System.Windows.Controls.GroupBox)(target));
+ return;
+ case 3:
+ this.cbDigitMode = ((System.Windows.Controls.ComboBox)(target));
+
+ #line 20 "..\..\scanUC.xaml"
+ this.cbDigitMode.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.cbDigitMode_SelectionChanged);
+
+ #line default
+ #line hidden
+ return;
+ case 4:
+ this.tbDigitValue = ((System.Windows.Controls.TextBox)(target));
+ return;
+ case 5:
+ this.tabControl = ((System.Windows.Controls.TabControl)(target));
+
+ #line 30 "..\..\scanUC.xaml"
+ this.tabControl.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.tabControl_SelectionChanged);
+
+ #line default
+ #line hidden
+ return;
+ case 6:
+ this.tabTimeLimit = ((System.Windows.Controls.TabItem)(target));
+ return;
+ case 7:
+ this.tbTimeLimit = ((System.Windows.Controls.TextBox)(target));
+ return;
+ case 8:
+ this.cbTimeEndless = ((System.Windows.Controls.ComboBox)(target));
+ return;
+ case 9:
+ this.tabBufferSizeLimit_ = ((System.Windows.Controls.TabItem)(target));
+ return;
+ case 10:
+ this.cbSizeEndless = ((System.Windows.Controls.ComboBox)(target));
+ return;
+ case 11:
+ this.tbBifferSize = ((System.Windows.Controls.TextBox)(target));
+ return;
+ case 12:
+ this.tabRemote_ = ((System.Windows.Controls.TabItem)(target));
+ return;
+ case 13:
+ this.lbTotalTime = ((System.Windows.Controls.Label)(target));
+ return;
+ case 14:
+ this.lbBufferSize = ((System.Windows.Controls.Label)(target));
+ return;
+ case 15:
+ this.chkRemoteEnabled = ((System.Windows.Controls.CheckBox)(target));
+ return;
+ case 16:
+ this.chkStatsEnabled = ((System.Windows.Controls.CheckBox)(target));
+ return;
+ case 17:
+ this.imgSpeed = ((System.Windows.Controls.Image)(target));
+
+ #line 62 "..\..\scanUC.xaml"
+ this.imgSpeed.MouseDown += new System.Windows.Input.MouseButtonEventHandler(this.Image_MouseDown);
+
+ #line default
+ #line hidden
+ return;
+ case 18:
+ this.progressBar = ((System.Windows.Controls.ProgressBar)(target));
+ return;
+ case 19:
+ this.lbTimeElapsed = ((System.Windows.Controls.Label)(target));
+ return;
+ case 20:
+ this.lbTimeLeft = ((System.Windows.Controls.Label)(target));
+ return;
+ case 21:
+ this.lblStatus = ((System.Windows.Controls.Label)(target));
+ return;
+ }
+ this._contentLoaded = true;
+ }
+ }
+}
+
diff --git a/Axel-boss/scanUC/scanUC/obj/Debug/scanUC.g.i.cs b/Axel-boss/scanUC/scanUC/obj/Debug/scanUC.g.i.cs
index 2f37b478..a04ba6b3 100644
--- a/Axel-boss/scanUC/scanUC/obj/Debug/scanUC.g.i.cs
+++ b/Axel-boss/scanUC/scanUC/obj/Debug/scanUC.g.i.cs
@@ -1,333 +1,333 @@
-#pragma checksum "..\..\scanUC.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "DABCC9838E3D2175E47577C7ED628AAA"
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-using NationalInstruments.Controls;
-using System;
-using System.Diagnostics;
-using System.Windows;
-using System.Windows.Automation;
-using System.Windows.Controls;
-using System.Windows.Controls.Primitives;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Ink;
-using System.Windows.Input;
-using System.Windows.Markup;
-using System.Windows.Media;
-using System.Windows.Media.Animation;
-using System.Windows.Media.Effects;
-using System.Windows.Media.Imaging;
-using System.Windows.Media.Media3D;
-using System.Windows.Media.TextFormatting;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
-using System.Windows.Shell;
-
-
-namespace scanNS {
-
-
- ///
- /// scanClass
- ///
- public partial class scanClass : System.Windows.Controls.UserControl, System.Windows.Markup.IComponentConnector {
-
-
- #line 17 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.BooleanButton bbtnStart;
-
- #line default
- #line hidden
-
-
- #line 18 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.GroupBox groupDigit;
-
- #line default
- #line hidden
-
-
- #line 20 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.ComboBox cbDigitMode;
-
- #line default
- #line hidden
-
-
- #line 27 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TextBox tbDigitValue;
-
- #line default
- #line hidden
-
-
- #line 30 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TabControl tabControl;
-
- #line default
- #line hidden
-
-
- #line 31 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TabItem tabTimeLimit;
-
- #line default
- #line hidden
-
-
- #line 33 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TextBox tbTimeLimit;
-
- #line default
- #line hidden
-
-
- #line 34 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.ComboBox cbTimeEndless;
-
- #line default
- #line hidden
-
-
- #line 41 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TabItem tabBufferSizeLimit_;
-
- #line default
- #line hidden
-
-
- #line 43 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.ComboBox cbSizeEndless;
-
- #line default
- #line hidden
-
-
- #line 48 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TextBox tbBifferSize;
-
- #line default
- #line hidden
-
-
- #line 52 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TabItem tabRemote_;
-
- #line default
- #line hidden
-
-
- #line 54 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Label lbTotalTime;
-
- #line default
- #line hidden
-
-
- #line 55 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Label lbBufferSize;
-
- #line default
- #line hidden
-
-
- #line 56 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.CheckBox chkRemoteEnabled;
-
- #line default
- #line hidden
-
-
- #line 57 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.CheckBox chkStatsEnabled;
-
- #line default
- #line hidden
-
-
- #line 62 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Image imgSpeed;
-
- #line default
- #line hidden
-
-
- #line 72 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.ProgressBar progressBar;
-
- #line default
- #line hidden
-
-
- #line 73 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Label lbTimeElapsed;
-
- #line default
- #line hidden
-
-
- #line 74 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Label lbTimeLeft;
-
- #line default
- #line hidden
-
-
- #line 75 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Label lblStatus;
-
- #line default
- #line hidden
-
- private bool _contentLoaded;
-
- ///
- /// InitializeComponent
- ///
- [System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
- public void InitializeComponent() {
- if (_contentLoaded) {
- return;
- }
- _contentLoaded = true;
- System.Uri resourceLocater = new System.Uri("/scanUC;component/scanuc.xaml", System.UriKind.Relative);
-
- #line 1 "..\..\scanUC.xaml"
- System.Windows.Application.LoadComponent(this, resourceLocater);
-
- #line default
- #line hidden
- }
-
- [System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
- [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
- void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
- switch (connectionId)
- {
- case 1:
- this.bbtnStart = ((NationalInstruments.Controls.BooleanButton)(target));
-
- #line 17 "..\..\scanUC.xaml"
- this.bbtnStart.Click += new System.Windows.RoutedEventHandler(this.bbtnStart_Click);
-
- #line default
- #line hidden
- return;
- case 2:
- this.groupDigit = ((System.Windows.Controls.GroupBox)(target));
- return;
- case 3:
- this.cbDigitMode = ((System.Windows.Controls.ComboBox)(target));
-
- #line 20 "..\..\scanUC.xaml"
- this.cbDigitMode.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.cbDigitMode_SelectionChanged);
-
- #line default
- #line hidden
- return;
- case 4:
- this.tbDigitValue = ((System.Windows.Controls.TextBox)(target));
- return;
- case 5:
- this.tabControl = ((System.Windows.Controls.TabControl)(target));
-
- #line 30 "..\..\scanUC.xaml"
- this.tabControl.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.tabControl_SelectionChanged);
-
- #line default
- #line hidden
- return;
- case 6:
- this.tabTimeLimit = ((System.Windows.Controls.TabItem)(target));
- return;
- case 7:
- this.tbTimeLimit = ((System.Windows.Controls.TextBox)(target));
- return;
- case 8:
- this.cbTimeEndless = ((System.Windows.Controls.ComboBox)(target));
- return;
- case 9:
- this.tabBufferSizeLimit_ = ((System.Windows.Controls.TabItem)(target));
- return;
- case 10:
- this.cbSizeEndless = ((System.Windows.Controls.ComboBox)(target));
- return;
- case 11:
- this.tbBifferSize = ((System.Windows.Controls.TextBox)(target));
- return;
- case 12:
- this.tabRemote_ = ((System.Windows.Controls.TabItem)(target));
- return;
- case 13:
- this.lbTotalTime = ((System.Windows.Controls.Label)(target));
- return;
- case 14:
- this.lbBufferSize = ((System.Windows.Controls.Label)(target));
- return;
- case 15:
- this.chkRemoteEnabled = ((System.Windows.Controls.CheckBox)(target));
- return;
- case 16:
- this.chkStatsEnabled = ((System.Windows.Controls.CheckBox)(target));
- return;
- case 17:
- this.imgSpeed = ((System.Windows.Controls.Image)(target));
-
- #line 62 "..\..\scanUC.xaml"
- this.imgSpeed.MouseDown += new System.Windows.Input.MouseButtonEventHandler(this.Image_MouseDown);
-
- #line default
- #line hidden
- return;
- case 18:
- this.progressBar = ((System.Windows.Controls.ProgressBar)(target));
- return;
- case 19:
- this.lbTimeElapsed = ((System.Windows.Controls.Label)(target));
- return;
- case 20:
- this.lbTimeLeft = ((System.Windows.Controls.Label)(target));
- return;
- case 21:
- this.lblStatus = ((System.Windows.Controls.Label)(target));
- return;
- }
- this._contentLoaded = true;
- }
- }
-}
-
+#pragma checksum "..\..\scanUC.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "DABCC9838E3D2175E47577C7ED628AAA"
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using NationalInstruments.Controls;
+using System;
+using System.Diagnostics;
+using System.Windows;
+using System.Windows.Automation;
+using System.Windows.Controls;
+using System.Windows.Controls.Primitives;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Ink;
+using System.Windows.Input;
+using System.Windows.Markup;
+using System.Windows.Media;
+using System.Windows.Media.Animation;
+using System.Windows.Media.Effects;
+using System.Windows.Media.Imaging;
+using System.Windows.Media.Media3D;
+using System.Windows.Media.TextFormatting;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using System.Windows.Shell;
+
+
+namespace scanNS {
+
+
+ ///
+ /// scanClass
+ ///
+ public partial class scanClass : System.Windows.Controls.UserControl, System.Windows.Markup.IComponentConnector {
+
+
+ #line 17 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.BooleanButton bbtnStart;
+
+ #line default
+ #line hidden
+
+
+ #line 18 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.GroupBox groupDigit;
+
+ #line default
+ #line hidden
+
+
+ #line 20 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.ComboBox cbDigitMode;
+
+ #line default
+ #line hidden
+
+
+ #line 27 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TextBox tbDigitValue;
+
+ #line default
+ #line hidden
+
+
+ #line 30 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TabControl tabControl;
+
+ #line default
+ #line hidden
+
+
+ #line 31 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TabItem tabTimeLimit;
+
+ #line default
+ #line hidden
+
+
+ #line 33 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TextBox tbTimeLimit;
+
+ #line default
+ #line hidden
+
+
+ #line 34 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.ComboBox cbTimeEndless;
+
+ #line default
+ #line hidden
+
+
+ #line 41 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TabItem tabBufferSizeLimit_;
+
+ #line default
+ #line hidden
+
+
+ #line 43 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.ComboBox cbSizeEndless;
+
+ #line default
+ #line hidden
+
+
+ #line 48 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TextBox tbBifferSize;
+
+ #line default
+ #line hidden
+
+
+ #line 52 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TabItem tabRemote_;
+
+ #line default
+ #line hidden
+
+
+ #line 54 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Label lbTotalTime;
+
+ #line default
+ #line hidden
+
+
+ #line 55 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Label lbBufferSize;
+
+ #line default
+ #line hidden
+
+
+ #line 56 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.CheckBox chkRemoteEnabled;
+
+ #line default
+ #line hidden
+
+
+ #line 57 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.CheckBox chkStatsEnabled;
+
+ #line default
+ #line hidden
+
+
+ #line 62 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Image imgSpeed;
+
+ #line default
+ #line hidden
+
+
+ #line 72 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.ProgressBar progressBar;
+
+ #line default
+ #line hidden
+
+
+ #line 73 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Label lbTimeElapsed;
+
+ #line default
+ #line hidden
+
+
+ #line 74 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Label lbTimeLeft;
+
+ #line default
+ #line hidden
+
+
+ #line 75 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Label lblStatus;
+
+ #line default
+ #line hidden
+
+ private bool _contentLoaded;
+
+ ///
+ /// InitializeComponent
+ ///
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
+ public void InitializeComponent() {
+ if (_contentLoaded) {
+ return;
+ }
+ _contentLoaded = true;
+ System.Uri resourceLocater = new System.Uri("/scanBoss;component/scanuc.xaml", System.UriKind.Relative);
+
+ #line 1 "..\..\scanUC.xaml"
+ System.Windows.Application.LoadComponent(this, resourceLocater);
+
+ #line default
+ #line hidden
+ }
+
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
+ void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
+ switch (connectionId)
+ {
+ case 1:
+ this.bbtnStart = ((NationalInstruments.Controls.BooleanButton)(target));
+
+ #line 17 "..\..\scanUC.xaml"
+ this.bbtnStart.Click += new System.Windows.RoutedEventHandler(this.bbtnStart_Click);
+
+ #line default
+ #line hidden
+ return;
+ case 2:
+ this.groupDigit = ((System.Windows.Controls.GroupBox)(target));
+ return;
+ case 3:
+ this.cbDigitMode = ((System.Windows.Controls.ComboBox)(target));
+
+ #line 20 "..\..\scanUC.xaml"
+ this.cbDigitMode.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.cbDigitMode_SelectionChanged);
+
+ #line default
+ #line hidden
+ return;
+ case 4:
+ this.tbDigitValue = ((System.Windows.Controls.TextBox)(target));
+ return;
+ case 5:
+ this.tabControl = ((System.Windows.Controls.TabControl)(target));
+
+ #line 30 "..\..\scanUC.xaml"
+ this.tabControl.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.tabControl_SelectionChanged);
+
+ #line default
+ #line hidden
+ return;
+ case 6:
+ this.tabTimeLimit = ((System.Windows.Controls.TabItem)(target));
+ return;
+ case 7:
+ this.tbTimeLimit = ((System.Windows.Controls.TextBox)(target));
+ return;
+ case 8:
+ this.cbTimeEndless = ((System.Windows.Controls.ComboBox)(target));
+ return;
+ case 9:
+ this.tabBufferSizeLimit_ = ((System.Windows.Controls.TabItem)(target));
+ return;
+ case 10:
+ this.cbSizeEndless = ((System.Windows.Controls.ComboBox)(target));
+ return;
+ case 11:
+ this.tbBifferSize = ((System.Windows.Controls.TextBox)(target));
+ return;
+ case 12:
+ this.tabRemote_ = ((System.Windows.Controls.TabItem)(target));
+ return;
+ case 13:
+ this.lbTotalTime = ((System.Windows.Controls.Label)(target));
+ return;
+ case 14:
+ this.lbBufferSize = ((System.Windows.Controls.Label)(target));
+ return;
+ case 15:
+ this.chkRemoteEnabled = ((System.Windows.Controls.CheckBox)(target));
+ return;
+ case 16:
+ this.chkStatsEnabled = ((System.Windows.Controls.CheckBox)(target));
+ return;
+ case 17:
+ this.imgSpeed = ((System.Windows.Controls.Image)(target));
+
+ #line 62 "..\..\scanUC.xaml"
+ this.imgSpeed.MouseDown += new System.Windows.Input.MouseButtonEventHandler(this.Image_MouseDown);
+
+ #line default
+ #line hidden
+ return;
+ case 18:
+ this.progressBar = ((System.Windows.Controls.ProgressBar)(target));
+ return;
+ case 19:
+ this.lbTimeElapsed = ((System.Windows.Controls.Label)(target));
+ return;
+ case 20:
+ this.lbTimeLeft = ((System.Windows.Controls.Label)(target));
+ return;
+ case 21:
+ this.lblStatus = ((System.Windows.Controls.Label)(target));
+ return;
+ }
+ this._contentLoaded = true;
+ }
+ }
+}
+
diff --git a/Axel-boss/scanUC/scanUC/obj/Debug/scanUC.g.resources b/Axel-boss/scanUC/scanUC/obj/Debug/scanUC.g.resources
deleted file mode 100644
index 1deb8804..00000000
Binary files a/Axel-boss/scanUC/scanUC/obj/Debug/scanUC.g.resources and /dev/null differ
diff --git a/Axel-boss/scanUC/scanUC/obj/Debug/scanUC.pdb b/Axel-boss/scanUC/scanUC/obj/Debug/scanUC.pdb
deleted file mode 100644
index 955e61bd..00000000
Binary files a/Axel-boss/scanUC/scanUC/obj/Debug/scanUC.pdb and /dev/null differ
diff --git a/Axel-boss/scanUC/scanUC/obj/Debug/scanUC_MarkupCompile.cache b/Axel-boss/scanUC/scanUC/obj/Debug/scanUC_MarkupCompile.cache
deleted file mode 100644
index 572c3243..00000000
--- a/Axel-boss/scanUC/scanUC/obj/Debug/scanUC_MarkupCompile.cache
+++ /dev/null
@@ -1,20 +0,0 @@
-scanUC
-
-
-library
-C#
-.cs
-E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\
-scanNS
-none
-false
-DEBUG;TRACE
-
-1934534476
-
-51632128136
-171564926708
-scanUC.xaml;
-
-False
-
diff --git a/Axel-boss/scanUC/scanUC/obj/Debug/scanUC_MarkupCompile.i.cache b/Axel-boss/scanUC/scanUC/obj/Debug/scanUC_MarkupCompile.i.cache
index 06c302aa..b142f1cf 100644
--- a/Axel-boss/scanUC/scanUC/obj/Debug/scanUC_MarkupCompile.i.cache
+++ b/Axel-boss/scanUC/scanUC/obj/Debug/scanUC_MarkupCompile.i.cache
@@ -1,20 +1,20 @@
-scanUC
-
-
-library
-C#
-.cs
-E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\
-scanNS
-none
-false
-DEBUG;TRACE
-
-1934534476
-
-91521780549
-171564926708
-scanUC.xaml;
-
-False
-
+scanUC
+
+
+library
+C#
+.cs
+E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\
+scanBoss
+none
+false
+DEBUG;TRACE
+
+1934534476
+
+91521780549
+171564926708
+scanUC.xaml;
+
+False
+
diff --git a/Axel-boss/scanUC/scanUC/obj/Debug/scanuc.dll.licenses b/Axel-boss/scanUC/scanUC/obj/Debug/scanuc.dll.licenses
deleted file mode 100644
index 4d6d945f..00000000
Binary files a/Axel-boss/scanUC/scanUC/obj/Debug/scanuc.dll.licenses and /dev/null differ
diff --git a/Axel-boss/scanUC/scanUC/scanBoss.csproj b/Axel-boss/scanUC/scanUC/scanBoss.csproj
index c10d31d1..1839c90b 100644
--- a/Axel-boss/scanUC/scanUC/scanBoss.csproj
+++ b/Axel-boss/scanUC/scanUC/scanBoss.csproj
@@ -1,108 +1,109 @@
-
-
-
-
- Debug
- AnyCPU
- {1FB4D7AD-D169-4B68-A11A-C398186F3C4C}
- library
- Properties
- scanNS
- scanUC
- v4.5
- 512
- {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
- 4
-
-
- true
- full
- false
- ..\..\Axel-boss\bin\
- DEBUG;TRACE
- prompt
- 4
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 4.0
-
-
- ..\..\Utils\bin\Debug\UtilsLib.dll
-
-
-
-
-
-
-
- MSBuild:Compile
- Designer
-
-
-
- scanUC.xaml
-
-
-
-
- Code
-
-
- True
- True
- Resources.resx
-
-
- True
- Settings.settings
- True
-
-
-
- ResXFileCodeGenerator
- Resources.Designer.cs
-
-
- SettingsSingleFileGenerator
- Settings.Designer.cs
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ Debug
+ AnyCPU
+ {1FB4D7AD-D169-4B68-A11A-C398186F3C4C}
+ library
+ Properties
+ scanBoss
+ scanBoss
+ v4.5
+ 512
+ {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ 4
+
+
+ true
+ full
+ false
+ ..\..\Axel-boss\bin\
+ DEBUG;TRACE
+ prompt
+ 4
+ true
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 4.0
+
+
+ ..\..\Utils\bin\Debug\UtilsLib.dll
+
+
+
+
+
+
+
+ MSBuild:Compile
+ Designer
+
+
+
+ scanUC.xaml
+
+
+
+
+ Code
+
+
+ True
+ True
+ Resources.resx
+
+
+ True
+ Settings.settings
+ True
+
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+
+
+ SettingsSingleFileGenerator
+ Settings.Designer.cs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Axel-boss/scanUC/scanUC/scanUC.xaml b/Axel-boss/scanUC/scanUC/scanUC.xaml
index 68d86703..03b84522 100644
--- a/Axel-boss/scanUC/scanUC/scanUC.xaml
+++ b/Axel-boss/scanUC/scanUC/scanUC.xaml
@@ -1,77 +1,77 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Axel-boss/scanUC/scanUC/scanUC.xaml.cs b/Axel-boss/scanUC/scanUC/scanUC.xaml.cs
index d26ab4fe..33fe4af2 100644
--- a/Axel-boss/scanUC/scanUC/scanUC.xaml.cs
+++ b/Axel-boss/scanUC/scanUC/scanUC.xaml.cs
@@ -1,344 +1,344 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows.Threading;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Input;
-using System.Windows.Media;
-using System.Windows.Media.Imaging;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
-using PipesServerNS;
-using UtilsNS;
-
-namespace scanNS
-{
-
- ///
- /// Interaction logic for UserControl1.xaml
- ///
- public partial class scanClass : UserControl
- {
- public delegate void NewMessageDelegate(string NewMessage);
- private PipeServer _pipeServer;
- private string TrackPipeName = "XPStrackPipe";
- private bool Connected = false;
- public readonly double[] FixConvRate = { 102400, 51200, 34133, 25600, 20480, 17067, 14629, 12800, 11378,
- 10240, 9309, 8533, 7314, 6400, 5689, 5120, 4655, 4267, 3657, 3200, 2844, 2560, 2327, 2133, 1829,
- 1600, 1422, 1280, 1164, 1067, 914, 800, 711, 640, 582, 533, 457, 400, 356, 320, 291, 267}; // [Hz]
-
- TimeSpan totalTime, currentTime;
- DispatcherTimer dispatcherTimer;
-
- public double RealConvRate(double wantedCR)
- {
- if (wantedCR > FixConvRate[0]) return FixConvRate[0];
- int len = FixConvRate.Length;
- if (wantedCR <= FixConvRate[len-1]) return FixConvRate[len-1];
- int found = 0;
- for (int i = 0; i < len-1; i++)
- {
- if ((FixConvRate[i] >= wantedCR) && (wantedCR > FixConvRate[i + 1]))
- {
- found = i; break;
- }
- }
- groupDigit.Header = " Conversion rate (" + FixConvRate[found].ToString() + " [Hz])"; DoEvents();
- return FixConvRate[found];
- }
-
- private void Connect2Track()
- {
- try
- {
- _pipeServer.Listen(TrackPipeName);
- Connected = true;
- }
- catch (Exception)
- {
- Connected = false;
- }
- if (Connected) Status("Ready to go remote <->");
- }
-
- public scanClass()
- {
- InitializeComponent();
-
- _pipeServer = new PipeServer();
- _pipeServer.PipeMessage += new DelegateMessage(PipesMessageHandler);
-
- dispatcherTimer = new DispatcherTimer(DispatcherPriority.Send);
- dispatcherTimer.Tick += dispatcherTimer_Tick;
- dispatcherTimer.Interval = new TimeSpan(0,0,1);
-
- //if(!Connected) Connect2Track();
-
- tabControl.SelectedIndex = 0;
- //Status("Ready to go ");
- }
-
- private void dispatcherTimer_Tick(object sender, EventArgs e)
- {
- double progress = 0;
- if (totalTime.TotalSeconds > 0) // finite
- {
- if (currentTime.TotalSeconds < totalTime.TotalSeconds) currentTime = currentTime.Add(new TimeSpan(0, 0, 1));
- }
- else currentTime = currentTime.Add(new TimeSpan(0, 0, 1));
- lbTimeElapsed.Content = ((int)(currentTime.TotalSeconds)).ToString()+" [s]";
- if ((lbTimeLeft.Visibility == System.Windows.Visibility.Visible) && (totalTime.TotalSeconds > 0))
- {
- lbTimeLeft.Content = (currentTime.TotalSeconds - totalTime.TotalSeconds).ToString() + " [s]";
- progress = 100 * (currentTime.TotalSeconds / totalTime.TotalSeconds);
- }
- progressBar.Value = progress;
- DoEvents();
- }
-
- public void DoEvents()
- {
- DispatcherFrame frame = new DispatcherFrame();
- Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Background,
- new DispatcherOperationCallback(ExitFrame), frame);
- Dispatcher.PushFrame(frame);
- }
-
- public object ExitFrame(object f)
- {
- ((DispatcherFrame)f).Continue = false;
- return null;
- }
-
- private void Status(string sts)
- {
- if (Utils.isNull(lblStatus)) return;
- lblStatus.Content = "Status: " + sts;
- DoEvents();
- }
-
- public bool Running
- {
- get { return (bool)GetValue(RunningProperty); }
- set
- {
- bbtnStart.Value = value;
- if (value)
- {
- bbtnStart.Content = "Stop";
- Status("Running....");
- dispatcherTimer.Start();
- currentTime = new TimeSpan(0, 0, 0);
- }
- else
- {
- bbtnStart.Content = "Start";
- Status("Ready for another go");
- dispatcherTimer.Stop();
- lbTimeLeft.Visibility = System.Windows.Visibility.Visible;
- totalTime = new TimeSpan(0, 0, 0);
- currentTime = new TimeSpan(0, 0, 0);
- lbTimeElapsed.Content = "...[s]";
- lbTimeLeft.Content = "...[s]";
- progressBar.Value = 0;
- }
- SetValue(RunningProperty, value);
- }
- }
-
- // Using a DependencyProperty as the backing store for Running.
- public static readonly DependencyProperty RunningProperty
- = DependencyProperty.Register(
- "Running",
- typeof(bool),
- typeof(scanClass),
- new PropertyMetadata(false)
- );
-
- int TotalCycleCount = 0;
- double TotalCycleTime = 0; //[sec]
- private void PipesMessageHandler(string message)
- {
- if (!Connected)
- {
- Status("Error: no named pipe to Axel Track");
- return;
- }
- //if (tabControl.SelectedIndex != 2) tabControl.SelectedIndex = 2; // ???
- try
- {
- if (!CheckAccess())
- {
- // On a different thread
- Dispatcher.Invoke(() => PipesMessageHandler(message));
- }
- else
- {
- if ((!chkRemoteEnabled.IsChecked.Value) || (tabControl.SelectedIndex != 2)) return;
- string[] ws = message.Split('>');
- string ws0 = ws[0].ToUpper();
- if (ws0 == "ACQ") // acquisition
- {
- Status("Axel Track is moving...");
- double SamplingPeriod = GetSamplingPeriod();
- string prms = ws[1].Replace("\0", "");
- string[] wt = prms.Split(';');
- double CyclePeriod = double.Parse(wt[0]); // one cycle motion only
- double Pause = double.Parse(wt[1]); // two time gaps when it changes direction for safety
- double Distance = double.Parse(wt[2]);
- double Accel = double.Parse(wt[3]);
- int CyclesLeft = int.Parse(wt[4]);
-
- if (TotalCycleCount == 0) // first call
- {
- TotalCycleCount = CyclesLeft;
- TotalCycleTime = TotalCycleCount * (CyclePeriod + 2 * Pause);
- lbTotalTime.Content = "Time [sec]: " + (int)(TotalCycleTime);
- lbBufferSize.Content = "Buffer size: " + (int)(TotalCycleTime / SamplingPeriod);
-
- lbTimeLeft.Visibility = System.Windows.Visibility.Visible;
- totalTime = new TimeSpan(0, 0, (int)(TotalCycleTime));
- Running = true;
- }
- OnRemote(SamplingPeriod, CyclePeriod, Pause, Distance, Accel, CyclesLeft);
- if (CyclesLeft == 1)
- {
- TotalCycleCount = 0; // last turn
- Running = false;
- }
- }
- if (ws0 == "FRF") // open XPS log file for reference
- {
- Status("Axel Track sent ref. file");
- string fr = ws[1].Replace("\0", "");
- OnFileRef(fr, chkStatsEnabled.IsChecked.Value);
- Status("Ready for another go");
- }
- }
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message);
- }
- }
-
- public delegate void StartHandler(bool down, double period, bool TimeMode, bool Endless, double Limit);
- public event StartHandler Start;
-
- protected void OnStart(bool down, double period, bool TimeMode, bool Endless, double Limit)
- {
- if(Start != null) Start(down, period, TimeMode, Endless, Limit);
- }
-
- public delegate void RemoteHandler(double SamplingPeriod, double CyclePeriod, double Pause, double Distance, double Accel, int CyclesLeft);
- public event RemoteHandler Remote;
-
- protected void OnRemote(double SamplingPeriod, double CyclePeriod, double Pause, double Distance, double Accel, int CyclesLeft)
- {
- if (Remote != null) Remote(SamplingPeriod, CyclePeriod, Pause, Distance, Accel, CyclesLeft);
- }
-
- public delegate void FileRefHandler(string FN, bool stats);
- public event FileRefHandler FileRef;
-
- protected void OnFileRef(string FN, bool stats)
- {
- if (FileRef != null) FileRef(FN, stats);
- }
-
- private void Image_MouseDown(object sender, MouseButtonEventArgs e)
- {
- MessageBox.Show(" Axel Boss v1.3 \n by Teodor Krastev \nfor Imperial College, London, UK", "About");
- }
-
- private double GetSamplingPeriod()
- {
- double freq = 1; // in seconds
- double vl = 0;
- switch (cbDigitMode.SelectedIndex)
- {
- case 0: if (!double.TryParse(tbDigitValue.Text, out vl)) throw new Exception("Not number for digit. value"); // Hz
- freq = vl;
- break;
- case 1: if (!double.TryParse(tbDigitValue.Text, out vl)) throw new Exception("Not number for digit. value"); // kHz
- freq = 1000 * vl;
- break;
- case 2: if (!double.TryParse(tbDigitValue.Text, out vl)) throw new Exception("Not number for digit. value"); // s
- freq = 1 / vl;
- break;
- case 3: if (!double.TryParse(tbDigitValue.Text, out vl)) throw new Exception("Not number for digit. value"); // ms
- freq = 1000 / vl;
- break;
- case 4: throw new Exception("Not implemented yet");
-
- }
- freq = RealConvRate(freq);
- return 1 / freq;
- }
-
- private void bbtnStart_Click(object sender, RoutedEventArgs e)
- {
- if (Start == null) return;
- Running = !Running;
-
- bool down = Running;
- bool Endless = true;
- double period = GetSamplingPeriod();
- int plannedTime = 0; // [s]
-
- double Limit = 1;
- bool TimeMode = (tabControl.SelectedIndex == 0);
- if (TimeMode)
- {
- Endless = (cbTimeEndless.SelectedIndex == 1);
- if (!double.TryParse(tbTimeLimit.Text, out Limit)) throw new Exception("Not number for Time limit");
- plannedTime = (int)Limit;
- }
- else
- {
- Endless = (cbSizeEndless.SelectedIndex == 1);
- if (!double.TryParse(tbBifferSize.Text, out Limit)) throw new Exception("Not number for Buffer size");
- plannedTime = (int)(Limit * period);
- }
- if (Endless)
- {
- lbTimeLeft.Visibility = System.Windows.Visibility.Hidden;
- totalTime = new TimeSpan(0, 0, 0);
- currentTime = new TimeSpan(0, 0, 0);
- }
- else
- {
- lbTimeLeft.Visibility = System.Windows.Visibility.Visible;
- totalTime = new TimeSpan(0, 0, plannedTime);
- currentTime = new TimeSpan(0, 0, 0);
- }
- DoEvents();
- OnStart(down, period, TimeMode, Endless, Limit);
- }
-
- private void tabControl_SelectionChanged(object sender, SelectionChangedEventArgs e)
- {
- if (tabControl.SelectedIndex == 2)
- {
- if (Connected) Status("Ready to go remote <->");
- else Connect2Track();
- bbtnStart.Visibility = System.Windows.Visibility.Hidden;
- }
- else
- {
- bbtnStart.Visibility = System.Windows.Visibility.Visible;
- Status("Ready to go ");
- }
- }
-
- private void cbDigitMode_SelectionChanged(object sender, SelectionChangedEventArgs e)
- {
-
- }
- }
-}
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Threading;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using PipesServerNS;
+using UtilsNS;
+
+namespace scanBoss
+{
+
+ ///
+ /// Interaction logic for UserControl1.xaml
+ ///
+ public partial class scanClass : UserControl
+ {
+ public delegate void NewMessageDelegate(string NewMessage);
+ private PipeServer _pipeServer;
+ private string TrackPipeName = "XPStrackPipe";
+ private bool Connected = false;
+ public readonly double[] FixConvRate = { 102400, 51200, 34133, 25600, 20480, 17067, 14629, 12800, 11378,
+ 10240, 9309, 8533, 7314, 6400, 5689, 5120, 4655, 4267, 3657, 3200, 2844, 2560, 2327, 2133, 1829,
+ 1600, 1422, 1280, 1164, 1067, 914, 800, 711, 640, 582, 533, 457, 400, 356, 320, 291, 267}; // [Hz]
+
+ TimeSpan totalTime, currentTime;
+ DispatcherTimer dispatcherTimer;
+
+ public double RealConvRate(double wantedCR)
+ {
+ if (wantedCR > FixConvRate[0]) return FixConvRate[0];
+ int len = FixConvRate.Length;
+ if (wantedCR <= FixConvRate[len-1]) return FixConvRate[len-1];
+ int found = 0;
+ for (int i = 0; i < len-1; i++)
+ {
+ if ((FixConvRate[i] >= wantedCR) && (wantedCR > FixConvRate[i + 1]))
+ {
+ found = i; break;
+ }
+ }
+ groupDigit.Header = " Conversion rate (" + FixConvRate[found].ToString() + " [Hz])"; DoEvents();
+ return FixConvRate[found];
+ }
+
+ private void Connect2Track()
+ {
+ try
+ {
+ _pipeServer.Listen(TrackPipeName);
+ Connected = true;
+ }
+ catch (Exception)
+ {
+ Connected = false;
+ }
+ if (Connected) Status("Ready to go remote <->");
+ }
+
+ public scanClass()
+ {
+ InitializeComponent();
+
+ _pipeServer = new PipeServer();
+ _pipeServer.PipeMessage += new DelegateMessage(PipesMessageHandler);
+
+ dispatcherTimer = new DispatcherTimer(DispatcherPriority.Send);
+ dispatcherTimer.Tick += dispatcherTimer_Tick;
+ dispatcherTimer.Interval = new TimeSpan(0,0,1);
+
+ //if(!Connected) Connect2Track();
+
+ tabControl.SelectedIndex = 0;
+ //Status("Ready to go ");
+ }
+
+ private void dispatcherTimer_Tick(object sender, EventArgs e)
+ {
+ double progress = 0;
+ if (totalTime.TotalSeconds > 0) // finite
+ {
+ if (currentTime.TotalSeconds < totalTime.TotalSeconds) currentTime = currentTime.Add(new TimeSpan(0, 0, 1));
+ }
+ else currentTime = currentTime.Add(new TimeSpan(0, 0, 1));
+ lbTimeElapsed.Content = ((int)(currentTime.TotalSeconds)).ToString()+" [s]";
+ if ((lbTimeLeft.Visibility == System.Windows.Visibility.Visible) && (totalTime.TotalSeconds > 0))
+ {
+ lbTimeLeft.Content = (currentTime.TotalSeconds - totalTime.TotalSeconds).ToString() + " [s]";
+ progress = 100 * (currentTime.TotalSeconds / totalTime.TotalSeconds);
+ }
+ progressBar.Value = progress;
+ DoEvents();
+ }
+
+ public void DoEvents()
+ {
+ DispatcherFrame frame = new DispatcherFrame();
+ Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Background,
+ new DispatcherOperationCallback(ExitFrame), frame);
+ Dispatcher.PushFrame(frame);
+ }
+
+ public object ExitFrame(object f)
+ {
+ ((DispatcherFrame)f).Continue = false;
+ return null;
+ }
+
+ private void Status(string sts)
+ {
+ if (Utils.isNull(lblStatus)) return;
+ lblStatus.Content = "Status: " + sts;
+ DoEvents();
+ }
+
+ public bool Running
+ {
+ get { return (bool)GetValue(RunningProperty); }
+ set
+ {
+ bbtnStart.Value = value;
+ if (value)
+ {
+ bbtnStart.Content = "Stop";
+ Status("Running....");
+ dispatcherTimer.Start();
+ currentTime = new TimeSpan(0, 0, 0);
+ }
+ else
+ {
+ bbtnStart.Content = "Start";
+ Status("Ready for another go");
+ dispatcherTimer.Stop();
+ lbTimeLeft.Visibility = System.Windows.Visibility.Visible;
+ totalTime = new TimeSpan(0, 0, 0);
+ currentTime = new TimeSpan(0, 0, 0);
+ lbTimeElapsed.Content = "...[s]";
+ lbTimeLeft.Content = "...[s]";
+ progressBar.Value = 0;
+ }
+ SetValue(RunningProperty, value);
+ }
+ }
+
+ // Using a DependencyProperty as the backing store for Running.
+ public static readonly DependencyProperty RunningProperty
+ = DependencyProperty.Register(
+ "Running",
+ typeof(bool),
+ typeof(scanClass),
+ new PropertyMetadata(false)
+ );
+
+ int TotalCycleCount = 0;
+ double TotalCycleTime = 0; //[sec]
+ private void PipesMessageHandler(string message)
+ {
+ if (!Connected)
+ {
+ Status("Error: no named pipe to Axel Track");
+ return;
+ }
+ //if (tabControl.SelectedIndex != 2) tabControl.SelectedIndex = 2; // ???
+ try
+ {
+ if (!CheckAccess())
+ {
+ // On a different thread
+ Dispatcher.Invoke(() => PipesMessageHandler(message));
+ }
+ else
+ {
+ if ((!chkRemoteEnabled.IsChecked.Value) || (tabControl.SelectedIndex != 2)) return;
+ string[] ws = message.Split('>');
+ string ws0 = ws[0].ToUpper();
+ if (ws0 == "ACQ") // acquisition
+ {
+ Status("Axel Track is moving...");
+ double SamplingPeriod = GetSamplingPeriod();
+ string prms = ws[1].Replace("\0", "");
+ string[] wt = prms.Split(';');
+ double CyclePeriod = double.Parse(wt[0]); // one cycle motion only
+ double Pause = double.Parse(wt[1]); // two time gaps when it changes direction for safety
+ double Distance = double.Parse(wt[2]);
+ double Accel = double.Parse(wt[3]);
+ int CyclesLeft = int.Parse(wt[4]);
+
+ if (TotalCycleCount == 0) // first call
+ {
+ TotalCycleCount = CyclesLeft;
+ TotalCycleTime = TotalCycleCount * (CyclePeriod + 2 * Pause);
+ lbTotalTime.Content = "Time [sec]: " + (int)(TotalCycleTime);
+ lbBufferSize.Content = "Buffer size: " + (int)(TotalCycleTime / SamplingPeriod);
+
+ lbTimeLeft.Visibility = System.Windows.Visibility.Visible;
+ totalTime = new TimeSpan(0, 0, (int)(TotalCycleTime));
+ Running = true;
+ }
+ OnRemote(SamplingPeriod, CyclePeriod, Pause, Distance, Accel, CyclesLeft);
+ if (CyclesLeft == 1)
+ {
+ TotalCycleCount = 0; // last turn
+ Running = false;
+ }
+ }
+ if (ws0 == "FRF") // open XPS log file for reference
+ {
+ Status("Axel Track sent ref. file");
+ string fr = ws[1].Replace("\0", "");
+ OnFileRef(fr, chkStatsEnabled.IsChecked.Value);
+ Status("Ready for another go");
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show(ex.Message);
+ }
+ }
+
+ public delegate void StartHandler(bool down, double period, bool TimeMode, bool Endless, double Limit);
+ public event StartHandler Start;
+
+ protected void OnStart(bool down, double period, bool TimeMode, bool Endless, double Limit)
+ {
+ if(Start != null) Start(down, period, TimeMode, Endless, Limit);
+ }
+
+ public delegate void RemoteHandler(double SamplingPeriod, double CyclePeriod, double Pause, double Distance, double Accel, int CyclesLeft);
+ public event RemoteHandler Remote;
+
+ protected void OnRemote(double SamplingPeriod, double CyclePeriod, double Pause, double Distance, double Accel, int CyclesLeft)
+ {
+ if (Remote != null) Remote(SamplingPeriod, CyclePeriod, Pause, Distance, Accel, CyclesLeft);
+ }
+
+ public delegate void FileRefHandler(string FN, bool stats);
+ public event FileRefHandler FileRef;
+
+ protected void OnFileRef(string FN, bool stats)
+ {
+ if (FileRef != null) FileRef(FN, stats);
+ }
+
+ private void Image_MouseDown(object sender, MouseButtonEventArgs e)
+ {
+ MessageBox.Show(" Axel Boss v1.3 \n by Teodor Krastev \nfor Imperial College, London, UK", "About");
+ }
+
+ private double GetSamplingPeriod()
+ {
+ double freq = 1; // in seconds
+ double vl = 0;
+ switch (cbDigitMode.SelectedIndex)
+ {
+ case 0: if (!double.TryParse(tbDigitValue.Text, out vl)) throw new Exception("Not number for digit. value"); // Hz
+ freq = vl;
+ break;
+ case 1: if (!double.TryParse(tbDigitValue.Text, out vl)) throw new Exception("Not number for digit. value"); // kHz
+ freq = 1000 * vl;
+ break;
+ case 2: if (!double.TryParse(tbDigitValue.Text, out vl)) throw new Exception("Not number for digit. value"); // s
+ freq = 1 / vl;
+ break;
+ case 3: if (!double.TryParse(tbDigitValue.Text, out vl)) throw new Exception("Not number for digit. value"); // ms
+ freq = 1000 / vl;
+ break;
+ case 4: throw new Exception("Not implemented yet");
+
+ }
+ freq = RealConvRate(freq);
+ return 1 / freq;
+ }
+
+ private void bbtnStart_Click(object sender, RoutedEventArgs e)
+ {
+ if (Start == null) return;
+ Running = !Running;
+
+ bool down = Running;
+ bool Endless = true;
+ double period = GetSamplingPeriod();
+ int plannedTime = 0; // [s]
+
+ double Limit = 1;
+ bool TimeMode = (tabControl.SelectedIndex == 0);
+ if (TimeMode)
+ {
+ Endless = (cbTimeEndless.SelectedIndex == 1);
+ if (!double.TryParse(tbTimeLimit.Text, out Limit)) throw new Exception("Not number for Time limit");
+ plannedTime = (int)Limit;
+ }
+ else
+ {
+ Endless = (cbSizeEndless.SelectedIndex == 1);
+ if (!double.TryParse(tbBifferSize.Text, out Limit)) throw new Exception("Not number for Buffer size");
+ plannedTime = (int)(Limit * period);
+ }
+ if (Endless)
+ {
+ lbTimeLeft.Visibility = System.Windows.Visibility.Hidden;
+ totalTime = new TimeSpan(0, 0, 0);
+ currentTime = new TimeSpan(0, 0, 0);
+ }
+ else
+ {
+ lbTimeLeft.Visibility = System.Windows.Visibility.Visible;
+ totalTime = new TimeSpan(0, 0, plannedTime);
+ currentTime = new TimeSpan(0, 0, 0);
+ }
+ DoEvents();
+ OnStart(down, period, TimeMode, Endless, Limit);
+ }
+
+ private void tabControl_SelectionChanged(object sender, SelectionChangedEventArgs e)
+ {
+ if (tabControl.SelectedIndex == 2)
+ {
+ if (Connected) Status("Ready to go remote <->");
+ else Connect2Track();
+ bbtnStart.Visibility = System.Windows.Visibility.Hidden;
+ }
+ else
+ {
+ bbtnStart.Visibility = System.Windows.Visibility.Visible;
+ Status("Ready to go ");
+ }
+ }
+
+ private void cbDigitMode_SelectionChanged(object sender, SelectionChangedEventArgs e)
+ {
+
+ }
+ }
+}
diff --git a/Axel-hub/Axel-hub.sln b/Axel-hub/Axel-hub.sln
index 18f841af..20e847e8 100644
--- a/Axel-hub/Axel-hub.sln
+++ b/Axel-hub/Axel-hub.sln
@@ -1,40 +1,40 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2013
-VisualStudioVersion = 12.0.31101.0
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "scanUC", "scanUC\scanUC\scanUC.csproj", "{1FB4D7AD-D169-4B68-A11A-C398186F3C4C}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AxelChart", "..\AxelChart\AxelChart\AxelChart.csproj", "{C8285DB3-DE2F-4B3B-B79A-454B4C4C2828}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UtilsLib", "..\Utils\UtilsLib.csproj", "{A377A708-96B9-4569-BC22-0187D647611E}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Axel-hub", "Axel-hub\Axel-hub.csproj", "{9FDC67B7-A355-4D9D-83CD-187E9FE0D6E5}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {1FB4D7AD-D169-4B68-A11A-C398186F3C4C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {1FB4D7AD-D169-4B68-A11A-C398186F3C4C}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {1FB4D7AD-D169-4B68-A11A-C398186F3C4C}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {1FB4D7AD-D169-4B68-A11A-C398186F3C4C}.Release|Any CPU.Build.0 = Release|Any CPU
- {C8285DB3-DE2F-4B3B-B79A-454B4C4C2828}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {C8285DB3-DE2F-4B3B-B79A-454B4C4C2828}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {C8285DB3-DE2F-4B3B-B79A-454B4C4C2828}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {C8285DB3-DE2F-4B3B-B79A-454B4C4C2828}.Release|Any CPU.Build.0 = Release|Any CPU
- {A377A708-96B9-4569-BC22-0187D647611E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {A377A708-96B9-4569-BC22-0187D647611E}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {A377A708-96B9-4569-BC22-0187D647611E}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {A377A708-96B9-4569-BC22-0187D647611E}.Release|Any CPU.Build.0 = Release|Any CPU
- {9FDC67B7-A355-4D9D-83CD-187E9FE0D6E5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {9FDC67B7-A355-4D9D-83CD-187E9FE0D6E5}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {9FDC67B7-A355-4D9D-83CD-187E9FE0D6E5}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {9FDC67B7-A355-4D9D-83CD-187E9FE0D6E5}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2013
+VisualStudioVersion = 12.0.31101.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "scanUC", "scanUC\scanUC\scanUC.csproj", "{1FB4D7AD-D169-4B68-A11A-C398186F3C4C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AxelChart", "..\AxelChart\AxelChart\AxelChart.csproj", "{C8285DB3-DE2F-4B3B-B79A-454B4C4C2828}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UtilsLib", "..\Utils\UtilsLib.csproj", "{A377A708-96B9-4569-BC22-0187D647611E}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Axel-hub", "Axel-hub\Axel-hub.csproj", "{9FDC67B7-A355-4D9D-83CD-187E9FE0D6E5}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {1FB4D7AD-D169-4B68-A11A-C398186F3C4C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1FB4D7AD-D169-4B68-A11A-C398186F3C4C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1FB4D7AD-D169-4B68-A11A-C398186F3C4C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1FB4D7AD-D169-4B68-A11A-C398186F3C4C}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C8285DB3-DE2F-4B3B-B79A-454B4C4C2828}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C8285DB3-DE2F-4B3B-B79A-454B4C4C2828}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C8285DB3-DE2F-4B3B-B79A-454B4C4C2828}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C8285DB3-DE2F-4B3B-B79A-454B4C4C2828}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A377A708-96B9-4569-BC22-0187D647611E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A377A708-96B9-4569-BC22-0187D647611E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A377A708-96B9-4569-BC22-0187D647611E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A377A708-96B9-4569-BC22-0187D647611E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {9FDC67B7-A355-4D9D-83CD-187E9FE0D6E5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {9FDC67B7-A355-4D9D-83CD-187E9FE0D6E5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {9FDC67B7-A355-4D9D-83CD-187E9FE0D6E5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {9FDC67B7-A355-4D9D-83CD-187E9FE0D6E5}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/Axel-hub/Axel-hub/App.xaml b/Axel-hub/Axel-hub/App.xaml
index d6ba35ce..b74e8828 100644
--- a/Axel-hub/Axel-hub/App.xaml
+++ b/Axel-hub/Axel-hub/App.xaml
@@ -1,8 +1,8 @@
-
-
-
-
-
+
+
+
+
+
diff --git a/Axel-hub/Axel-hub/App.xaml.cs b/Axel-hub/Axel-hub/App.xaml.cs
index ecca81d2..b550892b 100644
--- a/Axel-hub/Axel-hub/App.xaml.cs
+++ b/Axel-hub/Axel-hub/App.xaml.cs
@@ -1,17 +1,17 @@
-using System;
-using System.Collections.Generic;
-using System.Configuration;
-using System.Data;
-using System.Linq;
-using System.Windows;
-using System.Windows.Threading;
-
-namespace Axel_boss
-{
- ///
- /// Interaction logic for App.xaml
- ///
- public partial class App : Application
- {
- }
-}
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Data;
+using System.Linq;
+using System.Windows;
+using System.Windows.Threading;
+
+namespace Axel_boss
+{
+ ///
+ /// Interaction logic for App.xaml
+ ///
+ public partial class App : Application
+ {
+ }
+}
diff --git a/Axel-hub/Axel-hub/AssemblyInfo.cs b/Axel-hub/Axel-hub/AssemblyInfo.cs
index f622f8d1..526b2b60 100644
--- a/Axel-hub/Axel-hub/AssemblyInfo.cs
+++ b/Axel-hub/Axel-hub/AssemblyInfo.cs
@@ -1,55 +1,55 @@
-using System.Reflection;
-using System.Resources;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-using System.Windows;
-
-// 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.
-[assembly: AssemblyTitle("Axel_hub")]
-[assembly: AssemblyDescription("Data acquisition and acceleration math for MEMS and Axel-track")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("Teodor Krastev for Imperial College, London, UK")]
-[assembly: AssemblyProduct("Axel_boss")]
-[assembly: AssemblyCopyright("Teodor Krastev for Imperial College, London, UK")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-//In order to begin building localizable applications, set
-//CultureYouAreCodingWith in your .csproj file
-//inside a . For example, if you are using US english
-//in your source files, set the to en-US. Then uncomment
-//the NeutralResourceLanguage attribute below. Update the "en-US" in
-//the line below to match the UICulture setting in the project file.
-
-//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
-
-
-[assembly: ThemeInfo(
- ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
- //(used if a resource is not found in the page,
- // or application resource dictionaries)
- ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
- //(used if a resource is not found in the page,
- // app, or any theme specific resource dictionaries)
-)]
-
-
-// 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:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+using System.Reflection;
+using System.Resources;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using System.Windows;
+
+// 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.
+[assembly: AssemblyTitle("Axel_hub")]
+[assembly: AssemblyDescription("Data acquisition and acceleration math for MEMS and Axel-track")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Teodor Krastev for Imperial College, London, UK")]
+[assembly: AssemblyProduct("Axel_boss")]
+[assembly: AssemblyCopyright("Teodor Krastev for Imperial College, London, UK")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+//In order to begin building localizable applications, set
+//CultureYouAreCodingWith in your .csproj file
+//inside a . For example, if you are using US english
+//in your source files, set the to en-US. Then uncomment
+//the NeutralResourceLanguage attribute below. Update the "en-US" in
+//the line below to match the UICulture setting in the project file.
+
+//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
+
+
+[assembly: ThemeInfo(
+ ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
+ //(used if a resource is not found in the page,
+ // or application resource dictionaries)
+ ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
+ //(used if a resource is not found in the page,
+ // app, or any theme specific resource dictionaries)
+)]
+
+
+// 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:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/Axel-hub/Axel-hub/Axel-hub.csproj b/Axel-hub/Axel-hub/Axel-hub.csproj
index 888990b5..e48f21a0 100644
--- a/Axel-hub/Axel-hub/Axel-hub.csproj
+++ b/Axel-hub/Axel-hub/Axel-hub.csproj
@@ -1,179 +1,186 @@
-
-
-
- Debug
- x86
- 8.0.30703
- 2.0
- {6C5C4030-6910-4AC7-BD4A-79476703D912}
- WinExe
- Properties
- Axel_hub
- Axel-hub
- v4.5
-
-
- 512
- {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
- 4
- false
- publish\
- true
- Disk
- false
- Foreground
- 7
- Days
- false
- false
- true
- 0
- 1.0.0.%2a
- false
- true
-
-
- x86
- true
- full
- false
- bin\
- DEBUG;TRACE
- prompt
- 4
- false
-
-
- x86
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
- false
-
-
- rocket1.ico
-
-
-
- False
- ..\..\AxelChart\AxelChart\bin\AxelChart.dll
-
-
-
-
-
-
-
-
- False
- bin\NationalInstruments.DAQmx.dll
-
-
- False
-
-
-
-
-
-
-
- False
- bin\Newtonsoft.Json.dll
-
-
- ..\scanUC\scanUC\bin\scanHub.dll
-
-
-
-
-
-
-
-
-
- 4.0
-
-
- False
- ..\..\Utils\bin\UtilsLib.dll
-
-
-
-
-
-
-
- MSBuild:Compile
- Designer
-
-
-
- MSBuild:Compile
- Designer
-
-
- App.xaml
- Code
-
-
- MainWindow.xaml
- Code
-
-
-
-
- Code
-
-
- True
- True
- Resources.resx
-
-
- True
- Settings.settings
- True
-
-
-
- ResXFileCodeGenerator
- Resources.Designer.cs
-
-
- SettingsSingleFileGenerator
- Settings.Designer.cs
-
-
-
-
-
- False
- Microsoft .NET Framework 4.5 %28x86 and x64%29
- true
-
-
- False
- .NET Framework 3.5 SP1 Client Profile
- false
-
-
- False
- .NET Framework 3.5 SP1
- false
-
-
-
-
-
-
-
+
+
+
+ Debug
+ x86
+ 8.0.30703
+ 2.0
+ {6C5C4030-6910-4AC7-BD4A-79476703D912}
+ WinExe
+ Properties
+ Axel_hub
+ Axel-hub
+ v4.5
+
+
+ 512
+ {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ 4
+ false
+ publish\
+ true
+ Disk
+ false
+ Foreground
+ 7
+ Days
+ false
+ false
+ true
+ 0
+ 1.0.0.%2a
+ false
+ true
+
+
+ x86
+ true
+ full
+ false
+ bin\
+ DEBUG;TRACE
+ prompt
+ 4
+ false
+ true
+
+
+ x86
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+ false
+
+
+ rocket1.ico
+
+
+
+ False
+ ..\..\AxelChart\AxelChart\bin\AxelChart.dll
+
+
+ ..\..\..\EDMSuite\MotMaster2\bin\Nav\DataStructures.dll
+
+
+
+
+
+
+
+
+
+ False
+
+
+
+
+
+
+
+ False
+ bin\Newtonsoft.Json.dll
+
+
+ False
+ ..\scanUC\scanUC\bin\scanHub.dll
+
+
+
+
+
+
+
+
+
+
+ 4.0
+
+
+ False
+ ..\..\Utils\bin\UtilsLib.dll
+
+
+
+
+
+
+
+ MSBuild:Compile
+ Designer
+
+
+
+ RemoteMessaging.cs
+
+
+ MSBuild:Compile
+ Designer
+
+
+ App.xaml
+ Code
+
+
+ MainWindow.xaml
+ Code
+
+
+
+
+ Code
+
+
+
+ True
+ True
+ Resources.resx
+
+
+ True
+ Settings.settings
+ True
+
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+
+
+ SettingsSingleFileGenerator
+ Settings.Designer.cs
+
+
+
+
+
+ False
+ Microsoft .NET Framework 4.5 %28x86 and x64%29
+ true
+
+
+ False
+ .NET Framework 3.5 SP1 Client Profile
+ false
+
+
+ False
+ .NET Framework 3.5 SP1
+ false
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Axel-hub/Axel-hub/Axel-hub.csproj.user b/Axel-hub/Axel-hub/Axel-hub.csproj.user
index be7881fc..4a9dac53 100644
--- a/Axel-hub/Axel-hub/Axel-hub.csproj.user
+++ b/Axel-hub/Axel-hub/Axel-hub.csproj.user
@@ -1,13 +1,13 @@
-
-
-
- publish\
-
-
-
-
-
- en-US
- false
-
+
+
+
+ publish\
+
+
+
+
+
+ en-US
+ false
+
\ No newline at end of file
diff --git a/Axel-hub/Axel-hub/AxelHMems.cs b/Axel-hub/Axel-hub/AxelHMems.cs
index 7d27534d..10657669 100644
--- a/Axel-hub/Axel-hub/AxelHMems.cs
+++ b/Axel-hub/Axel-hub/AxelHMems.cs
@@ -1,207 +1,296 @@
-using System;
-using System.Windows;
-using System.Timers;
-using System.Collections.Generic;
-using System.Diagnostics;
-
-using NationalInstruments;
-using NationalInstruments.DAQmx;
-//using DS345NS;
-using UtilsNS;
-
-namespace AxelHMemsNS
-{
- public class AxelMems
- {
- public Timer mTimer = null; // start/stop
- private Stopwatch sw = null;
-
- private bool _running = false;
- private int activeChannel = 0;
- private string physicalChannel = "cDAQ1Mod1/ai0";
- private int _nSamples = 1500; // default
- public int nSamples {get { return _nSamples; } }
-
- private double _sampleRate = 2200;
- public double sampleRate { get { return _sampleRate; } }
- public int Timeout = 1000; // [sec]
- public List rawData = null;
-
- private Task voltageInputTask = null;
- private AnalogMultiChannelReader VIReader = null;
- private AIChannel axelAIChannel;
-
- private AnalogMultiChannelReader analogInReader;
- private Task myTask;
- private Task runningTask;
- private AsyncCallback analogCallback;
- private AnalogWaveform[] waveform;
-
- public AxelMems()
- {
- sw = new Stopwatch();
- }
-
- public bool running // wait for running to end in order to read rawData
- {
- get { return _running; }
- }
-
- public double[,] readBurst(int nPoints) // synchro read
- {
- int np = nSamples;
- if (nPoints > 0) np = nPoints;
- double[,] aiData = new double[1, np];
-
- voltageInputTask.Control(TaskAction.Abort); // reset the device
- voltageInputTask.Start();
- aiData = VIReader.ReadMultiSample(np);
- voltageInputTask.Stop();
- return aiData;
- }
-
- public void configureVITask(string physicalChn, int numbSamples, double samplingRate)
- {
- if(Utils.isNull(voltageInputTask)) voltageInputTask = new Task();
-
- if(Utils.isNull(axelAIChannel)) axelAIChannel = voltageInputTask.AIChannels.CreateVoltageChannel(physicalChn, "", AITerminalConfiguration.Differential,
- (double)-3.5, (double)3.5, AIVoltageUnits.Volts);
-
- voltageInputTask.Timing.ConfigureSampleClock("", sampleRate, SampleClockActiveEdge.Rising, SampleQuantityMode.FiniteSamples);
- voltageInputTask.Timing.SamplesPerChannel = nSamples;
- voltageInputTask.Stream.Timeout = 1000 * Timeout;
- voltageInputTask.Control(TaskAction.Commit);
-
- if(Utils.isNull(VIReader)) VIReader = new AnalogMultiChannelReader(voltageInputTask.Stream);
- }
-
- public void Reset()
- {
- if (!Utils.isNull(axelAIChannel)) axelAIChannel.Dispose();
- if (!Utils.isNull(VIReader)) VIReader = null;
- if (!Utils.isNull(voltageInputTask)) voltageInputTask.Dispose();
- }
-
- #region
- public delegate void AcquireHandler(List data, out bool next);
- public event AcquireHandler Acquire;
-
- protected void OnAcquire(List data, out bool next)
- {
- next = false;
- if (Acquire != null) Acquire(data, out next);
- }
-
- public void StartAqcuisition(int samplesPerChannel, double samplingRate)
- {
- if (runningTask == null)
- {
- try
- {
- // Create a new task
- myTask = new Task();
-
- // Create a virtual channel
- myTask.AIChannels.CreateVoltageChannel(physicalChannel, "", (AITerminalConfiguration)(-1), -3.5, 3.5, AIVoltageUnits.Volts);
-
- // Configure the timing parameters
- myTask.Timing.ConfigureSampleClock("", samplingRate, SampleClockActiveEdge.Rising, SampleQuantityMode.ContinuousSamples, 1000);
-
- // Verify the Task
- myTask.Control(TaskAction.Verify);
-
- runningTask = myTask;
- analogInReader = new AnalogMultiChannelReader(myTask.Stream);
- analogCallback = new AsyncCallback(AnalogInCallback);
-
- // Use SynchronizeCallbacks to specify that the object
- // marshals callbacks across threads appropriately.
- analogInReader.SynchronizeCallbacks = true;
- _nSamples = samplesPerChannel;
- analogInReader.BeginReadWaveform(samplesPerChannel, analogCallback, myTask);
- }
- catch (DaqException exception)
- {
- // Display Errors
- MessageBox.Show(exception.Message);
- runningTask = null;
- myTask.Dispose();
- }
- }
-
- }
-
- private void AnalogInCallback(IAsyncResult ar)
- {
- try
- {
- if (runningTask != null && runningTask == ar.AsyncState)
- {
- // Read the available data from the channels
- waveform = analogInReader.EndReadWaveform(ar);
- List data = new List();
-
- if (!sw.IsRunning) sw.Start();
- double ts = sw.Elapsed.TotalSeconds;
-
- for (int sample = 0; sample < waveform[activeChannel].Samples.Count; ++sample)
- {
- data.Add(new Point( ts + sample/sampleRate, waveform[activeChannel].Samples[sample].Value));
- }
- bool next = false;
- if (Acquire != null) Acquire(data, out next);
- if (next) analogInReader.BeginMemoryOptimizedReadWaveform(nSamples, analogCallback, myTask, waveform);
- }
- }
- catch (DaqException exception)
- {
- // Display Errors
- MessageBox.Show(exception.Message);
- runningTask = null;
- myTask.Dispose();
- }
- }
-
- public void StopAqcuisition()
- {
- if (myTask != null)
- {
- runningTask = null;
- myTask.Dispose();
- sw.Reset();
- }
- }
- #endregion
-
- #region flag (running) synchronized aqcuisition
- public void readInVoltages()
- {
-
- //int nSamplesOut;
- _running = true;
- //voltageInputTask.Start();
- //aiData = VIReader.ReadMultiSample(nSamples);
- //VIReader.MemoryOptimizedReadMultiSample(nSamples, ref aiData, out nSamplesOut);
- VIReader.BeginReadMultiSample(nSamples, ReadComplete, null);
- //if (!nSamplesOut.Equals(nSamples)) Utils.errorMessage("Less than required number of points in aquisition");
- //voltageInputTask.Stop();
- //return aiData;
- }
-
- private void ReadComplete(IAsyncResult result)
- {
- // Because the UI thread calls BeginReadMultiSample,
- // this callback will execute in the UI thread.
- double[,] dt = VIReader.EndReadMultiSample(result); // waits the end of acquisition
- rawData = new List();
- rawData.Clear();
- int nSamples = dt.GetLength(1);
- for (int i = 0; i < nSamples; i++)
- {
- rawData.Add(-dt[0, i]); // the minus is to match accelertion by sign, same effect as switching the diff. input over
- }
- _running = false;
- }
- #endregion
- }
+using System;
+using System.Windows;
+using System.Timers;
+using System.Collections.Generic;
+using System.Diagnostics;
+
+using NationalInstruments;
+using NationalInstruments.DAQmx;
+//using DS345NS;
+using UtilsNS;
+
+namespace AxelHMemsNS
+{
+ public class AxelMems
+ {
+ public Timer mTimer = null; // start/stop
+ private Stopwatch sw = null;
+ public bool AdjustTimelineToStopwatch = false; // false - use the set time interval between points
+ // true - adjust the time interval to stopwatch markers
+ public readonly double[] FixConvRate = { 102400, 51200, 34133, 25600, 20480, 17067, 14629, 12800, 11378,
+ 10240, 9309, 8533, 7314, 6400, 5689, 5120, 4655, 4267, 3657, 3200, 2844, 2560, 2327, 2133, 1829,
+ 1600, 1422, 1280, 1164, 1067, 914, 800, 711, 640, 582, 533, 457, 400, 356, 320, 291, 267 }; // [Hz]
+
+ public enum TimingModes { byNone, byADCtimer, byStopwatch, byBoth };
+ public TimingModes TimingMode = TimingModes.byNone;
+
+ private bool _running = false;
+ private readonly string physicalChannel0 = "cDAQ1Mod1/ai0";
+ private readonly string physicalChannel1 = "cDAQ1Mod1/ai1";
+
+ private int _nSamples = 1500; // default
+ public int nSamples {get { return _nSamples; } }
+
+ private double _sampleRate = 2133;
+ public double sampleRate { get { return _sampleRate; } }
+ public int Timeout = 1000; // [sec]
+ public List rawData = null;
+
+ private Task voltageInputTask = null;
+ private AnalogMultiChannelReader VIReader = null;
+ private AIChannel axelAIChannel;
+
+ private AnalogMultiChannelReader analogInReader;
+ private Task myTask;
+ private Task runningTask;
+ private AsyncCallback analogCallback;
+ private AnalogWaveform[] waveform;
+
+ public AxelMems()
+ {
+ sw = new Stopwatch();
+ activeChannel = 0;
+ }
+
+ public bool running // wait for running to end in order to read rawData
+ {
+ get { return _running; }
+ }
+
+ public int activeChannel { get; private set; } // 0,1 or 2 for both
+
+ public double RealConvRate(double wantedCR)
+ {
+ int found = -1;
+ if (wantedCR > FixConvRate[0]) found = 0;
+ int len = FixConvRate.Length;
+ if (wantedCR <= FixConvRate[len - 1]) found = len - 1;
+ if (found == -1)
+ for (int i = 0; i < len - 1; i++)
+ {
+ if ((FixConvRate[i] >= wantedCR) && (wantedCR > FixConvRate[i + 1]))
+ {
+ found = i; break;
+ }
+ }
+ OnRealSampling(FixConvRate[found]); // let the host know the last one
+ return FixConvRate[found];
+ }
+
+ public delegate void RealSamplingHandler(double realSampling);
+ public event RealSamplingHandler RealSampling;
+
+ protected void OnRealSampling(double realSampling) //
+ {
+ if (RealSampling != null) RealSampling(realSampling);
+ }
+
+ #region async aqcuisition (working)
+ public double[,] readBurst(int nPoints) // synchro read
+ {
+ int np = nSamples;
+ if (nPoints > 0) np = nPoints;
+ double[,] aiData = new double[1, np];
+
+ voltageInputTask.Control(TaskAction.Abort); // reset the device
+ voltageInputTask.Start();
+ aiData = VIReader.ReadMultiSample(np);
+ voltageInputTask.Stop();
+ return aiData;
+ }
+
+ public void configureVITask(string physicalChn, int numbSamples, double samplingRate)
+ {
+ if(Utils.isNull(voltageInputTask)) voltageInputTask = new Task();
+
+ if(Utils.isNull(axelAIChannel)) axelAIChannel = voltageInputTask.AIChannels.CreateVoltageChannel(physicalChn, "", AITerminalConfiguration.Differential,
+ (double)-3.5, (double)3.5, AIVoltageUnits.Volts);
+
+ voltageInputTask.Timing.ConfigureSampleClock("", sampleRate, SampleClockActiveEdge.Rising, SampleQuantityMode.FiniteSamples);
+ voltageInputTask.Timing.SamplesPerChannel = nSamples;
+ voltageInputTask.Stream.Timeout = 1000 * Timeout;
+ voltageInputTask.Control(TaskAction.Commit);
+
+ if(Utils.isNull(VIReader)) VIReader = new AnalogMultiChannelReader(voltageInputTask.Stream);
+ }
+ #endregion
+
+ public void Reset() // for all procs
+ {
+ if (!Utils.isNull(axelAIChannel)) axelAIChannel.Dispose();
+ if (!Utils.isNull(VIReader)) VIReader = null;
+ if (!Utils.isNull(voltageInputTask)) voltageInputTask.Dispose();
+
+ runningTask = null;
+ if (!Utils.isNull(myTask)) myTask.Dispose();
+ if (sw.IsRunning) sw.Reset();
+ _running = false;
+ }
+
+ #region sync (separate thread) Aqcuisition
+ public delegate void AcquireHandler(List data, out bool next);
+ public event AcquireHandler Acquire;
+
+ protected void OnAcquire(List data, out bool next)
+ {
+ next = false;
+ if (Acquire != null) Acquire(data, out next);
+ }
+
+ public void StartAqcuisition(int samplesPerChannel, double samplingRate)
+ {
+ try
+ {
+ if (runningTask == null)
+ {
+ // Create a new task
+ myTask = new Task();
+
+ // Create a virtual channel
+ if ((activeChannel == 0) || (activeChannel == 2))
+ myTask.AIChannels.CreateVoltageChannel(physicalChannel0, "", (AITerminalConfiguration)(-1), -3.5, 3.5, AIVoltageUnits.Volts);
+ if ((activeChannel == 1) || (activeChannel == 2))
+ myTask.AIChannels.CreateVoltageChannel(physicalChannel1, "", (AITerminalConfiguration)(-1), -3.5, 3.5, AIVoltageUnits.Volts);
+ }
+ // Configure the timing parameters
+ myTask.Stop();
+ myTask.Timing.ConfigureSampleClock("", samplingRate, SampleClockActiveEdge.Rising, SampleQuantityMode.ContinuousSamples, samplesPerChannel);
+
+ // Verify the Task
+ myTask.Control(TaskAction.Verify);
+
+ if (runningTask == null)
+ {
+ runningTask = myTask;
+ analogInReader = new AnalogMultiChannelReader(myTask.Stream);
+ analogCallback = new AsyncCallback(AnalogInCallback);
+
+ // Use SynchronizeCallbacks to specify that the object
+ // marshals callbacks across threads appropriately.
+ analogInReader.SynchronizeCallbacks = true;
+ }
+ _nSamples = samplesPerChannel;
+ _sampleRate = RealConvRate(samplingRate);
+ if (!sw.IsRunning)
+ {
+ sw.Start(); // first time
+ lastTime = 0.0;
+ lastCount = 0;
+ }
+ _running = true;
+ analogInReader.BeginReadWaveform(samplesPerChannel, analogCallback, myTask);
+ }
+ catch (DaqException exception)
+ {
+ // Display Errors
+ MessageBox.Show(exception.Message);
+ Reset();
+ }
+ }
+
+ double lastTime;
+ long lastCount;
+ private void AnalogInCallback(IAsyncResult ar)
+ {
+ try
+ {
+ if (runningTask != null && runningTask == ar.AsyncState)
+ {
+ // Read the available data from the channels
+ waveform = analogInReader.EndReadWaveform(ar);
+ int actChn = 0; // for single channel (any)
+ if((activeChannel == 2) && (waveform.Length < 2)) throw new Exception("Set for two channels but only one appears!");
+ List data = new List();
+ double ts, prd;
+ switch (TimingMode)
+ {
+ case (TimingModes.byNone): // time markers (x values) from counter (0, 1, 2, ....)
+ for (int sample = 0; sample < waveform[actChn].Samples.Count; ++sample)
+ {
+ data.Add(new Point(sample + lastCount, waveform[actChn].Samples[sample].Value));
+ if(activeChannel == 2)
+ data.Add(new Point(sample + lastCount, waveform[actChn+1].Samples[sample].Value));
+ }
+ lastCount += waveform[actChn].Samples.Count; // total count marker
+ break;
+ case (TimingModes.byStopwatch): // time markers from Stopwatch, samplePer -> (time makers diff) / nSamples
+ ts = sw.Elapsed.TotalSeconds;
+ prd = (ts - lastTime) / waveform[actChn].Samples.Count;
+ for (int sample = 0; sample < waveform[actChn].Samples.Count; ++sample)
+ {
+ data.Add(new Point(lastTime + sample * prd, waveform[actChn].Samples[sample].Value));
+ if(activeChannel == 2)
+ data.Add(new Point(lastTime + sample * prd, waveform[actChn+1].Samples[sample].Value));
+ }
+ lastTime = ts;
+ break;
+ case (TimingModes.byADCtimer): // samplePer -> 1 / , time markers calculated from samplePer and nSamples
+ ts = lastTime;
+ for (int sample = 0; sample < waveform[actChn].Samples.Count; ++sample)
+ {
+ lastTime = ts + sample / sampleRate;
+ data.Add(new Point(lastTime, waveform[actChn].Samples[sample].Value));
+ if(activeChannel == 2)
+ data.Add(new Point(lastTime, waveform[actChn+1].Samples[sample].Value));
+ }
+ break;
+ case(TimingModes.byBoth): // time markers from Stopwatch, sampleRate from ADC setting
+ for (int sample = 0; sample < waveform[activeChannel].Samples.Count; ++sample)
+ {
+ data.Add(new Point(lastTime + sample / sampleRate, waveform[actChn].Samples[sample].Value));
+ if(activeChannel == 2)
+ data.Add(new Point(lastTime + sample / sampleRate, waveform[actChn+1].Samples[sample].Value));
+ }
+ lastTime = sw.Elapsed.TotalSeconds;
+ break;
+ }
+ bool next = false;
+ OnAcquire(data, out next); // when 2 channels data list has them both: odd - chn0; even - chn1
+ if (next) analogInReader.BeginMemoryOptimizedReadWaveform(nSamples, analogCallback, myTask, waveform);
+ }
+ }
+ catch (DaqException exception)
+ {
+ // Display Errors
+ MessageBox.Show(exception.Message);
+ Reset();
+ }
+ }
+
+ public void StopAqcuisition()
+ {
+ Reset();
+ }
+ #endregion
+
+ #region flag (running) synchronized aqcuisition -> OBSOLETE !!!
+ public void readInVoltages()
+ {
+ //int nSamplesOut;
+ _running = true;
+ //voltageInputTask.Start();
+ //aiData = VIReader.ReadMultiSample(nSamples);
+ //VIReader.MemoryOptimizedReadMultiSample(nSamples, ref aiData, out nSamplesOut);
+ VIReader.BeginReadMultiSample(nSamples, ReadComplete, null);
+ //if (!nSamplesOut.Equals(nSamples)) Utils.errorMessage("Less than required number of points in aquisition");
+ //voltageInputTask.Stop();
+ //return aiData;
+ }
+
+ private void ReadComplete(IAsyncResult result)
+ {
+ // Because the UI thread calls BeginReadMultiSample,
+ // this callback will execute in the UI thread.
+ double[,] dt = VIReader.EndReadMultiSample(result); // waits the end of acquisition
+ rawData = new List();
+ rawData.Clear();
+ int nSamples = dt.GetLength(1);
+ for (int i = 0; i < nSamples; i++)
+ {
+ rawData.Add(-dt[0, i]); // the minus is to match accelertion by sign, same effect as switching the diff. input over
+ }
+ _running = false;
+ }
+ #endregion
+ }
}
\ No newline at end of file
diff --git a/Axel-hub/Axel-hub/MainWindow.xaml b/Axel-hub/Axel-hub/MainWindow.xaml
index 84ed757a..4cc34bd5 100644
--- a/Axel-hub/Axel-hub/MainWindow.xaml
+++ b/Axel-hub/Axel-hub/MainWindow.xaml
@@ -1,175 +1,194 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Axel-hub/Axel-hub/MainWindow.xaml.cs b/Axel-hub/Axel-hub/MainWindow.xaml.cs
index 2fe82bd3..a0374d0a 100644
--- a/Axel-hub/Axel-hub/MainWindow.xaml.cs
+++ b/Axel-hub/Axel-hub/MainWindow.xaml.cs
@@ -1,240 +1,336 @@
-using NationalInstruments.Net;
-using NationalInstruments.Analysis;
-using NationalInstruments.Analysis.Conversion;
-using NationalInstruments.Analysis.Dsp;
-using NationalInstruments.Analysis.Dsp.Filters;
-using NationalInstruments.Analysis.Math;
-using NationalInstruments.Analysis.Monitoring;
-using NationalInstruments.Analysis.SignalGeneration;
-using NationalInstruments.Analysis.SpectralMeasurements;
-using NationalInstruments;
-using NationalInstruments.DAQmx;
-using NationalInstruments.NetworkVariable;
-using NationalInstruments.NetworkVariable.WindowsForms;
-using NationalInstruments.Tdms;
-using NationalInstruments.Controls;
-using NationalInstruments.Controls.Rendering;
-using System;
-using System.IO;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Input;
-using System.Windows.Media;
-using System.Windows.Media.Imaging;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
-using System.Windows.Threading;
-using System.Diagnostics;
-using Newtonsoft.Json;
-using Newtonsoft.Json.Converters;
-using scanHub;
-using AxelHMemsNS;
-using AxelChartNS;
-using UtilsNS;
-//using DS345NS;
-
-
-namespace Axel_hub
-{
- public delegate void StartDelegate();
- ///
- /// Interaction logic for MainWindow.xaml
- ///
- public partial class MainWindow : Window
- {
- private bool EndlessMode = false;
- int nSamples = 1500;
- private AxelMems axelMems = null;
-
- public MainWindow()
- {
- InitializeComponent();
- tabSecPlots.SelectedIndex = 4;
- ucScan1.Start += new scanClass.StartHandler(DoStart);
- ucScan1.Remote += new scanClass.RemoteHandler(DoRemote);
- ucScan1.FileRef += new scanClass.FileRefHandler(DoRefFile);
- axelMems = new AxelMems();
- axelMems.Acquire += new AxelMems.AcquireHandler(DoAcquire);
- }
-
- private void log(string txt)
- {
- tbLog.AppendText(txt + "\n");
- }
-
- public void DoEvents()
- {
- DispatcherFrame frame = new DispatcherFrame();
- Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Background,
- new DispatcherOperationCallback(ExitFrame), frame);
- Dispatcher.PushFrame(frame);
- }
-
- public object ExitFrame(object f)
- {
- ((DispatcherFrame)f).Continue = false;
- return null;
- }
-
- // main ADC call
- public void DoStart(bool down, double period, bool TimeMode, bool Endless, double Limit)
- {
- EndlessMode = Endless;
-
- if (!down) // user cancel
- {
- AxelChart1.Running = false;
- ucScan1.Running = false;
- return;
- }
- Random random = new Random();
-
- AxelChart1.Waveform.TimeMode = TimeMode;
- if (TimeMode)
- {
- AxelChart1.Waveform.TimeLimit = Limit;
- nSamples = (int)(Limit / period);
- }
- else
- {
- AxelChart1.Waveform.SizeLimit = (int)Limit;
- nSamples = AxelChart1.Waveform.SizeLimit;
- }
- AxelChart1.SamplingPeriod = period;
- AxelChart1.Running = true;
- AxelChart1.Clear();
-
- axelMems.StartAqcuisition(nSamples, 1 / period);
- }
-
- public void DoAcquire(List dt, out bool next)
- {
- next = (EndlessMode && ucScan1.Running);
- for (int i = 0; i < nSamples; i++)
- {
- AxelChart1.Waveform.AddPoint(dt[i].Y);
- }
- //AxelChart1.Refresh();
- DoEvents();
- if (!next)
- {
- AxelChart1.Running = false;
- ucScan1.Running = false;
- }
- }
-
- // remote ADC call
- public void DoRemote(double SamplingPeriod, double CyclePeriod, double Pause, double Distance, double Accel, int CyclesLeft) // from TotalCount to 1
- {
- }
-
- // XPS log file reference .....
- public void DoRefFile(string FN, bool statFlag)
- {
- }
-
- public void DoCompareChart()
- {
- }
- #region File operation ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
- public bool Open(string fn)
- {
- if (!File.Exists(fn)) throw new Exception("File <" + fn + "> does not exist.");
- AxelChart1.Open(fn);
- AxelChart1.Refresh();
-
- int ext = 0; tbRem.Text = "";
- foreach (string line in File.ReadLines(fn))
- {
- if (line.Contains("#Rem="))
- {
- tbRem.Text = line.Substring(5);
- }
- }
- if (ext < 1) MessageBox.Show("Some internal extensions are missing in <" + fn + ">.");
-
- log("Open> " + fn);
- return (ext == 1);
- }
-
- private void btnOpen_Click(object sender, RoutedEventArgs e)
- {
- Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();
- dlg.FileName = ""; // Default file name
- dlg.DefaultExt = ".abf"; // Default file extension
- dlg.Filter = "Axel Boss File (.abf)|*.abf"; // Filter files by extension
-
- // Show save file dialog box
- Nullable result = dlg.ShowDialog();
-
- // Process save file dialog box results
- if (result == true) Open(dlg.FileName);
- }
-
- public void Save(string fn)
- {
- System.IO.StreamWriter file = new System.IO.StreamWriter(fn);
- if (AxelChart1.remoteArg == string.Empty) throw new Exception("No remote arguments in upper chart");
- file.WriteLine("#" + AxelChart1.remoteArg);
-
- if (!String.IsNullOrEmpty(tbRem.Text)) file.WriteLine("#Rem=" + tbRem.Text);
- for (int i = 0; i < AxelChart1.Waveform.Count; i++)
- file.WriteLine(AxelChart1.Waveform[i].X.ToString() + "\t" + AxelChart1.Waveform[i].Y.ToString());
- file.Close();
- log("Save> " + fn);
- }
-
- private void btnSaveAs_Click(object sender, RoutedEventArgs e)
- {
- Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog();
- dlg.FileName = ""; // Default file name
- dlg.DefaultExt = ".abf"; // Default file extension
- dlg.Filter = "Axel Boss File (.abf)|*.abf"; // Filter files by extension
-
- // Show save file dialog box
- Nullable result = dlg.ShowDialog();
- if (result == true) Save(dlg.FileName);
- }
-
- private void btnClear_Click(object sender, RoutedEventArgs e)
- {
- tbRem.Text = "";
- AxelChart1.Clear();
- AxelChart1.Refresh();
- }
- #endregion
-
- private void splitDown_MouseDoubleClick(object sender, MouseButtonEventArgs e)
- {
- frmAxelHub.Top = 0;
- frmAxelHub.Height = SystemParameters.WorkArea.Height;
- frmAxelHub.Left = SystemParameters.WorkArea.Width * 0.3;
- frmAxelHub.Width = SystemParameters.WorkArea.Width * 0.7;
- tabSecPlots.SelectedIndex = 0;
- }
-
- private void tabSecPlots_SelectionChanged(object sender, SelectionChangedEventArgs e)
- {
- double d = ActualHeight / 2 - 6;
- if (d < 25) return;
- if ((tabSecPlots.SelectedIndex == 0) || (Utils.isNull(sender)))
- {
- rowUpperChart.Height = new GridLength(d, GridUnitType.Star);
- rowMiddleChart.Height = new GridLength(30, GridUnitType.Star);
- rowLowerChart.Height = new GridLength(d, GridUnitType.Star);
- }
- else
- {
- int mh = 150;
- rowUpperChart.Height = new GridLength(d-mh/2, GridUnitType.Star);
- rowMiddleChart.Height = new GridLength(mh, GridUnitType.Star);
- rowLowerChart.Height = new GridLength(d-mh/2, GridUnitType.Star);
- }
- }
- }
+using NationalInstruments.Net;
+using NationalInstruments.Analysis;
+using NationalInstruments.Analysis.Conversion;
+using NationalInstruments.Analysis.Dsp;
+using NationalInstruments.Analysis.Dsp.Filters;
+using NationalInstruments.Analysis.Math;
+using NationalInstruments.Analysis.Monitoring;
+using NationalInstruments.Analysis.SignalGeneration;
+using NationalInstruments.Analysis.SpectralMeasurements;
+using NationalInstruments;
+using NationalInstruments.DAQmx;
+using NationalInstruments.NetworkVariable;
+using NationalInstruments.NetworkVariable.WindowsForms;
+using NationalInstruments.Tdms;
+using NationalInstruments.Controls;
+using NationalInstruments.Controls.Rendering;
+using System;
+using System.IO;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using System.Windows.Threading;
+using System.Diagnostics;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using scanHub;
+using AxelHMemsNS;
+using AxelChartNS;
+using Newtonsoft.Json.Linq;
+using UtilsNS;
+using RemoteMessagingNS;
+//using DS345NS;
+
+
+namespace Axel_hub
+{
+ public delegate void StartDelegate();
+ ///
+ /// Interaction logic for MainWindow.xaml
+ ///
+ public partial class MainWindow: Window
+ {
+ scanClass ucScan1;
+ private bool EndlessMode = false;
+ int nSamples = 1500;
+ private AxelMems axelMems = null;
+ Random rnd = new Random();
+ private double _tempxVal;
+ private List _fringePoints = new List();
+ public MainWindow()
+ {
+ InitializeComponent();
+ tabSecPlots.SelectedIndex = 1;
+ ucScan1 = new scanClass();
+ gridLeft.Children.Add(ucScan1);
+ ucScan1.Height = 266; ucScan1.VerticalAlignment = System.Windows.VerticalAlignment.Top; //ucScan1.Width = "Auto";
+
+ ucScan1.Start += new scanClass.StartHandler(DoStart);
+ ucScan1.Remote += new scanClass.RemoteHandler(DoRemote);
+ ucScan1.FileRef += new scanClass.FileRefHandler(DoRefFile);
+
+ axelMems = new AxelMems();
+ axelMems.Acquire += new AxelMems.AcquireHandler(DoAcquire);
+ axelMems.RealSampling += new AxelMems.RealSamplingHandler(ucScan1.OnRealSampling);
+ }
+
+ private void log(string txt)
+ {
+ if (!chkLog.IsChecked.Value) return;
+ string printOut;
+ if (chkVerbatim.IsChecked.Value) printOut = txt;
+ else printOut = txt.Substring(0,80)+"...";
+ tbLog.AppendText(printOut + "\n");
+ tbLog.Focus();
+ tbLog.CaretIndex = tbLog.Text.Length;
+ tbLog.ScrollToEnd();
+ }
+
+ public void DoEvents()
+ {
+ DispatcherFrame frame = new DispatcherFrame();
+ Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Background,
+ new DispatcherOperationCallback(ExitFrame), frame);
+ Dispatcher.PushFrame(frame);
+ }
+
+ public object ExitFrame(object f)
+ {
+ ((DispatcherFrame)f).Continue = false;
+ return null;
+ }
+
+ // main ADC call
+ public void DoStart(bool down, double period, bool TimeMode, bool Endless, double Limit)
+ {
+ EndlessMode = Endless;
+ if (!down) // user cancel
+ {
+ AxelChart1.Running = false;
+ axelMems.StopAqcuisition();
+ AxelChart1.Waveform.logger.Enabled = false;
+ return;
+ }
+ Random random = new Random();
+
+ AxelChart1.Waveform.TimeMode = TimeMode;
+ if (TimeMode)
+ {
+ AxelChart1.Waveform.TimeLimit = Limit;
+ nSamples = (int)(Limit / period);
+ }
+ else
+ {
+ AxelChart1.Waveform.SizeLimit = (int)Limit;
+ //AxelChart1.Waveform.StackMode = true;
+ nSamples = AxelChart1.Waveform.SizeLimit;
+ }
+ AxelChart1.SamplingPeriod = period;
+ AxelChart1.Running = true;
+ AxelChart1.Clear();
+
+ AxelChart1.remoteArg = "freq: " + (1 / period).ToString("G6") + ", aqcPnt: " + nSamples.ToString();
+ AxelChart1.Waveform.logger.Enabled = true;
+ axelMems.StartAqcuisition(nSamples, 1 / period); // sync acquisition
+ }
+
+ public void DoAcquire(List dt, out bool next)
+ {
+ next = (EndlessMode && ucScan1.Running);
+ if (axelMems.activeChannel == 2) throw new Exception("not ready for two channels");
+ /*{
+ for (int i = 0; i(json);
+
+ if(mme.cmd.Equals("repeat"))
+ {
+ _tempxVal = Convert.ToDouble(mme.prms["runID"]);
+ }
+ else if (mme.cmd.Equals("scan"))
+ {
+ var scanParam = (JObject) mme.prms["param"];
+
+ _tempxVal = scanParam.ToObject>().Values.First();
+ }
+ else if(mme.cmd.Equals("shotData"))
+ {
+ if (Convert.ToInt32(mme.prms["runID"]) == 0) _fringePoints.Clear();
+
+ lastGrpExe = JsonConvert.DeserializeObject(json);
+ mme = MOTMasterDataConverter.ConvertToDoubleArray(mme);
+ lbInfo.Content = "last group cmd: " + lastGrpExe.cmd + " groupID: " + lastGrpExe.prms["groupID"] +" runID: "+ lastGrpExe.prms["runID"];
+ Dictionary avgs = MOTMasterDataConverter.AverageShotSegments(mme);
+ lboxNB.Items.Clear();
+ foreach (var item in avgs)
+ {
+ lboxNB.Items.Add(string.Format("{0}: {1:F2}",item.Key,item.Value));
+ }
+ double asymmetry = MOTMasterDataConverter.Asymmetry(avgs);
+ var fringePoints = graphFringes.DataSource as Point[];
+ _fringePoints.Add(new Point(_tempxVal,asymmetry));
+ graphFringes.DataSource = _fringePoints.ToArray();
+ DataStack signalDataStack = new DataStack();
+ DataStack backgroundDataStack = new DataStack();
+ int xVal = 0;
+ foreach (double yVal in (double[])mme.prms["N2"])
+ {
+ signalDataStack.Add(new Point(xVal, yVal));
+ xVal++;
+ }
+ foreach (double yVal in (double[])mme.prms["NTot"])
+ {
+ signalDataStack.Add(new Point(xVal, yVal));
+ xVal++;
+ }
+ xVal = 0;
+ foreach (double yVal in (double[])mme.prms["B2"])
+ {
+ backgroundDataStack.Add(new Point(xVal, yVal));
+ xVal++;
+ }
+ foreach (double yVal in (double[])mme.prms["BTot"])
+ {
+ backgroundDataStack.Add(new Point(xVal, yVal));
+ xVal++;
+ }
+ Point[] pA, pB;
+ pA = signalDataStack.ToArray();
+ pB = backgroundDataStack.ToArray();
+ graphSignal.DataSource = new List() {pA, pB};
+ return;
+ }
+ }
+
+ // XPS log file reference .....
+ public void DoRefFile(string FN, bool statFlag)
+ {
+ }
+
+ public void DoCompareChart()
+ {
+ }
+ #region File operation
+ public bool Open(string fn)
+ {
+ if (!File.Exists(fn)) throw new Exception("File <" + fn + "> does not exist.");
+ AxelChart1.Open(fn);
+ AxelChart1.Refresh();
+
+ int ext = 0; tbRem.Text = "";
+ foreach (string line in File.ReadLines(fn))
+ {
+ if (line.Contains("#Rem="))
+ {
+ tbRem.Text = line.Substring(5);
+ }
+ }
+ if (ext < 1) MessageBox.Show("Some internal extensions are missing in <" + fn + ">.");
+
+ log("Open> " + fn);
+ return (ext == 1);
+ }
+
+ private void btnOpen_Click(object sender, RoutedEventArgs e)
+ {
+ Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();
+ dlg.FileName = ""; // Default file name
+ dlg.DefaultExt = ".abf"; // Default file extension
+ dlg.Filter = "Axel Boss File (.abf)|*.abf"; // Filter files by extension
+
+ // Show save file dialog box
+ Nullable result = dlg.ShowDialog();
+
+ // Process save file dialog box results
+ if (result == true) Open(dlg.FileName);
+ }
+
+ public void Save(string fn)
+ {
+ System.IO.StreamWriter file = new System.IO.StreamWriter(fn);
+ if (AxelChart1.remoteArg == string.Empty) throw new Exception("No remote arguments in upper chart");
+ file.WriteLine("#" + AxelChart1.remoteArg);
+
+ if (!String.IsNullOrEmpty(tbRem.Text)) file.WriteLine("#Rem=" + tbRem.Text);
+ for (int i = 0; i < AxelChart1.Waveform.Count; i++)
+ file.WriteLine(AxelChart1.Waveform[i].X.ToString() + "\t" + AxelChart1.Waveform[i].Y.ToString());
+ file.Close();
+ log("Save> " + fn);
+ }
+
+ private void btnSaveAs_Click(object sender, RoutedEventArgs e)
+ {
+ Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog();
+ dlg.FileName = ""; // Default file name
+ dlg.DefaultExt = ".abf"; // Default file extension
+ dlg.Filter = "Axel Boss File (.abf)|*.abf"; // Filter files by extension
+
+ // Show save file dialog box
+ Nullable result = dlg.ShowDialog();
+ if (result == true) Save(dlg.FileName);
+ }
+
+ private void btnClear_Click(object sender, RoutedEventArgs e)
+ {
+ tbRem.Text = "";
+ AxelChart1.Clear();
+ AxelChart1.Refresh();
+ }
+ #endregion
+
+ private void splitDown_MouseDoubleClick(object sender, MouseButtonEventArgs e)
+ {
+ frmAxelHub.Top = 0;
+ frmAxelHub.Height = SystemParameters.WorkArea.Height;
+ frmAxelHub.Left = SystemParameters.WorkArea.Width * 0.3;
+ frmAxelHub.Width = SystemParameters.WorkArea.Width * 0.7;
+ tabSecPlots.SelectedIndex = 0;
+ }
+
+ private void tabSecPlots_SelectionChanged(object sender, SelectionChangedEventArgs e)
+ {
+ double d = ActualHeight / 2 - 6;
+ if (d < 25) return;
+ if ((tabSecPlots.SelectedIndex == 0) || (Utils.isNull(sender)))
+ {
+ rowUpperChart.Height = new GridLength(d, GridUnitType.Star);
+ rowMiddleChart.Height = new GridLength(30, GridUnitType.Star);
+ rowLowerChart.Height = new GridLength(d, GridUnitType.Star);
+ }
+ else
+ {
+ int mh = 150;
+ rowUpperChart.Height = new GridLength(d-mh/2, GridUnitType.Star);
+ rowMiddleChart.Height = new GridLength(mh, GridUnitType.Star);
+ rowLowerChart.Height = new GridLength(d-mh/2, GridUnitType.Star);
+ }
+ }
+
+ private void btnLogClear_Click(object sender, RoutedEventArgs e)
+ {
+ tbLog.Text = "";
+ }
+ }
}
\ No newline at end of file
diff --git a/Axel-hub/Axel-hub/Properties/Resources.Designer.cs b/Axel-hub/Axel-hub/Properties/Resources.Designer.cs
index 0fc8711c..bfa258f9 100644
--- a/Axel-hub/Axel-hub/Properties/Resources.Designer.cs
+++ b/Axel-hub/Axel-hub/Properties/Resources.Designer.cs
@@ -1,63 +1,63 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-namespace Axel_hub.Properties {
- using System;
-
-
- ///
- /// A strongly-typed resource class, for looking up localized strings, etc.
- ///
- // 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.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- internal class Resources {
-
- private static global::System.Resources.ResourceManager resourceMan;
-
- private static global::System.Globalization.CultureInfo resourceCulture;
-
- [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
- internal Resources() {
- }
-
- ///
- /// Returns the cached ResourceManager instance used by this class.
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Resources.ResourceManager ResourceManager {
- get {
- if (object.ReferenceEquals(resourceMan, null)) {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Axel_hub.Properties.Resources", typeof(Resources).Assembly);
- resourceMan = temp;
- }
- return resourceMan;
- }
- }
-
- ///
- /// Overrides the current thread's CurrentUICulture property for all
- /// resource lookups using this strongly typed resource class.
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Globalization.CultureInfo Culture {
- get {
- return resourceCulture;
- }
- set {
- resourceCulture = value;
- }
- }
- }
-}
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace Axel_hub.Properties {
+ using System;
+
+
+ ///
+ /// A strongly-typed resource class, for looking up localized strings, etc.
+ ///
+ // 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.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Resources {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources() {
+ }
+
+ ///
+ /// Returns the cached ResourceManager instance used by this class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Axel_hub.Properties.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// Overrides the current thread's CurrentUICulture property for all
+ /// resource lookups using this strongly typed resource class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+ }
+}
diff --git a/Axel-hub/Axel-hub/Properties/Resources.resx b/Axel-hub/Axel-hub/Properties/Resources.resx
index ffecec85..af7dbebb 100644
--- a/Axel-hub/Axel-hub/Properties/Resources.resx
+++ b/Axel-hub/Axel-hub/Properties/Resources.resx
@@ -1,117 +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
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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/Axel-hub/Axel-hub/Properties/Settings.Designer.cs b/Axel-hub/Axel-hub/Properties/Settings.Designer.cs
index 0912bf09..e8714efe 100644
--- a/Axel-hub/Axel-hub/Properties/Settings.Designer.cs
+++ b/Axel-hub/Axel-hub/Properties/Settings.Designer.cs
@@ -1,26 +1,26 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-namespace Axel_hub.Properties {
-
-
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")]
- internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
-
- private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
-
- public static Settings Default {
- get {
- return defaultInstance;
- }
- }
- }
-}
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace Axel_hub.Properties {
+
+
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")]
+ internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
+
+ private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+
+ public static Settings Default {
+ get {
+ return defaultInstance;
+ }
+ }
+ }
+}
diff --git a/Axel-hub/Axel-hub/Properties/Settings.settings b/Axel-hub/Axel-hub/Properties/Settings.settings
index 8f2fd95d..033d7a5e 100644
--- a/Axel-hub/Axel-hub/Properties/Settings.settings
+++ b/Axel-hub/Axel-hub/Properties/Settings.settings
@@ -1,7 +1,7 @@
-
-
-
-
-
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Axel-hub/Axel-hub/Properties/licenses.licx b/Axel-hub/Axel-hub/Properties/licenses.licx
index 1f21dcee..da797933 100644
--- a/Axel-hub/Axel-hub/Properties/licenses.licx
+++ b/Axel-hub/Axel-hub/Properties/licenses.licx
@@ -1,16 +1,16 @@
-# The following section of this file was auto-generated by Measurement Studio. Do not edit or remove this file from the project.
-# This file is used for licensing Measurement Studio components.
-# Begin Measurement Studio licenses
-NationalInstruments.Net.DataSocketSource, NationalInstruments.Net, Version=15.0.45.49153, Culture=neutral, PublicKeyToken=4febd62461bf11a4
-NationalInstruments.Net.DataSocketServer, NationalInstruments.Net, Version=15.0.45.49153, Culture=neutral, PublicKeyToken=4febd62461bf11a4
-NationalInstruments.Net.DataSocket, NationalInstruments.Net, Version=15.0.45.49153, Culture=neutral, PublicKeyToken=4febd62461bf11a4
-NationalInstruments.Controls.Internal.WpfEnterpriseLicenser, NationalInstruments.Controls, Version=15.0.45.3898, Culture=neutral, PublicKeyToken=4febd62461bf11a4
-NationalInstruments.Controls.Internal.WpfProfessionalLicenser, NationalInstruments.Controls, Version=15.0.45.3898, Culture=neutral, PublicKeyToken=4febd62461bf11a4
-NationalInstruments.Controls.Internal.WpfStandardLicenser, NationalInstruments.Controls, Version=15.0.45.3898, Culture=neutral, PublicKeyToken=4febd62461bf11a4
-NationalInstruments.Tdms.TdmsLicenser, NationalInstruments.Tdms, Version=15.0.45.49153, Culture=neutral, PublicKeyToken=4febd62461bf11a4
-NationalInstruments.NetworkVariable.WindowsForms.NetworkVariableBrowserDialog, NationalInstruments.NetworkVariable, Version=15.0.45.49153, Culture=neutral, PublicKeyToken=4febd62461bf11a4
-NationalInstruments.NetworkVariable.NetworkVariableLicenser, NationalInstruments.NetworkVariable, Version=15.0.45.49153, Culture=neutral, PublicKeyToken=4febd62461bf11a4
-NationalInstruments.NetworkVariable.WindowsForms.NetworkVariableDataSource, NationalInstruments.NetworkVariable, Version=15.0.45.49153, Culture=neutral, PublicKeyToken=4febd62461bf11a4
-NationalInstruments.NetworkVariable.WebForms.NetworkVariableDataSource, NationalInstruments.NetworkVariable, Version=15.0.45.49153, Culture=neutral, PublicKeyToken=4febd62461bf11a4
-NationalInstruments.Restricted.AnalysisLicenser, NationalInstruments.Analysis.Enterprise, Version=15.0.45.49153, Culture=neutral, PublicKeyToken=4febd62461bf11a4
-# End Measurement Studio licenses
+# The following section of this file was auto-generated by Measurement Studio. Do not edit or remove this file from the project.
+# This file is used for licensing Measurement Studio components.
+# Begin Measurement Studio licenses
+NationalInstruments.Net.DataSocketSource, NationalInstruments.Net, Version=15.0.45.49153, Culture=neutral, PublicKeyToken=4febd62461bf11a4
+NationalInstruments.Net.DataSocketServer, NationalInstruments.Net, Version=15.0.45.49153, Culture=neutral, PublicKeyToken=4febd62461bf11a4
+NationalInstruments.Net.DataSocket, NationalInstruments.Net, Version=15.0.45.49153, Culture=neutral, PublicKeyToken=4febd62461bf11a4
+NationalInstruments.Controls.Internal.WpfEnterpriseLicenser, NationalInstruments.Controls, Version=15.0.45.3898, Culture=neutral, PublicKeyToken=4febd62461bf11a4
+NationalInstruments.Controls.Internal.WpfProfessionalLicenser, NationalInstruments.Controls, Version=15.0.45.3898, Culture=neutral, PublicKeyToken=4febd62461bf11a4
+NationalInstruments.Controls.Internal.WpfStandardLicenser, NationalInstruments.Controls, Version=15.0.45.3898, Culture=neutral, PublicKeyToken=4febd62461bf11a4
+NationalInstruments.Tdms.TdmsLicenser, NationalInstruments.Tdms, Version=15.0.45.49153, Culture=neutral, PublicKeyToken=4febd62461bf11a4
+NationalInstruments.NetworkVariable.WindowsForms.NetworkVariableBrowserDialog, NationalInstruments.NetworkVariable, Version=15.0.45.49153, Culture=neutral, PublicKeyToken=4febd62461bf11a4
+NationalInstruments.NetworkVariable.NetworkVariableLicenser, NationalInstruments.NetworkVariable, Version=15.0.45.49153, Culture=neutral, PublicKeyToken=4febd62461bf11a4
+NationalInstruments.NetworkVariable.WindowsForms.NetworkVariableDataSource, NationalInstruments.NetworkVariable, Version=15.0.45.49153, Culture=neutral, PublicKeyToken=4febd62461bf11a4
+NationalInstruments.NetworkVariable.WebForms.NetworkVariableDataSource, NationalInstruments.NetworkVariable, Version=15.0.45.49153, Culture=neutral, PublicKeyToken=4febd62461bf11a4
+NationalInstruments.Restricted.AnalysisLicenser, NationalInstruments.Analysis.Enterprise, Version=15.0.45.49153, Culture=neutral, PublicKeyToken=4febd62461bf11a4
+# End Measurement Studio licenses
diff --git a/Axel-hub/Axel-hub/bin/Axel-boss.vshost.exe.manifest b/Axel-hub/Axel-hub/bin/Axel-boss.vshost.exe.manifest
index f96b1d6b..061c9ca9 100644
--- a/Axel-hub/Axel-hub/bin/Axel-boss.vshost.exe.manifest
+++ b/Axel-hub/Axel-hub/bin/Axel-boss.vshost.exe.manifest
@@ -1,11 +1,11 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Axel-hub/Axel-hub/bin/Axel-hub.exe b/Axel-hub/Axel-hub/bin/Axel-hub.exe
index 72b4b799..4064b43e 100644
Binary files a/Axel-hub/Axel-hub/bin/Axel-hub.exe and b/Axel-hub/Axel-hub/bin/Axel-hub.exe differ
diff --git a/Axel-hub/Axel-hub/bin/Axel-hub.pdb b/Axel-hub/Axel-hub/bin/Axel-hub.pdb
index 616eb183..a69293c3 100644
Binary files a/Axel-hub/Axel-hub/bin/Axel-hub.pdb and b/Axel-hub/Axel-hub/bin/Axel-hub.pdb differ
diff --git a/Axel-hub/Axel-hub/bin/Axel-hub.vshost.exe.manifest b/Axel-hub/Axel-hub/bin/Axel-hub.vshost.exe.manifest
index f96b1d6b..061c9ca9 100644
--- a/Axel-hub/Axel-hub/bin/Axel-hub.vshost.exe.manifest
+++ b/Axel-hub/Axel-hub/bin/Axel-hub.vshost.exe.manifest
@@ -1,11 +1,11 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Axel-hub/Axel-hub/bin/AxelChart.dll b/Axel-hub/Axel-hub/bin/AxelChart.dll
index caefb6e6..a1502636 100644
Binary files a/Axel-hub/Axel-hub/bin/AxelChart.dll and b/Axel-hub/Axel-hub/bin/AxelChart.dll differ
diff --git a/Axel-hub/Axel-hub/bin/AxelChart.pdb b/Axel-hub/Axel-hub/bin/AxelChart.pdb
index 5e961b09..3e9f8075 100644
Binary files a/Axel-hub/Axel-hub/bin/AxelChart.pdb and b/Axel-hub/Axel-hub/bin/AxelChart.pdb differ
diff --git a/Axel-hub/Axel-hub/bin/Debug/Axel-boss.vshost.exe.manifest b/Axel-hub/Axel-hub/bin/Debug/Axel-boss.vshost.exe.manifest
index f96b1d6b..061c9ca9 100644
--- a/Axel-hub/Axel-hub/bin/Debug/Axel-boss.vshost.exe.manifest
+++ b/Axel-hub/Axel-hub/bin/Debug/Axel-boss.vshost.exe.manifest
@@ -1,11 +1,11 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Axel-hub/Axel-hub/bin/NationalInstruments.DAQmx.msl b/Axel-hub/Axel-hub/bin/NationalInstruments.DAQmx.msl
index f622f4b4..29cdb503 100644
--- a/Axel-hub/Axel-hub/bin/NationalInstruments.DAQmx.msl
+++ b/Axel-hub/Axel-hub/bin/NationalInstruments.DAQmx.msl
@@ -1,21 +1,21 @@
-
-
- true
-
- CppCLI2012
- WindowsFormsApplication2012
-
- true
- Measurement Studio Hardware Class Libraries/DAQmx Library
- Contains classes, delegates, and enumerations to communicate with and control a NI data acquisition (DAQ) device.
- NationalInstruments.DAQmx
- false
-
-
- NationalInstruments.Common
-
-
-
- NationalInstruments.DAQmx
-
-
+
+
+ true
+
+ CppCLI2012
+ WindowsFormsApplication2012
+
+ true
+ Measurement Studio Hardware Class Libraries/DAQmx Library
+ Contains classes, delegates, and enumerations to communicate with and control a NI data acquisition (DAQ) device.
+ NationalInstruments.DAQmx
+ false
+
+
+ NationalInstruments.Common
+
+
+
+ NationalInstruments.DAQmx
+
+
diff --git a/Axel-hub/Axel-hub/bin/NationalInstruments.Net.xml b/Axel-hub/Axel-hub/bin/NationalInstruments.Net.xml
index 72b618a3..524465b0 100644
--- a/Axel-hub/Axel-hub/bin/NationalInstruments.Net.xml
+++ b/Axel-hub/Axel-hub/bin/NationalInstruments.Net.xml
@@ -1,4834 +1,4834 @@
-
-
-
- NationalInstruments.Net
-
-
-
-
- Clean up any resources being used.
-
-
-
-
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
-
-
-
-
- 2/12/2003 1:13:44 PM
- Elton Wells
- False
-
-
-
- Specifies how a object transfers data.
-
-
- If you connect with an automatically updated access mode, such as , , or ,
- the object
- transfers data every time new data is available. If you connect with
- or
- ,
- use
- to transfer the new data.
-
- 11/21/2002 1:29:57 PM
- Beth Parrott
- True
-
-
-
- Transfers data from the data source to the local object
- when you establish the connection. Call to cause
- subsequent data transfers.
-
- 11/20/2003 2:32:11 PM
- Jennifer Smith
- True
-
-
-
- Transfers data from the data source to the local object when
- you establish the connection. When the data at the data source is updated, the data is transferred again automatically.
- This mode is valid only for DSTP and logos and OPC data sources.
-
- 12/7/2005 12:09:20 PM
- Jennifer Smith
- True
-
-
-
- Transfers data from the data source to the local object when you establish
- the connection. When the data at the data source is updated, the data is transferred again automatically. The
- object automatically transfers data to the data target when you change any value or attribute on the local
- object. This mode is valid only for DSTP and logos data sources and targets.
-
- 12/10/2003 4:07:45 PM
- Jennifer Smith
- True
-
-
-
- Transfers data from the local object to the data target at the time you establish
- the connection. Call to cause subsequent data transfers.
-
- 11/21/2002 1:30:33 PM
- Beth Parrott
- True
-
-
-
- Transfers data from the local object to the data target when you establish
- the connection. When you change any value or attribute on the local object, the
- object automatically transfers data to the data target. This mode is valid only
- for DSTP and logos data targets.
-
- 12/10/2003 4:08:23 PM
- Jennifer Smith
- True
-
-
-
- Specifies that is configured for manual
- updating with buffering. gets the next
- value in the buffer from the data source when the connection is established and when you call
- .
-
- 12/10/2003 4:06:40 PM
- Jennifer Smith
- True
-
-
-
- Specifies that is configured for
- automatic updating with buffering. gets
- the next value from the data source when the connection is established, when the data value changes, and when any of the
- data attributes change.
-
- 12/10/2003 4:07:17 PM
- Jennifer Smith
- True
-
-
-
- Specifies that is configured for automatic
- updating with buffering. transfers data to
- the data source when the
- connection is established, when the data value changes, and when any of the data attributes
- change. gets the data from the
- data source when the data value changes and
- when any of the data attributes change.
-
- 12/10/2003 4:08:00 PM
- Jennifer Smith
- True
-
-
-
- Provides data for the
- event.
-
-
-
- A object generates the
- event when it receives new data.
-
-
-
-
- 11/21/2002 1:30:49 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of .
-
-
- The instance that generated the
- event.
-
- 10/30/2002 11:41:03 AM
- Beth Parrott
- True
-
-
- Overrides .
- Returns a string representation of the object.
- 10/30/2002 11:41:06 AM
- Beth Parrott
- True
-
-
-
- Gets the that generated the
- event.
-
-
- The that generated the event.
-
- 7/13/2004 4:18:50 PM
- Whitney Bates
- True
-
-
-
- Represents a method that handles the
- event of a
- object.
-
-
- The source of the event.
-
-
- A object that contains the
- event data.
-
-
-
- 11/21/2002 1:31:13 PM
- Beth Parrott
- True
-
-
-
- Provides data for the
- event.
-
-
-
- The event occurs
- when the status of a connection
- changes, such as when a object connects to a
- data source or target, transfers data, or encounters an error.
-
-
-
- 11/21/2002 1:31:16 PM
- Beth Parrott
- True
-
-
-
- Provides data for the event.
-
-
-
- The event occurs when the
- status of a connection changes, such as when a
- object connects to a data source or target, transfers data, or
- encounters an error.
-
-
-
-
- 11/21/2002 1:31:49 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of .
-
-
- The status of the connection.
-
-
- Error of the connection, if an error exists. Refer to
- DataSocket Error Codes for a list of possible
- values.
-
-
- Descriptive message about the connection status.
-
-
-
-
- 7/15/2005 10:17:33 AM
- Jennifer Smith
- True
-
-
-
- Overrides .
-
- Returns a string representation of the object.
- 10/30/2002 11:42:00 AM
- Beth Parrott
- True
-
-
-
- Gets the status of the connection.
-
-
- A that indicates
- the status of the connection.
-
- 6/20/2006 4:41:29 PM
- Staci McCormick
- True
-
-
-
- Gets the error of the connection, if an error exists.
-
-
- The numeric value of the last error code. You can use this value to look up
- the cause of the error in the DataSocket documentation.
-
- 10/30/2002 11:41:51 AM
- Beth Parrott
- True
-
-
-
- Gets a descriptive message about the connection status.
-
-
- A string value that describes the connection status of the
- object.
-
- 11/21/2002 1:31:54 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of .
-
-
- The instance that generated the event.
-
-
- The status of the connection.
-
-
- Error of the connection, if one exists. Refer to
- DataSocket Error Codes for a list of possible
- values.
-
-
- Descriptive message of the connection status.
-
-
-
-
-
- 7/15/2005 10:17:19 AM
- Jennifer Smith
- True
-
-
- Overrides .
- Returns a string representation of the object.
- 10/30/2002 11:41:23 AM
- Beth Parrott
- True
-
-
-
- Gets the that generated the
- event.
-
-
- The that generated the event.
-
- 7/26/2004 10:12:17 AM
- Whitney Bates
- True
-
-
-
- Represents a method that handles the
- event of a
- object.
-
-
- The source of the event.
-
-
- A object that contains the
- event data.
-
-
-
- 11/21/2002 1:31:22 PM
- Beth Parrott
- True
-
-
-
- Indicates the current status of the connection.
-
- 11/21/2002 1:31:26 PM
- Beth Parrott
- True
-
-
-
- The object is in the process of connecting
- to the data source or target.
-
- 11/21/2002 1:31:32 PM
- Beth Parrott
- True
-
-
-
- The object is connected to the data source or target and is transferring the data or
- waiting for an update.
-
- 11/21/2002 1:31:36 PM
- Beth Parrott
- True
-
-
-
- The object encountered an error while connecting
- to the data source or target.
-
- 11/21/2002 1:31:38 PM
- Beth Parrott
- True
-
-
-
- The object is connected to the data source or target
- and is not currently transferring data or is waiting for an update.
-
- 11/21/2002 1:31:42 PM
- Beth Parrott
- True
-
-
-
- The object is not connected to any data source
- or data target.
-
- 11/21/2002 1:31:45 PM
- Beth Parrott
- True
-
-
-
- Represents a method that handles the
- event of a
- object.
-
-
- The source of the event.
-
-
- A object that contains the event data.
-
-
-
- 11/21/2002 1:31:57 PM
- Beth Parrott
- True
-
-
-
- Represents a connection to a data source or target.
-
-
- You can use the NetworkVariable class library or the class library to transfer live measurement data between applications over a network.
- You can use NetworkVariable or to exchange different types of data between Measurement Studio, LabVIEW, LabWindows/CVI, and other applications that support NI-Publish Subscribe Protocol (psp:).
- NetworkVariable is the preferred method for transferring data between these applications, and, in these cases, NetworkVariable supersedes .
- You can also use NetworkVariable and to exchange different types of data between OLE for Process Control (opc:) servers. Exchanging data between Measurement Studio applications and OPC servers with NetworkVariable requires LabVIEW DSC Run-Time System. Use to communicate directly with an OPC server.
-
-
-
-
-
- The object encapsulates the .NET interface to National Instruments DataSocket
- and includes the following features:
-
- - Transfer data between different data sources and
- targets.
- - Specify a data source and target through a URL—the same
- way you access Web pages in a Web browser.
- - Use a single API to access OPC, HTTP, FTP, logos, and
- file servers.
- - Use the DataSocket Transfer Protocol (DSTP) to exchange data
- of many different types.
- - Browse the network to quickly locate a data source or target
- on other computers and servers.
-
-
- You must call when you finish using a object.
- If you add this object to a Windows form with the Windows Forms Designer, the form calls
- automatically.
-
-
-
- 9/16/2008 10:06:51 AM
- Measurement Studio
- True
-
-
-
- Initializes a new instance of .
-
-
- 10/30/2002 11:42:42 AM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of
- with the specified container.
-
-
- An that represents the container for the
- object.
-
-
- 10/30/2002 11:42:45 AM
- Beth Parrott
- True
-
-
-
- Overrides .
-
- Returns a string representation of the object.
- 10/30/2002 11:43:49 AM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:09 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:13 PM
- Measurement Studio
- True
-
-
-
- Releases the resources used by the object.
-
-
- If , this method releases managed and unmanaged resources. If , this method releases
- only unmanaged resources.
-
-
-
- The public method and the finalizer call this method. The public
- method invokes the protected Dispose(Boolean) method with
- set to . The finalizer invokes the protected Dispose(Boolean) method
- with set to
- .
-
-
- When you set the parameter to , this method releases all
- resources held by managed objects that this object
- references. This method invokes the method of each referenced object.
-
-
- 11/21/2002 1:32:04 PM
- Beth Parrott
- True
-
-
-
- Connects the object to a data source or target.
-
-
-
- The method establishes the
- connection with the current values of the
- and the
- properties.
-
-
- The object creates the connection asynchronously. You must return
- control to the application message loop after you create the connection and before you
- perform data transfers on data or
- attributes. You can check the property or monitor the
- event to
- determine if the connection is established.
-
-
- When connecting to a data source in a read access mode,
- the object updates the data after the connection is
- completed. When connecting to a data target in a write access mode, the
- object transfers the data at the time the connection is
- made. If you connect in an automatic update mode, the object
- automatically transfers data when new data is available.
-
-
- If you connect a reading client to a data source that
- does not exist, the server creates the data source with a default value of 0.
-
-
-
- The has been disposed.
-
-
- The following example demonstrates how to establish a
- connection with the method.
-
- Dim connection As DataSocket = New DataSocket()
- connection.AccessMode = AccessMode.ReadAutoUpdate
- connection.Url = "dstp://localhost/data"
- connection.Connect()
-
-
-
-
- DataSocket connection = new DataSocket();
- connection.AccessMode = AccessMode.ReadAutoUpdate;
- connection.Url = "dstp://localhost/data";
- connection.Connect();
-
-
-
- Key Measurement Studio DataSocket .NET Library Features
- 9/16/2008 10:06:00 AM
- Measurement Studio
- True
-
-
-
- Connects the object to the specified data source or target.
-
-
- Location of the data source or target to which the
- must connect.
-
-
-
- The method sets the
- property to the value of the
- parameter. The method uses the current value of
- to establish the connection.
-
-
- The object creates the connection asynchronously. You must return
- control to the application message loop after you create the connection and before you
- perform data transfers on data or
- attributes. You can check the property or monitor the
- event to
- determine if the connection is established.
-
-
- When connecting to a data source in a read access mode,
- the object updates the data after the connection is
- completed. When connecting to a data target in a write access mode, the
- object transfers the data at the time the connection is
- made. If you connect in an automatic update mode, the object
- automatically transfers data when new data is available.
-
-
- If you connect a reading client to a data source that
- does not exist, the server creates the data source with a default value of 0.
-
-
-
- is .
-
-
- The has been disposed.
-
-
- The following example demonstrates how to establish a
- connection with the method.
-
- Dim connection As DataSocket = New DataSocket()
- connection.AccessMode = AccessMode.ReadAutoUpdate
- connection.Connect("dstp://localhost/data")
-
-
-
-
- DataSocket connection = new DataSocket();
- connection.AccessMode = AccessMode.ReadAutoUpdate;
- connection.Connect("dstp://localhost/data");
-
-
-
- Key Measurement Studio DataSocket .NET Library Features
- 9/16/2008 10:06:03 AM
- Measurement Studio
- True
-
-
-
- Connects the object to the specified data source or target with the specified
- access mode.
-
-
- Location of the data source or target to which the
- object must connect.
-
-
- An value that specifies the type of connection the
- object makes when it connects to the data source or
- target.
-
-
-
- The method sets the
- and
- properties to the values of the
- and parameters.
-
-
- The object creates the connection asynchronously. You must return
- control to the application message loop after you create the connection and before you
- perform data transfers on data or
- attributes. You can check the property or monitor the
- event to
- determine if the connection is established.
-
-
- When connecting to a data source in a read access mode,
- the object updates the data after the connection is
- completed. When connecting to a data target in a write access mode, the
- object transfers the data at the time the connection is
- made. If you connect in an automatic update mode, the object
- automatically transfers data when new data is available.
-
-
- If you connect a reading client to a data source that
- does not exist, the server creates the data source with a default value of 0.
-
-
-
- is .
-
-
- is not a member of .
-
-
- The has been disposed.
-
-
- The following example demonstrates how to establish a
- connection with the method.
-
- Dim connection As DataSocket = New DataSocket()
- connection.Connect("dstp://localhost/data", AccessMode.ReadAutoUpdate)
-
-
-
-
- DataSocket connection = new DataSocket();
- connection.Connect("dstp://localhost/data", AccessMode.ReadAutoUpdate);
-
-
- Key Measurement Studio DataSocket .NET Library Features
- 9/16/2008 10:06:07 AM
- Measurement Studio
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified timeout.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
-
- The method establishes the
- connection with the current values of the
- and the
- properties.
-
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 9:34:47 AM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified .
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
-
- The method establishes the
- connection with the current values of the
- and the
- properties.
-
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 9:41:07 AM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified URL and timeout.
-
-
- Location of the data source or target to which the
- must connect.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
-
- The method sets the
- property to the value of the
- parameter. The method uses the current value of
- to establish the connection.
-
-
-
- The has been disposed.
-
-
- is .
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 9:40:51 AM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified URL and .
-
-
- Location of the data source or target to which the
- must connect.
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
-
- The method sets the
- property to the value of the
- parameter. The method uses the current value of
- to establish the connection.
-
-
-
- The has been disposed.
-
-
- is .
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 9:41:24 AM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified URL, access mode, and timeout.
-
-
- Location of the data source or target to which the
- must connect.
-
-
- An value that specifies the type of connection the
- object makes when it connects to the data source or
- target.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
-
- The method sets the
- and
- properties to the values of the
- and parameters.
-
-
-
- The has been disposed.
-
-
- is .
-
-
- is not a member of .
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 9:40:08 AM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified URL, access mode, and .
-
-
- Location of the data source or target to which the
- must connect.
-
-
- An value that specifies the type of connection the
- object makes when it connects to the data source or
- target.
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
-
- The method sets the
- and
- properties to the values of the
- and parameters.
-
-
-
- The has been disposed.
-
-
- is .
-
-
- is not a member of .
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 9:40:34 AM
- Beth Parrott
- True
-
-
-
- Disconnects the object from the data source or target to which it is
- currently connected.
-
-
-
- The value of the property and its attributes
- remain unchanged when the object is disconnected.
-
-
- has no effect if the
- object is disconnected.
-
-
-
- The has been disposed.
-
-
- 11/21/2002 1:32:53 PM
- Beth Parrott
- True
-
-
-
- Synchronously disconnects the object from
- the data source or target to which it is currently connected using the specified timeout.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
-
- The value of the property and its attributes
- remain unchanged when the object is disconnected.
-
-
- has no effect if the
- object is already disconnected.
-
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 9:38:05 AM
- Beth Parrott
- True
-
-
-
- Synchronously disconnects the object from
- the data source or target to which it is currently connected using the specified .
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
-
- The value of the property and its attributes
- remain unchanged when the object is disconnected.
-
-
- has no effect if the
- object is already disconnected.
-
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 9:41:34 AM
- Beth Parrott
- True
-
-
-
- Initiates a write to the server with the specified data and timeout.
-
-
- The data to write to the server.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
- initiates a write to the server
- and then waits for the amount of time specified by for the server
- to acknowledge that the write was successful.
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 9:45:18 AM
- Beth Parrott
- True
-
-
-
- Initiates a write to the server with the specified data and .
-
-
- The data to write to the server.
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
- initiates a write to the server
- and then waits for the amount of time specified by for the server
- to acknowledge that the write was successful.
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 9:45:52 AM
- Beth Parrott
- True
-
-
-
- Synchronously polls the client-side buffer for unprocessed values using the specified timeout.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
- Use in synchronous read mode
- to poll the client-side buffer for any unprocessed values. If the buffer contains
- unprocessed data, the next value is dequeued into the
- property and the return value is
- . If the buffer contains no new values,
- waits for the specified timeout
- interval for a new value to arrive.
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 9:43:12 AM
- Beth Parrott
- True
-
-
-
- Synchronously polls the client-side buffer for unprocessed values using the specified .
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
- Use in synchronous read mode
- to poll the client-side buffer for any unprocessed values. If the buffer contains
- unprocessed data, the next value is dequeued into the
- property and the return value is
- . If the buffer contains no new values,
- waits for the specified timeout
- interval for a new value to arrive.
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 9:43:57 AM
- Beth Parrott
- True
-
-
-
- Causes the object to transfer data from a data source or to
- a data target.
-
-
-
- When you use the or access
- mode, call the
- method when you want to transfer data between the data source or target and the local
- object. If the property is , it
- is set to after the update is completed, and the
- event is generated.
-
- If you want to transfer data every time new data is available without calling ,
- use the or access modes.
-
-
-
- The has been disposed.
-
-
- The is not connected.
-
-
- 6/9/2003 9:47:19 AM
- Beth Parrott
- True
-
-
-
- Enables interactive browsing and selection of data sources or targets.
-
-
- The method launches a dialog box that provides interactive browsing
- and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
- objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
-
-
- The has been disposed.
-
- Key Measurement Studio DataSocket .NET Library Features
- 9/16/2008 10:06:11 AM
- Measurement Studio
- True
-
-
-
- Enables interactive browsing and selection of data sources or targets and configures the dialog box with a specified URL.
-
-
- String that contains the URL. If the protocol is opc:,
- dstp:, logos:,
- or file, or if you omit this parameter, this method opens a dialog box in which the user can
- find and select a data source or target. You can prompt the user to create a Web or FTP
- location with the http: or ftp: protocols. You also can use a complete URL, such
- as dstp://localhost/wave.
-
-
- The method launches a dialog box that provides interactive browsing
- and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
- objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
-
-
-
- is
-
-
-
- The has been disposed.
-
- Key Measurement Studio DataSocket .NET Library Features
- 9/16/2008 10:06:14 AM
- Measurement Studio
- True
-
-
-
- Enables interactive browsing and selection of data sources or targets and configures the dialog box URL and title.
-
-
- String that contains the URL. If the protocol is opc:,
- dstp:, logos:,
- or file, or if you omit this parameter, this method opens a dialog box in which the user can
- find and select a data source or target. You can prompt the user to create a Web or FTP
- location with the http: or ftp: protocols. You also can use a complete URL, such
- as dstp://localhost/wave.
-
-
- Title of the dialog box.
-
-
- The method launches a dialog box that provides interactive browsing
- and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
- objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
-
-
-
- is
-
- -or-
-
- is
-
-
-
- The has been disposed.
-
- Key Measurement Studio DataSocket .NET Library Features
- 9/16/2008 10:06:18 AM
- Measurement Studio
- True
-
-
-
- Enables interactive browsing and selection of data sources or targets and configures the dialog box URL, title, and options.
-
-
- String that contains the URL. If the protocol is opc:,
- dstp:, logos:,
- or file, or if you omit this parameter, this method opens a dialog box in which the user can
- find and select a data source or target. You can prompt the user to create a Web or FTP
- location with the http: or ftp: protocols. You also can use a complete URL, such
- as dstp://localhost/wave.
-
-
- Title of the dialog box.
-
-
- Flags that control the behavior of the dialog box.
-
-
- The method launches a dialog box that provides interactive browsing
- and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
- objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
-
-
-
- is
-
- -or-
-
- is
-
-
-
- is not a member of .
-
-
- The has been disposed.
-
- Key Measurement Studio DataSocket .NET Library Features
- 9/16/2008 10:06:20 AM
- Measurement Studio
- True
-
-
-
- Enables interactive browsing and selection of data sources or targets and configures the dialog box URL, title, options, and filter.
-
-
- String that contains the URL. If the protocol is opc:,
- dstp:, logos:,
- or file, or if you omit this parameter, this method opens a dialog box in which the user can
- find and select a data source or target. You can prompt the user to create a Web or FTP
- location with the http: or ftp: protocols. You also can use a complete URL, such
- as dstp://localhost/wave.
-
-
- Title of the dialog box.
-
-
- Flags that control the behavior of the dialog box.
-
-
- Filter string passed to the dialog box, as shown in the following example: DataSocket Data files (*.dsd)|*.dsd|All files (*.*)|*.*
-
-
- The method launches a dialog box that provides interactive browsing
- and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
- objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
-
-
-
- is
-
- -or-
-
- is
-
- -or-
-
- is .
-
-
-
- is not a member of .
-
-
- The has been disposed.
-
- Key Measurement Studio DataSocket .NET Library Features
- 9/16/2008 10:06:24 AM
- Measurement Studio
- True
-
-
-
- Raises the event.
-
-
- A object that contains the event data.
-
-
- A derived class can override to handle the event without attaching a delegate. This technique is preferred for event handling in a derived class.
-
-
- 11/21/2002 1:33:06 PM
- Beth Parrott
- True
-
-
-
- Raises the event.
-
-
- A object that contains the event
- data.
-
-
- A derived class can override
- to handle the event without attaching a delegate. This technique is preferred for event handling in a derived class.
-
-
- 11/21/2002 1:33:08 PM
- Beth Parrott
- True
-
-
-
- Gets or sets the access mode for the connection.
-
-
- An that indicates the type
- of data transfer connection the object
- makes when connecting to the data source or target. The default value is
- .
-
-
- If you connect with the or
-
- access mode,
- the data is read-only. If you try to set the
- value or attributes on a read-only object, a
- is generated. If the
- object is disconnected, you can set the data value
- and attributes regardless of the access mode.
-
-
- Value is not a member of .
-
-
- The has been disposed.
-
-
- The following example demonstrates how to specify the access mode when establishing
- a connection.
-
- Dim connection As DataSocket = New DataSocket()
- connection.Connect("dstp://localhost/data", AccessMode.ReadAutoUpdate)
-
-
-
-
- DataSocket connection = new DataSocket();
- connection.Connect("dstp://localhost/data", AccessMode.ReadAutoUpdate);
-
-
- Key Measurement Studio DataSocket .NET Library Features
- 9/16/2008 10:06:35 AM
- Measurement Studio
- True
-
-
-
- Gets the actual URL of the current data source or target.
-
-
- The actual URL of the current data source or target.
-
-
-
- When connected to a data source or target, the value of
- differs from the value of the
- property if the original URL you specify points to a link that redirects the
- object to a new URL.
-
-
- If the object is disconnected, the
- property returns
- .
-
-
-
- The has been disposed.
-
-
- 11/21/2002 1:32:11 PM
- Beth Parrott
- True
-
-
-
- Gets or sets a value indicating if the object connects to a data source or target
- when the form loads.
-
-
- if the object connects to a data source or target
- when the form loads. The default value is .
-
-
- The has been disposed.
-
-
- This property is applicable only to a object that you create on a
- Windows Form with a Windows Forms Designer.
-
- Set the ,
- , and
- properties in the Visual Studio Properties window
- at design time to automatically connect the object to the
- data source or target when the form loads. You do not have to call
- .
-
-
- Like the method, this property causes the
- object to generate the
- event when the connection
- is made and the event when data is
- updated.
-
-
-
- 6/20/2006 4:41:42 PM
- Staci McCormick
- True
-
-
-
- Gets or sets the maximum number of bytes that is allowed in the
- property buffer.
-
-
- An integer that specifies the maximum number of bytes that is allowed in the
- property buffer. The default value is
- 104,857,600.
-
-
- The has been disposed.
-
-
- The specified value is less than 0.
-
- 6/9/2003 9:27:43 AM
- Beth Parrott
- True
-
-
-
- Gets or sets the maximum number of packets that is allowed in the
- property buffer.
-
-
- An integer that specifies the maximum number of packets that is allowed in the
- property buffer. The default value is
- 1.
-
-
- The has been disposed.
-
-
- The specified value is less than 0.
-
- 6/9/2003 9:28:07 AM
- Beth Parrott
- True
-
-
-
- Gets the total number of bytes that is currently in the buffer divided by the maximum number of
- bytes allowed in the buffer.
-
-
- A double value between 0 and 1 that specifies the total number of bytes that is currently in the
- buffer divided by the maximum number of bytes allowed in the buffer.
-
-
- The has been disposed.
-
-
- 6/9/2003 9:30:21 AM
- Beth Parrott
- True
-
-
-
- Gets the total number of packets that is currently in the buffer divided by the maximum number of
- bytes allowed in the buffer.
-
-
- A double value between 0 and 1 that specifies the total number of packets that is currently in the
- buffer divided by the maximum number of bytes allowed in the buffer.
-
-
- The has been disposed.
-
-
- 6/9/2003 9:29:58 AM
- Beth Parrott
- True
-
-
-
- Gets the current status of the data connection.
-
-
- A that specifies the status of the data
- connection.
-
-
-
- The value of this property is the same as the last status value passed to the
- event.
-
-
- If an error occurs while connecting to the data source or target, the status indicates the
- last step attempted. The and
- properties describe the error.
-
-
-
- The has been disposed.
-
-
- The following example demonstrates how to update a Windows Form StatusBar control with the
- connection status, the last error, and the last message of a
- connection.
-
- Private Sub UpdateStatus(ByVal status As StatusBar, ByVal connection As DataSocket)
- Dim output As StringBuilder = New StringBuilder()
- output.AppendFormat("Status: {0}, ", connection.ConnectionStatus)
- output.AppendFormat("Error: {0}, ", connection.LastError)
- output.AppendFormat("Message: {0}", connection.LastMessage)
- status.Text = output.ToString()
- End Sub
-
-
-
-
- private void UpdateStatus(StatusBar status, DataSocket connection)
- {
- StringBuilder output = new StringBuilder();
- output.AppendFormat("Status: {0}, ", connection.ConnectionStatus);
- output.AppendFormat("Error: {0}, ", connection.LastError);
- output.AppendFormat("Message: {0}", connection.LastMessage);
- status.Text = output.ToString();
- }
-
-
-
-
- 6/20/2006 4:41:45 PM
- Staci McCormick
- True
-
-
-
- Gets the current value and attributes that the object received
- from the data source or target
- or that were set locally.
-
-
- A that contains the data source or target and its
- attributes.
-
-
-
- Use this property to access the object that contains the
- current value and attributes. Then use the methods and
- properties to access the value or specified attributes.
-
-
- When you connect the object to a data target with the
- or
- access mode, the
- object transfers the current value and attributes to the target as
- soon as the connection is complete. When you connect the object to
- a data source with the or
- access mode,
- the object completes the connection and transfers the values.
-
-
- Use the property or the
- event to determine if and when the value or
- attributes on the local object are set or changed.
-
-
- When the object is disconnected from the previous data source or target,
- it retains the value and attributes it last had while connected.
-
-
-
- The has been disposed.
-
- 6/20/2006 4:41:49 PM
- Staci McCormick
- True
-
-
-
- Gets if the object is in a connected or disconnected
- state.
-
-
- Returns if the object is in a connected state. Returns
- if the object is in a disconnected state.
-
-
- The has been disposed.
-
-
- 11/21/2002 1:32:22 PM
- Beth Parrott
- True
-
-
-
- Gets a value indicating if values or attributes on the local object have changed
- since the last data transfer.
-
-
- if the or attributes have changed.
- if the value or attributes are unchanged or if
- has been queried since the last data transfer.
-
-
- The event occurs when
- changes from to
- . Use this property to determine if the data value or attributes have changed since you last queried this property.
- This property is typically useful only on a object that is configured for
- or .
- You can use a delegate instead of polling .
-
-
-
- The has been disposed.
-
-
-
- 6/20/2006 4:41:56 PM
- Staci McCormick
- True
-
-
-
- Gets a value indicating if the connection status has changed or an error has occurred.
-
-
- The property is set to when the
- event is generated and set to
- when the is queried.
-
-
- The has been disposed.
-
-
- Use this property to determine if the connection status has changed since you last queried this property. You can use a
- instead of polling
- .
-
-
-
- 6/20/2006 4:41:53 PM
- Staci McCormick
- True
-
-
-
- Gets the error code associated with the last
- event.
-
-
- 0 if no error occurred the last time
- occurred. If an error occurred,
- gets the error code of the error that occurred the last time
- occurred.
-
-
-
- Some common errors include errors caused by incorrect network configurations, insufficient
- access privileges to connect to the data source or target, or an incorrectly formed URL.
-
-
- To determine the task the object was performing when the
- error occurred, check the and
- properties.
-
-
-
- The has been disposed.
-
-
-
- 11/21/2002 1:32:28 PM
- Beth Parrott
- True
-
-
-
- Gets the message associated with the last
- event.
-
-
- Describes the last error encountered or the last step taken in connecting to or updating
- the data.
-
-
- The has been disposed.
-
-
-
- 11/21/2002 1:32:29 PM
- Beth Parrott
- True
-
-
-
- Gets or sets the mode that specifies how reads
- data.
-
-
- A that indicates if
- raises the
- event to notify when
- new data arrives or if you must call
- to poll and dequeue buffered data into the
- property.
-
- 6/20/2006 4:42:01 PM
- Staci McCormick
- True
-
-
-
- Gets or sets the location of a data source or target.
-
-
- A string that represents the URL of the data source or target. The default value is
- .
-
-
-
- The object can connect to different data sources or targets
- based on the specified URL. The
- property determines if the object is transferring data from a data
- source or to a data target.
-
-
- If the data source or target redirects the
- object to a new URL, the
- property is set to the new URL.
-
-
- The following types of URLs are supported:
-
- ProtocolExample
- -
- DataSocket Server (dstp:)
-
- dstp://localhost/wave
- dstp://machine/item
-
-
- -
- Standard Web server (http:)
- http://www.ni.com/cworks/datasocket.tone.wav
-
- -
- Standard FTP Sites (ftp:)
-
- ftp://ftp.ni.com/datasocket/ping.wav
- The FTP site must allow anonymous connections.
-
-
- -
- Lookout/Logos objects (lookout: or logos:)
-
- lookout://localhost/testprocess/pot1.value
- logos://localhost/testprocess/pot1.value
-
-
- -
- Files directly accessible from the file system (file:)
-
- file:ping.wav
- file:c:/mydata/ping.wav
- file://machine/mydata/ping.wav
-
-
- -
- OLE for Process Control (OPC) Servers (opc:)
-
- opc:/National Instruments.OPCDemo/sine
- opc:/National Instruments.OPCDemo/sine?AccessPath=sine
- opc://machine/National Instruments.OPCModbus/Modbus Demo Box.40
-
-
-
-
-
-
- The has been disposed.
-
-
- Key Measurement Studio DataSocket .NET Library Features
- 9/16/2008 10:05:55 AM
- Measurement Studio
- True
-
-
-
- Occurs when the status of the connection changes.
-
-
- This event occurs every time the connection status changes, such as when the
- object connects to a data source or target specified by the
- property, transfers data, or encounters an error.
-
-
-
-
- 11/21/2002 1:32:41 PM
- Beth Parrott
- True
-
-
-
- Occurs when the value or attributes of the property is
- updated.
-
-
-
- The object sets the
- to immediately before this event
- is generated.
-
-
- In write access mode, the event occurs when data is
- ready to send. In read access mode, the event occurs when data is received.
- You can use the event to
- scale, display, or process new data.
-
-
-
-
- 11/21/2002 1:32:44 PM
- Beth Parrott
- True
-
-
-
- Contains the name of a attribute and its associated
- data.
-
-
-
- Attributes provide information such as the time the value was calculated or acquired, the units in which the value is expressed, the equipment used to generate the value, or any other properties that you want to define.
-
- Use the object when you iterate through the
- of a
- object.
-
-
- The following example iterates through the attributes of a object
- and displays each and
- value.
-
- Private Sub ShowDataSocketAttributes(ByVal data As DataSocketData)
- Console.WriteLine("DataSocket Data Attributes")
- Dim attr As DataSocketAttribute
- For Each attr In data.Attributes
- Console.WriteLine("{0}: {1}", attr.Name, attr.Data.Value.ToString())
- Next
- End Sub
-
-
-
-
- private void ShowDataSocketAttributes(DataSocketData data)
- {
- Console.WriteLine("DataSocket Data Attributes");
- foreach (DataSocketAttribute attr in data.Attributes)
- Console.WriteLine("{0}: {1}", attr.Name, attr.Data.Value.ToString());
- }
-
-
-
- 11/21/2002 1:33:10 PM
- Beth Parrott
- True
-
-
-
- Overrides .
-
- Returns a string representation of the object.
- 10/30/2002 11:44:10 AM
- Beth Parrott
- True
-
-
-
- Gets the name of the object.
-
-
- A string value that represents the name of the associated data.
-
- 11/21/2002 1:33:13 PM
- Beth Parrott
- True
-
-
-
- Gets the data of the object.
-
-
- A that represents the attribute data.
-
- 6/20/2006 4:42:07 PM
- Staci McCormick
- True
-
-
-
- Encapsulates the collection of the attributes of a
- object.
-
-
-
- Each attribute consists of a string name and a value.
-
-
- 11/21/2002 1:34:22 PM
- Beth Parrott
- True
-
-
- Overrides .
- Returns a string representation of the object.
- 10/30/2002 12:10:36 PM
- Beth Parrott
- True
-
-
-
- Gets the names of the attributes that are associated with the object.
-
- An array of strings that indicate the names of the attributes that are associated with
- the object.
- 6/9/2003 10:24:14 AM
- Beth Parrott
- True
-
-
-
- Creates an attribute of a object.
-
-
- The name of the attribute to add.
-
-
- The value of the attribute.
-
-
- The object that represents
- the value of the added attribute.
-
-
- is .
-
-
- An element with the same key already exists in the collection.
-
-
- is a data type that is not supported by .
-
- 6/9/2003 9:47:57 AM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:19 PM
- Measurement Studio
- True
-
-
- Removes all items from the collection.
- 10/30/2002 12:10:54 PM
- Beth Parrott
- True
-
-
- Returns if the specified attribute is in the collection.
- The name of the item to locate in the collection.
-
- Returns if the collection contains .
-
-
- is .
-
- 6/9/2003 9:48:09 AM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:20 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:19 PM
- Measurement Studio
- True
-
-
- Returns an enumerator that you can use to iterate through the collection.
- Enumerator for the collection.
-
- For a detailed explanation of this method, refer to in the Microsoft
- .NET Framework documentation.
-
- 10/30/2002 12:11:08 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:20 PM
- Measurement Studio
- True
-
-
-
- Removes the first occurrence of the specified attribute from the collection.
-
-
- The name of the attribute to remove from the collection.
-
-
- is .
-
-
- An attribute with the specified name was not found in the collection.
-
- 6/9/2003 9:48:21 AM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:23 PM
- Measurement Studio
- True
-
-
-
- Gets the attribute in the collection with the specified name. In Visual C#, this
- property is the indexer.
-
-
- The of the attribute
- with the specified name.
-
-
- The specified attribute name is .
-
-
- There is no attribute in the collection with the specified range.
-
- 6/20/2006 4:42:12 PM
- Staci McCormick
- True
-
-
-
- 1/23/2009 4:54:17 PM
- Measurement Studio
- True
-
-
-
- Gets the number of elements in the collection.
-
-
- The number of elements contained in the collection.
-
- 11/21/2002 1:34:30 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:41 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:16 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:14 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:17 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:14 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:18 PM
- Measurement Studio
- True
-
-
-
- Represents a data source or target that you can bind to a property of a control.
-
-
-
- External data sources and targets might be
- on HTTP, FTP, OPC, DSTP, or file servers located anywhere on the Internet.
-
-
- The object uses National Instruments DataSocket
- technology to connect to data sources and targets and share live measurements over the
- Internet.
- To expose a data source or target as a binding to a Windows Forms control,
- add a object to the
- of a object.
-
-
- You must call when you finish using a
- object.
-
-
-
-
-
- 1/22/2013 1:43:10 PM
- National Instruments
- True
-
-
-
- Initializes a new instance of .
-
- 10/30/2002 11:46:05 AM
- Beth Parrott
- True
-
-
-
- Overrides .
-
-
- A string representation of the object.
-
-
- The has been disposed.
-
- 6/9/2003 10:03:11 AM
- Beth Parrott
- True
-
-
-
- Releases all resources used by the
- object.
-
- 11/21/2002 1:33:21 PM
- Beth Parrott
- True
-
-
-
- Releases the resources used by the object.
-
-
- If , this method releases managed and unmanaged resources. If , this method
- releases only unmanaged resources.
-
-
-
- The public method and the finalizer call this method. The public
- method invokes the protected Dispose(Boolean) method with
- set to . The finalizer invokes the protected Dispose(Boolean) method
- with set to
- .
-
-
- When you set the parameter to , this method releases all
- resources held by managed objects that the object
- references. This method invokes the method of each referenced object.
-
-
- 11/21/2002 1:33:23 PM
- Beth Parrott
- True
-
-
-
- Finalizes the instance of the object.
-
- 10/30/2002 11:44:16 AM
- Beth Parrott
- True
-
-
-
- Connects the object to a data source or target.
-
-
-
- The method establishes the
- connection with the current values of the
- and the
- properties.
-
-
- The object creates the connection asynchronously.
- You must return
- control to the application message loop after you create the connection and before you
- perform data transfers on data
- or attributes. You can check the
- property to determine if the connection is established.
-
-
- When connecting to a data source in a read access mode,
- the object updates the data after the connection is
- completed. When connecting to a data target in a write access mode, the
- object transfers the data when the connection is
- made. If you connect in an automatic update mode, the
- object automatically transfers data when
- new data is available.
-
-
- If you connect a reading client to a
- object that does not exist, the server creates the item with a default value of 0.
-
-
-
- The has been disposed.
-
-
- 11/21/2002 1:33:51 PM
- Beth Parrott
- True
-
-
-
- Connects the object to the specified data source or target.
-
-
- Location of the data source or target to which the
- must connect.
-
-
-
- The method sets the
- property to the value of the
- parameter. The method uses the current value of
- to establish the connection.
-
-
- The object creates the connection asynchronously.
- You must return
- control to the application message loop after you create the connection and before you
- perform data transfers on data
- or attributes. You can check the
- property to determine if the connection is established.
-
-
- When connecting to a data source in a read access mode,
- the object updates the data after the connection is
- completed. When connecting to a data target in a write access mode, the
- object transfers the data when the connection is
- made. If you connect in an automatic update mode, the
- object automatically transfers data when
- new data is available.
-
-
- If you connect a reading client to a
- object that does not exist, the server creates the item with a default value of 0.
-
-
-
- is .
-
-
- The has been disposed.
-
-
- 11/21/2002 1:33:53 PM
- Beth Parrott
- True
-
-
-
- Connects the object to the specified data source or target with the
- specified access mode.
-
-
- Location of the data source or target to which the
- object must connect.
-
-
- An value that specifies the type of connection the
- object makes when it connects to the data source or
- target.
-
-
-
- The method sets the
- and
- properties to the values of the
- and parameters.
-
-
- The object creates the connection asynchronously.
- You must return
- control to the application message loop after you create the connection and before you
- perform data transfers on data
- or attributes. You can check the
- property to determine if the connection is established.
-
-
- When connecting to a data source in a read access mode,
- the object updates the data after the connection is
- completed. When connecting to a data target in a write access mode, the
- object transfers the data when the connection is
- made. If you connect in an automatic update mode, the
- object automatically transfers data when
- new data is available.
-
-
- If you connect a reading client to a
- object that does not exist, the server creates the item with a default value of 0.
-
-
-
- is .
-
-
- is not a member of .
-
-
- The has been disposed.
-
- 11/21/2002 1:33:55 PM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified timeout.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
-
- The method establishes the
- connection with the current values of the
- and the
- properties.
-
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 10:18:00 AM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified .
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
-
- The method establishes the
- connection with the current values of the
- and the
- properties.
-
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 10:20:43 AM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified URL and timeout.
-
-
- Location of the data source or target to which the
- must connect.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
-
- The method sets the
- property to the value of the
- parameter. The method uses the current value of
- to establish the connection.
-
-
-
- The has been disposed.
-
-
- is .
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 10:19:51 AM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified URL and .
-
-
- Location of the data source or target to which the
- must connect.
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
-
- The method sets the
- property to the value of the
- parameter. The method uses the current value of
- to establish the connection.
-
-
-
- The has been disposed.
-
-
- is .
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 10:20:17 AM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified URL, access mode, and timeout.
-
-
- Location of the data source or target to which the
- must connect.
-
-
- An value that specifies the type of connection the
- object makes when it connects to the data source or
- target.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
-
- The method sets the
- and
- properties to the values of the
- and parameters.
-
-
-
- The has been disposed.
-
-
- is .
-
-
- is not a member of .
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 10:18:41 AM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified URL, access mode, and .
-
-
- Location of the data source or target to which the
- must connect.
-
-
- An value that specifies the type of connection the
- object makes when it connects to the data source or
- target.
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
-
- The method sets the
- and
- properties to the values of the
- and parameters.
-
-
-
- The has been disposed.
-
-
- is .
-
-
- is not a member of .
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 10:19:16 AM
- Beth Parrott
- True
-
-
-
- Disconnects the object from the data source or target to which it is
- currently connected.
-
-
- The value of and its attributes remain
- unchanged when the object is disconnected.
-
- has no effect if the
- object is not connected.
-
-
-
- The has been disposed.
-
-
- 11/21/2002 1:33:56 PM
- Beth Parrott
- True
-
-
-
- Synchronously disconnects the object from
- the data source or target to which it is currently connected using the specified timeout.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
-
- The value of the property and its attributes
- remain unchanged when the object is disconnected.
-
-
- has no effect if the
- object is already disconnected.
-
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 10:23:23 AM
- Beth Parrott
- True
-
-
-
- Synchronously disconnects the object from
- the data source or target to which it is currently connected using the specified .
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
-
- The value of the property and its attributes
- remain unchanged when the object is already disconnected.
-
-
- has no effect if the
- object is disconnected.
-
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 10:23:32 AM
- Beth Parrott
- True
-
-
-
- Initiates a write to the server with the specified data and timeout.
-
-
- The data to write to the server.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
- initiates a write to the server
- and then waits for the amount of time specified by for the server
- to acknowledge that the write was successful.
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 10:22:43 AM
- Beth Parrott
- True
-
-
-
- Initiates a write to the server with the specified data and .
-
-
- The data to write to the server.
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
- initiates a write to the server
- and then waits for the amount of time specified by for the server
- to acknowledge that the write was successful.
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 10:23:12 AM
- Beth Parrott
- True
-
-
-
- Synchronously polls the client-side buffer for unprocessed values using the specified timeout.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
- is used in synchronous read mode
- to poll the client-side buffer for any unprocessed values. If the buffer contains
- unprocessed data, the next value is dequeued into the
- property and the return value is
- . If the buffer contains no new values,
- will wait for the specified timeout
- interval for a new value to arrive.
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 10:21:55 AM
- Beth Parrott
- True
-
-
-
- Synchronously polls the client-side buffer for unprocessed values using the specified .
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
- is used in synchronous read mode
- to poll the client-side buffer for any unprocessed values. If the buffer contains
- unprocessed data, the next value is dequeued into the
- property and the return value is
- . If the buffer contains no new values,
- will wait for the specified timeout
- interval for a new value to arrive.
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 10:22:12 AM
- Beth Parrott
- True
-
-
-
- Causes the object to transfer data from a data source or to
- a data target.
-
-
-
- Use the property to determine if
- transfers data from a data source or to a data target.
-
-
- When using the or access mode, call the
- method when you want transfer data between the data source or target
- and the local object.
- If you want to
- transfer data every time new data is available without calling , use the
- or access modes.
-
-
-
- The has been disposed.
-
-
- The is not connected.
-
-
- 6/9/2003 10:03:35 AM
- Beth Parrott
- True
-
-
-
- Enables interactive browsing and selection of data sources or targets.
-
-
- The method launches a dialog box that provides interactive browsing
- and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
- objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
-
-
- The has been disposed.
-
- 11/21/2002 1:34:00 PM
- Beth Parrott
- True
-
-
-
- Enables interactive browsing and selection of data sources or targets and configures the dialog box with a specified URL.
-
-
- String that contains the URL. If the protocol is opc:,
- dstp:, logos:,
- or file, or if you omit this parameter, this method opens a dialog box in which the user can
- find and select a data source or target. You can prompt the user to create a Web or FTP
- location with the http: or ftp: protocols. You also can use a complete URL, such
- as dstp://localhost/wave.
-
-
- The method launches a dialog box that provides interactive browsing
- and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
- objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
-
-
-
- is
-
-
-
- The has been disposed.
-
- 11/21/2002 1:34:01 PM
- Beth Parrott
- True
-
-
-
- Enables interactive browsing and selection of data sources or targets and configures the dialog box URL and title.
-
-
- String that contains the URL. If the protocol is opc:,
- dstp:, logos:,
- or file, or if you omit this parameter, this method opens a dialog box in which the user can
- find and select a data source or target. You can prompt the user to create a Web or FTP
- location with the http: or ftp: protocols. You also can use a complete URL, such
- as dstp://localhost/wave.
-
-
- Title of the dialog box.
-
-
- The method launches a dialog box that provides interactive browsing
- and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
- objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
-
-
-
- is
-
- -or-
-
- is
-
-
-
- The has been disposed.
-
- 11/21/2002 1:34:03 PM
- Beth Parrott
- True
-
-
-
- Enables interactive browsing and selection of data sources or targets and configures the dialog box URL, title, and options.
-
-
- String that contains the URL. If the protocol is opc:,
- dstp:, logos:,
- or file, or if you omit this parameter, this method opens a dialog box in which the user can
- find and select a data source or target. You can prompt the user to create a Web or FTP
- location with the http: or ftp: protocols. You also can use a complete URL, such
- as dstp://localhost/wave.
-
-
- Title of the dialog box.
-
-
- Flags that control the behavior of the dialog box.
-
-
- The method launches a dialog box that provides interactive browsing
- and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
- objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
-
-
-
- is
-
- -or-
-
- is
-
-
-
- is not a member of .
-
-
- The has been disposed.
-
- 11/21/2002 1:34:05 PM
- Beth Parrott
- True
-
-
-
- Enables interactive browsing and selection of data sources or targets and configures the dialog box URL, title, options, and filter.
-
-
- String that contains the URL. If the protocol is opc:,
- dstp:, logos:,
- or file, or if you omit this parameter, this method opens a dialog box in which the user can
- find and select a data source or target. You can prompt the user to create a Web or FTP
- location with the http: or ftp: protocols. You also can use a complete URL, such
- as dstp://localhost/wave.
-
-
- Title of the dialog box.
-
-
- Flags that control the behavior of the dialog box.
-
-
- Filter string passed to the dialog box, as shown in the following example: DataSocket Data files (*.dsd)|*.dsd|All files (*.*)|*.*
-
-
- The method launches a dialog box that provides interactive browsing
- and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
- objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
-
-
-
- is
-
- -or-
-
- is
-
- -or-
-
- is .
-
-
-
- is not a member of .
-
-
- The has been disposed.
-
- 11/21/2002 1:34:07 PM
- Beth Parrott
- True
-
-
-
- Gets or sets the access mode for the connection.
-
-
- An that indicates the type of data transfer
- connection the object makes when connecting to the
- data source or target. The default value is .
-
-
- The value is not a member of .
-
-
- The has been disposed.
-
-
- If you connect with the or
-
- access mode,
- the data is read-only. If you try to set the
- value or attributes on a read-only object, a
- is generated. If the
- object is disconnected, you can set the data value
- and attributes regardless of the access mode.
-
- 6/20/2006 4:42:20 PM
- Staci McCormick
- True
-
-
-
- Gets or sets the name of the binding.
-
-
- A string value that indicates the name of the binding. The default value is .
-
-
- The has been disposed.
-
-
- When you bind a data source or target to a Windows Forms control,
- the value of identifies the binding. You can select the Windows Forms control in
- the Windows Forms Designer, navigate to the property in the Properties window, locate the property you want to bind to a
- data source or target, and select from the list of
- available bindings.
-
- 11/5/2008 10:39:50 AM
- Measurement Studio
- True
-
-
-
- Gets the actual URL of the current data source or target.
-
-
- The actual URL of the current data source or target.
-
-
-
- When connected to a data source or target, the value of
- differs from the value of
- property if the URL you specify points to
- a link that redirects the object to a new URL.
-
-
- If the object is disconnected, the
- property returns
- .
-
-
-
- The has been disposed.
-
-
- 11/21/2002 1:33:29 PM
- Beth Parrott
- True
-
-
-
- Gets or sets the maximum number of bytes that is allowed in the
- property buffer.
-
-
- An integer that specifies the maximum number of bytes that is allowed in the
- property buffer. The default value is
- 104,857,600.
-
-
- The has been disposed.
-
-
- The specified value is less than 0.
-
- 6/9/2003 9:50:20 AM
- Beth Parrott
- True
-
-
-
- Gets or sets the maximum number of packets that is allowed in the
- property buffer.
-
-
- An integer that specifies the maximum number of packets that is allowed in the
- property buffer. The default value is
- 1.
-
-
- The has been disposed.
-
-
- The specified value is less than 0.
-
- 6/9/2003 9:50:34 AM
- Beth Parrott
- True
-
-
-
- Gets the total number of bytes that is currently in the buffer divided by the maximum number of
- bytes allowed in the buffer.
-
-
- A double value between 0 and 1 that specifies the total number of bytes that is currently in the
- buffer divided by the maximum number of bytes allowed in the buffer.
-
-
- The has been disposed.
-
-
- 6/9/2003 9:51:26 AM
- Beth Parrott
- True
-
-
-
- Gets the total number of packets that is currently in the buffer divided by the maximum number of
- bytes allowed in the buffer.
-
-
- A double value between 0 and 1 that specifies the total number of packets that is currently in the
- buffer divided by the maximum number of bytes allowed in the buffer.
-
-
- The has been disposed.
-
-
- 6/9/2003 9:51:47 AM
- Beth Parrott
- True
-
-
-
- Gets the current status of the data connection.
-
-
- A that specifies the status of the data
- connection.
-
-
-
- If an error is encountered while connecting to the data source or target, the status indicates the
- last step attempted. The and
- properties describe the error.
-
-
-
- The has been disposed.
-
-
- 6/20/2006 4:42:24 PM
- Staci McCormick
- True
-
-
-
- Gets a value indicating if the object is in a connected or disconnected
- state.
-
-
- Returns if the object is in a connected state. Returns
- if the object is in a disconnected state.
-
-
- The has been disposed.
-
-
- 6/20/2006 4:42:35 PM
- Staci McCormick
- True
-
-
-
- Gets the error code associated with the last binding connection.
-
-
- 0 if no error occurred while the binding connection was established. If an error occurred, gets the error
- code of the error that occurred while the binding connection was established.
-
-
-
- Some common errors include errors caused by incorrect network configurations, insufficient
- access privileges to connect to the data source or target, or an incorrectly formed URL.
-
-
- To determine the task the object was performing when the
- error occurred, check the and
- properties.
-
-
-
- The has been disposed.
-
-
- 11/21/2002 1:33:34 PM
- Beth Parrott
- True
-
-
-
- Gets the message associated with the last the binding connection.
-
-
- Describes the last error that occurred or the last step taken in connecting to or updating
- the data.
-
-
- The has been disposed.
-
-
- 11/21/2002 1:33:46 PM
- Beth Parrott
- True
-
-
-
- Gets or sets the mode that specifies how reads
- data.
-
-
- A that indicates if
- notifies when
- new data arrives or if you must call
- to poll and dequeue buffered data into the
- property.
-
- 9/17/2009 4:46:41 PM
- Measurement Studio
- True
-
-
-
- Gets or sets the location of the data source or target to which the
- object is connecting.
-
-
- A string that represents the URL of the data source or target. The default value is .
-
-
-
- The object can connect to different data sources or targets
- according to the URL specified. The
- property determines if the object is transferring data from a data
- source or to a data target.
-
-
- If the data source or target pointed to by the URL redirects the
- to a new URL, the
- property is set to the new URL.
-
-
- The following types of URLs are supported:
-
- ProtocolExample
- -
- DataSocket Server (dstp:)
-
- dstp://localhost/wave
- dstp://machine/item
-
-
- -
- Standard Web server (http:)
- http://www.ni.com/cworks/datasocket.tone.wav
-
- -
- Standard FTP Sites (ftp:)
-
- ftp://ftp.ni.com/datasocket/ping.wav
- The FTP site must allow anonymous connections.
-
-
- -
- Lookout/Logos objects (lookout: or logos:)
-
- lookout://localhost/testprocess/pot1.value
- logos://localhost/testprocess/pot1.value
-
-
- -
- Files directly accessible from the file system (file:)
-
- file:ping.wav
- file:c:/mydata/ping.wav
- file://machine/mydata/ping.wav
-
-
- -
- OLE for Process Control (OPC) Servers (opc:)
-
- opc:/National Instruments.OPCDemo/sine
- opc:/National Instruments.OPCDemo/sine?AccessPath=sine
- opc://machine/National Instruments.OPCModbus/Modbus Demo Box.40
-
-
-
-
-
-
- The has been disposed.
-
-
- 11/20/2002 6:25:04 PM
- Beth Parrott
- True
-
-
-
- Gets the current value and attributes that the
- object received from the data source or target or
- that have been set locally.
-
-
- A that contains the data source or target and its
- attributes.
-
-
- The has been disposed.
-
- 6/20/2006 4:42:31 PM
- Staci McCormick
- True
-
-
-
- Represents a strongly-typed collection of objects.
-
-
- 11/21/2002 1:35:19 PM
- Beth Parrott
- True
-
-
- Overrides .
- Returns a string representation of the object.
- 10/30/2002 12:08:53 PM
- Beth Parrott
- True
-
-
-
- Adds an item to the end of the collection.
-
-
- Item to add to the collection.
-
-
- The array index of the added item.
-
-
- is .
-
- 11/21/2002 1:35:25 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:27 PM
- Measurement Studio
- True
-
-
-
- Adds an array of objects to the end of the collection.
-
-
- Array of objects to add to the collection.
-
-
- is .
-
- 11/21/2002 1:35:27 PM
- Beth Parrott
- True
-
-
-
- Adds a collection of objects to the end of the collection.
-
-
- Collection of objects to add to the collection.
-
-
- is .
-
- 10/30/2002 12:08:11 PM
- Beth Parrott
- True
-
-
- Removes all items from the collection.
- 10/30/2002 12:08:20 PM
- Beth Parrott
- True
-
-
-
- Returns if the specified element is in the collection.
-
-
- Item to locate in the collection.
-
-
- Returns if the collection contains .
-
- 10/30/2002 12:08:22 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:28 PM
- Measurement Studio
- True
-
-
- Copies the collection to an array or a portion of an array.
- Destination array for the collection.
- Index in the target array at which you want to begin copying the collection to.
-
-
- is multidimensional.
-
-
- - or -
-
-
- is greater than or equal to the array length.
-
-
- - or -
-
-
- The number of elements in the collection is greater than the available space between
- and the end of .
-
-
-
- is .
-
-
- is less than zero.
-
- 10/30/2002 12:08:24 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:27 PM
- Measurement Studio
- True
-
-
-
- Returns the zero-based index of the first occurrence of an item in the collection.
-
- Item to search for.
- Index of the item. If the item is not found, returns -1.
- 11/21/2002 1:35:31 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:28 PM
- Measurement Studio
- True
-
-
- Inserts an item into the collection at the specified index.
- Index to insert the item at.
- Item to insert into the collection.
-
- is not a valid index in the .
-
-
- is .
-
-
- The list elements after the removed element shift up to occupy the vacated spot. Because the list elements
- are indexed, the indexes of the shifted elements also are updated.
-
- 11/21/2002 1:35:33 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:29 PM
- Measurement Studio
- True
-
-
- Returns an enumerator that you can use to iterate through the collection.
- Enumerator for the collection.
-
- For a detailed explanation of this method, refer to in the Microsoft
- .NET Framework documentation.
-
- 10/30/2002 12:08:27 PM
- Beth Parrott
- True
-
-
- Removes the first occurrence of the specified item.
- Item to remove from the collection.
-
- The list elements after the removed element shift up to occupy the vacated spot. Because the list elements
- are indexed, the indexes of the shifted elements also are updated.
-
- 11/21/2002 1:35:35 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:29 PM
- Measurement Studio
- True
-
-
- Removes the item at the specified index.
- Zero-based index of the item to remove.
-
- is not a valid index in the .
-
-
- The list elements after the removed element shift up to occupy the vacated spot. Because the list elements
- are indexed, the indexes of the shifted elements also are updated.
-
- 11/21/2002 1:35:37 PM
- Beth Parrott
- True
-
-
- Gets or sets the at the specified index. In Visual C#, this property is the indexer.
-
- The object at the specified index.
-
-
- The zero-based index of the entry to locate in the collection.
-
-
- is outside the valid range of indexes for the collection.
-
-
- is .
-
- 5/30/2003 5:17:17 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:26 PM
- Measurement Studio
- True
-
-
- Gets an entry in the collection with the specified name. In Visual C#, this property is the indexer.
-
- The object with the specified binding
- name.
-
-
- Name of the entry to find in the collection.
-
-
- The binding with the specified name was not found in the collection.
-
-
- is .
-
- 1/10/2003 4:09:51 PM
- Beth Parrott
- True
-
-
-
- Gets the number of elements in the collection.
-
-
- The number of elements contained in the collection.
-
- 11/21/2002 1:35:29 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:23 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:25 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:25 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:24 PM
- Measurement Studio
- True
-
-
-
- Contains the value and attributes associated with the value.
-
-
-
-
- The object encapsulates the data obtained from
- or passed to a object.
- The object also encapsulates the data attributes.
-
-
- The object supports the following data types:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - Arrays of
- - Arrays of
- - Arrays of
- - Arrays of
- - Arrays of
- - Arrays of
- - Arrays of
- - Arrays of
- - Arrays of
- - Arrays of
- - Arrays of
- - Arrays of
- - Arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
-
-
-
- You must call when you finish using a
- object.
-
-
- 11/21/2002 1:34:11 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of .
-
-
- 10/30/2002 11:42:42 AM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:30 PM
- Measurement Studio
- True
-
-
-
- Overrides .
-
- Returns a string representation of the object.
- 10/30/2002 12:01:28 PM
- Beth Parrott
- True
-
-
-
- Releases all resources used by the object.
-
- 10/14/2009 9:29:15 AM
- Staci Heien
- True
-
-
-
- Releases all resources used by the object.
-
- 1/10/2003 4:09:12 PM
- Beth Parrott
- True
-
-
-
- Releases the unmanaged resources used by the object and
- optionally releases the managed resources.
-
-
- If , releases both managed and unmanaged resources. If , only releases
- unmanaged resources.
-
-
-
- The public method and the finalizer call this method. The public
- method invokes the protected Dispose(Boolean) method with
- set to . The finalizer invokes the protected Dispose(Boolean) method
- with set to
- .
-
-
- When you set the parameter to , this method releases all
- resources held by managed objects that the object
- references. This method invokes the method of each referenced object.
-
-
- 11/21/2002 9:33:09 AM
- Beth Parrott
- False
-
-
- Finalizes the instance of the object.
- 10/30/2002 12:00:52 PM
- Beth Parrott
- True
-
-
-
- Clears the property and
- all attributes.
-
-
- This method sets the property to 0 and removes all attributes of the object.
-
-
- 11/21/2002 1:34:18 PM
- Beth Parrott
- True
-
-
-
- Gets a value indicating if the object has been disposed.
-
-
- if has been
- called on the object. if
- has not been called
- on the object.
-
- 6/20/2006 4:42:45 PM
- Staci McCormick
- True
-
-
-
- Gets a list of attributes that are associated with the data.
-
-
- A collection of values
- that are associated with the data.
-
- 10/30/2002 12:00:56 PM
- Beth Parrott
- True
-
-
-
- Gets or sets the value of the object.
-
-
- The value of the local object. The default value is 0.
-
-
- Get this property to obtain the value of the local object. If the
- object belongs to a
- object that is
- configured for , the
- object transfers the data from the data source to the local object when the value of the data
- source is updated. Query the property to determine if the local
- object has been updated. If the object belongs to a object
- that is configured for , you must call
- to transfer data from the data source to the local object.
- Set this property to specify the value of the local
- object. If the object belongs to a
- object that is configured for ,
- the object transfers data from the local
- object when you set this property. If the
- object belongs to a
- object that
- is configured for , you must call
- to transfer data from the local object to the data target.
-
-
-
-
- 11/21/2002 1:34:20 PM
- Beth Parrott
- True
-
-
- Represents the exception that is thrown when a
- error occurs.
-
-
- 10/30/2002 12:01:36 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of .
-
- 11/21/2002 1:34:32 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of
- with the specified error message.
-
-
- The error message that explains the cause of the exception.
-
- 10/30/2002 12:01:47 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of
- with the specified error message and a reference to the inner exception that is the
- cause of the exception.
-
-
- The error message that explains the cause of the exception.
-
-
- The exception that caused this exception.
-
- 11/21/2002 1:34:34 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of with serialized data.
-
-
- The object that holds the serialized object data.
-
-
- The contextual information about the source or destination of a serialized stream.
-
- 10/30/2002 12:01:42 PM
- Beth Parrott
- True
-
-
- Overrides .
- Returns a string representation of the object.
- 10/30/2002 12:01:51 PM
- Beth Parrott
- True
-
-
-
- Encapsulates the interface to the National Instruments DataSocket Server.
-
-
-
-
- Use this class to run the DataSocket Server on the local machine. You must run the DataSocket Server on the machine on which you
- want to host DSTP data sources and targets.
-
-
- You must call when you finish using a
- object. If you add this object to a Windows form with the Windows
- Forms Designer, the form calls automatically.
-
-
- 11/21/2002 1:34:37 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of .
-
- 10/30/2002 12:07:36 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of
- with the specified container.
-
-
- that represents the object container.
-
-
- 10/30/2002 12:07:44 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of with the specified
- auto-start value.
-
-
- Specifies if the server automatically starts when the object is constructed.
-
-
- When you use this constructor, the object automatically
- shuts down when the object is disposed.
-
- The DataSocket Server is not installed.
-
-
- 10/30/2002 12:07:41 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of with the specified auto-start and
- auto-shutdown values.
-
-
- Specifies if the server automatically starts when the object is constructed.
-
-
- Specifies if the server automatically shuts down when the object is disposed.
-
-
- The DataSocket Server is not installed.
-
-
- 10/30/2002 12:07:43 PM
- Beth Parrott
- True
-
-
-
- Overrides .
-
-
- A string representation of the object.
-
-
- The has been disposed.
-
- 6/9/2003 10:09:24 AM
- Beth Parrott
- True
-
-
-
- Releases the resources used by object.
-
-
- If , this method releases managed and unmanaged resources. If , this method
- releases only unmanaged resources.
-
-
-
- The public method and the finalizer call this method. The public
- method invokes the protected Dispose(Boolean) method with
- set to . The finalizer invokes the protected Dispose(Boolean) method
- with set to
- .
-
-
- When you set the parameter to , this method releases all
- resources held by managed objects that the object
- references. This method invokes the method of each referenced object.
-
-
- 11/21/2002 1:34:39 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:30 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:31 PM
- Measurement Studio
- True
-
-
-
- Launches the local DataSocket Server.
-
-
- The has been disposed.
-
- 10/30/2002 12:08:02 PM
- Beth Parrott
- True
-
-
-
- Displays the local DataSocket Server.
-
-
- If the DataSocket Server is not already running and you call ,
- the DataSocket Server automatically starts.
-
-
- The has been disposed.
-
- 6/9/2003 10:31:37 AM
- Beth Parrott
- True
-
-
-
- Hides the local DataSocket Server.
-
-
- The has been disposed.
-
-
- If the DataSocket Server is not already running and you call ,
- the DataSocket Server automatically starts.
-
- The DataSocket Server is accessible from the Windows taskbar status area regardless of if it is hidden.
-
-
- 6/9/2003 10:31:21 AM
- Beth Parrott
- True
-
-
-
- Shuts down the local DataSocket Server.
-
-
- The has been disposed.
-
- 10/30/2002 12:08:00 PM
- Beth Parrott
- True
-
-
-
- Gets or sets a value indicating if the DataSocket Server automatically starts when the form loads.
-
-
- if the DataSocket Server automatically starts when the form loads. The default value is .
-
-
- The has been disposed.
-
-
- If the value of this property is , you must call to launch the DataSocket Server.
-
- This property is applicable only to objects that you create on
- a Windows Form with the Windows Forms Designer.
-
- 6/20/2006 4:42:53 PM
- Staci McCormick
- True
-
-
-
- Gets or sets a value indicating if the DataSocket Server automatically shuts down when the object is disposed.
-
-
- if the server automatically shuts down when the object is disposed. The default value is
- .
-
-
- The has been disposed.
-
- 6/20/2006 4:42:49 PM
- Staci McCormick
- True
-
-
-
- Gets a value indicating if the DataSocket Server is running.
-
-
- if the DataSocket Server is running.
-
-
- The has been disposed.
-
- 6/20/2006 4:42:57 PM
- Staci McCormick
- True
-
-
-
- Exposes data sources or targets as a bindable data items that you can bind to properties of Windows Forms controls.
-
-
-
- Complete the following steps to bind data sources or targets to a Windows Forms control:
-
- -
-
- From the Toolbox, drag a object onto a designer, such as the Windows
- Forms Designer. Because the object does not have a user interface, it is added to the component
- tray below the form.
-
-
- -
-
- In the Properties window, launch the collection editor for the property.
- Add a binding and specify a unique name and URL for the binding.
-
-
- -
-
- Click OK to accept the binding item and close the collection editor.
-
-
- -
-
- Select a Windows Forms control in the designer, navigate to the property in the Properties window, locate the property
- you want to bind to a data source or target, and select the name of the binding you added
- to the collection.
-
-
-
-
- You must call when you finish using a
- object. If you add this object to a Windows form with the Windows
- Forms Designer, the form calls automatically.
-
-
-
- 11/5/2008 10:39:09 AM
- Measurement Studio
- True
-
-
-
- Initializes a new instance of .
-
- 10/30/2002 12:09:03 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of the class
- with the specified container.
-
-
- that represents the object container.
-
- 10/30/2002 12:09:05 PM
- Beth Parrott
- True
-
-
-
- Overrides .
-
-
- A string representation of the object.
-
-
- The has been disposed.
-
- 6/9/2003 10:12:10 AM
- Beth Parrott
- True
-
-
-
- Releases the resources used by object.
-
-
- If , this method releases managed and unmanaged resources. If , this method releases
- only unmanaged resources.
-
-
-
- The public method and the finalizer call this method. The public
- method invokes the protected Dispose(Boolean) method with
- set to . The finalizer invokes the protected Dispose(Boolean) method
- with set to
- .
-
-
- When you set the parameter to , this method releases all
- resources held by managed objects that the object
- references. This method invokes the method of each referenced object.
-
-
- 11/21/2002 1:34:57 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:59 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:59 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:58 PM
- Measurement Studio
- True
-
-
-
- Calls the method on all
- objects in the
-
- collection.
-
-
- The has been disposed.
-
- 6/9/2003 10:12:44 AM
- Beth Parrott
- True
-
-
-
- Calls the method on all
- objects in the
- collection.
-
-
- The has been disposed.
-
- 6/9/2003 10:12:39 AM
- Beth Parrott
- True
-
-
-
- Calls the method on all
- objects in the
- collection.
-
-
- The has been disposed.
-
-
- A object in the
- collection is not connected.
-
- 6/9/2003 10:12:30 AM
- Beth Parrott
- True
-
-
-
- Raises the event.
-
-
- A object that contains the event data.
-
-
- A derived class can override
- to handle the event without attaching a delegate. This technique is preferred for event handling in a derived class.
-
-
- 11/21/2002 1:35:16 PM
- Beth Parrott
- True
-
-
-
- Raises the event.
-
-
- A object that contains the event data.
-
-
- A derived class can override
- to handle the event without attaching a delegate. This technique is preferred for event handling in a derived class.
-
-
- 11/21/2002 1:35:18 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:57 PM
- Measurement Studio
- True
-
-
-
- Occurs when the data of any object in the
- collection is updated.
-
- 11/21/2002 1:34:59 PM
- Beth Parrott
- True
-
-
-
- Occurs when the connection status of any object in the
- collection is updated.
-
- 11/21/2002 1:35:01 PM
- Beth Parrott
- True
-
-
-
- Gets or sets a value indicating if all bindings in the collection
- connect to associated data sources or targets when the form loads.
-
-
- if is called when the form
- loads. The default value is .
-
-
- The has been disposed.
-
-
- If the value of this property is , you must manually call
- .
- This property is applicable only to objects that you create on
- a Windows Form with the Windows Forms Designer.
-
- 6/20/2006 4:43:06 PM
- Staci McCormick
- True
-
-
-
- Gets the DataSocket object.
-
-
- A collection of objects. You can use a
- object to bind Windows Forms control properties to
- data sources and targets.
-
-
- The has been disposed.
-
-
- 6/9/2003 10:11:51 AM
- Beth Parrott
- True
-
-
-
- Provides data for the event.
-
-
-
- The event is generated when
- the local value or attributes change. The local
- value or attributes can change when the data source
- value or attributes change or when you set the value or attributes on the local
- object.
-
-
-
-
- 11/21/2002 1:35:39 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of .
-
-
- A reference to the that was updated.
-
- 10/30/2002 12:09:45 PM
- Beth Parrott
- True
-
-
- Overrides .
- Returns a string representation of the object.
- 10/30/2002 12:09:46 PM
- Beth Parrott
- True
-
-
-
- Gets a reference to the data that was updated when the event was generated.
-
-
- A that represents the data
- that was updated when the event was generated.
-
- 7/26/2004 10:16:50 AM
- Whitney Bates
- True
-
-
-
- Represents a method that handles the
- event of a
- object.
-
-
- The source of the event.
-
-
- A object that contains the event data.
-
-
- 11/21/2002 1:35:47 PM
- Beth Parrott
- True
-
-
-
- Defines valid values for the status subfield of the OPC quality attribute.
-
- 10/30/2002 12:09:51 PM
- Beth Parrott
- True
-
-
-
- The value is bad.
-
- 10/30/2002 12:09:56 PM
- Beth Parrott
- True
-
-
-
- The communication failed, and no last known value
- is available.
-
- 10/30/2002 12:09:57 PM
- Beth Parrott
- True
-
-
-
- There is a server-specific problem with the configuration.
-
- 10/30/2002 12:09:59 PM
- Beth Parrott
- True
-
-
-
- A device failure has been detected.
-
- 10/30/2002 12:10:00 PM
- Beth Parrott
- True
-
-
-
- The value is outside the limits defined for this parameter.
-
- 10/30/2002 12:10:02 PM
- Beth Parrott
- True
-
-
-
- The value is good.
-
- 10/30/2002 12:10:04 PM
- Beth Parrott
- True
-
-
-
- Communication has failed, but the last known value is available.
-
- 10/30/2002 12:10:06 PM
- Beth Parrott
- True
-
-
-
- The value is no longer being written.
-
- 10/30/2002 12:10:07 PM
- Beth Parrott
- True
-
-
-
- The value has been overridden.
-
- 10/30/2002 12:10:08 PM
- Beth Parrott
- True
-
-
-
- The input must be logically connected to a server but it
- is disconnected.
-
- 10/30/2002 12:10:09 PM
- Beth Parrott
- True
-
-
-
- The block is off scan or locked.
-
- 10/30/2002 12:10:10 PM
- Beth Parrott
- True
-
-
-
- The value has been pegged at one of the sensor limits or
- an internal diagnostics has detected that the sensor is out of calibration.
-
- 10/30/2002 12:10:11 PM
- Beth Parrott
- True
-
-
-
- A sensor failure has been detected.
-
- 10/30/2002 12:10:12 PM
- Beth Parrott
- True
-
-
-
- The value is derived from multiple sources and has less than the
- required number of good sources.
-
- 10/30/2002 12:10:12 PM
- Beth Parrott
- True
-
-
-
- The value cannot be determined.
-
- 10/30/2002 12:10:13 PM
- Beth Parrott
- True
-
-
-
- Specifies how a object reads data.
-
- 6/9/2003 10:16:27 AM
- Beth Parrott
- True
-
-
-
- Specifies that raises the
- event to notify
- when new data arrives.
-
- 6/9/2003 10:16:59 AM
- Beth Parrott
- True
-
-
-
- Specifies that you must call
- to poll and dequeue buffered data into the
- property. does not raise the
- event in this mode.
-
- 6/9/2003 10:17:37 AM
- Beth Parrott
- True
-
-
-
- Controls the behavior of the dialog box that
- displays.
-
-
-
- 11/21/2002 1:35:54 PM
- Beth Parrott
- True
-
-
-
- Specifies that dialog box is displayed
- with the default options.
-
- 10/30/2002 12:10:16 PM
- Beth Parrott
- True
-
-
-
- Opens a dialog box to prompt the user for permission to create the file if that file
- does not exist. If the user chooses to create the file, the dialog box closes
- and the method returns the specified name; otherwise, the dialog box remains open.
-
- 10/30/2002 12:10:15 PM
- Beth Parrott
- True
-
-
-
- Specifies that the user can enter the names only of existing files in the Filename field.
- If this flag is specified and the user enters an invalid name, the dialog box
- displays a warning in a message box.
-
- 10/30/2002 12:10:17 PM
- Beth Parrott
- True
-
-
-
- Hides the read-only checkbox.
-
- 10/30/2002 12:10:18 PM
- Beth Parrott
- True
-
-
-
- Restores the current directory to its original value if the user changed the directory
- while searching for files.
-
- 10/30/2002 12:10:18 PM
- Beth Parrott
- True
-
-
-
- Directs the dialog box to return the path and filename of the selected shortcut
- (.lnk) file. If this value is not provided, the dialog box returns the path and
- filename of the file referenced by the shortcut.
-
- 11/21/2002 1:35:57 PM
- Beth Parrott
- True
-
-
-
- Specifies that the returned file does not have the read-only checkbox selected and is
- not in a write-protected directory.
-
- 10/30/2002 12:10:20 PM
- Beth Parrott
- True
-
-
-
- Specifies that the file is not created before the dialog box is closed. Use this value if the application
- saves the file on a create-nonmodify network
- share. When an application specifies this flag,
- does not check for write protection, a full disk, an open drive door, or network protection.
- Applications that use this flag must perform file operations carefully because a file
- cannot be reopened after it is closed.
-
- 10/30/2002 12:10:21 PM
- Beth Parrott
- True
-
-
-
- Causes the Save As dialog box to generate a message box if the selected file already
- exists. The user must confirm overwriting the file.
-
- 10/30/2002 12:10:21 PM
- Beth Parrott
- True
-
-
-
- Specifies that the user can enter only valid paths and filenames. If you use this value and
- the user enters an invalid path or filename in the Filename field, the dialog box method
- displays a warning in a message box.
-
- 10/30/2002 12:10:22 PM
- Beth Parrott
- True
-
-
-
- Causes the read-only checkbox to be checked when the dialog box is created.
-
- 10/30/2002 12:10:23 PM
- Beth Parrott
- True
-
-
-
- Causes the file dialog box to be a Save As dialog box instead of an Open File
- dialog box.
-
- 10/30/2002 12:10:24 PM
- Beth Parrott
- True
-
-
-
+
+
+
+ NationalInstruments.Net
+
+
+
+
+ Clean up any resources being used.
+
+
+
+
+ Required method for Designer support - do not modify
+ the contents of this method with the code editor.
+
+
+
+
+ 2/12/2003 1:13:44 PM
+ Elton Wells
+ False
+
+
+
+ Specifies how a object transfers data.
+
+
+ If you connect with an automatically updated access mode, such as , , or ,
+ the object
+ transfers data every time new data is available. If you connect with
+ or
+ ,
+ use
+ to transfer the new data.
+
+ 11/21/2002 1:29:57 PM
+ Beth Parrott
+ True
+
+
+
+ Transfers data from the data source to the local object
+ when you establish the connection. Call to cause
+ subsequent data transfers.
+
+ 11/20/2003 2:32:11 PM
+ Jennifer Smith
+ True
+
+
+
+ Transfers data from the data source to the local object when
+ you establish the connection. When the data at the data source is updated, the data is transferred again automatically.
+ This mode is valid only for DSTP and logos and OPC data sources.
+
+ 12/7/2005 12:09:20 PM
+ Jennifer Smith
+ True
+
+
+
+ Transfers data from the data source to the local object when you establish
+ the connection. When the data at the data source is updated, the data is transferred again automatically. The
+ object automatically transfers data to the data target when you change any value or attribute on the local
+ object. This mode is valid only for DSTP and logos data sources and targets.
+
+ 12/10/2003 4:07:45 PM
+ Jennifer Smith
+ True
+
+
+
+ Transfers data from the local object to the data target at the time you establish
+ the connection. Call to cause subsequent data transfers.
+
+ 11/21/2002 1:30:33 PM
+ Beth Parrott
+ True
+
+
+
+ Transfers data from the local object to the data target when you establish
+ the connection. When you change any value or attribute on the local object, the
+ object automatically transfers data to the data target. This mode is valid only
+ for DSTP and logos data targets.
+
+ 12/10/2003 4:08:23 PM
+ Jennifer Smith
+ True
+
+
+
+ Specifies that is configured for manual
+ updating with buffering. gets the next
+ value in the buffer from the data source when the connection is established and when you call
+ .
+
+ 12/10/2003 4:06:40 PM
+ Jennifer Smith
+ True
+
+
+
+ Specifies that is configured for
+ automatic updating with buffering. gets
+ the next value from the data source when the connection is established, when the data value changes, and when any of the
+ data attributes change.
+
+ 12/10/2003 4:07:17 PM
+ Jennifer Smith
+ True
+
+
+
+ Specifies that is configured for automatic
+ updating with buffering. transfers data to
+ the data source when the
+ connection is established, when the data value changes, and when any of the data attributes
+ change. gets the data from the
+ data source when the data value changes and
+ when any of the data attributes change.
+
+ 12/10/2003 4:08:00 PM
+ Jennifer Smith
+ True
+
+
+
+ Provides data for the
+ event.
+
+
+
+ A object generates the
+ event when it receives new data.
+
+
+
+
+ 11/21/2002 1:30:49 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of .
+
+
+ The instance that generated the
+ event.
+
+ 10/30/2002 11:41:03 AM
+ Beth Parrott
+ True
+
+
+ Overrides .
+ Returns a string representation of the object.
+ 10/30/2002 11:41:06 AM
+ Beth Parrott
+ True
+
+
+
+ Gets the that generated the
+ event.
+
+
+ The that generated the event.
+
+ 7/13/2004 4:18:50 PM
+ Whitney Bates
+ True
+
+
+
+ Represents a method that handles the
+ event of a
+ object.
+
+
+ The source of the event.
+
+
+ A object that contains the
+ event data.
+
+
+
+ 11/21/2002 1:31:13 PM
+ Beth Parrott
+ True
+
+
+
+ Provides data for the
+ event.
+
+
+
+ The event occurs
+ when the status of a connection
+ changes, such as when a object connects to a
+ data source or target, transfers data, or encounters an error.
+
+
+
+ 11/21/2002 1:31:16 PM
+ Beth Parrott
+ True
+
+
+
+ Provides data for the event.
+
+
+
+ The event occurs when the
+ status of a connection changes, such as when a
+ object connects to a data source or target, transfers data, or
+ encounters an error.
+
+
+
+
+ 11/21/2002 1:31:49 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of .
+
+
+ The status of the connection.
+
+
+ Error of the connection, if an error exists. Refer to
+ DataSocket Error Codes for a list of possible
+ values.
+
+
+ Descriptive message about the connection status.
+
+
+
+
+ 7/15/2005 10:17:33 AM
+ Jennifer Smith
+ True
+
+
+
+ Overrides .
+
+ Returns a string representation of the object.
+ 10/30/2002 11:42:00 AM
+ Beth Parrott
+ True
+
+
+
+ Gets the status of the connection.
+
+
+ A that indicates
+ the status of the connection.
+
+ 6/20/2006 4:41:29 PM
+ Staci McCormick
+ True
+
+
+
+ Gets the error of the connection, if an error exists.
+
+
+ The numeric value of the last error code. You can use this value to look up
+ the cause of the error in the DataSocket documentation.
+
+ 10/30/2002 11:41:51 AM
+ Beth Parrott
+ True
+
+
+
+ Gets a descriptive message about the connection status.
+
+
+ A string value that describes the connection status of the
+ object.
+
+ 11/21/2002 1:31:54 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of .
+
+
+ The instance that generated the event.
+
+
+ The status of the connection.
+
+
+ Error of the connection, if one exists. Refer to
+ DataSocket Error Codes for a list of possible
+ values.
+
+
+ Descriptive message of the connection status.
+
+
+
+
+
+ 7/15/2005 10:17:19 AM
+ Jennifer Smith
+ True
+
+
+ Overrides .
+ Returns a string representation of the object.
+ 10/30/2002 11:41:23 AM
+ Beth Parrott
+ True
+
+
+
+ Gets the that generated the
+ event.
+
+
+ The that generated the event.
+
+ 7/26/2004 10:12:17 AM
+ Whitney Bates
+ True
+
+
+
+ Represents a method that handles the
+ event of a
+ object.
+
+
+ The source of the event.
+
+
+ A object that contains the
+ event data.
+
+
+
+ 11/21/2002 1:31:22 PM
+ Beth Parrott
+ True
+
+
+
+ Indicates the current status of the connection.
+
+ 11/21/2002 1:31:26 PM
+ Beth Parrott
+ True
+
+
+
+ The object is in the process of connecting
+ to the data source or target.
+
+ 11/21/2002 1:31:32 PM
+ Beth Parrott
+ True
+
+
+
+ The object is connected to the data source or target and is transferring the data or
+ waiting for an update.
+
+ 11/21/2002 1:31:36 PM
+ Beth Parrott
+ True
+
+
+
+ The object encountered an error while connecting
+ to the data source or target.
+
+ 11/21/2002 1:31:38 PM
+ Beth Parrott
+ True
+
+
+
+ The object is connected to the data source or target
+ and is not currently transferring data or is waiting for an update.
+
+ 11/21/2002 1:31:42 PM
+ Beth Parrott
+ True
+
+
+
+ The object is not connected to any data source
+ or data target.
+
+ 11/21/2002 1:31:45 PM
+ Beth Parrott
+ True
+
+
+
+ Represents a method that handles the
+ event of a
+ object.
+
+
+ The source of the event.
+
+
+ A object that contains the event data.
+
+
+
+ 11/21/2002 1:31:57 PM
+ Beth Parrott
+ True
+
+
+
+ Represents a connection to a data source or target.
+
+
+ You can use the NetworkVariable class library or the class library to transfer live measurement data between applications over a network.
+ You can use NetworkVariable or to exchange different types of data between Measurement Studio, LabVIEW, LabWindows/CVI, and other applications that support NI-Publish Subscribe Protocol (psp:).
+ NetworkVariable is the preferred method for transferring data between these applications, and, in these cases, NetworkVariable supersedes .
+ You can also use NetworkVariable and to exchange different types of data between OLE for Process Control (opc:) servers. Exchanging data between Measurement Studio applications and OPC servers with NetworkVariable requires LabVIEW DSC Run-Time System. Use to communicate directly with an OPC server.
+
+
+
+
+
+ The object encapsulates the .NET interface to National Instruments DataSocket
+ and includes the following features:
+
+ - Transfer data between different data sources and
+ targets.
+ - Specify a data source and target through a URL—the same
+ way you access Web pages in a Web browser.
+ - Use a single API to access OPC, HTTP, FTP, logos, and
+ file servers.
+ - Use the DataSocket Transfer Protocol (DSTP) to exchange data
+ of many different types.
+ - Browse the network to quickly locate a data source or target
+ on other computers and servers.
+
+
+ You must call when you finish using a object.
+ If you add this object to a Windows form with the Windows Forms Designer, the form calls
+ automatically.
+
+
+
+ 9/16/2008 10:06:51 AM
+ Measurement Studio
+ True
+
+
+
+ Initializes a new instance of .
+
+
+ 10/30/2002 11:42:42 AM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of
+ with the specified container.
+
+
+ An that represents the container for the
+ object.
+
+
+ 10/30/2002 11:42:45 AM
+ Beth Parrott
+ True
+
+
+
+ Overrides .
+
+ Returns a string representation of the object.
+ 10/30/2002 11:43:49 AM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:09 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:13 PM
+ Measurement Studio
+ True
+
+
+
+ Releases the resources used by the object.
+
+
+ If , this method releases managed and unmanaged resources. If , this method releases
+ only unmanaged resources.
+
+
+
+ The public method and the finalizer call this method. The public
+ method invokes the protected Dispose(Boolean) method with
+ set to . The finalizer invokes the protected Dispose(Boolean) method
+ with set to
+ .
+
+
+ When you set the parameter to , this method releases all
+ resources held by managed objects that this object
+ references. This method invokes the method of each referenced object.
+
+
+ 11/21/2002 1:32:04 PM
+ Beth Parrott
+ True
+
+
+
+ Connects the object to a data source or target.
+
+
+
+ The method establishes the
+ connection with the current values of the
+ and the
+ properties.
+
+
+ The object creates the connection asynchronously. You must return
+ control to the application message loop after you create the connection and before you
+ perform data transfers on data or
+ attributes. You can check the property or monitor the
+ event to
+ determine if the connection is established.
+
+
+ When connecting to a data source in a read access mode,
+ the object updates the data after the connection is
+ completed. When connecting to a data target in a write access mode, the
+ object transfers the data at the time the connection is
+ made. If you connect in an automatic update mode, the object
+ automatically transfers data when new data is available.
+
+
+ If you connect a reading client to a data source that
+ does not exist, the server creates the data source with a default value of 0.
+
+
+
+ The has been disposed.
+
+
+ The following example demonstrates how to establish a
+ connection with the method.
+
+ Dim connection As DataSocket = New DataSocket()
+ connection.AccessMode = AccessMode.ReadAutoUpdate
+ connection.Url = "dstp://localhost/data"
+ connection.Connect()
+
+
+
+
+ DataSocket connection = new DataSocket();
+ connection.AccessMode = AccessMode.ReadAutoUpdate;
+ connection.Url = "dstp://localhost/data";
+ connection.Connect();
+
+
+
+ Key Measurement Studio DataSocket .NET Library Features
+ 9/16/2008 10:06:00 AM
+ Measurement Studio
+ True
+
+
+
+ Connects the object to the specified data source or target.
+
+
+ Location of the data source or target to which the
+ must connect.
+
+
+
+ The method sets the
+ property to the value of the
+ parameter. The method uses the current value of
+ to establish the connection.
+
+
+ The object creates the connection asynchronously. You must return
+ control to the application message loop after you create the connection and before you
+ perform data transfers on data or
+ attributes. You can check the property or monitor the
+ event to
+ determine if the connection is established.
+
+
+ When connecting to a data source in a read access mode,
+ the object updates the data after the connection is
+ completed. When connecting to a data target in a write access mode, the
+ object transfers the data at the time the connection is
+ made. If you connect in an automatic update mode, the object
+ automatically transfers data when new data is available.
+
+
+ If you connect a reading client to a data source that
+ does not exist, the server creates the data source with a default value of 0.
+
+
+
+ is .
+
+
+ The has been disposed.
+
+
+ The following example demonstrates how to establish a
+ connection with the method.
+
+ Dim connection As DataSocket = New DataSocket()
+ connection.AccessMode = AccessMode.ReadAutoUpdate
+ connection.Connect("dstp://localhost/data")
+
+
+
+
+ DataSocket connection = new DataSocket();
+ connection.AccessMode = AccessMode.ReadAutoUpdate;
+ connection.Connect("dstp://localhost/data");
+
+
+
+ Key Measurement Studio DataSocket .NET Library Features
+ 9/16/2008 10:06:03 AM
+ Measurement Studio
+ True
+
+
+
+ Connects the object to the specified data source or target with the specified
+ access mode.
+
+
+ Location of the data source or target to which the
+ object must connect.
+
+
+ An value that specifies the type of connection the
+ object makes when it connects to the data source or
+ target.
+
+
+
+ The method sets the
+ and
+ properties to the values of the
+ and parameters.
+
+
+ The object creates the connection asynchronously. You must return
+ control to the application message loop after you create the connection and before you
+ perform data transfers on data or
+ attributes. You can check the property or monitor the
+ event to
+ determine if the connection is established.
+
+
+ When connecting to a data source in a read access mode,
+ the object updates the data after the connection is
+ completed. When connecting to a data target in a write access mode, the
+ object transfers the data at the time the connection is
+ made. If you connect in an automatic update mode, the object
+ automatically transfers data when new data is available.
+
+
+ If you connect a reading client to a data source that
+ does not exist, the server creates the data source with a default value of 0.
+
+
+
+ is .
+
+
+ is not a member of .
+
+
+ The has been disposed.
+
+
+ The following example demonstrates how to establish a
+ connection with the method.
+
+ Dim connection As DataSocket = New DataSocket()
+ connection.Connect("dstp://localhost/data", AccessMode.ReadAutoUpdate)
+
+
+
+
+ DataSocket connection = new DataSocket();
+ connection.Connect("dstp://localhost/data", AccessMode.ReadAutoUpdate);
+
+
+ Key Measurement Studio DataSocket .NET Library Features
+ 9/16/2008 10:06:07 AM
+ Measurement Studio
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified timeout.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+
+ The method establishes the
+ connection with the current values of the
+ and the
+ properties.
+
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 9:34:47 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified .
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+
+ The method establishes the
+ connection with the current values of the
+ and the
+ properties.
+
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 9:41:07 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified URL and timeout.
+
+
+ Location of the data source or target to which the
+ must connect.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+
+ The method sets the
+ property to the value of the
+ parameter. The method uses the current value of
+ to establish the connection.
+
+
+
+ The has been disposed.
+
+
+ is .
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 9:40:51 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified URL and .
+
+
+ Location of the data source or target to which the
+ must connect.
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+
+ The method sets the
+ property to the value of the
+ parameter. The method uses the current value of
+ to establish the connection.
+
+
+
+ The has been disposed.
+
+
+ is .
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 9:41:24 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified URL, access mode, and timeout.
+
+
+ Location of the data source or target to which the
+ must connect.
+
+
+ An value that specifies the type of connection the
+ object makes when it connects to the data source or
+ target.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+
+ The method sets the
+ and
+ properties to the values of the
+ and parameters.
+
+
+
+ The has been disposed.
+
+
+ is .
+
+
+ is not a member of .
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 9:40:08 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified URL, access mode, and .
+
+
+ Location of the data source or target to which the
+ must connect.
+
+
+ An value that specifies the type of connection the
+ object makes when it connects to the data source or
+ target.
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+
+ The method sets the
+ and
+ properties to the values of the
+ and parameters.
+
+
+
+ The has been disposed.
+
+
+ is .
+
+
+ is not a member of .
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 9:40:34 AM
+ Beth Parrott
+ True
+
+
+
+ Disconnects the object from the data source or target to which it is
+ currently connected.
+
+
+
+ The value of the property and its attributes
+ remain unchanged when the object is disconnected.
+
+
+ has no effect if the
+ object is disconnected.
+
+
+
+ The has been disposed.
+
+
+ 11/21/2002 1:32:53 PM
+ Beth Parrott
+ True
+
+
+
+ Synchronously disconnects the object from
+ the data source or target to which it is currently connected using the specified timeout.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+
+ The value of the property and its attributes
+ remain unchanged when the object is disconnected.
+
+
+ has no effect if the
+ object is already disconnected.
+
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 9:38:05 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously disconnects the object from
+ the data source or target to which it is currently connected using the specified .
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+
+ The value of the property and its attributes
+ remain unchanged when the object is disconnected.
+
+
+ has no effect if the
+ object is already disconnected.
+
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 9:41:34 AM
+ Beth Parrott
+ True
+
+
+
+ Initiates a write to the server with the specified data and timeout.
+
+
+ The data to write to the server.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+ initiates a write to the server
+ and then waits for the amount of time specified by for the server
+ to acknowledge that the write was successful.
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 9:45:18 AM
+ Beth Parrott
+ True
+
+
+
+ Initiates a write to the server with the specified data and .
+
+
+ The data to write to the server.
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+ initiates a write to the server
+ and then waits for the amount of time specified by for the server
+ to acknowledge that the write was successful.
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 9:45:52 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously polls the client-side buffer for unprocessed values using the specified timeout.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+ Use in synchronous read mode
+ to poll the client-side buffer for any unprocessed values. If the buffer contains
+ unprocessed data, the next value is dequeued into the
+ property and the return value is
+ . If the buffer contains no new values,
+ waits for the specified timeout
+ interval for a new value to arrive.
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 9:43:12 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously polls the client-side buffer for unprocessed values using the specified .
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+ Use in synchronous read mode
+ to poll the client-side buffer for any unprocessed values. If the buffer contains
+ unprocessed data, the next value is dequeued into the
+ property and the return value is
+ . If the buffer contains no new values,
+ waits for the specified timeout
+ interval for a new value to arrive.
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 9:43:57 AM
+ Beth Parrott
+ True
+
+
+
+ Causes the object to transfer data from a data source or to
+ a data target.
+
+
+
+ When you use the or access
+ mode, call the
+ method when you want to transfer data between the data source or target and the local
+ object. If the property is , it
+ is set to after the update is completed, and the
+ event is generated.
+
+ If you want to transfer data every time new data is available without calling ,
+ use the or access modes.
+
+
+
+ The has been disposed.
+
+
+ The is not connected.
+
+
+ 6/9/2003 9:47:19 AM
+ Beth Parrott
+ True
+
+
+
+ Enables interactive browsing and selection of data sources or targets.
+
+
+ The method launches a dialog box that provides interactive browsing
+ and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
+ objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
+
+
+ The has been disposed.
+
+ Key Measurement Studio DataSocket .NET Library Features
+ 9/16/2008 10:06:11 AM
+ Measurement Studio
+ True
+
+
+
+ Enables interactive browsing and selection of data sources or targets and configures the dialog box with a specified URL.
+
+
+ String that contains the URL. If the protocol is opc:,
+ dstp:, logos:,
+ or file, or if you omit this parameter, this method opens a dialog box in which the user can
+ find and select a data source or target. You can prompt the user to create a Web or FTP
+ location with the http: or ftp: protocols. You also can use a complete URL, such
+ as dstp://localhost/wave.
+
+
+ The method launches a dialog box that provides interactive browsing
+ and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
+ objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
+
+
+
+ is
+
+
+
+ The has been disposed.
+
+ Key Measurement Studio DataSocket .NET Library Features
+ 9/16/2008 10:06:14 AM
+ Measurement Studio
+ True
+
+
+
+ Enables interactive browsing and selection of data sources or targets and configures the dialog box URL and title.
+
+
+ String that contains the URL. If the protocol is opc:,
+ dstp:, logos:,
+ or file, or if you omit this parameter, this method opens a dialog box in which the user can
+ find and select a data source or target. You can prompt the user to create a Web or FTP
+ location with the http: or ftp: protocols. You also can use a complete URL, such
+ as dstp://localhost/wave.
+
+
+ Title of the dialog box.
+
+
+ The method launches a dialog box that provides interactive browsing
+ and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
+ objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
+
+
+
+ is
+
+ -or-
+
+ is
+
+
+
+ The has been disposed.
+
+ Key Measurement Studio DataSocket .NET Library Features
+ 9/16/2008 10:06:18 AM
+ Measurement Studio
+ True
+
+
+
+ Enables interactive browsing and selection of data sources or targets and configures the dialog box URL, title, and options.
+
+
+ String that contains the URL. If the protocol is opc:,
+ dstp:, logos:,
+ or file, or if you omit this parameter, this method opens a dialog box in which the user can
+ find and select a data source or target. You can prompt the user to create a Web or FTP
+ location with the http: or ftp: protocols. You also can use a complete URL, such
+ as dstp://localhost/wave.
+
+
+ Title of the dialog box.
+
+
+ Flags that control the behavior of the dialog box.
+
+
+ The method launches a dialog box that provides interactive browsing
+ and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
+ objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
+
+
+
+ is
+
+ -or-
+
+ is
+
+
+
+ is not a member of .
+
+
+ The has been disposed.
+
+ Key Measurement Studio DataSocket .NET Library Features
+ 9/16/2008 10:06:20 AM
+ Measurement Studio
+ True
+
+
+
+ Enables interactive browsing and selection of data sources or targets and configures the dialog box URL, title, options, and filter.
+
+
+ String that contains the URL. If the protocol is opc:,
+ dstp:, logos:,
+ or file, or if you omit this parameter, this method opens a dialog box in which the user can
+ find and select a data source or target. You can prompt the user to create a Web or FTP
+ location with the http: or ftp: protocols. You also can use a complete URL, such
+ as dstp://localhost/wave.
+
+
+ Title of the dialog box.
+
+
+ Flags that control the behavior of the dialog box.
+
+
+ Filter string passed to the dialog box, as shown in the following example: DataSocket Data files (*.dsd)|*.dsd|All files (*.*)|*.*
+
+
+ The method launches a dialog box that provides interactive browsing
+ and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
+ objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
+
+
+
+ is
+
+ -or-
+
+ is
+
+ -or-
+
+ is .
+
+
+
+ is not a member of .
+
+
+ The has been disposed.
+
+ Key Measurement Studio DataSocket .NET Library Features
+ 9/16/2008 10:06:24 AM
+ Measurement Studio
+ True
+
+
+
+ Raises the event.
+
+
+ A object that contains the event data.
+
+
+ A derived class can override to handle the event without attaching a delegate. This technique is preferred for event handling in a derived class.
+
+
+ 11/21/2002 1:33:06 PM
+ Beth Parrott
+ True
+
+
+
+ Raises the event.
+
+
+ A object that contains the event
+ data.
+
+
+ A derived class can override
+ to handle the event without attaching a delegate. This technique is preferred for event handling in a derived class.
+
+
+ 11/21/2002 1:33:08 PM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets the access mode for the connection.
+
+
+ An that indicates the type
+ of data transfer connection the object
+ makes when connecting to the data source or target. The default value is
+ .
+
+
+ If you connect with the or
+
+ access mode,
+ the data is read-only. If you try to set the
+ value or attributes on a read-only object, a
+ is generated. If the
+ object is disconnected, you can set the data value
+ and attributes regardless of the access mode.
+
+
+ Value is not a member of .
+
+
+ The has been disposed.
+
+
+ The following example demonstrates how to specify the access mode when establishing
+ a connection.
+
+ Dim connection As DataSocket = New DataSocket()
+ connection.Connect("dstp://localhost/data", AccessMode.ReadAutoUpdate)
+
+
+
+
+ DataSocket connection = new DataSocket();
+ connection.Connect("dstp://localhost/data", AccessMode.ReadAutoUpdate);
+
+
+ Key Measurement Studio DataSocket .NET Library Features
+ 9/16/2008 10:06:35 AM
+ Measurement Studio
+ True
+
+
+
+ Gets the actual URL of the current data source or target.
+
+
+ The actual URL of the current data source or target.
+
+
+
+ When connected to a data source or target, the value of
+ differs from the value of the
+ property if the original URL you specify points to a link that redirects the
+ object to a new URL.
+
+
+ If the object is disconnected, the
+ property returns
+ .
+
+
+
+ The has been disposed.
+
+
+ 11/21/2002 1:32:11 PM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets a value indicating if the object connects to a data source or target
+ when the form loads.
+
+
+ if the object connects to a data source or target
+ when the form loads. The default value is .
+
+
+ The has been disposed.
+
+
+ This property is applicable only to a object that you create on a
+ Windows Form with a Windows Forms Designer.
+
+ Set the ,
+ , and
+ properties in the Visual Studio Properties window
+ at design time to automatically connect the object to the
+ data source or target when the form loads. You do not have to call
+ .
+
+
+ Like the method, this property causes the
+ object to generate the
+ event when the connection
+ is made and the event when data is
+ updated.
+
+
+
+ 6/20/2006 4:41:42 PM
+ Staci McCormick
+ True
+
+
+
+ Gets or sets the maximum number of bytes that is allowed in the
+ property buffer.
+
+
+ An integer that specifies the maximum number of bytes that is allowed in the
+ property buffer. The default value is
+ 104,857,600.
+
+
+ The has been disposed.
+
+
+ The specified value is less than 0.
+
+ 6/9/2003 9:27:43 AM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets the maximum number of packets that is allowed in the
+ property buffer.
+
+
+ An integer that specifies the maximum number of packets that is allowed in the
+ property buffer. The default value is
+ 1.
+
+
+ The has been disposed.
+
+
+ The specified value is less than 0.
+
+ 6/9/2003 9:28:07 AM
+ Beth Parrott
+ True
+
+
+
+ Gets the total number of bytes that is currently in the buffer divided by the maximum number of
+ bytes allowed in the buffer.
+
+
+ A double value between 0 and 1 that specifies the total number of bytes that is currently in the
+ buffer divided by the maximum number of bytes allowed in the buffer.
+
+
+ The has been disposed.
+
+
+ 6/9/2003 9:30:21 AM
+ Beth Parrott
+ True
+
+
+
+ Gets the total number of packets that is currently in the buffer divided by the maximum number of
+ bytes allowed in the buffer.
+
+
+ A double value between 0 and 1 that specifies the total number of packets that is currently in the
+ buffer divided by the maximum number of bytes allowed in the buffer.
+
+
+ The has been disposed.
+
+
+ 6/9/2003 9:29:58 AM
+ Beth Parrott
+ True
+
+
+
+ Gets the current status of the data connection.
+
+
+ A that specifies the status of the data
+ connection.
+
+
+
+ The value of this property is the same as the last status value passed to the
+ event.
+
+
+ If an error occurs while connecting to the data source or target, the status indicates the
+ last step attempted. The and
+ properties describe the error.
+
+
+
+ The has been disposed.
+
+
+ The following example demonstrates how to update a Windows Form StatusBar control with the
+ connection status, the last error, and the last message of a
+ connection.
+
+ Private Sub UpdateStatus(ByVal status As StatusBar, ByVal connection As DataSocket)
+ Dim output As StringBuilder = New StringBuilder()
+ output.AppendFormat("Status: {0}, ", connection.ConnectionStatus)
+ output.AppendFormat("Error: {0}, ", connection.LastError)
+ output.AppendFormat("Message: {0}", connection.LastMessage)
+ status.Text = output.ToString()
+ End Sub
+
+
+
+
+ private void UpdateStatus(StatusBar status, DataSocket connection)
+ {
+ StringBuilder output = new StringBuilder();
+ output.AppendFormat("Status: {0}, ", connection.ConnectionStatus);
+ output.AppendFormat("Error: {0}, ", connection.LastError);
+ output.AppendFormat("Message: {0}", connection.LastMessage);
+ status.Text = output.ToString();
+ }
+
+
+
+
+ 6/20/2006 4:41:45 PM
+ Staci McCormick
+ True
+
+
+
+ Gets the current value and attributes that the object received
+ from the data source or target
+ or that were set locally.
+
+
+ A that contains the data source or target and its
+ attributes.
+
+
+
+ Use this property to access the object that contains the
+ current value and attributes. Then use the methods and
+ properties to access the value or specified attributes.
+
+
+ When you connect the object to a data target with the
+ or
+ access mode, the
+ object transfers the current value and attributes to the target as
+ soon as the connection is complete. When you connect the object to
+ a data source with the or
+ access mode,
+ the object completes the connection and transfers the values.
+
+
+ Use the property or the
+ event to determine if and when the value or
+ attributes on the local object are set or changed.
+
+
+ When the object is disconnected from the previous data source or target,
+ it retains the value and attributes it last had while connected.
+
+
+
+ The has been disposed.
+
+ 6/20/2006 4:41:49 PM
+ Staci McCormick
+ True
+
+
+
+ Gets if the object is in a connected or disconnected
+ state.
+
+
+ Returns if the object is in a connected state. Returns
+ if the object is in a disconnected state.
+
+
+ The has been disposed.
+
+
+ 11/21/2002 1:32:22 PM
+ Beth Parrott
+ True
+
+
+
+ Gets a value indicating if values or attributes on the local object have changed
+ since the last data transfer.
+
+
+ if the or attributes have changed.
+ if the value or attributes are unchanged or if
+ has been queried since the last data transfer.
+
+
+ The event occurs when
+ changes from to
+ . Use this property to determine if the data value or attributes have changed since you last queried this property.
+ This property is typically useful only on a object that is configured for
+ or .
+ You can use a delegate instead of polling .
+
+
+
+ The has been disposed.
+
+
+
+ 6/20/2006 4:41:56 PM
+ Staci McCormick
+ True
+
+
+
+ Gets a value indicating if the connection status has changed or an error has occurred.
+
+
+ The property is set to when the
+ event is generated and set to
+ when the is queried.
+
+
+ The has been disposed.
+
+
+ Use this property to determine if the connection status has changed since you last queried this property. You can use a
+ instead of polling
+ .
+
+
+
+ 6/20/2006 4:41:53 PM
+ Staci McCormick
+ True
+
+
+
+ Gets the error code associated with the last
+ event.
+
+
+ 0 if no error occurred the last time
+ occurred. If an error occurred,
+ gets the error code of the error that occurred the last time
+ occurred.
+
+
+
+ Some common errors include errors caused by incorrect network configurations, insufficient
+ access privileges to connect to the data source or target, or an incorrectly formed URL.
+
+
+ To determine the task the object was performing when the
+ error occurred, check the and
+ properties.
+
+
+
+ The has been disposed.
+
+
+
+ 11/21/2002 1:32:28 PM
+ Beth Parrott
+ True
+
+
+
+ Gets the message associated with the last
+ event.
+
+
+ Describes the last error encountered or the last step taken in connecting to or updating
+ the data.
+
+
+ The has been disposed.
+
+
+
+ 11/21/2002 1:32:29 PM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets the mode that specifies how reads
+ data.
+
+
+ A that indicates if
+ raises the
+ event to notify when
+ new data arrives or if you must call
+ to poll and dequeue buffered data into the
+ property.
+
+ 6/20/2006 4:42:01 PM
+ Staci McCormick
+ True
+
+
+
+ Gets or sets the location of a data source or target.
+
+
+ A string that represents the URL of the data source or target. The default value is
+ .
+
+
+
+ The object can connect to different data sources or targets
+ based on the specified URL. The
+ property determines if the object is transferring data from a data
+ source or to a data target.
+
+
+ If the data source or target redirects the
+ object to a new URL, the
+ property is set to the new URL.
+
+
+ The following types of URLs are supported:
+
+ ProtocolExample
+ -
+ DataSocket Server (dstp:)
+
+ dstp://localhost/wave
+ dstp://machine/item
+
+
+ -
+ Standard Web server (http:)
+ http://www.ni.com/cworks/datasocket.tone.wav
+
+ -
+ Standard FTP Sites (ftp:)
+
+ ftp://ftp.ni.com/datasocket/ping.wav
+ The FTP site must allow anonymous connections.
+
+
+ -
+ Lookout/Logos objects (lookout: or logos:)
+
+ lookout://localhost/testprocess/pot1.value
+ logos://localhost/testprocess/pot1.value
+
+
+ -
+ Files directly accessible from the file system (file:)
+
+ file:ping.wav
+ file:c:/mydata/ping.wav
+ file://machine/mydata/ping.wav
+
+
+ -
+ OLE for Process Control (OPC) Servers (opc:)
+
+ opc:/National Instruments.OPCDemo/sine
+ opc:/National Instruments.OPCDemo/sine?AccessPath=sine
+ opc://machine/National Instruments.OPCModbus/Modbus Demo Box.40
+
+
+
+
+
+
+ The has been disposed.
+
+
+ Key Measurement Studio DataSocket .NET Library Features
+ 9/16/2008 10:05:55 AM
+ Measurement Studio
+ True
+
+
+
+ Occurs when the status of the connection changes.
+
+
+ This event occurs every time the connection status changes, such as when the
+ object connects to a data source or target specified by the
+ property, transfers data, or encounters an error.
+
+
+
+
+ 11/21/2002 1:32:41 PM
+ Beth Parrott
+ True
+
+
+
+ Occurs when the value or attributes of the property is
+ updated.
+
+
+
+ The object sets the
+ to immediately before this event
+ is generated.
+
+
+ In write access mode, the event occurs when data is
+ ready to send. In read access mode, the event occurs when data is received.
+ You can use the event to
+ scale, display, or process new data.
+
+
+
+
+ 11/21/2002 1:32:44 PM
+ Beth Parrott
+ True
+
+
+
+ Contains the name of a attribute and its associated
+ data.
+
+
+
+ Attributes provide information such as the time the value was calculated or acquired, the units in which the value is expressed, the equipment used to generate the value, or any other properties that you want to define.
+
+ Use the object when you iterate through the
+ of a
+ object.
+
+
+ The following example iterates through the attributes of a object
+ and displays each and
+ value.
+
+ Private Sub ShowDataSocketAttributes(ByVal data As DataSocketData)
+ Console.WriteLine("DataSocket Data Attributes")
+ Dim attr As DataSocketAttribute
+ For Each attr In data.Attributes
+ Console.WriteLine("{0}: {1}", attr.Name, attr.Data.Value.ToString())
+ Next
+ End Sub
+
+
+
+
+ private void ShowDataSocketAttributes(DataSocketData data)
+ {
+ Console.WriteLine("DataSocket Data Attributes");
+ foreach (DataSocketAttribute attr in data.Attributes)
+ Console.WriteLine("{0}: {1}", attr.Name, attr.Data.Value.ToString());
+ }
+
+
+
+ 11/21/2002 1:33:10 PM
+ Beth Parrott
+ True
+
+
+
+ Overrides .
+
+ Returns a string representation of the object.
+ 10/30/2002 11:44:10 AM
+ Beth Parrott
+ True
+
+
+
+ Gets the name of the object.
+
+
+ A string value that represents the name of the associated data.
+
+ 11/21/2002 1:33:13 PM
+ Beth Parrott
+ True
+
+
+
+ Gets the data of the object.
+
+
+ A that represents the attribute data.
+
+ 6/20/2006 4:42:07 PM
+ Staci McCormick
+ True
+
+
+
+ Encapsulates the collection of the attributes of a
+ object.
+
+
+
+ Each attribute consists of a string name and a value.
+
+
+ 11/21/2002 1:34:22 PM
+ Beth Parrott
+ True
+
+
+ Overrides .
+ Returns a string representation of the object.
+ 10/30/2002 12:10:36 PM
+ Beth Parrott
+ True
+
+
+
+ Gets the names of the attributes that are associated with the object.
+
+ An array of strings that indicate the names of the attributes that are associated with
+ the object.
+ 6/9/2003 10:24:14 AM
+ Beth Parrott
+ True
+
+
+
+ Creates an attribute of a object.
+
+
+ The name of the attribute to add.
+
+
+ The value of the attribute.
+
+
+ The object that represents
+ the value of the added attribute.
+
+
+ is .
+
+
+ An element with the same key already exists in the collection.
+
+
+ is a data type that is not supported by .
+
+ 6/9/2003 9:47:57 AM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:19 PM
+ Measurement Studio
+ True
+
+
+ Removes all items from the collection.
+ 10/30/2002 12:10:54 PM
+ Beth Parrott
+ True
+
+
+ Returns if the specified attribute is in the collection.
+ The name of the item to locate in the collection.
+
+ Returns if the collection contains .
+
+
+ is .
+
+ 6/9/2003 9:48:09 AM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:20 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:19 PM
+ Measurement Studio
+ True
+
+
+ Returns an enumerator that you can use to iterate through the collection.
+ Enumerator for the collection.
+
+ For a detailed explanation of this method, refer to in the Microsoft
+ .NET Framework documentation.
+
+ 10/30/2002 12:11:08 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:20 PM
+ Measurement Studio
+ True
+
+
+
+ Removes the first occurrence of the specified attribute from the collection.
+
+
+ The name of the attribute to remove from the collection.
+
+
+ is .
+
+
+ An attribute with the specified name was not found in the collection.
+
+ 6/9/2003 9:48:21 AM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:23 PM
+ Measurement Studio
+ True
+
+
+
+ Gets the attribute in the collection with the specified name. In Visual C#, this
+ property is the indexer.
+
+
+ The of the attribute
+ with the specified name.
+
+
+ The specified attribute name is .
+
+
+ There is no attribute in the collection with the specified range.
+
+ 6/20/2006 4:42:12 PM
+ Staci McCormick
+ True
+
+
+
+ 1/23/2009 4:54:17 PM
+ Measurement Studio
+ True
+
+
+
+ Gets the number of elements in the collection.
+
+
+ The number of elements contained in the collection.
+
+ 11/21/2002 1:34:30 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:41 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:16 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:14 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:17 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:14 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:18 PM
+ Measurement Studio
+ True
+
+
+
+ Represents a data source or target that you can bind to a property of a control.
+
+
+
+ External data sources and targets might be
+ on HTTP, FTP, OPC, DSTP, or file servers located anywhere on the Internet.
+
+
+ The object uses National Instruments DataSocket
+ technology to connect to data sources and targets and share live measurements over the
+ Internet.
+ To expose a data source or target as a binding to a Windows Forms control,
+ add a object to the
+ of a object.
+
+
+ You must call when you finish using a
+ object.
+
+
+
+
+
+ 1/22/2013 1:43:10 PM
+ National Instruments
+ True
+
+
+
+ Initializes a new instance of .
+
+ 10/30/2002 11:46:05 AM
+ Beth Parrott
+ True
+
+
+
+ Overrides .
+
+
+ A string representation of the object.
+
+
+ The has been disposed.
+
+ 6/9/2003 10:03:11 AM
+ Beth Parrott
+ True
+
+
+
+ Releases all resources used by the
+ object.
+
+ 11/21/2002 1:33:21 PM
+ Beth Parrott
+ True
+
+
+
+ Releases the resources used by the object.
+
+
+ If , this method releases managed and unmanaged resources. If , this method
+ releases only unmanaged resources.
+
+
+
+ The public method and the finalizer call this method. The public
+ method invokes the protected Dispose(Boolean) method with
+ set to . The finalizer invokes the protected Dispose(Boolean) method
+ with set to
+ .
+
+
+ When you set the parameter to , this method releases all
+ resources held by managed objects that the object
+ references. This method invokes the method of each referenced object.
+
+
+ 11/21/2002 1:33:23 PM
+ Beth Parrott
+ True
+
+
+
+ Finalizes the instance of the object.
+
+ 10/30/2002 11:44:16 AM
+ Beth Parrott
+ True
+
+
+
+ Connects the object to a data source or target.
+
+
+
+ The method establishes the
+ connection with the current values of the
+ and the
+ properties.
+
+
+ The object creates the connection asynchronously.
+ You must return
+ control to the application message loop after you create the connection and before you
+ perform data transfers on data
+ or attributes. You can check the
+ property to determine if the connection is established.
+
+
+ When connecting to a data source in a read access mode,
+ the object updates the data after the connection is
+ completed. When connecting to a data target in a write access mode, the
+ object transfers the data when the connection is
+ made. If you connect in an automatic update mode, the
+ object automatically transfers data when
+ new data is available.
+
+
+ If you connect a reading client to a
+ object that does not exist, the server creates the item with a default value of 0.
+
+
+
+ The has been disposed.
+
+
+ 11/21/2002 1:33:51 PM
+ Beth Parrott
+ True
+
+
+
+ Connects the object to the specified data source or target.
+
+
+ Location of the data source or target to which the
+ must connect.
+
+
+
+ The method sets the
+ property to the value of the
+ parameter. The method uses the current value of
+ to establish the connection.
+
+
+ The object creates the connection asynchronously.
+ You must return
+ control to the application message loop after you create the connection and before you
+ perform data transfers on data
+ or attributes. You can check the
+ property to determine if the connection is established.
+
+
+ When connecting to a data source in a read access mode,
+ the object updates the data after the connection is
+ completed. When connecting to a data target in a write access mode, the
+ object transfers the data when the connection is
+ made. If you connect in an automatic update mode, the
+ object automatically transfers data when
+ new data is available.
+
+
+ If you connect a reading client to a
+ object that does not exist, the server creates the item with a default value of 0.
+
+
+
+ is .
+
+
+ The has been disposed.
+
+
+ 11/21/2002 1:33:53 PM
+ Beth Parrott
+ True
+
+
+
+ Connects the object to the specified data source or target with the
+ specified access mode.
+
+
+ Location of the data source or target to which the
+ object must connect.
+
+
+ An value that specifies the type of connection the
+ object makes when it connects to the data source or
+ target.
+
+
+
+ The method sets the
+ and
+ properties to the values of the
+ and parameters.
+
+
+ The object creates the connection asynchronously.
+ You must return
+ control to the application message loop after you create the connection and before you
+ perform data transfers on data
+ or attributes. You can check the
+ property to determine if the connection is established.
+
+
+ When connecting to a data source in a read access mode,
+ the object updates the data after the connection is
+ completed. When connecting to a data target in a write access mode, the
+ object transfers the data when the connection is
+ made. If you connect in an automatic update mode, the
+ object automatically transfers data when
+ new data is available.
+
+
+ If you connect a reading client to a
+ object that does not exist, the server creates the item with a default value of 0.
+
+
+
+ is .
+
+
+ is not a member of .
+
+
+ The has been disposed.
+
+ 11/21/2002 1:33:55 PM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified timeout.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+
+ The method establishes the
+ connection with the current values of the
+ and the
+ properties.
+
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 10:18:00 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified .
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+
+ The method establishes the
+ connection with the current values of the
+ and the
+ properties.
+
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 10:20:43 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified URL and timeout.
+
+
+ Location of the data source or target to which the
+ must connect.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+
+ The method sets the
+ property to the value of the
+ parameter. The method uses the current value of
+ to establish the connection.
+
+
+
+ The has been disposed.
+
+
+ is .
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 10:19:51 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified URL and .
+
+
+ Location of the data source or target to which the
+ must connect.
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+
+ The method sets the
+ property to the value of the
+ parameter. The method uses the current value of
+ to establish the connection.
+
+
+
+ The has been disposed.
+
+
+ is .
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 10:20:17 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified URL, access mode, and timeout.
+
+
+ Location of the data source or target to which the
+ must connect.
+
+
+ An value that specifies the type of connection the
+ object makes when it connects to the data source or
+ target.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+
+ The method sets the
+ and
+ properties to the values of the
+ and parameters.
+
+
+
+ The has been disposed.
+
+
+ is .
+
+
+ is not a member of .
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 10:18:41 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified URL, access mode, and .
+
+
+ Location of the data source or target to which the
+ must connect.
+
+
+ An value that specifies the type of connection the
+ object makes when it connects to the data source or
+ target.
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+
+ The method sets the
+ and
+ properties to the values of the
+ and parameters.
+
+
+
+ The has been disposed.
+
+
+ is .
+
+
+ is not a member of .
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 10:19:16 AM
+ Beth Parrott
+ True
+
+
+
+ Disconnects the object from the data source or target to which it is
+ currently connected.
+
+
+ The value of and its attributes remain
+ unchanged when the object is disconnected.
+
+ has no effect if the
+ object is not connected.
+
+
+
+ The has been disposed.
+
+
+ 11/21/2002 1:33:56 PM
+ Beth Parrott
+ True
+
+
+
+ Synchronously disconnects the object from
+ the data source or target to which it is currently connected using the specified timeout.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+
+ The value of the property and its attributes
+ remain unchanged when the object is disconnected.
+
+
+ has no effect if the
+ object is already disconnected.
+
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 10:23:23 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously disconnects the object from
+ the data source or target to which it is currently connected using the specified .
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+
+ The value of the property and its attributes
+ remain unchanged when the object is already disconnected.
+
+
+ has no effect if the
+ object is disconnected.
+
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 10:23:32 AM
+ Beth Parrott
+ True
+
+
+
+ Initiates a write to the server with the specified data and timeout.
+
+
+ The data to write to the server.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+ initiates a write to the server
+ and then waits for the amount of time specified by for the server
+ to acknowledge that the write was successful.
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 10:22:43 AM
+ Beth Parrott
+ True
+
+
+
+ Initiates a write to the server with the specified data and .
+
+
+ The data to write to the server.
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+ initiates a write to the server
+ and then waits for the amount of time specified by for the server
+ to acknowledge that the write was successful.
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 10:23:12 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously polls the client-side buffer for unprocessed values using the specified timeout.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+ is used in synchronous read mode
+ to poll the client-side buffer for any unprocessed values. If the buffer contains
+ unprocessed data, the next value is dequeued into the
+ property and the return value is
+ . If the buffer contains no new values,
+ will wait for the specified timeout
+ interval for a new value to arrive.
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 10:21:55 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously polls the client-side buffer for unprocessed values using the specified .
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+ is used in synchronous read mode
+ to poll the client-side buffer for any unprocessed values. If the buffer contains
+ unprocessed data, the next value is dequeued into the
+ property and the return value is
+ . If the buffer contains no new values,
+ will wait for the specified timeout
+ interval for a new value to arrive.
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 10:22:12 AM
+ Beth Parrott
+ True
+
+
+
+ Causes the object to transfer data from a data source or to
+ a data target.
+
+
+
+ Use the property to determine if
+ transfers data from a data source or to a data target.
+
+
+ When using the or access mode, call the
+ method when you want transfer data between the data source or target
+ and the local object.
+ If you want to
+ transfer data every time new data is available without calling , use the
+ or access modes.
+
+
+
+ The has been disposed.
+
+
+ The is not connected.
+
+
+ 6/9/2003 10:03:35 AM
+ Beth Parrott
+ True
+
+
+
+ Enables interactive browsing and selection of data sources or targets.
+
+
+ The method launches a dialog box that provides interactive browsing
+ and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
+ objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
+
+
+ The has been disposed.
+
+ 11/21/2002 1:34:00 PM
+ Beth Parrott
+ True
+
+
+
+ Enables interactive browsing and selection of data sources or targets and configures the dialog box with a specified URL.
+
+
+ String that contains the URL. If the protocol is opc:,
+ dstp:, logos:,
+ or file, or if you omit this parameter, this method opens a dialog box in which the user can
+ find and select a data source or target. You can prompt the user to create a Web or FTP
+ location with the http: or ftp: protocols. You also can use a complete URL, such
+ as dstp://localhost/wave.
+
+
+ The method launches a dialog box that provides interactive browsing
+ and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
+ objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
+
+
+
+ is
+
+
+
+ The has been disposed.
+
+ 11/21/2002 1:34:01 PM
+ Beth Parrott
+ True
+
+
+
+ Enables interactive browsing and selection of data sources or targets and configures the dialog box URL and title.
+
+
+ String that contains the URL. If the protocol is opc:,
+ dstp:, logos:,
+ or file, or if you omit this parameter, this method opens a dialog box in which the user can
+ find and select a data source or target. You can prompt the user to create a Web or FTP
+ location with the http: or ftp: protocols. You also can use a complete URL, such
+ as dstp://localhost/wave.
+
+
+ Title of the dialog box.
+
+
+ The method launches a dialog box that provides interactive browsing
+ and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
+ objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
+
+
+
+ is
+
+ -or-
+
+ is
+
+
+
+ The has been disposed.
+
+ 11/21/2002 1:34:03 PM
+ Beth Parrott
+ True
+
+
+
+ Enables interactive browsing and selection of data sources or targets and configures the dialog box URL, title, and options.
+
+
+ String that contains the URL. If the protocol is opc:,
+ dstp:, logos:,
+ or file, or if you omit this parameter, this method opens a dialog box in which the user can
+ find and select a data source or target. You can prompt the user to create a Web or FTP
+ location with the http: or ftp: protocols. You also can use a complete URL, such
+ as dstp://localhost/wave.
+
+
+ Title of the dialog box.
+
+
+ Flags that control the behavior of the dialog box.
+
+
+ The method launches a dialog box that provides interactive browsing
+ and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
+ objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
+
+
+
+ is
+
+ -or-
+
+ is
+
+
+
+ is not a member of .
+
+
+ The has been disposed.
+
+ 11/21/2002 1:34:05 PM
+ Beth Parrott
+ True
+
+
+
+ Enables interactive browsing and selection of data sources or targets and configures the dialog box URL, title, options, and filter.
+
+
+ String that contains the URL. If the protocol is opc:,
+ dstp:, logos:,
+ or file, or if you omit this parameter, this method opens a dialog box in which the user can
+ find and select a data source or target. You can prompt the user to create a Web or FTP
+ location with the http: or ftp: protocols. You also can use a complete URL, such
+ as dstp://localhost/wave.
+
+
+ Title of the dialog box.
+
+
+ Flags that control the behavior of the dialog box.
+
+
+ Filter string passed to the dialog box, as shown in the following example: DataSocket Data files (*.dsd)|*.dsd|All files (*.*)|*.*
+
+
+ The method launches a dialog box that provides interactive browsing
+ and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
+ objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
+
+
+
+ is
+
+ -or-
+
+ is
+
+ -or-
+
+ is .
+
+
+
+ is not a member of .
+
+
+ The has been disposed.
+
+ 11/21/2002 1:34:07 PM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets the access mode for the connection.
+
+
+ An that indicates the type of data transfer
+ connection the object makes when connecting to the
+ data source or target. The default value is .
+
+
+ The value is not a member of .
+
+
+ The has been disposed.
+
+
+ If you connect with the or
+
+ access mode,
+ the data is read-only. If you try to set the
+ value or attributes on a read-only object, a
+ is generated. If the
+ object is disconnected, you can set the data value
+ and attributes regardless of the access mode.
+
+ 6/20/2006 4:42:20 PM
+ Staci McCormick
+ True
+
+
+
+ Gets or sets the name of the binding.
+
+
+ A string value that indicates the name of the binding. The default value is .
+
+
+ The has been disposed.
+
+
+ When you bind a data source or target to a Windows Forms control,
+ the value of identifies the binding. You can select the Windows Forms control in
+ the Windows Forms Designer, navigate to the property in the Properties window, locate the property you want to bind to a
+ data source or target, and select from the list of
+ available bindings.
+
+ 11/5/2008 10:39:50 AM
+ Measurement Studio
+ True
+
+
+
+ Gets the actual URL of the current data source or target.
+
+
+ The actual URL of the current data source or target.
+
+
+
+ When connected to a data source or target, the value of
+ differs from the value of
+ property if the URL you specify points to
+ a link that redirects the object to a new URL.
+
+
+ If the object is disconnected, the
+ property returns
+ .
+
+
+
+ The has been disposed.
+
+
+ 11/21/2002 1:33:29 PM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets the maximum number of bytes that is allowed in the
+ property buffer.
+
+
+ An integer that specifies the maximum number of bytes that is allowed in the
+ property buffer. The default value is
+ 104,857,600.
+
+
+ The has been disposed.
+
+
+ The specified value is less than 0.
+
+ 6/9/2003 9:50:20 AM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets the maximum number of packets that is allowed in the
+ property buffer.
+
+
+ An integer that specifies the maximum number of packets that is allowed in the
+ property buffer. The default value is
+ 1.
+
+
+ The has been disposed.
+
+
+ The specified value is less than 0.
+
+ 6/9/2003 9:50:34 AM
+ Beth Parrott
+ True
+
+
+
+ Gets the total number of bytes that is currently in the buffer divided by the maximum number of
+ bytes allowed in the buffer.
+
+
+ A double value between 0 and 1 that specifies the total number of bytes that is currently in the
+ buffer divided by the maximum number of bytes allowed in the buffer.
+
+
+ The has been disposed.
+
+
+ 6/9/2003 9:51:26 AM
+ Beth Parrott
+ True
+
+
+
+ Gets the total number of packets that is currently in the buffer divided by the maximum number of
+ bytes allowed in the buffer.
+
+
+ A double value between 0 and 1 that specifies the total number of packets that is currently in the
+ buffer divided by the maximum number of bytes allowed in the buffer.
+
+
+ The has been disposed.
+
+
+ 6/9/2003 9:51:47 AM
+ Beth Parrott
+ True
+
+
+
+ Gets the current status of the data connection.
+
+
+ A that specifies the status of the data
+ connection.
+
+
+
+ If an error is encountered while connecting to the data source or target, the status indicates the
+ last step attempted. The and
+ properties describe the error.
+
+
+
+ The has been disposed.
+
+
+ 6/20/2006 4:42:24 PM
+ Staci McCormick
+ True
+
+
+
+ Gets a value indicating if the object is in a connected or disconnected
+ state.
+
+
+ Returns if the object is in a connected state. Returns
+ if the object is in a disconnected state.
+
+
+ The has been disposed.
+
+
+ 6/20/2006 4:42:35 PM
+ Staci McCormick
+ True
+
+
+
+ Gets the error code associated with the last binding connection.
+
+
+ 0 if no error occurred while the binding connection was established. If an error occurred, gets the error
+ code of the error that occurred while the binding connection was established.
+
+
+
+ Some common errors include errors caused by incorrect network configurations, insufficient
+ access privileges to connect to the data source or target, or an incorrectly formed URL.
+
+
+ To determine the task the object was performing when the
+ error occurred, check the and
+ properties.
+
+
+
+ The has been disposed.
+
+
+ 11/21/2002 1:33:34 PM
+ Beth Parrott
+ True
+
+
+
+ Gets the message associated with the last the binding connection.
+
+
+ Describes the last error that occurred or the last step taken in connecting to or updating
+ the data.
+
+
+ The has been disposed.
+
+
+ 11/21/2002 1:33:46 PM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets the mode that specifies how reads
+ data.
+
+
+ A that indicates if
+ notifies when
+ new data arrives or if you must call
+ to poll and dequeue buffered data into the
+ property.
+
+ 9/17/2009 4:46:41 PM
+ Measurement Studio
+ True
+
+
+
+ Gets or sets the location of the data source or target to which the
+ object is connecting.
+
+
+ A string that represents the URL of the data source or target. The default value is .
+
+
+
+ The object can connect to different data sources or targets
+ according to the URL specified. The
+ property determines if the object is transferring data from a data
+ source or to a data target.
+
+
+ If the data source or target pointed to by the URL redirects the
+ to a new URL, the
+ property is set to the new URL.
+
+
+ The following types of URLs are supported:
+
+ ProtocolExample
+ -
+ DataSocket Server (dstp:)
+
+ dstp://localhost/wave
+ dstp://machine/item
+
+
+ -
+ Standard Web server (http:)
+ http://www.ni.com/cworks/datasocket.tone.wav
+
+ -
+ Standard FTP Sites (ftp:)
+
+ ftp://ftp.ni.com/datasocket/ping.wav
+ The FTP site must allow anonymous connections.
+
+
+ -
+ Lookout/Logos objects (lookout: or logos:)
+
+ lookout://localhost/testprocess/pot1.value
+ logos://localhost/testprocess/pot1.value
+
+
+ -
+ Files directly accessible from the file system (file:)
+
+ file:ping.wav
+ file:c:/mydata/ping.wav
+ file://machine/mydata/ping.wav
+
+
+ -
+ OLE for Process Control (OPC) Servers (opc:)
+
+ opc:/National Instruments.OPCDemo/sine
+ opc:/National Instruments.OPCDemo/sine?AccessPath=sine
+ opc://machine/National Instruments.OPCModbus/Modbus Demo Box.40
+
+
+
+
+
+
+ The has been disposed.
+
+
+ 11/20/2002 6:25:04 PM
+ Beth Parrott
+ True
+
+
+
+ Gets the current value and attributes that the
+ object received from the data source or target or
+ that have been set locally.
+
+
+ A that contains the data source or target and its
+ attributes.
+
+
+ The has been disposed.
+
+ 6/20/2006 4:42:31 PM
+ Staci McCormick
+ True
+
+
+
+ Represents a strongly-typed collection of objects.
+
+
+ 11/21/2002 1:35:19 PM
+ Beth Parrott
+ True
+
+
+ Overrides .
+ Returns a string representation of the object.
+ 10/30/2002 12:08:53 PM
+ Beth Parrott
+ True
+
+
+
+ Adds an item to the end of the collection.
+
+
+ Item to add to the collection.
+
+
+ The array index of the added item.
+
+
+ is .
+
+ 11/21/2002 1:35:25 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:27 PM
+ Measurement Studio
+ True
+
+
+
+ Adds an array of objects to the end of the collection.
+
+
+ Array of objects to add to the collection.
+
+
+ is .
+
+ 11/21/2002 1:35:27 PM
+ Beth Parrott
+ True
+
+
+
+ Adds a collection of objects to the end of the collection.
+
+
+ Collection of objects to add to the collection.
+
+
+ is .
+
+ 10/30/2002 12:08:11 PM
+ Beth Parrott
+ True
+
+
+ Removes all items from the collection.
+ 10/30/2002 12:08:20 PM
+ Beth Parrott
+ True
+
+
+
+ Returns if the specified element is in the collection.
+
+
+ Item to locate in the collection.
+
+
+ Returns if the collection contains .
+
+ 10/30/2002 12:08:22 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:28 PM
+ Measurement Studio
+ True
+
+
+ Copies the collection to an array or a portion of an array.
+ Destination array for the collection.
+ Index in the target array at which you want to begin copying the collection to.
+
+
+ is multidimensional.
+
+
+ - or -
+
+
+ is greater than or equal to the array length.
+
+
+ - or -
+
+
+ The number of elements in the collection is greater than the available space between
+ and the end of .
+
+
+
+ is .
+
+
+ is less than zero.
+
+ 10/30/2002 12:08:24 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:27 PM
+ Measurement Studio
+ True
+
+
+
+ Returns the zero-based index of the first occurrence of an item in the collection.
+
+ Item to search for.
+ Index of the item. If the item is not found, returns -1.
+ 11/21/2002 1:35:31 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:28 PM
+ Measurement Studio
+ True
+
+
+ Inserts an item into the collection at the specified index.
+ Index to insert the item at.
+ Item to insert into the collection.
+
+ is not a valid index in the .
+
+
+ is .
+
+
+ The list elements after the removed element shift up to occupy the vacated spot. Because the list elements
+ are indexed, the indexes of the shifted elements also are updated.
+
+ 11/21/2002 1:35:33 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:29 PM
+ Measurement Studio
+ True
+
+
+ Returns an enumerator that you can use to iterate through the collection.
+ Enumerator for the collection.
+
+ For a detailed explanation of this method, refer to in the Microsoft
+ .NET Framework documentation.
+
+ 10/30/2002 12:08:27 PM
+ Beth Parrott
+ True
+
+
+ Removes the first occurrence of the specified item.
+ Item to remove from the collection.
+
+ The list elements after the removed element shift up to occupy the vacated spot. Because the list elements
+ are indexed, the indexes of the shifted elements also are updated.
+
+ 11/21/2002 1:35:35 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:29 PM
+ Measurement Studio
+ True
+
+
+ Removes the item at the specified index.
+ Zero-based index of the item to remove.
+
+ is not a valid index in the .
+
+
+ The list elements after the removed element shift up to occupy the vacated spot. Because the list elements
+ are indexed, the indexes of the shifted elements also are updated.
+
+ 11/21/2002 1:35:37 PM
+ Beth Parrott
+ True
+
+
+ Gets or sets the at the specified index. In Visual C#, this property is the indexer.
+
+ The object at the specified index.
+
+
+ The zero-based index of the entry to locate in the collection.
+
+
+ is outside the valid range of indexes for the collection.
+
+
+ is .
+
+ 5/30/2003 5:17:17 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:26 PM
+ Measurement Studio
+ True
+
+
+ Gets an entry in the collection with the specified name. In Visual C#, this property is the indexer.
+
+ The object with the specified binding
+ name.
+
+
+ Name of the entry to find in the collection.
+
+
+ The binding with the specified name was not found in the collection.
+
+
+ is .
+
+ 1/10/2003 4:09:51 PM
+ Beth Parrott
+ True
+
+
+
+ Gets the number of elements in the collection.
+
+
+ The number of elements contained in the collection.
+
+ 11/21/2002 1:35:29 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:23 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:25 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:25 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:24 PM
+ Measurement Studio
+ True
+
+
+
+ Contains the value and attributes associated with the value.
+
+
+
+
+ The object encapsulates the data obtained from
+ or passed to a object.
+ The object also encapsulates the data attributes.
+
+
+ The object supports the following data types:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+
+
+
+ You must call when you finish using a
+ object.
+
+
+ 11/21/2002 1:34:11 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of .
+
+
+ 10/30/2002 11:42:42 AM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:30 PM
+ Measurement Studio
+ True
+
+
+
+ Overrides .
+
+ Returns a string representation of the object.
+ 10/30/2002 12:01:28 PM
+ Beth Parrott
+ True
+
+
+
+ Releases all resources used by the object.
+
+ 10/14/2009 9:29:15 AM
+ Staci Heien
+ True
+
+
+
+ Releases all resources used by the object.
+
+ 1/10/2003 4:09:12 PM
+ Beth Parrott
+ True
+
+
+
+ Releases the unmanaged resources used by the object and
+ optionally releases the managed resources.
+
+
+ If , releases both managed and unmanaged resources. If , only releases
+ unmanaged resources.
+
+
+
+ The public method and the finalizer call this method. The public
+ method invokes the protected Dispose(Boolean) method with
+ set to . The finalizer invokes the protected Dispose(Boolean) method
+ with set to
+ .
+
+
+ When you set the parameter to , this method releases all
+ resources held by managed objects that the object
+ references. This method invokes the method of each referenced object.
+
+
+ 11/21/2002 9:33:09 AM
+ Beth Parrott
+ False
+
+
+ Finalizes the instance of the object.
+ 10/30/2002 12:00:52 PM
+ Beth Parrott
+ True
+
+
+
+ Clears the property and
+ all attributes.
+
+
+ This method sets the property to 0 and removes all attributes of the object.
+
+
+ 11/21/2002 1:34:18 PM
+ Beth Parrott
+ True
+
+
+
+ Gets a value indicating if the object has been disposed.
+
+
+ if has been
+ called on the object. if
+ has not been called
+ on the object.
+
+ 6/20/2006 4:42:45 PM
+ Staci McCormick
+ True
+
+
+
+ Gets a list of attributes that are associated with the data.
+
+
+ A collection of values
+ that are associated with the data.
+
+ 10/30/2002 12:00:56 PM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets the value of the object.
+
+
+ The value of the local object. The default value is 0.
+
+
+ Get this property to obtain the value of the local object. If the
+ object belongs to a
+ object that is
+ configured for , the
+ object transfers the data from the data source to the local object when the value of the data
+ source is updated. Query the property to determine if the local
+ object has been updated. If the object belongs to a object
+ that is configured for , you must call
+ to transfer data from the data source to the local object.
+ Set this property to specify the value of the local
+ object. If the object belongs to a
+ object that is configured for ,
+ the object transfers data from the local
+ object when you set this property. If the
+ object belongs to a
+ object that
+ is configured for , you must call
+ to transfer data from the local object to the data target.
+
+
+
+
+ 11/21/2002 1:34:20 PM
+ Beth Parrott
+ True
+
+
+ Represents the exception that is thrown when a
+ error occurs.
+
+
+ 10/30/2002 12:01:36 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of .
+
+ 11/21/2002 1:34:32 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of
+ with the specified error message.
+
+
+ The error message that explains the cause of the exception.
+
+ 10/30/2002 12:01:47 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of
+ with the specified error message and a reference to the inner exception that is the
+ cause of the exception.
+
+
+ The error message that explains the cause of the exception.
+
+
+ The exception that caused this exception.
+
+ 11/21/2002 1:34:34 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of with serialized data.
+
+
+ The object that holds the serialized object data.
+
+
+ The contextual information about the source or destination of a serialized stream.
+
+ 10/30/2002 12:01:42 PM
+ Beth Parrott
+ True
+
+
+ Overrides .
+ Returns a string representation of the object.
+ 10/30/2002 12:01:51 PM
+ Beth Parrott
+ True
+
+
+
+ Encapsulates the interface to the National Instruments DataSocket Server.
+
+
+
+
+ Use this class to run the DataSocket Server on the local machine. You must run the DataSocket Server on the machine on which you
+ want to host DSTP data sources and targets.
+
+
+ You must call when you finish using a
+ object. If you add this object to a Windows form with the Windows
+ Forms Designer, the form calls automatically.
+
+
+ 11/21/2002 1:34:37 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of .
+
+ 10/30/2002 12:07:36 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of
+ with the specified container.
+
+
+ that represents the object container.
+
+
+ 10/30/2002 12:07:44 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of with the specified
+ auto-start value.
+
+
+ Specifies if the server automatically starts when the object is constructed.
+
+
+ When you use this constructor, the object automatically
+ shuts down when the object is disposed.
+
+ The DataSocket Server is not installed.
+
+
+ 10/30/2002 12:07:41 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of with the specified auto-start and
+ auto-shutdown values.
+
+
+ Specifies if the server automatically starts when the object is constructed.
+
+
+ Specifies if the server automatically shuts down when the object is disposed.
+
+
+ The DataSocket Server is not installed.
+
+
+ 10/30/2002 12:07:43 PM
+ Beth Parrott
+ True
+
+
+
+ Overrides .
+
+
+ A string representation of the object.
+
+
+ The has been disposed.
+
+ 6/9/2003 10:09:24 AM
+ Beth Parrott
+ True
+
+
+
+ Releases the resources used by object.
+
+
+ If , this method releases managed and unmanaged resources. If , this method
+ releases only unmanaged resources.
+
+
+
+ The public method and the finalizer call this method. The public
+ method invokes the protected Dispose(Boolean) method with
+ set to . The finalizer invokes the protected Dispose(Boolean) method
+ with set to
+ .
+
+
+ When you set the parameter to , this method releases all
+ resources held by managed objects that the object
+ references. This method invokes the method of each referenced object.
+
+
+ 11/21/2002 1:34:39 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:30 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:31 PM
+ Measurement Studio
+ True
+
+
+
+ Launches the local DataSocket Server.
+
+
+ The has been disposed.
+
+ 10/30/2002 12:08:02 PM
+ Beth Parrott
+ True
+
+
+
+ Displays the local DataSocket Server.
+
+
+ If the DataSocket Server is not already running and you call ,
+ the DataSocket Server automatically starts.
+
+
+ The has been disposed.
+
+ 6/9/2003 10:31:37 AM
+ Beth Parrott
+ True
+
+
+
+ Hides the local DataSocket Server.
+
+
+ The has been disposed.
+
+
+ If the DataSocket Server is not already running and you call ,
+ the DataSocket Server automatically starts.
+
+ The DataSocket Server is accessible from the Windows taskbar status area regardless of if it is hidden.
+
+
+ 6/9/2003 10:31:21 AM
+ Beth Parrott
+ True
+
+
+
+ Shuts down the local DataSocket Server.
+
+
+ The has been disposed.
+
+ 10/30/2002 12:08:00 PM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets a value indicating if the DataSocket Server automatically starts when the form loads.
+
+
+ if the DataSocket Server automatically starts when the form loads. The default value is .
+
+
+ The has been disposed.
+
+
+ If the value of this property is , you must call to launch the DataSocket Server.
+
+ This property is applicable only to objects that you create on
+ a Windows Form with the Windows Forms Designer.
+
+ 6/20/2006 4:42:53 PM
+ Staci McCormick
+ True
+
+
+
+ Gets or sets a value indicating if the DataSocket Server automatically shuts down when the object is disposed.
+
+
+ if the server automatically shuts down when the object is disposed. The default value is
+ .
+
+
+ The has been disposed.
+
+ 6/20/2006 4:42:49 PM
+ Staci McCormick
+ True
+
+
+
+ Gets a value indicating if the DataSocket Server is running.
+
+
+ if the DataSocket Server is running.
+
+
+ The has been disposed.
+
+ 6/20/2006 4:42:57 PM
+ Staci McCormick
+ True
+
+
+
+ Exposes data sources or targets as a bindable data items that you can bind to properties of Windows Forms controls.
+
+
+
+ Complete the following steps to bind data sources or targets to a Windows Forms control:
+
+ -
+
+ From the Toolbox, drag a object onto a designer, such as the Windows
+ Forms Designer. Because the object does not have a user interface, it is added to the component
+ tray below the form.
+
+
+ -
+
+ In the Properties window, launch the collection editor for the property.
+ Add a binding and specify a unique name and URL for the binding.
+
+
+ -
+
+ Click OK to accept the binding item and close the collection editor.
+
+
+ -
+
+ Select a Windows Forms control in the designer, navigate to the property in the Properties window, locate the property
+ you want to bind to a data source or target, and select the name of the binding you added
+ to the collection.
+
+
+
+
+ You must call when you finish using a
+ object. If you add this object to a Windows form with the Windows
+ Forms Designer, the form calls automatically.
+
+
+
+ 11/5/2008 10:39:09 AM
+ Measurement Studio
+ True
+
+
+
+ Initializes a new instance of .
+
+ 10/30/2002 12:09:03 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of the class
+ with the specified container.
+
+
+ that represents the object container.
+
+ 10/30/2002 12:09:05 PM
+ Beth Parrott
+ True
+
+
+
+ Overrides .
+
+
+ A string representation of the object.
+
+
+ The has been disposed.
+
+ 6/9/2003 10:12:10 AM
+ Beth Parrott
+ True
+
+
+
+ Releases the resources used by object.
+
+
+ If , this method releases managed and unmanaged resources. If , this method releases
+ only unmanaged resources.
+
+
+
+ The public method and the finalizer call this method. The public
+ method invokes the protected Dispose(Boolean) method with
+ set to . The finalizer invokes the protected Dispose(Boolean) method
+ with set to
+ .
+
+
+ When you set the parameter to , this method releases all
+ resources held by managed objects that the object
+ references. This method invokes the method of each referenced object.
+
+
+ 11/21/2002 1:34:57 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:59 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:59 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:58 PM
+ Measurement Studio
+ True
+
+
+
+ Calls the method on all
+ objects in the
+
+ collection.
+
+
+ The has been disposed.
+
+ 6/9/2003 10:12:44 AM
+ Beth Parrott
+ True
+
+
+
+ Calls the method on all
+ objects in the
+ collection.
+
+
+ The has been disposed.
+
+ 6/9/2003 10:12:39 AM
+ Beth Parrott
+ True
+
+
+
+ Calls the method on all
+ objects in the
+ collection.
+
+
+ The has been disposed.
+
+
+ A object in the
+ collection is not connected.
+
+ 6/9/2003 10:12:30 AM
+ Beth Parrott
+ True
+
+
+
+ Raises the event.
+
+
+ A object that contains the event data.
+
+
+ A derived class can override
+ to handle the event without attaching a delegate. This technique is preferred for event handling in a derived class.
+
+
+ 11/21/2002 1:35:16 PM
+ Beth Parrott
+ True
+
+
+
+ Raises the event.
+
+
+ A object that contains the event data.
+
+
+ A derived class can override
+ to handle the event without attaching a delegate. This technique is preferred for event handling in a derived class.
+
+
+ 11/21/2002 1:35:18 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:57 PM
+ Measurement Studio
+ True
+
+
+
+ Occurs when the data of any object in the
+ collection is updated.
+
+ 11/21/2002 1:34:59 PM
+ Beth Parrott
+ True
+
+
+
+ Occurs when the connection status of any object in the
+ collection is updated.
+
+ 11/21/2002 1:35:01 PM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets a value indicating if all bindings in the collection
+ connect to associated data sources or targets when the form loads.
+
+
+ if is called when the form
+ loads. The default value is .
+
+
+ The has been disposed.
+
+
+ If the value of this property is , you must manually call
+ .
+ This property is applicable only to objects that you create on
+ a Windows Form with the Windows Forms Designer.
+
+ 6/20/2006 4:43:06 PM
+ Staci McCormick
+ True
+
+
+
+ Gets the DataSocket object.
+
+
+ A collection of objects. You can use a
+ object to bind Windows Forms control properties to
+ data sources and targets.
+
+
+ The has been disposed.
+
+
+ 6/9/2003 10:11:51 AM
+ Beth Parrott
+ True
+
+
+
+ Provides data for the event.
+
+
+
+ The event is generated when
+ the local value or attributes change. The local
+ value or attributes can change when the data source
+ value or attributes change or when you set the value or attributes on the local
+ object.
+
+
+
+
+ 11/21/2002 1:35:39 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of .
+
+
+ A reference to the that was updated.
+
+ 10/30/2002 12:09:45 PM
+ Beth Parrott
+ True
+
+
+ Overrides .
+ Returns a string representation of the object.
+ 10/30/2002 12:09:46 PM
+ Beth Parrott
+ True
+
+
+
+ Gets a reference to the data that was updated when the event was generated.
+
+
+ A that represents the data
+ that was updated when the event was generated.
+
+ 7/26/2004 10:16:50 AM
+ Whitney Bates
+ True
+
+
+
+ Represents a method that handles the
+ event of a
+ object.
+
+
+ The source of the event.
+
+
+ A object that contains the event data.
+
+
+ 11/21/2002 1:35:47 PM
+ Beth Parrott
+ True
+
+
+
+ Defines valid values for the status subfield of the OPC quality attribute.
+
+ 10/30/2002 12:09:51 PM
+ Beth Parrott
+ True
+
+
+
+ The value is bad.
+
+ 10/30/2002 12:09:56 PM
+ Beth Parrott
+ True
+
+
+
+ The communication failed, and no last known value
+ is available.
+
+ 10/30/2002 12:09:57 PM
+ Beth Parrott
+ True
+
+
+
+ There is a server-specific problem with the configuration.
+
+ 10/30/2002 12:09:59 PM
+ Beth Parrott
+ True
+
+
+
+ A device failure has been detected.
+
+ 10/30/2002 12:10:00 PM
+ Beth Parrott
+ True
+
+
+
+ The value is outside the limits defined for this parameter.
+
+ 10/30/2002 12:10:02 PM
+ Beth Parrott
+ True
+
+
+
+ The value is good.
+
+ 10/30/2002 12:10:04 PM
+ Beth Parrott
+ True
+
+
+
+ Communication has failed, but the last known value is available.
+
+ 10/30/2002 12:10:06 PM
+ Beth Parrott
+ True
+
+
+
+ The value is no longer being written.
+
+ 10/30/2002 12:10:07 PM
+ Beth Parrott
+ True
+
+
+
+ The value has been overridden.
+
+ 10/30/2002 12:10:08 PM
+ Beth Parrott
+ True
+
+
+
+ The input must be logically connected to a server but it
+ is disconnected.
+
+ 10/30/2002 12:10:09 PM
+ Beth Parrott
+ True
+
+
+
+ The block is off scan or locked.
+
+ 10/30/2002 12:10:10 PM
+ Beth Parrott
+ True
+
+
+
+ The value has been pegged at one of the sensor limits or
+ an internal diagnostics has detected that the sensor is out of calibration.
+
+ 10/30/2002 12:10:11 PM
+ Beth Parrott
+ True
+
+
+
+ A sensor failure has been detected.
+
+ 10/30/2002 12:10:12 PM
+ Beth Parrott
+ True
+
+
+
+ The value is derived from multiple sources and has less than the
+ required number of good sources.
+
+ 10/30/2002 12:10:12 PM
+ Beth Parrott
+ True
+
+
+
+ The value cannot be determined.
+
+ 10/30/2002 12:10:13 PM
+ Beth Parrott
+ True
+
+
+
+ Specifies how a object reads data.
+
+ 6/9/2003 10:16:27 AM
+ Beth Parrott
+ True
+
+
+
+ Specifies that raises the
+ event to notify
+ when new data arrives.
+
+ 6/9/2003 10:16:59 AM
+ Beth Parrott
+ True
+
+
+
+ Specifies that you must call
+ to poll and dequeue buffered data into the
+ property. does not raise the
+ event in this mode.
+
+ 6/9/2003 10:17:37 AM
+ Beth Parrott
+ True
+
+
+
+ Controls the behavior of the dialog box that
+ displays.
+
+
+
+ 11/21/2002 1:35:54 PM
+ Beth Parrott
+ True
+
+
+
+ Specifies that dialog box is displayed
+ with the default options.
+
+ 10/30/2002 12:10:16 PM
+ Beth Parrott
+ True
+
+
+
+ Opens a dialog box to prompt the user for permission to create the file if that file
+ does not exist. If the user chooses to create the file, the dialog box closes
+ and the method returns the specified name; otherwise, the dialog box remains open.
+
+ 10/30/2002 12:10:15 PM
+ Beth Parrott
+ True
+
+
+
+ Specifies that the user can enter the names only of existing files in the Filename field.
+ If this flag is specified and the user enters an invalid name, the dialog box
+ displays a warning in a message box.
+
+ 10/30/2002 12:10:17 PM
+ Beth Parrott
+ True
+
+
+
+ Hides the read-only checkbox.
+
+ 10/30/2002 12:10:18 PM
+ Beth Parrott
+ True
+
+
+
+ Restores the current directory to its original value if the user changed the directory
+ while searching for files.
+
+ 10/30/2002 12:10:18 PM
+ Beth Parrott
+ True
+
+
+
+ Directs the dialog box to return the path and filename of the selected shortcut
+ (.lnk) file. If this value is not provided, the dialog box returns the path and
+ filename of the file referenced by the shortcut.
+
+ 11/21/2002 1:35:57 PM
+ Beth Parrott
+ True
+
+
+
+ Specifies that the returned file does not have the read-only checkbox selected and is
+ not in a write-protected directory.
+
+ 10/30/2002 12:10:20 PM
+ Beth Parrott
+ True
+
+
+
+ Specifies that the file is not created before the dialog box is closed. Use this value if the application
+ saves the file on a create-nonmodify network
+ share. When an application specifies this flag,
+ does not check for write protection, a full disk, an open drive door, or network protection.
+ Applications that use this flag must perform file operations carefully because a file
+ cannot be reopened after it is closed.
+
+ 10/30/2002 12:10:21 PM
+ Beth Parrott
+ True
+
+
+
+ Causes the Save As dialog box to generate a message box if the selected file already
+ exists. The user must confirm overwriting the file.
+
+ 10/30/2002 12:10:21 PM
+ Beth Parrott
+ True
+
+
+
+ Specifies that the user can enter only valid paths and filenames. If you use this value and
+ the user enters an invalid path or filename in the Filename field, the dialog box method
+ displays a warning in a message box.
+
+ 10/30/2002 12:10:22 PM
+ Beth Parrott
+ True
+
+
+
+ Causes the read-only checkbox to be checked when the dialog box is created.
+
+ 10/30/2002 12:10:23 PM
+ Beth Parrott
+ True
+
+
+
+ Causes the file dialog box to be a Save As dialog box instead of an Open File
+ dialog box.
+
+ 10/30/2002 12:10:24 PM
+ Beth Parrott
+ True
+
+
+
diff --git a/Axel-hub/Axel-hub/bin/UtilsLib.dll b/Axel-hub/Axel-hub/bin/UtilsLib.dll
index 25940833..b706f387 100644
Binary files a/Axel-hub/Axel-hub/bin/UtilsLib.dll and b/Axel-hub/Axel-hub/bin/UtilsLib.dll differ
diff --git a/Axel-hub/Axel-hub/bin/UtilsLib.pdb b/Axel-hub/Axel-hub/bin/UtilsLib.pdb
index 3d04a085..11b83835 100644
Binary files a/Axel-hub/Axel-hub/bin/UtilsLib.pdb and b/Axel-hub/Axel-hub/bin/UtilsLib.pdb differ
diff --git a/Axel-hub/Axel-hub/bin/scanHub.dll b/Axel-hub/Axel-hub/bin/scanHub.dll
index 7844414a..0c19dbd9 100644
Binary files a/Axel-hub/Axel-hub/bin/scanHub.dll and b/Axel-hub/Axel-hub/bin/scanHub.dll differ
diff --git a/Axel-hub/Axel-hub/bin/scanHub.pdb b/Axel-hub/Axel-hub/bin/scanHub.pdb
index 988c11e1..2ac1fe23 100644
Binary files a/Axel-hub/Axel-hub/bin/scanHub.pdb and b/Axel-hub/Axel-hub/bin/scanHub.pdb differ
diff --git a/Axel-hub/Axel-hub/data/notes.txt b/Axel-hub/Axel-hub/data/notes.txt
index ab2e87ae..b438b40b 100644
--- a/Axel-hub/Axel-hub/data/notes.txt
+++ b/Axel-hub/Axel-hub/data/notes.txt
@@ -1,7 +1,7 @@
-
-gap is still 0
-
-
+
+gap is still 0
+
+
> starting acquisition
> 0.00313; 3.266; 0; 200; 300; 5
> 0.00313; 3.266; 0; 200; 300; 4
@@ -25,4 +25,4 @@ gap is still 0
> 0.00313; 6.9282; 0; 300; 100; 2
> 0.00313; 6.9282; 0; 300; 100; 1
> Ref file: F:\Axel-track\data\17-05-30_16-51-38.log
-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+=-=-=-=-=-=-=-=-=-=-=-=-=-=
diff --git a/Axel-hub/Axel-hub/obj/Debug/App.g.cs b/Axel-hub/Axel-hub/obj/Debug/App.g.cs
index 9df03402..36dba9b5 100644
--- a/Axel-hub/Axel-hub/obj/Debug/App.g.cs
+++ b/Axel-hub/Axel-hub/obj/Debug/App.g.cs
@@ -1,69 +1,69 @@
-#pragma checksum "..\..\App.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "67AD38CCD9933A1E2D451707144B134C"
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-using System;
-using System.Diagnostics;
-using System.Windows;
-using System.Windows.Automation;
-using System.Windows.Controls;
-using System.Windows.Controls.Primitives;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Ink;
-using System.Windows.Input;
-using System.Windows.Markup;
-using System.Windows.Media;
-using System.Windows.Media.Animation;
-using System.Windows.Media.Effects;
-using System.Windows.Media.Imaging;
-using System.Windows.Media.Media3D;
-using System.Windows.Media.TextFormatting;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
-using System.Windows.Shell;
-
-
-namespace Axel_boss {
-
-
- ///
- /// App
- ///
- public partial class App : System.Windows.Application {
-
- ///
- /// InitializeComponent
- ///
- [System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
- public void InitializeComponent() {
-
- #line 4 "..\..\App.xaml"
- this.StartupUri = new System.Uri("MainWindow.xaml", System.UriKind.Relative);
-
- #line default
- #line hidden
- }
-
- ///
- /// Application Entry Point.
- ///
- [System.STAThreadAttribute()]
- [System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
- public static void Main() {
- Axel_boss.App app = new Axel_boss.App();
- app.InitializeComponent();
- app.Run();
- }
- }
-}
-
+#pragma checksum "..\..\App.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "67AD38CCD9933A1E2D451707144B134C"
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using System;
+using System.Diagnostics;
+using System.Windows;
+using System.Windows.Automation;
+using System.Windows.Controls;
+using System.Windows.Controls.Primitives;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Ink;
+using System.Windows.Input;
+using System.Windows.Markup;
+using System.Windows.Media;
+using System.Windows.Media.Animation;
+using System.Windows.Media.Effects;
+using System.Windows.Media.Imaging;
+using System.Windows.Media.Media3D;
+using System.Windows.Media.TextFormatting;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using System.Windows.Shell;
+
+
+namespace Axel_boss {
+
+
+ ///
+ /// App
+ ///
+ public partial class App : System.Windows.Application {
+
+ ///
+ /// InitializeComponent
+ ///
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
+ public void InitializeComponent() {
+
+ #line 4 "..\..\App.xaml"
+ this.StartupUri = new System.Uri("MainWindow.xaml", System.UriKind.Relative);
+
+ #line default
+ #line hidden
+ }
+
+ ///
+ /// Application Entry Point.
+ ///
+ [System.STAThreadAttribute()]
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
+ public static void Main() {
+ Axel_boss.App app = new Axel_boss.App();
+ app.InitializeComponent();
+ app.Run();
+ }
+ }
+}
+
diff --git a/Axel-hub/Axel-hub/obj/Debug/App.g.i.cs b/Axel-hub/Axel-hub/obj/Debug/App.g.i.cs
index 9df03402..36dba9b5 100644
--- a/Axel-hub/Axel-hub/obj/Debug/App.g.i.cs
+++ b/Axel-hub/Axel-hub/obj/Debug/App.g.i.cs
@@ -1,69 +1,69 @@
-#pragma checksum "..\..\App.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "67AD38CCD9933A1E2D451707144B134C"
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-using System;
-using System.Diagnostics;
-using System.Windows;
-using System.Windows.Automation;
-using System.Windows.Controls;
-using System.Windows.Controls.Primitives;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Ink;
-using System.Windows.Input;
-using System.Windows.Markup;
-using System.Windows.Media;
-using System.Windows.Media.Animation;
-using System.Windows.Media.Effects;
-using System.Windows.Media.Imaging;
-using System.Windows.Media.Media3D;
-using System.Windows.Media.TextFormatting;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
-using System.Windows.Shell;
-
-
-namespace Axel_boss {
-
-
- ///
- /// App
- ///
- public partial class App : System.Windows.Application {
-
- ///
- /// InitializeComponent
- ///
- [System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
- public void InitializeComponent() {
-
- #line 4 "..\..\App.xaml"
- this.StartupUri = new System.Uri("MainWindow.xaml", System.UriKind.Relative);
-
- #line default
- #line hidden
- }
-
- ///
- /// Application Entry Point.
- ///
- [System.STAThreadAttribute()]
- [System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
- public static void Main() {
- Axel_boss.App app = new Axel_boss.App();
- app.InitializeComponent();
- app.Run();
- }
- }
-}
-
+#pragma checksum "..\..\App.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "67AD38CCD9933A1E2D451707144B134C"
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using System;
+using System.Diagnostics;
+using System.Windows;
+using System.Windows.Automation;
+using System.Windows.Controls;
+using System.Windows.Controls.Primitives;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Ink;
+using System.Windows.Input;
+using System.Windows.Markup;
+using System.Windows.Media;
+using System.Windows.Media.Animation;
+using System.Windows.Media.Effects;
+using System.Windows.Media.Imaging;
+using System.Windows.Media.Media3D;
+using System.Windows.Media.TextFormatting;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using System.Windows.Shell;
+
+
+namespace Axel_boss {
+
+
+ ///
+ /// App
+ ///
+ public partial class App : System.Windows.Application {
+
+ ///
+ /// InitializeComponent
+ ///
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
+ public void InitializeComponent() {
+
+ #line 4 "..\..\App.xaml"
+ this.StartupUri = new System.Uri("MainWindow.xaml", System.UriKind.Relative);
+
+ #line default
+ #line hidden
+ }
+
+ ///
+ /// Application Entry Point.
+ ///
+ [System.STAThreadAttribute()]
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
+ public static void Main() {
+ Axel_boss.App app = new Axel_boss.App();
+ app.InitializeComponent();
+ app.Run();
+ }
+ }
+}
+
diff --git a/Axel-hub/Axel-hub/obj/Debug/Axel-boss.csproj.FileListAbsolute.txt b/Axel-hub/Axel-hub/obj/Debug/Axel-boss.csproj.FileListAbsolute.txt
index 82e8c845..24ff5d3d 100644
--- a/Axel-hub/Axel-hub/obj/Debug/Axel-boss.csproj.FileListAbsolute.txt
+++ b/Axel-hub/Axel-hub/obj/Debug/Axel-boss.csproj.FileListAbsolute.txt
@@ -1,97 +1,97 @@
-E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\MainWindow.baml
-E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\MainWindow.g.cs
-E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\App.g.cs
-E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\Axel-boss_MarkupCompile.cache
-E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\Axel-boss.g.resources
-E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\Axel_boss.Properties.Resources.resources
-E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\Axel-boss.csproj.GenerateResource.Cache
-E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\Axel-boss.exe.licenses
-E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\Axel-boss.exe
-E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\Axel-boss.pdb
-E:\VSprojects\Axel-boss\Axel-boss\bin\Axel-boss.exe
-E:\VSprojects\Axel-boss\Axel-boss\bin\Axel-boss.pdb
-E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\Axel-boss.csprojResolveAssemblyReference.cache
-C:\Software\Axel-boss2\Axel-boss\obj\Debug\Axel-boss.exe
-C:\Software\Axel-boss2\Axel-boss\obj\Debug\Axel-boss.pdb
-C:\Software\Axel-boss2\Axel-boss\obj\Debug\Axel-boss.csprojResolveAssemblyReference.cache
-C:\Software\Axel-boss2\Axel-boss\obj\Debug\MainWindow.baml
-C:\Software\Axel-boss2\Axel-boss\obj\Debug\MainWindow.g.cs
-C:\Software\Axel-boss2\Axel-boss\obj\Debug\App.g.cs
-C:\Software\Axel-boss2\Axel-boss\obj\Debug\Axel-boss_MarkupCompile.cache
-C:\Software\Axel-boss2\Axel-boss\obj\Debug\Axel-boss.g.resources
-C:\Software\Axel-boss2\Axel-boss\obj\Debug\Axel_boss.Properties.Resources.resources
-C:\Software\Axel-boss2\Axel-boss\obj\Debug\Axel-boss.csproj.GenerateResource.Cache
-C:\Software\Axel-boss2\Axel-boss\obj\Debug\Axel-boss.exe.licenses
-C:\Software\Axel-boss2\Axel-boss\bin\Axel-boss.exe
-C:\Software\Axel-boss2\Axel-boss\bin\Axel-boss.pdb
-C:\Software\Axel-boss2\Axel-boss\bin\AxelChart.pdb
-C:\Software\Axel-boss2\Axel-boss\bin\scanUC.pdb
-C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.exe
-C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.pdb
-C:\Axel-Suite\Axel-boss\Axel-boss\bin\Axel-boss.exe
-C:\Axel-Suite\Axel-boss\Axel-boss\bin\Axel-boss.pdb
-C:\Axel-Suite\Axel-boss\Axel-boss\bin\AxelChart.pdb
-C:\Axel-Suite\Axel-boss\Axel-boss\bin\scanUC.pdb
-C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.csprojResolveAssemblyReference.cache
-C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\MainWindow.baml
-C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\MainWindow.g.cs
-C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\App.g.cs
-C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\Axel-boss_MarkupCompile.cache
-C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.g.resources
-C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\Axel_boss.Properties.Resources.resources
-C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.csproj.GenerateResource.Cache
-C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.exe.licenses
-E:\VSprojects\Axel-boss\Axel-boss\bin\UtilsLib.dll
-E:\VSprojects\Axel-boss\Axel-boss\bin\UtilsLib.pdb
-F:\Axel-boss\Axel-boss\obj\Debug\Axel-boss.exe
-F:\Axel-boss\Axel-boss\obj\Debug\Axel-boss.pdb
-F:\Axel-boss\Axel-boss\bin\Axel-boss.exe
-F:\Axel-boss\Axel-boss\bin\Axel-boss.pdb
-F:\Axel-boss\Axel-boss\bin\UtilsLib.dll
-F:\Axel-boss\Axel-boss\bin\AxelChart.pdb
-F:\Axel-boss\Axel-boss\bin\scanUC.pdb
-F:\Axel-boss\Axel-boss\bin\UtilsLib.pdb
-F:\Axel-boss\Axel-boss\obj\Debug\Axel-boss.csprojResolveAssemblyReference.cache
-F:\Axel-boss\Axel-boss\obj\Debug\MainWindow.baml
-F:\Axel-boss\Axel-boss\obj\Debug\MainWindow.g.cs
-F:\Axel-boss\Axel-boss\obj\Debug\App.g.cs
-F:\Axel-boss\Axel-boss\obj\Debug\Axel-boss_MarkupCompile.cache
-F:\Axel-boss\Axel-boss\obj\Debug\Axel-boss.g.resources
-F:\Axel-boss\Axel-boss\obj\Debug\Axel_boss.Properties.Resources.resources
-F:\Axel-boss\Axel-boss\obj\Debug\Axel-boss.csproj.GenerateResource.Cache
-F:\Axel-boss\Axel-boss\obj\Debug\Axel-boss.exe.licenses
-E:\VSprojects\Axel-boss\Axel-boss\bin\AxelChart.pdb
-E:\VSprojects\Axel-boss\Axel-boss\bin\scanUC.pdb
-E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.exe
-E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.pdb
-E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\bin\Axel-boss.exe
-E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\bin\Axel-boss.pdb
-E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\bin\AxelChart.pdb
-E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\bin\scanUC.pdb
-E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\bin\UtilsLib.pdb
-E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.csprojResolveAssemblyReference.cache
-E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\MainWindow.baml
-E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\MainWindow.g.cs
-E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\App.g.cs
-E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\Axel-boss_MarkupCompile.cache
-E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.g.resources
-E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\Axel_boss.Properties.Resources.resources
-E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.csproj.GenerateResource.Cache
-E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.exe.licenses
-E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\Axel-boss.exe
-E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\Axel-boss.pdb
-E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\Axel-boss.csprojResolveAssemblyReference.cache
-E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\MainWindow.baml
-E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\MainWindow.g.cs
-E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\App.g.cs
-E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\Axel-boss_MarkupCompile.cache
-E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\Axel-boss.g.resources
-E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\Axel_boss.Properties.Resources.resources
-E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\Axel-boss.csproj.GenerateResource.Cache
-E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\Axel-boss.exe.licenses
-E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\bin\Axel-boss.exe
-E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\bin\Axel-boss.pdb
-E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\bin\AxelChart.dll
-E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\bin\AxelChart.pdb
-E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\bin\scanUC.pdb
-E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\bin\UtilsLib.pdb
+E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\MainWindow.baml
+E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\MainWindow.g.cs
+E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\App.g.cs
+E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\Axel-boss_MarkupCompile.cache
+E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\Axel-boss.g.resources
+E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\Axel_boss.Properties.Resources.resources
+E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\Axel-boss.csproj.GenerateResource.Cache
+E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\Axel-boss.exe.licenses
+E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\Axel-boss.exe
+E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\Axel-boss.pdb
+E:\VSprojects\Axel-boss\Axel-boss\bin\Axel-boss.exe
+E:\VSprojects\Axel-boss\Axel-boss\bin\Axel-boss.pdb
+E:\VSprojects\Axel-boss\Axel-boss\obj\Debug\Axel-boss.csprojResolveAssemblyReference.cache
+C:\Software\Axel-boss2\Axel-boss\obj\Debug\Axel-boss.exe
+C:\Software\Axel-boss2\Axel-boss\obj\Debug\Axel-boss.pdb
+C:\Software\Axel-boss2\Axel-boss\obj\Debug\Axel-boss.csprojResolveAssemblyReference.cache
+C:\Software\Axel-boss2\Axel-boss\obj\Debug\MainWindow.baml
+C:\Software\Axel-boss2\Axel-boss\obj\Debug\MainWindow.g.cs
+C:\Software\Axel-boss2\Axel-boss\obj\Debug\App.g.cs
+C:\Software\Axel-boss2\Axel-boss\obj\Debug\Axel-boss_MarkupCompile.cache
+C:\Software\Axel-boss2\Axel-boss\obj\Debug\Axel-boss.g.resources
+C:\Software\Axel-boss2\Axel-boss\obj\Debug\Axel_boss.Properties.Resources.resources
+C:\Software\Axel-boss2\Axel-boss\obj\Debug\Axel-boss.csproj.GenerateResource.Cache
+C:\Software\Axel-boss2\Axel-boss\obj\Debug\Axel-boss.exe.licenses
+C:\Software\Axel-boss2\Axel-boss\bin\Axel-boss.exe
+C:\Software\Axel-boss2\Axel-boss\bin\Axel-boss.pdb
+C:\Software\Axel-boss2\Axel-boss\bin\AxelChart.pdb
+C:\Software\Axel-boss2\Axel-boss\bin\scanUC.pdb
+C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.exe
+C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.pdb
+C:\Axel-Suite\Axel-boss\Axel-boss\bin\Axel-boss.exe
+C:\Axel-Suite\Axel-boss\Axel-boss\bin\Axel-boss.pdb
+C:\Axel-Suite\Axel-boss\Axel-boss\bin\AxelChart.pdb
+C:\Axel-Suite\Axel-boss\Axel-boss\bin\scanUC.pdb
+C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.csprojResolveAssemblyReference.cache
+C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\MainWindow.baml
+C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\MainWindow.g.cs
+C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\App.g.cs
+C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\Axel-boss_MarkupCompile.cache
+C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.g.resources
+C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\Axel_boss.Properties.Resources.resources
+C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.csproj.GenerateResource.Cache
+C:\Axel-Suite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.exe.licenses
+E:\VSprojects\Axel-boss\Axel-boss\bin\UtilsLib.dll
+E:\VSprojects\Axel-boss\Axel-boss\bin\UtilsLib.pdb
+F:\Axel-boss\Axel-boss\obj\Debug\Axel-boss.exe
+F:\Axel-boss\Axel-boss\obj\Debug\Axel-boss.pdb
+F:\Axel-boss\Axel-boss\bin\Axel-boss.exe
+F:\Axel-boss\Axel-boss\bin\Axel-boss.pdb
+F:\Axel-boss\Axel-boss\bin\UtilsLib.dll
+F:\Axel-boss\Axel-boss\bin\AxelChart.pdb
+F:\Axel-boss\Axel-boss\bin\scanUC.pdb
+F:\Axel-boss\Axel-boss\bin\UtilsLib.pdb
+F:\Axel-boss\Axel-boss\obj\Debug\Axel-boss.csprojResolveAssemblyReference.cache
+F:\Axel-boss\Axel-boss\obj\Debug\MainWindow.baml
+F:\Axel-boss\Axel-boss\obj\Debug\MainWindow.g.cs
+F:\Axel-boss\Axel-boss\obj\Debug\App.g.cs
+F:\Axel-boss\Axel-boss\obj\Debug\Axel-boss_MarkupCompile.cache
+F:\Axel-boss\Axel-boss\obj\Debug\Axel-boss.g.resources
+F:\Axel-boss\Axel-boss\obj\Debug\Axel_boss.Properties.Resources.resources
+F:\Axel-boss\Axel-boss\obj\Debug\Axel-boss.csproj.GenerateResource.Cache
+F:\Axel-boss\Axel-boss\obj\Debug\Axel-boss.exe.licenses
+E:\VSprojects\Axel-boss\Axel-boss\bin\AxelChart.pdb
+E:\VSprojects\Axel-boss\Axel-boss\bin\scanUC.pdb
+E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.exe
+E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.pdb
+E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\bin\Axel-boss.exe
+E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\bin\Axel-boss.pdb
+E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\bin\AxelChart.pdb
+E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\bin\scanUC.pdb
+E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\bin\UtilsLib.pdb
+E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.csprojResolveAssemblyReference.cache
+E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\MainWindow.baml
+E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\MainWindow.g.cs
+E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\App.g.cs
+E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\Axel-boss_MarkupCompile.cache
+E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.g.resources
+E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\Axel_boss.Properties.Resources.resources
+E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.csproj.GenerateResource.Cache
+E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\obj\Debug\Axel-boss.exe.licenses
+E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\Axel-boss.exe
+E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\Axel-boss.pdb
+E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\Axel-boss.csprojResolveAssemblyReference.cache
+E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\MainWindow.baml
+E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\MainWindow.g.cs
+E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\App.g.cs
+E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\Axel-boss_MarkupCompile.cache
+E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\Axel-boss.g.resources
+E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\Axel_boss.Properties.Resources.resources
+E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\Axel-boss.csproj.GenerateResource.Cache
+E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\Axel-boss.exe.licenses
+E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\bin\Axel-boss.exe
+E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\bin\Axel-boss.pdb
+E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\bin\AxelChart.dll
+E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\bin\AxelChart.pdb
+E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\bin\scanUC.pdb
+E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\bin\UtilsLib.pdb
diff --git a/Axel-hub/Axel-hub/obj/Debug/Axel-boss_Content.g.i.cs b/Axel-hub/Axel-hub/obj/Debug/Axel-boss_Content.g.i.cs
index f4bf1462..1c641d85 100644
--- a/Axel-hub/Axel-hub/obj/Debug/Axel-boss_Content.g.i.cs
+++ b/Axel-hub/Axel-hub/obj/Debug/Axel-boss_Content.g.i.cs
@@ -1,13 +1,13 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-[assembly: System.Windows.Resources.AssemblyAssociatedContentFileAttribute("speed1.ico")]
-
-
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+[assembly: System.Windows.Resources.AssemblyAssociatedContentFileAttribute("speed1.ico")]
+
+
diff --git a/Axel-hub/Axel-hub/obj/Debug/Axel-boss_MarkupCompile.i.cache b/Axel-hub/Axel-hub/obj/Debug/Axel-boss_MarkupCompile.i.cache
index a3529888..2e55b1d7 100644
--- a/Axel-hub/Axel-hub/obj/Debug/Axel-boss_MarkupCompile.i.cache
+++ b/Axel-hub/Axel-hub/obj/Debug/Axel-boss_MarkupCompile.i.cache
@@ -1,20 +1,20 @@
-Axel-boss
-
-
-winexe
-C#
-.cs
-E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\
-Axel_boss
-none
-false
-DEBUG;TRACE
-E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\App.xaml
-11151548125
-
-10-1068084671
-29347902922
-MainWindow.xaml;
-
-False
-
+Axel-boss
+
+
+winexe
+C#
+.cs
+E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\
+Axel_boss
+none
+false
+DEBUG;TRACE
+E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\App.xaml
+11151548125
+
+10-1068084671
+29347902922
+MainWindow.xaml;
+
+False
+
diff --git a/Axel-hub/Axel-hub/obj/Debug/Axel-hub.csproj.FileListAbsolute.txt b/Axel-hub/Axel-hub/obj/Debug/Axel-hub.csproj.FileListAbsolute.txt
index e3ccf26b..f5412d0f 100644
--- a/Axel-hub/Axel-hub/obj/Debug/Axel-hub.csproj.FileListAbsolute.txt
+++ b/Axel-hub/Axel-hub/obj/Debug/Axel-hub.csproj.FileListAbsolute.txt
@@ -1,38 +1,87 @@
-E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\bin\AxelChart.dll
-E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\bin\AxelChart.pdb
-E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\bin\UtilsLib.pdb
-E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\Axel-hub.csprojResolveAssemblyReference.cache
-E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\MainWindow.baml
-E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\MainWindow.g.cs
-E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\App.g.cs
-E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\Axel-hub.csproj.GenerateResource.Cache
-E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\bin\UtilsLib.dll
-E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\bin\scanUC.dll
-E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\bin\scanUC.pdb
-E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\bin\Axel-hub.exe
-E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\bin\Axel-hub.pdb
-E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\Axel-hub_MarkupCompile.cache
-E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\Axel-hub.g.resources
-E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\Axel_hub.Properties.Resources.resources
-E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\Axel-hub.exe.licenses
-E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\Axel-hub.exe
-E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\Axel-hub.pdb
-E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\bin\Axel-hub.exe
-E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\bin\Axel-hub.pdb
-E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\bin\AxelChart.dll
-E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\bin\UtilsLib.dll
-E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\bin\AxelChart.pdb
-E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\bin\UtilsLib.pdb
-E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\obj\Debug\Axel-hub.csprojResolveAssemblyReference.cache
-E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\obj\Debug\MainWindow.baml
-E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\obj\Debug\MainWindow.g.cs
-E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\obj\Debug\App.g.cs
-E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\obj\Debug\Axel-hub_MarkupCompile.cache
-E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\obj\Debug\Axel-hub.g.resources
-E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\obj\Debug\Axel_hub.Properties.Resources.resources
-E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\obj\Debug\Axel-hub.csproj.GenerateResource.Cache
-E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\obj\Debug\Axel-hub.exe.licenses
-E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\obj\Debug\Axel-hub.exe
-E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\obj\Debug\Axel-hub.pdb
-E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\bin\scanHub.dll
-E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\bin\scanHub.pdb
+E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\bin\AxelChart.dll
+E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\bin\AxelChart.pdb
+E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\bin\UtilsLib.pdb
+E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\Axel-hub.csprojResolveAssemblyReference.cache
+E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\MainWindow.baml
+E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\MainWindow.g.cs
+E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\App.g.cs
+E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\Axel-hub.csproj.GenerateResource.Cache
+E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\bin\UtilsLib.dll
+E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\bin\scanUC.dll
+E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\bin\scanUC.pdb
+E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\bin\Axel-hub.exe
+E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\bin\Axel-hub.pdb
+E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\Axel-hub_MarkupCompile.cache
+E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\Axel-hub.g.resources
+E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\Axel_hub.Properties.Resources.resources
+E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\Axel-hub.exe.licenses
+E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\Axel-hub.exe
+E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\obj\Debug\Axel-hub.pdb
+E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\bin\Axel-hub.exe
+E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\bin\Axel-hub.pdb
+E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\bin\UtilsLib.dll
+E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\bin\AxelChart.pdb
+E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\bin\UtilsLib.pdb
+E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\obj\Debug\MainWindow.baml
+E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\obj\Debug\MainWindow.g.cs
+E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\obj\Debug\App.g.cs
+E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\obj\Debug\Axel-hub_MarkupCompile.cache
+E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\obj\Debug\Axel-hub.g.resources
+E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\obj\Debug\Axel_hub.Properties.Resources.resources
+E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\obj\Debug\Axel-hub.csproj.GenerateResource.Cache
+E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\obj\Debug\Axel-hub.exe.licenses
+E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\obj\Debug\Axel-hub.exe
+E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\obj\Debug\Axel-hub.pdb
+E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\bin\scanHub.pdb
+E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\bin\DataStructures.dll
+E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\bin\scanHub.dll
+E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\bin\dotMath.dll
+E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\bin\DataStructures.pdb
+E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\obj\Debug\Axel-hub.csprojResolveAssemblyReference.cache
+E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\bin\AxelChart.dll
+D:\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\obj\Debug\Axel-hub.exe
+D:\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\obj\Debug\Axel-hub.pdb
+D:\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\bin\Axel-hub.exe
+D:\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\bin\Axel-hub.pdb
+D:\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\bin\AxelChart.dll
+D:\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\bin\DataStructures.dll
+D:\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\bin\scanHub.dll
+D:\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\bin\UtilsLib.dll
+D:\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\bin\MySql.Data.dll
+D:\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\bin\dotMath.dll
+D:\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\bin\AxelChart.pdb
+D:\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\bin\DataStructures.pdb
+D:\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\bin\scanHub.pdb
+D:\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\bin\UtilsLib.pdb
+D:\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\obj\Debug\Axel-hub.csprojResolveAssemblyReference.cache
+D:\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\obj\Debug\MainWindow.baml
+D:\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\obj\Debug\MainWindow.g.cs
+D:\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\obj\Debug\App.g.cs
+D:\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\obj\Debug\Axel-hub_MarkupCompile.cache
+D:\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\obj\Debug\Axel-hub.g.resources
+D:\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\obj\Debug\Axel_hub.Properties.Resources.resources
+D:\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\obj\Debug\Axel-hub.csproj.GenerateResource.Cache
+D:\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\obj\Debug\Axel-hub.exe.licenses
+C:\Users\Navigator\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\obj\Debug\Axel-hub.exe
+C:\Users\Navigator\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\obj\Debug\Axel-hub.pdb
+C:\Users\Navigator\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\bin\Axel-hub.exe
+C:\Users\Navigator\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\bin\Axel-hub.pdb
+C:\Users\Navigator\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\bin\AxelChart.dll
+C:\Users\Navigator\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\bin\DataStructures.dll
+C:\Users\Navigator\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\bin\scanHub.dll
+C:\Users\Navigator\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\bin\UtilsLib.dll
+C:\Users\Navigator\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\bin\MySql.Data.dll
+C:\Users\Navigator\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\bin\dotMath.dll
+C:\Users\Navigator\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\bin\AxelChart.pdb
+C:\Users\Navigator\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\bin\DataStructures.pdb
+C:\Users\Navigator\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\bin\scanHub.pdb
+C:\Users\Navigator\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\bin\UtilsLib.pdb
+C:\Users\Navigator\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\obj\Debug\Axel-hub.csprojResolveAssemblyReference.cache
+C:\Users\Navigator\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\obj\Debug\MainWindow.baml
+C:\Users\Navigator\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\obj\Debug\MainWindow.g.cs
+C:\Users\Navigator\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\obj\Debug\App.g.cs
+C:\Users\Navigator\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\obj\Debug\Axel-hub_MarkupCompile.cache
+C:\Users\Navigator\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\obj\Debug\Axel-hub.g.resources
+C:\Users\Navigator\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\obj\Debug\Axel_hub.Properties.Resources.resources
+C:\Users\Navigator\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\obj\Debug\Axel-hub.csproj.GenerateResource.Cache
+C:\Users\Navigator\Dropbox\PhDWork\Software\AxelSuite\Axel-hub\Axel-hub\obj\Debug\Axel-hub.exe.licenses
diff --git a/Axel-hub/Axel-hub/obj/Debug/Axel-hub.csproj.GenerateResource.Cache b/Axel-hub/Axel-hub/obj/Debug/Axel-hub.csproj.GenerateResource.Cache
index ba96bc54..02c3b46a 100644
Binary files a/Axel-hub/Axel-hub/obj/Debug/Axel-hub.csproj.GenerateResource.Cache and b/Axel-hub/Axel-hub/obj/Debug/Axel-hub.csproj.GenerateResource.Cache differ
diff --git a/Axel-hub/Axel-hub/obj/Debug/Axel-hub.csprojResolveAssemblyReference.cache b/Axel-hub/Axel-hub/obj/Debug/Axel-hub.csprojResolveAssemblyReference.cache
index b72f937a..4f4bf3fd 100644
Binary files a/Axel-hub/Axel-hub/obj/Debug/Axel-hub.csprojResolveAssemblyReference.cache and b/Axel-hub/Axel-hub/obj/Debug/Axel-hub.csprojResolveAssemblyReference.cache differ
diff --git a/Axel-hub/Axel-hub/obj/Debug/Axel-hub.exe b/Axel-hub/Axel-hub/obj/Debug/Axel-hub.exe
index 72b4b799..4064b43e 100644
Binary files a/Axel-hub/Axel-hub/obj/Debug/Axel-hub.exe and b/Axel-hub/Axel-hub/obj/Debug/Axel-hub.exe differ
diff --git a/Axel-hub/Axel-hub/obj/Debug/Axel-hub.g.resources b/Axel-hub/Axel-hub/obj/Debug/Axel-hub.g.resources
index e5aa71b9..90b692a4 100644
Binary files a/Axel-hub/Axel-hub/obj/Debug/Axel-hub.g.resources and b/Axel-hub/Axel-hub/obj/Debug/Axel-hub.g.resources differ
diff --git a/Axel-hub/Axel-hub/obj/Debug/Axel-hub.pdb b/Axel-hub/Axel-hub/obj/Debug/Axel-hub.pdb
index 616eb183..a69293c3 100644
Binary files a/Axel-hub/Axel-hub/obj/Debug/Axel-hub.pdb and b/Axel-hub/Axel-hub/obj/Debug/Axel-hub.pdb differ
diff --git a/Axel-hub/Axel-hub/obj/Debug/Axel-hub_Content.g.i.cs b/Axel-hub/Axel-hub/obj/Debug/Axel-hub_Content.g.i.cs
index d5d9c6ae..fc1a1aa7 100644
--- a/Axel-hub/Axel-hub/obj/Debug/Axel-hub_Content.g.i.cs
+++ b/Axel-hub/Axel-hub/obj/Debug/Axel-hub_Content.g.i.cs
@@ -1,13 +1,13 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-[assembly: System.Windows.Resources.AssemblyAssociatedContentFileAttribute("rocket1.ico")]
-
-
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+[assembly: System.Windows.Resources.AssemblyAssociatedContentFileAttribute("rocket1.ico")]
+
+
diff --git a/Axel-hub/Axel-hub/obj/Debug/Axel-hub_MarkupCompile.cache b/Axel-hub/Axel-hub/obj/Debug/Axel-hub_MarkupCompile.cache
index 8e9ed768..bbb815af 100644
--- a/Axel-hub/Axel-hub/obj/Debug/Axel-hub_MarkupCompile.cache
+++ b/Axel-hub/Axel-hub/obj/Debug/Axel-hub_MarkupCompile.cache
@@ -1,20 +1,20 @@
-Axel-hub
-
-
-winexe
-C#
-.cs
-E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\obj\Debug\
-Axel_hub
-none
-false
-DEBUG;TRACE
-E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\App.xaml
-11151548125
-
-61551966620
-29-1938304399
-MainWindow.xaml;
-
-False
-
+Axel-hub
+
+
+winexe
+C#
+.cs
+E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\obj\Debug\
+Axel_hub
+none
+false
+DEBUG;TRACE
+E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\App.xaml
+11151548125
+
+8-1889144218
+31-360911810
+MainWindow.xaml;
+
+False
+
diff --git a/Axel-hub/Axel-hub/obj/Debug/Axel-hub_MarkupCompile.i.cache b/Axel-hub/Axel-hub/obj/Debug/Axel-hub_MarkupCompile.i.cache
index b7c2fde1..c0451c33 100644
--- a/Axel-hub/Axel-hub/obj/Debug/Axel-hub_MarkupCompile.i.cache
+++ b/Axel-hub/Axel-hub/obj/Debug/Axel-hub_MarkupCompile.i.cache
@@ -1,20 +1,20 @@
-Axel-hub
-
-
-winexe
-C#
-.cs
-E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\obj\Debug\
-Axel_hub
-none
-false
-DEBUG;TRACE
-E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\App.xaml
-11151548125
-
-101441619033
-29-1938304399
-MainWindow.xaml;
-
-False
-
+Axel-hub
+
+
+winexe
+C#
+.cs
+E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\obj\Debug\
+Axel_hub
+none
+false
+DEBUG;TRACE
+E:\VSprojects\AxelSuite\Axel-hub\Axel-hub\App.xaml
+11151548125
+
+12-1999491805
+31-360911810
+MainWindow.xaml;
+
+False
+
diff --git a/Axel-hub/Axel-hub/obj/Debug/CoreCompileInputs.cache b/Axel-hub/Axel-hub/obj/Debug/CoreCompileInputs.cache
index fe42d441..345bb39f 100644
--- a/Axel-hub/Axel-hub/obj/Debug/CoreCompileInputs.cache
+++ b/Axel-hub/Axel-hub/obj/Debug/CoreCompileInputs.cache
@@ -1 +1 @@
-30d99477857fd4ae64d67653c4c82853c00fd5c3
+30d99477857fd4ae64d67653c4c82853c00fd5c3
diff --git a/Axel-hub/Axel-hub/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/Axel-hub/Axel-hub/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
index deb6648a..a9f74fa9 100644
Binary files a/Axel-hub/Axel-hub/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache and b/Axel-hub/Axel-hub/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ
diff --git a/Axel-hub/Axel-hub/obj/Debug/MainWindow.baml b/Axel-hub/Axel-hub/obj/Debug/MainWindow.baml
index 04061d24..4dca856a 100644
Binary files a/Axel-hub/Axel-hub/obj/Debug/MainWindow.baml and b/Axel-hub/Axel-hub/obj/Debug/MainWindow.baml differ
diff --git a/Axel-hub/Axel-hub/obj/Debug/MainWindow.g.cs b/Axel-hub/Axel-hub/obj/Debug/MainWindow.g.cs
index 0ccab656..235c32fa 100644
--- a/Axel-hub/Axel-hub/obj/Debug/MainWindow.g.cs
+++ b/Axel-hub/Axel-hub/obj/Debug/MainWindow.g.cs
@@ -1,529 +1,579 @@
-#pragma checksum "..\..\MainWindow.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "FFF0B03B2D4B224F8CE535D08D5DE3A0"
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-using AxelChartNS;
-using NationalInstruments.Controls;
-using NationalInstruments.Controls.Rendering;
-using System;
-using System.Diagnostics;
-using System.Windows;
-using System.Windows.Automation;
-using System.Windows.Controls;
-using System.Windows.Controls.Primitives;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Ink;
-using System.Windows.Input;
-using System.Windows.Markup;
-using System.Windows.Media;
-using System.Windows.Media.Animation;
-using System.Windows.Media.Effects;
-using System.Windows.Media.Imaging;
-using System.Windows.Media.Media3D;
-using System.Windows.Media.TextFormatting;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
-using System.Windows.Shell;
-using scanHub;
-
-
-namespace Axel_hub {
-
-
- ///
- /// MainWindow
- ///
- public partial class MainWindow : System.Windows.Window, System.Windows.Markup.IComponentConnector {
-
-
- #line 1 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal Axel_hub.MainWindow frmAxelHub;
-
- #line default
- #line hidden
-
-
- #line 8 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Grid gridMain;
-
- #line default
- #line hidden
-
-
- #line 14 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Grid gridLeft;
-
- #line default
- #line hidden
-
-
- #line 19 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal scanHub.scanClass ucScan1;
-
- #line default
- #line hidden
-
-
- #line 20 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TextBox tbLog;
-
- #line default
- #line hidden
-
-
- #line 23 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Grid gridRight;
-
- #line default
- #line hidden
-
-
- #line 25 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.RowDefinition rowUpperChart;
-
- #line default
- #line hidden
-
-
- #line 26 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.RowDefinition rowMiddleChart;
-
- #line default
- #line hidden
-
-
- #line 27 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.RowDefinition rowLowerChart;
-
- #line default
- #line hidden
-
-
- #line 30 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.GridSplitter splitDown;
-
- #line default
- #line hidden
-
-
- #line 32 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal AxelChartNS.AxelChartClass AxelChart1;
-
- #line default
- #line hidden
-
-
- #line 34 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Grid gridMiddle;
-
- #line default
- #line hidden
-
-
- #line 35 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TabControl tabSecPlots;
-
- #line default
- #line hidden
-
-
- #line 37 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TabItem tabAcceleration;
-
- #line default
- #line hidden
-
-
- #line 39 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.GraphInteractionPalette interatctionOverview;
-
- #line default
- #line hidden
-
-
- #line 40 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.Graph graphAcceleration;
-
- #line default
- #line hidden
-
-
- #line 56 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TabItem tabVelocity;
-
- #line default
- #line hidden
-
-
- #line 59 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.GraphInteractionPalette interactionPower;
-
- #line default
- #line hidden
-
-
- #line 60 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.Graph graphVelocity;
-
- #line default
- #line hidden
-
-
- #line 72 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TabItem tabDistance;
-
- #line default
- #line hidden
-
-
- #line 74 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.GraphInteractionPalette interactionHisto;
-
- #line default
- #line hidden
-
-
- #line 75 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.Graph graphDistance;
-
- #line default
- #line hidden
-
-
- #line 97 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Button btnOpen;
-
- #line default
- #line hidden
-
-
- #line 98 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Button btnSaveAs;
-
- #line default
- #line hidden
-
-
- #line 101 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Button btnClear;
-
- #line default
- #line hidden
-
-
- #line 105 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.GroupBox groupStat;
-
- #line default
- #line hidden
-
-
- #line 108 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TextBox tbRem;
-
- #line default
- #line hidden
-
-
- #line 118 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Grid gridLow;
-
- #line default
- #line hidden
-
-
- #line 119 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TabControl tabLowPlots;
-
- #line default
- #line hidden
-
-
- #line 120 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TabItem tabFringes;
-
- #line default
- #line hidden
-
-
- #line 122 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.GraphInteractionPalette interatctionFringes;
-
- #line default
- #line hidden
-
-
- #line 123 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.Graph graphFringes;
-
- #line default
- #line hidden
-
-
- #line 149 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Button btnOpenFringes;
-
- #line default
- #line hidden
-
-
- #line 150 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Button btnSaveAsFringes;
-
- #line default
- #line hidden
-
-
- #line 153 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Button btnClearFringes;
-
- #line default
- #line hidden
-
-
- #line 157 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.GroupBox groupStatFringes;
-
- #line default
- #line hidden
-
-
- #line 160 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TextBox tbRemFringes;
-
- #line default
- #line hidden
-
-
- #line 161 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Button btnSomething;
-
- #line default
- #line hidden
-
- private bool _contentLoaded;
-
- ///
- /// InitializeComponent
- ///
- [System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
- public void InitializeComponent() {
- if (_contentLoaded) {
- return;
- }
- _contentLoaded = true;
- System.Uri resourceLocater = new System.Uri("/Axel-hub;component/mainwindow.xaml", System.UriKind.Relative);
-
- #line 1 "..\..\MainWindow.xaml"
- System.Windows.Application.LoadComponent(this, resourceLocater);
-
- #line default
- #line hidden
- }
-
- [System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
- [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
- void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
- switch (connectionId)
- {
- case 1:
- this.frmAxelHub = ((Axel_hub.MainWindow)(target));
- return;
- case 2:
- this.gridMain = ((System.Windows.Controls.Grid)(target));
- return;
- case 3:
- this.gridLeft = ((System.Windows.Controls.Grid)(target));
- return;
- case 4:
- this.ucScan1 = ((scanHub.scanClass)(target));
- return;
- case 5:
- this.tbLog = ((System.Windows.Controls.TextBox)(target));
- return;
- case 6:
- this.gridRight = ((System.Windows.Controls.Grid)(target));
- return;
- case 7:
- this.rowUpperChart = ((System.Windows.Controls.RowDefinition)(target));
- return;
- case 8:
- this.rowMiddleChart = ((System.Windows.Controls.RowDefinition)(target));
- return;
- case 9:
- this.rowLowerChart = ((System.Windows.Controls.RowDefinition)(target));
- return;
- case 10:
- this.splitDown = ((System.Windows.Controls.GridSplitter)(target));
-
- #line 30 "..\..\MainWindow.xaml"
- this.splitDown.MouseDoubleClick += new System.Windows.Input.MouseButtonEventHandler(this.splitDown_MouseDoubleClick);
-
- #line default
- #line hidden
- return;
- case 11:
- this.AxelChart1 = ((AxelChartNS.AxelChartClass)(target));
- return;
- case 12:
- this.gridMiddle = ((System.Windows.Controls.Grid)(target));
- return;
- case 13:
- this.tabSecPlots = ((System.Windows.Controls.TabControl)(target));
-
- #line 35 "..\..\MainWindow.xaml"
- this.tabSecPlots.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.tabSecPlots_SelectionChanged);
-
- #line default
- #line hidden
- return;
- case 14:
- this.tabAcceleration = ((System.Windows.Controls.TabItem)(target));
- return;
- case 15:
- this.interatctionOverview = ((NationalInstruments.Controls.GraphInteractionPalette)(target));
- return;
- case 16:
- this.graphAcceleration = ((NationalInstruments.Controls.Graph)(target));
- return;
- case 17:
- this.tabVelocity = ((System.Windows.Controls.TabItem)(target));
- return;
- case 18:
- this.interactionPower = ((NationalInstruments.Controls.GraphInteractionPalette)(target));
- return;
- case 19:
- this.graphVelocity = ((NationalInstruments.Controls.Graph)(target));
- return;
- case 20:
- this.tabDistance = ((System.Windows.Controls.TabItem)(target));
- return;
- case 21:
- this.interactionHisto = ((NationalInstruments.Controls.GraphInteractionPalette)(target));
- return;
- case 22:
- this.graphDistance = ((NationalInstruments.Controls.Graph)(target));
- return;
- case 23:
- this.btnOpen = ((System.Windows.Controls.Button)(target));
-
- #line 97 "..\..\MainWindow.xaml"
- this.btnOpen.Click += new System.Windows.RoutedEventHandler(this.btnOpen_Click);
-
- #line default
- #line hidden
- return;
- case 24:
- this.btnSaveAs = ((System.Windows.Controls.Button)(target));
-
- #line 98 "..\..\MainWindow.xaml"
- this.btnSaveAs.Click += new System.Windows.RoutedEventHandler(this.btnSaveAs_Click);
-
- #line default
- #line hidden
- return;
- case 25:
- this.btnClear = ((System.Windows.Controls.Button)(target));
-
- #line 101 "..\..\MainWindow.xaml"
- this.btnClear.Click += new System.Windows.RoutedEventHandler(this.btnClear_Click);
-
- #line default
- #line hidden
- return;
- case 26:
- this.groupStat = ((System.Windows.Controls.GroupBox)(target));
- return;
- case 27:
- this.tbRem = ((System.Windows.Controls.TextBox)(target));
- return;
- case 28:
- this.gridLow = ((System.Windows.Controls.Grid)(target));
- return;
- case 29:
- this.tabLowPlots = ((System.Windows.Controls.TabControl)(target));
- return;
- case 30:
- this.tabFringes = ((System.Windows.Controls.TabItem)(target));
- return;
- case 31:
- this.interatctionFringes = ((NationalInstruments.Controls.GraphInteractionPalette)(target));
- return;
- case 32:
- this.graphFringes = ((NationalInstruments.Controls.Graph)(target));
- return;
- case 33:
- this.btnOpenFringes = ((System.Windows.Controls.Button)(target));
- return;
- case 34:
- this.btnSaveAsFringes = ((System.Windows.Controls.Button)(target));
- return;
- case 35:
- this.btnClearFringes = ((System.Windows.Controls.Button)(target));
- return;
- case 36:
- this.groupStatFringes = ((System.Windows.Controls.GroupBox)(target));
- return;
- case 37:
- this.tbRemFringes = ((System.Windows.Controls.TextBox)(target));
- return;
- case 38:
- this.btnSomething = ((System.Windows.Controls.Button)(target));
- return;
- }
- this._contentLoaded = true;
- }
- }
-}
-
+#pragma checksum "..\..\MainWindow.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "0EA614E31B4F3E285F51A3E367041FC8"
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using AxelChartNS;
+using NationalInstruments.Controls;
+using NationalInstruments.Controls.Rendering;
+using System;
+using System.Diagnostics;
+using System.Windows;
+using System.Windows.Automation;
+using System.Windows.Controls;
+using System.Windows.Controls.Primitives;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Ink;
+using System.Windows.Input;
+using System.Windows.Markup;
+using System.Windows.Media;
+using System.Windows.Media.Animation;
+using System.Windows.Media.Effects;
+using System.Windows.Media.Imaging;
+using System.Windows.Media.Media3D;
+using System.Windows.Media.TextFormatting;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using System.Windows.Shell;
+using scanHub;
+
+
+namespace Axel_hub {
+
+
+ ///
+ /// MainWindow
+ ///
+ public partial class MainWindow : System.Windows.Window, System.Windows.Markup.IComponentConnector {
+
+
+ #line 1 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal Axel_hub.MainWindow frmAxelHub;
+
+ #line default
+ #line hidden
+
+
+ #line 8 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Grid gridMain;
+
+ #line default
+ #line hidden
+
+
+ #line 14 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Grid gridLeft;
+
+ #line default
+ #line hidden
+
+
+ #line 21 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TextBox tbLog;
+
+ #line default
+ #line hidden
+
+
+ #line 23 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.CheckBox chkLog;
+
+ #line default
+ #line hidden
+
+
+ #line 24 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.CheckBox chkVerbatim;
+
+ #line default
+ #line hidden
+
+
+ #line 25 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Button btnLogClear;
+
+ #line default
+ #line hidden
+
+
+ #line 28 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Grid gridRight;
+
+ #line default
+ #line hidden
+
+
+ #line 30 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.RowDefinition rowUpperChart;
+
+ #line default
+ #line hidden
+
+
+ #line 31 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.RowDefinition rowMiddleChart;
+
+ #line default
+ #line hidden
+
+
+ #line 32 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.RowDefinition rowLowerChart;
+
+ #line default
+ #line hidden
+
+
+ #line 35 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.GridSplitter splitDown;
+
+ #line default
+ #line hidden
+
+
+ #line 37 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal AxelChartNS.AxelChartClass AxelChart1;
+
+ #line default
+ #line hidden
+
+
+ #line 39 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Grid gridMiddle;
+
+ #line default
+ #line hidden
+
+
+ #line 40 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TabControl tabSecPlots;
+
+ #line default
+ #line hidden
+
+
+ #line 42 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TabItem tabSignal;
+
+ #line default
+ #line hidden
+
+
+ #line 48 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.ListBox lboxNB;
+
+ #line default
+ #line hidden
+
+
+ #line 60 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.Graph graphSignal;
+
+ #line default
+ #line hidden
+
+
+ #line 73 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.GraphInteractionPalette interatctionOverview;
+
+ #line default
+ #line hidden
+
+
+ #line 74 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Label lbInfo;
+
+ #line default
+ #line hidden
+
+
+ #line 79 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TabItem tabVelocity;
+
+ #line default
+ #line hidden
+
+
+ #line 82 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.GraphInteractionPalette interactionPower;
+
+ #line default
+ #line hidden
+
+
+ #line 83 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.Graph graphVelocity;
+
+ #line default
+ #line hidden
+
+
+ #line 95 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TabItem tabDistance;
+
+ #line default
+ #line hidden
+
+
+ #line 97 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.GraphInteractionPalette interactionHisto;
+
+ #line default
+ #line hidden
+
+
+ #line 98 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.Graph graphDistance;
+
+ #line default
+ #line hidden
+
+
+ #line 120 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Button btnOpen;
+
+ #line default
+ #line hidden
+
+
+ #line 121 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Button btnSaveAs;
+
+ #line default
+ #line hidden
+
+
+ #line 124 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Button btnClear;
+
+ #line default
+ #line hidden
+
+
+ #line 128 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.GroupBox groupStat;
+
+ #line default
+ #line hidden
+
+
+ #line 131 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TextBox tbRem;
+
+ #line default
+ #line hidden
+
+
+ #line 140 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Grid gridLow;
+
+ #line default
+ #line hidden
+
+
+ #line 141 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TabControl tabLowPlots;
+
+ #line default
+ #line hidden
+
+
+ #line 142 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TabItem tabFringes;
+
+ #line default
+ #line hidden
+
+
+ #line 144 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.GraphInteractionPalette interatctionFringes;
+
+ #line default
+ #line hidden
+
+
+ #line 145 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.Graph graphFringes;
+
+ #line default
+ #line hidden
+
+
+ #line 168 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Button btnOpenFringes;
+
+ #line default
+ #line hidden
+
+
+ #line 169 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Button btnSaveAsFringes;
+
+ #line default
+ #line hidden
+
+
+ #line 172 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Button btnClearFringes;
+
+ #line default
+ #line hidden
+
+
+ #line 176 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.GroupBox groupStatFringes;
+
+ #line default
+ #line hidden
+
+
+ #line 179 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TextBox tbRemFringes;
+
+ #line default
+ #line hidden
+
+
+ #line 180 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Button btnSomething;
+
+ #line default
+ #line hidden
+
+ private bool _contentLoaded;
+
+ ///
+ /// InitializeComponent
+ ///
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
+ public void InitializeComponent() {
+ if (_contentLoaded) {
+ return;
+ }
+ _contentLoaded = true;
+ System.Uri resourceLocater = new System.Uri("/Axel-hub;component/mainwindow.xaml", System.UriKind.Relative);
+
+ #line 1 "..\..\MainWindow.xaml"
+ System.Windows.Application.LoadComponent(this, resourceLocater);
+
+ #line default
+ #line hidden
+ }
+
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
+ void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
+ switch (connectionId)
+ {
+ case 1:
+ this.frmAxelHub = ((Axel_hub.MainWindow)(target));
+ return;
+ case 2:
+ this.gridMain = ((System.Windows.Controls.Grid)(target));
+ return;
+ case 3:
+ this.gridLeft = ((System.Windows.Controls.Grid)(target));
+ return;
+ case 4:
+ this.tbLog = ((System.Windows.Controls.TextBox)(target));
+ return;
+ case 5:
+ this.chkLog = ((System.Windows.Controls.CheckBox)(target));
+ return;
+ case 6:
+ this.chkVerbatim = ((System.Windows.Controls.CheckBox)(target));
+ return;
+ case 7:
+ this.btnLogClear = ((System.Windows.Controls.Button)(target));
+
+ #line 25 "..\..\MainWindow.xaml"
+ this.btnLogClear.Click += new System.Windows.RoutedEventHandler(this.btnLogClear_Click);
+
+ #line default
+ #line hidden
+ return;
+ case 8:
+ this.gridRight = ((System.Windows.Controls.Grid)(target));
+ return;
+ case 9:
+ this.rowUpperChart = ((System.Windows.Controls.RowDefinition)(target));
+ return;
+ case 10:
+ this.rowMiddleChart = ((System.Windows.Controls.RowDefinition)(target));
+ return;
+ case 11:
+ this.rowLowerChart = ((System.Windows.Controls.RowDefinition)(target));
+ return;
+ case 12:
+ this.splitDown = ((System.Windows.Controls.GridSplitter)(target));
+
+ #line 35 "..\..\MainWindow.xaml"
+ this.splitDown.MouseDoubleClick += new System.Windows.Input.MouseButtonEventHandler(this.splitDown_MouseDoubleClick);
+
+ #line default
+ #line hidden
+ return;
+ case 13:
+ this.AxelChart1 = ((AxelChartNS.AxelChartClass)(target));
+ return;
+ case 14:
+ this.gridMiddle = ((System.Windows.Controls.Grid)(target));
+ return;
+ case 15:
+ this.tabSecPlots = ((System.Windows.Controls.TabControl)(target));
+
+ #line 40 "..\..\MainWindow.xaml"
+ this.tabSecPlots.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.tabSecPlots_SelectionChanged);
+
+ #line default
+ #line hidden
+ return;
+ case 16:
+ this.tabSignal = ((System.Windows.Controls.TabItem)(target));
+ return;
+ case 17:
+ this.lboxNB = ((System.Windows.Controls.ListBox)(target));
+ return;
+ case 18:
+ this.graphSignal = ((NationalInstruments.Controls.Graph)(target));
+ return;
+ case 19:
+ this.interatctionOverview = ((NationalInstruments.Controls.GraphInteractionPalette)(target));
+ return;
+ case 20:
+ this.lbInfo = ((System.Windows.Controls.Label)(target));
+ return;
+ case 21:
+ this.tabVelocity = ((System.Windows.Controls.TabItem)(target));
+ return;
+ case 22:
+ this.interactionPower = ((NationalInstruments.Controls.GraphInteractionPalette)(target));
+ return;
+ case 23:
+ this.graphVelocity = ((NationalInstruments.Controls.Graph)(target));
+ return;
+ case 24:
+ this.tabDistance = ((System.Windows.Controls.TabItem)(target));
+ return;
+ case 25:
+ this.interactionHisto = ((NationalInstruments.Controls.GraphInteractionPalette)(target));
+ return;
+ case 26:
+ this.graphDistance = ((NationalInstruments.Controls.Graph)(target));
+ return;
+ case 27:
+ this.btnOpen = ((System.Windows.Controls.Button)(target));
+
+ #line 120 "..\..\MainWindow.xaml"
+ this.btnOpen.Click += new System.Windows.RoutedEventHandler(this.btnOpen_Click);
+
+ #line default
+ #line hidden
+ return;
+ case 28:
+ this.btnSaveAs = ((System.Windows.Controls.Button)(target));
+
+ #line 121 "..\..\MainWindow.xaml"
+ this.btnSaveAs.Click += new System.Windows.RoutedEventHandler(this.btnSaveAs_Click);
+
+ #line default
+ #line hidden
+ return;
+ case 29:
+ this.btnClear = ((System.Windows.Controls.Button)(target));
+
+ #line 124 "..\..\MainWindow.xaml"
+ this.btnClear.Click += new System.Windows.RoutedEventHandler(this.btnClear_Click);
+
+ #line default
+ #line hidden
+ return;
+ case 30:
+ this.groupStat = ((System.Windows.Controls.GroupBox)(target));
+ return;
+ case 31:
+ this.tbRem = ((System.Windows.Controls.TextBox)(target));
+ return;
+ case 32:
+ this.gridLow = ((System.Windows.Controls.Grid)(target));
+ return;
+ case 33:
+ this.tabLowPlots = ((System.Windows.Controls.TabControl)(target));
+ return;
+ case 34:
+ this.tabFringes = ((System.Windows.Controls.TabItem)(target));
+ return;
+ case 35:
+ this.interatctionFringes = ((NationalInstruments.Controls.GraphInteractionPalette)(target));
+ return;
+ case 36:
+ this.graphFringes = ((NationalInstruments.Controls.Graph)(target));
+ return;
+ case 37:
+ this.btnOpenFringes = ((System.Windows.Controls.Button)(target));
+ return;
+ case 38:
+ this.btnSaveAsFringes = ((System.Windows.Controls.Button)(target));
+ return;
+ case 39:
+ this.btnClearFringes = ((System.Windows.Controls.Button)(target));
+ return;
+ case 40:
+ this.groupStatFringes = ((System.Windows.Controls.GroupBox)(target));
+ return;
+ case 41:
+ this.tbRemFringes = ((System.Windows.Controls.TextBox)(target));
+ return;
+ case 42:
+ this.btnSomething = ((System.Windows.Controls.Button)(target));
+ return;
+ }
+ this._contentLoaded = true;
+ }
+ }
+}
+
diff --git a/Axel-hub/Axel-hub/obj/Debug/MainWindow.g.i.cs b/Axel-hub/Axel-hub/obj/Debug/MainWindow.g.i.cs
index 0ccab656..235c32fa 100644
--- a/Axel-hub/Axel-hub/obj/Debug/MainWindow.g.i.cs
+++ b/Axel-hub/Axel-hub/obj/Debug/MainWindow.g.i.cs
@@ -1,529 +1,579 @@
-#pragma checksum "..\..\MainWindow.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "FFF0B03B2D4B224F8CE535D08D5DE3A0"
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-using AxelChartNS;
-using NationalInstruments.Controls;
-using NationalInstruments.Controls.Rendering;
-using System;
-using System.Diagnostics;
-using System.Windows;
-using System.Windows.Automation;
-using System.Windows.Controls;
-using System.Windows.Controls.Primitives;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Ink;
-using System.Windows.Input;
-using System.Windows.Markup;
-using System.Windows.Media;
-using System.Windows.Media.Animation;
-using System.Windows.Media.Effects;
-using System.Windows.Media.Imaging;
-using System.Windows.Media.Media3D;
-using System.Windows.Media.TextFormatting;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
-using System.Windows.Shell;
-using scanHub;
-
-
-namespace Axel_hub {
-
-
- ///
- /// MainWindow
- ///
- public partial class MainWindow : System.Windows.Window, System.Windows.Markup.IComponentConnector {
-
-
- #line 1 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal Axel_hub.MainWindow frmAxelHub;
-
- #line default
- #line hidden
-
-
- #line 8 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Grid gridMain;
-
- #line default
- #line hidden
-
-
- #line 14 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Grid gridLeft;
-
- #line default
- #line hidden
-
-
- #line 19 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal scanHub.scanClass ucScan1;
-
- #line default
- #line hidden
-
-
- #line 20 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TextBox tbLog;
-
- #line default
- #line hidden
-
-
- #line 23 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Grid gridRight;
-
- #line default
- #line hidden
-
-
- #line 25 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.RowDefinition rowUpperChart;
-
- #line default
- #line hidden
-
-
- #line 26 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.RowDefinition rowMiddleChart;
-
- #line default
- #line hidden
-
-
- #line 27 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.RowDefinition rowLowerChart;
-
- #line default
- #line hidden
-
-
- #line 30 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.GridSplitter splitDown;
-
- #line default
- #line hidden
-
-
- #line 32 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal AxelChartNS.AxelChartClass AxelChart1;
-
- #line default
- #line hidden
-
-
- #line 34 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Grid gridMiddle;
-
- #line default
- #line hidden
-
-
- #line 35 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TabControl tabSecPlots;
-
- #line default
- #line hidden
-
-
- #line 37 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TabItem tabAcceleration;
-
- #line default
- #line hidden
-
-
- #line 39 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.GraphInteractionPalette interatctionOverview;
-
- #line default
- #line hidden
-
-
- #line 40 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.Graph graphAcceleration;
-
- #line default
- #line hidden
-
-
- #line 56 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TabItem tabVelocity;
-
- #line default
- #line hidden
-
-
- #line 59 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.GraphInteractionPalette interactionPower;
-
- #line default
- #line hidden
-
-
- #line 60 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.Graph graphVelocity;
-
- #line default
- #line hidden
-
-
- #line 72 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TabItem tabDistance;
-
- #line default
- #line hidden
-
-
- #line 74 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.GraphInteractionPalette interactionHisto;
-
- #line default
- #line hidden
-
-
- #line 75 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.Graph graphDistance;
-
- #line default
- #line hidden
-
-
- #line 97 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Button btnOpen;
-
- #line default
- #line hidden
-
-
- #line 98 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Button btnSaveAs;
-
- #line default
- #line hidden
-
-
- #line 101 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Button btnClear;
-
- #line default
- #line hidden
-
-
- #line 105 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.GroupBox groupStat;
-
- #line default
- #line hidden
-
-
- #line 108 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TextBox tbRem;
-
- #line default
- #line hidden
-
-
- #line 118 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Grid gridLow;
-
- #line default
- #line hidden
-
-
- #line 119 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TabControl tabLowPlots;
-
- #line default
- #line hidden
-
-
- #line 120 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TabItem tabFringes;
-
- #line default
- #line hidden
-
-
- #line 122 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.GraphInteractionPalette interatctionFringes;
-
- #line default
- #line hidden
-
-
- #line 123 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.Graph graphFringes;
-
- #line default
- #line hidden
-
-
- #line 149 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Button btnOpenFringes;
-
- #line default
- #line hidden
-
-
- #line 150 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Button btnSaveAsFringes;
-
- #line default
- #line hidden
-
-
- #line 153 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Button btnClearFringes;
-
- #line default
- #line hidden
-
-
- #line 157 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.GroupBox groupStatFringes;
-
- #line default
- #line hidden
-
-
- #line 160 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TextBox tbRemFringes;
-
- #line default
- #line hidden
-
-
- #line 161 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Button btnSomething;
-
- #line default
- #line hidden
-
- private bool _contentLoaded;
-
- ///
- /// InitializeComponent
- ///
- [System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
- public void InitializeComponent() {
- if (_contentLoaded) {
- return;
- }
- _contentLoaded = true;
- System.Uri resourceLocater = new System.Uri("/Axel-hub;component/mainwindow.xaml", System.UriKind.Relative);
-
- #line 1 "..\..\MainWindow.xaml"
- System.Windows.Application.LoadComponent(this, resourceLocater);
-
- #line default
- #line hidden
- }
-
- [System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
- [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
- void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
- switch (connectionId)
- {
- case 1:
- this.frmAxelHub = ((Axel_hub.MainWindow)(target));
- return;
- case 2:
- this.gridMain = ((System.Windows.Controls.Grid)(target));
- return;
- case 3:
- this.gridLeft = ((System.Windows.Controls.Grid)(target));
- return;
- case 4:
- this.ucScan1 = ((scanHub.scanClass)(target));
- return;
- case 5:
- this.tbLog = ((System.Windows.Controls.TextBox)(target));
- return;
- case 6:
- this.gridRight = ((System.Windows.Controls.Grid)(target));
- return;
- case 7:
- this.rowUpperChart = ((System.Windows.Controls.RowDefinition)(target));
- return;
- case 8:
- this.rowMiddleChart = ((System.Windows.Controls.RowDefinition)(target));
- return;
- case 9:
- this.rowLowerChart = ((System.Windows.Controls.RowDefinition)(target));
- return;
- case 10:
- this.splitDown = ((System.Windows.Controls.GridSplitter)(target));
-
- #line 30 "..\..\MainWindow.xaml"
- this.splitDown.MouseDoubleClick += new System.Windows.Input.MouseButtonEventHandler(this.splitDown_MouseDoubleClick);
-
- #line default
- #line hidden
- return;
- case 11:
- this.AxelChart1 = ((AxelChartNS.AxelChartClass)(target));
- return;
- case 12:
- this.gridMiddle = ((System.Windows.Controls.Grid)(target));
- return;
- case 13:
- this.tabSecPlots = ((System.Windows.Controls.TabControl)(target));
-
- #line 35 "..\..\MainWindow.xaml"
- this.tabSecPlots.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.tabSecPlots_SelectionChanged);
-
- #line default
- #line hidden
- return;
- case 14:
- this.tabAcceleration = ((System.Windows.Controls.TabItem)(target));
- return;
- case 15:
- this.interatctionOverview = ((NationalInstruments.Controls.GraphInteractionPalette)(target));
- return;
- case 16:
- this.graphAcceleration = ((NationalInstruments.Controls.Graph)(target));
- return;
- case 17:
- this.tabVelocity = ((System.Windows.Controls.TabItem)(target));
- return;
- case 18:
- this.interactionPower = ((NationalInstruments.Controls.GraphInteractionPalette)(target));
- return;
- case 19:
- this.graphVelocity = ((NationalInstruments.Controls.Graph)(target));
- return;
- case 20:
- this.tabDistance = ((System.Windows.Controls.TabItem)(target));
- return;
- case 21:
- this.interactionHisto = ((NationalInstruments.Controls.GraphInteractionPalette)(target));
- return;
- case 22:
- this.graphDistance = ((NationalInstruments.Controls.Graph)(target));
- return;
- case 23:
- this.btnOpen = ((System.Windows.Controls.Button)(target));
-
- #line 97 "..\..\MainWindow.xaml"
- this.btnOpen.Click += new System.Windows.RoutedEventHandler(this.btnOpen_Click);
-
- #line default
- #line hidden
- return;
- case 24:
- this.btnSaveAs = ((System.Windows.Controls.Button)(target));
-
- #line 98 "..\..\MainWindow.xaml"
- this.btnSaveAs.Click += new System.Windows.RoutedEventHandler(this.btnSaveAs_Click);
-
- #line default
- #line hidden
- return;
- case 25:
- this.btnClear = ((System.Windows.Controls.Button)(target));
-
- #line 101 "..\..\MainWindow.xaml"
- this.btnClear.Click += new System.Windows.RoutedEventHandler(this.btnClear_Click);
-
- #line default
- #line hidden
- return;
- case 26:
- this.groupStat = ((System.Windows.Controls.GroupBox)(target));
- return;
- case 27:
- this.tbRem = ((System.Windows.Controls.TextBox)(target));
- return;
- case 28:
- this.gridLow = ((System.Windows.Controls.Grid)(target));
- return;
- case 29:
- this.tabLowPlots = ((System.Windows.Controls.TabControl)(target));
- return;
- case 30:
- this.tabFringes = ((System.Windows.Controls.TabItem)(target));
- return;
- case 31:
- this.interatctionFringes = ((NationalInstruments.Controls.GraphInteractionPalette)(target));
- return;
- case 32:
- this.graphFringes = ((NationalInstruments.Controls.Graph)(target));
- return;
- case 33:
- this.btnOpenFringes = ((System.Windows.Controls.Button)(target));
- return;
- case 34:
- this.btnSaveAsFringes = ((System.Windows.Controls.Button)(target));
- return;
- case 35:
- this.btnClearFringes = ((System.Windows.Controls.Button)(target));
- return;
- case 36:
- this.groupStatFringes = ((System.Windows.Controls.GroupBox)(target));
- return;
- case 37:
- this.tbRemFringes = ((System.Windows.Controls.TextBox)(target));
- return;
- case 38:
- this.btnSomething = ((System.Windows.Controls.Button)(target));
- return;
- }
- this._contentLoaded = true;
- }
- }
-}
-
+#pragma checksum "..\..\MainWindow.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "0EA614E31B4F3E285F51A3E367041FC8"
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using AxelChartNS;
+using NationalInstruments.Controls;
+using NationalInstruments.Controls.Rendering;
+using System;
+using System.Diagnostics;
+using System.Windows;
+using System.Windows.Automation;
+using System.Windows.Controls;
+using System.Windows.Controls.Primitives;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Ink;
+using System.Windows.Input;
+using System.Windows.Markup;
+using System.Windows.Media;
+using System.Windows.Media.Animation;
+using System.Windows.Media.Effects;
+using System.Windows.Media.Imaging;
+using System.Windows.Media.Media3D;
+using System.Windows.Media.TextFormatting;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using System.Windows.Shell;
+using scanHub;
+
+
+namespace Axel_hub {
+
+
+ ///
+ /// MainWindow
+ ///
+ public partial class MainWindow : System.Windows.Window, System.Windows.Markup.IComponentConnector {
+
+
+ #line 1 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal Axel_hub.MainWindow frmAxelHub;
+
+ #line default
+ #line hidden
+
+
+ #line 8 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Grid gridMain;
+
+ #line default
+ #line hidden
+
+
+ #line 14 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Grid gridLeft;
+
+ #line default
+ #line hidden
+
+
+ #line 21 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TextBox tbLog;
+
+ #line default
+ #line hidden
+
+
+ #line 23 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.CheckBox chkLog;
+
+ #line default
+ #line hidden
+
+
+ #line 24 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.CheckBox chkVerbatim;
+
+ #line default
+ #line hidden
+
+
+ #line 25 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Button btnLogClear;
+
+ #line default
+ #line hidden
+
+
+ #line 28 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Grid gridRight;
+
+ #line default
+ #line hidden
+
+
+ #line 30 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.RowDefinition rowUpperChart;
+
+ #line default
+ #line hidden
+
+
+ #line 31 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.RowDefinition rowMiddleChart;
+
+ #line default
+ #line hidden
+
+
+ #line 32 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.RowDefinition rowLowerChart;
+
+ #line default
+ #line hidden
+
+
+ #line 35 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.GridSplitter splitDown;
+
+ #line default
+ #line hidden
+
+
+ #line 37 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal AxelChartNS.AxelChartClass AxelChart1;
+
+ #line default
+ #line hidden
+
+
+ #line 39 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Grid gridMiddle;
+
+ #line default
+ #line hidden
+
+
+ #line 40 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TabControl tabSecPlots;
+
+ #line default
+ #line hidden
+
+
+ #line 42 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TabItem tabSignal;
+
+ #line default
+ #line hidden
+
+
+ #line 48 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.ListBox lboxNB;
+
+ #line default
+ #line hidden
+
+
+ #line 60 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.Graph graphSignal;
+
+ #line default
+ #line hidden
+
+
+ #line 73 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.GraphInteractionPalette interatctionOverview;
+
+ #line default
+ #line hidden
+
+
+ #line 74 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Label lbInfo;
+
+ #line default
+ #line hidden
+
+
+ #line 79 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TabItem tabVelocity;
+
+ #line default
+ #line hidden
+
+
+ #line 82 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.GraphInteractionPalette interactionPower;
+
+ #line default
+ #line hidden
+
+
+ #line 83 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.Graph graphVelocity;
+
+ #line default
+ #line hidden
+
+
+ #line 95 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TabItem tabDistance;
+
+ #line default
+ #line hidden
+
+
+ #line 97 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.GraphInteractionPalette interactionHisto;
+
+ #line default
+ #line hidden
+
+
+ #line 98 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.Graph graphDistance;
+
+ #line default
+ #line hidden
+
+
+ #line 120 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Button btnOpen;
+
+ #line default
+ #line hidden
+
+
+ #line 121 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Button btnSaveAs;
+
+ #line default
+ #line hidden
+
+
+ #line 124 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Button btnClear;
+
+ #line default
+ #line hidden
+
+
+ #line 128 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.GroupBox groupStat;
+
+ #line default
+ #line hidden
+
+
+ #line 131 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TextBox tbRem;
+
+ #line default
+ #line hidden
+
+
+ #line 140 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Grid gridLow;
+
+ #line default
+ #line hidden
+
+
+ #line 141 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TabControl tabLowPlots;
+
+ #line default
+ #line hidden
+
+
+ #line 142 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TabItem tabFringes;
+
+ #line default
+ #line hidden
+
+
+ #line 144 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.GraphInteractionPalette interatctionFringes;
+
+ #line default
+ #line hidden
+
+
+ #line 145 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.Graph graphFringes;
+
+ #line default
+ #line hidden
+
+
+ #line 168 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Button btnOpenFringes;
+
+ #line default
+ #line hidden
+
+
+ #line 169 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Button btnSaveAsFringes;
+
+ #line default
+ #line hidden
+
+
+ #line 172 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Button btnClearFringes;
+
+ #line default
+ #line hidden
+
+
+ #line 176 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.GroupBox groupStatFringes;
+
+ #line default
+ #line hidden
+
+
+ #line 179 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TextBox tbRemFringes;
+
+ #line default
+ #line hidden
+
+
+ #line 180 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Button btnSomething;
+
+ #line default
+ #line hidden
+
+ private bool _contentLoaded;
+
+ ///
+ /// InitializeComponent
+ ///
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
+ public void InitializeComponent() {
+ if (_contentLoaded) {
+ return;
+ }
+ _contentLoaded = true;
+ System.Uri resourceLocater = new System.Uri("/Axel-hub;component/mainwindow.xaml", System.UriKind.Relative);
+
+ #line 1 "..\..\MainWindow.xaml"
+ System.Windows.Application.LoadComponent(this, resourceLocater);
+
+ #line default
+ #line hidden
+ }
+
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
+ void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
+ switch (connectionId)
+ {
+ case 1:
+ this.frmAxelHub = ((Axel_hub.MainWindow)(target));
+ return;
+ case 2:
+ this.gridMain = ((System.Windows.Controls.Grid)(target));
+ return;
+ case 3:
+ this.gridLeft = ((System.Windows.Controls.Grid)(target));
+ return;
+ case 4:
+ this.tbLog = ((System.Windows.Controls.TextBox)(target));
+ return;
+ case 5:
+ this.chkLog = ((System.Windows.Controls.CheckBox)(target));
+ return;
+ case 6:
+ this.chkVerbatim = ((System.Windows.Controls.CheckBox)(target));
+ return;
+ case 7:
+ this.btnLogClear = ((System.Windows.Controls.Button)(target));
+
+ #line 25 "..\..\MainWindow.xaml"
+ this.btnLogClear.Click += new System.Windows.RoutedEventHandler(this.btnLogClear_Click);
+
+ #line default
+ #line hidden
+ return;
+ case 8:
+ this.gridRight = ((System.Windows.Controls.Grid)(target));
+ return;
+ case 9:
+ this.rowUpperChart = ((System.Windows.Controls.RowDefinition)(target));
+ return;
+ case 10:
+ this.rowMiddleChart = ((System.Windows.Controls.RowDefinition)(target));
+ return;
+ case 11:
+ this.rowLowerChart = ((System.Windows.Controls.RowDefinition)(target));
+ return;
+ case 12:
+ this.splitDown = ((System.Windows.Controls.GridSplitter)(target));
+
+ #line 35 "..\..\MainWindow.xaml"
+ this.splitDown.MouseDoubleClick += new System.Windows.Input.MouseButtonEventHandler(this.splitDown_MouseDoubleClick);
+
+ #line default
+ #line hidden
+ return;
+ case 13:
+ this.AxelChart1 = ((AxelChartNS.AxelChartClass)(target));
+ return;
+ case 14:
+ this.gridMiddle = ((System.Windows.Controls.Grid)(target));
+ return;
+ case 15:
+ this.tabSecPlots = ((System.Windows.Controls.TabControl)(target));
+
+ #line 40 "..\..\MainWindow.xaml"
+ this.tabSecPlots.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.tabSecPlots_SelectionChanged);
+
+ #line default
+ #line hidden
+ return;
+ case 16:
+ this.tabSignal = ((System.Windows.Controls.TabItem)(target));
+ return;
+ case 17:
+ this.lboxNB = ((System.Windows.Controls.ListBox)(target));
+ return;
+ case 18:
+ this.graphSignal = ((NationalInstruments.Controls.Graph)(target));
+ return;
+ case 19:
+ this.interatctionOverview = ((NationalInstruments.Controls.GraphInteractionPalette)(target));
+ return;
+ case 20:
+ this.lbInfo = ((System.Windows.Controls.Label)(target));
+ return;
+ case 21:
+ this.tabVelocity = ((System.Windows.Controls.TabItem)(target));
+ return;
+ case 22:
+ this.interactionPower = ((NationalInstruments.Controls.GraphInteractionPalette)(target));
+ return;
+ case 23:
+ this.graphVelocity = ((NationalInstruments.Controls.Graph)(target));
+ return;
+ case 24:
+ this.tabDistance = ((System.Windows.Controls.TabItem)(target));
+ return;
+ case 25:
+ this.interactionHisto = ((NationalInstruments.Controls.GraphInteractionPalette)(target));
+ return;
+ case 26:
+ this.graphDistance = ((NationalInstruments.Controls.Graph)(target));
+ return;
+ case 27:
+ this.btnOpen = ((System.Windows.Controls.Button)(target));
+
+ #line 120 "..\..\MainWindow.xaml"
+ this.btnOpen.Click += new System.Windows.RoutedEventHandler(this.btnOpen_Click);
+
+ #line default
+ #line hidden
+ return;
+ case 28:
+ this.btnSaveAs = ((System.Windows.Controls.Button)(target));
+
+ #line 121 "..\..\MainWindow.xaml"
+ this.btnSaveAs.Click += new System.Windows.RoutedEventHandler(this.btnSaveAs_Click);
+
+ #line default
+ #line hidden
+ return;
+ case 29:
+ this.btnClear = ((System.Windows.Controls.Button)(target));
+
+ #line 124 "..\..\MainWindow.xaml"
+ this.btnClear.Click += new System.Windows.RoutedEventHandler(this.btnClear_Click);
+
+ #line default
+ #line hidden
+ return;
+ case 30:
+ this.groupStat = ((System.Windows.Controls.GroupBox)(target));
+ return;
+ case 31:
+ this.tbRem = ((System.Windows.Controls.TextBox)(target));
+ return;
+ case 32:
+ this.gridLow = ((System.Windows.Controls.Grid)(target));
+ return;
+ case 33:
+ this.tabLowPlots = ((System.Windows.Controls.TabControl)(target));
+ return;
+ case 34:
+ this.tabFringes = ((System.Windows.Controls.TabItem)(target));
+ return;
+ case 35:
+ this.interatctionFringes = ((NationalInstruments.Controls.GraphInteractionPalette)(target));
+ return;
+ case 36:
+ this.graphFringes = ((NationalInstruments.Controls.Graph)(target));
+ return;
+ case 37:
+ this.btnOpenFringes = ((System.Windows.Controls.Button)(target));
+ return;
+ case 38:
+ this.btnSaveAsFringes = ((System.Windows.Controls.Button)(target));
+ return;
+ case 39:
+ this.btnClearFringes = ((System.Windows.Controls.Button)(target));
+ return;
+ case 40:
+ this.groupStatFringes = ((System.Windows.Controls.GroupBox)(target));
+ return;
+ case 41:
+ this.tbRemFringes = ((System.Windows.Controls.TextBox)(target));
+ return;
+ case 42:
+ this.btnSomething = ((System.Windows.Controls.Button)(target));
+ return;
+ }
+ this._contentLoaded = true;
+ }
+ }
+}
+
diff --git a/Axel-hub/bin/NationalInstruments.Net.xml b/Axel-hub/bin/NationalInstruments.Net.xml
index 72b618a3..524465b0 100644
--- a/Axel-hub/bin/NationalInstruments.Net.xml
+++ b/Axel-hub/bin/NationalInstruments.Net.xml
@@ -1,4834 +1,4834 @@
-
-
-
- NationalInstruments.Net
-
-
-
-
- Clean up any resources being used.
-
-
-
-
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
-
-
-
-
- 2/12/2003 1:13:44 PM
- Elton Wells
- False
-
-
-
- Specifies how a object transfers data.
-
-
- If you connect with an automatically updated access mode, such as , , or ,
- the object
- transfers data every time new data is available. If you connect with
- or
- ,
- use
- to transfer the new data.
-
- 11/21/2002 1:29:57 PM
- Beth Parrott
- True
-
-
-
- Transfers data from the data source to the local object
- when you establish the connection. Call to cause
- subsequent data transfers.
-
- 11/20/2003 2:32:11 PM
- Jennifer Smith
- True
-
-
-
- Transfers data from the data source to the local object when
- you establish the connection. When the data at the data source is updated, the data is transferred again automatically.
- This mode is valid only for DSTP and logos and OPC data sources.
-
- 12/7/2005 12:09:20 PM
- Jennifer Smith
- True
-
-
-
- Transfers data from the data source to the local object when you establish
- the connection. When the data at the data source is updated, the data is transferred again automatically. The
- object automatically transfers data to the data target when you change any value or attribute on the local
- object. This mode is valid only for DSTP and logos data sources and targets.
-
- 12/10/2003 4:07:45 PM
- Jennifer Smith
- True
-
-
-
- Transfers data from the local object to the data target at the time you establish
- the connection. Call to cause subsequent data transfers.
-
- 11/21/2002 1:30:33 PM
- Beth Parrott
- True
-
-
-
- Transfers data from the local object to the data target when you establish
- the connection. When you change any value or attribute on the local object, the
- object automatically transfers data to the data target. This mode is valid only
- for DSTP and logos data targets.
-
- 12/10/2003 4:08:23 PM
- Jennifer Smith
- True
-
-
-
- Specifies that is configured for manual
- updating with buffering. gets the next
- value in the buffer from the data source when the connection is established and when you call
- .
-
- 12/10/2003 4:06:40 PM
- Jennifer Smith
- True
-
-
-
- Specifies that is configured for
- automatic updating with buffering. gets
- the next value from the data source when the connection is established, when the data value changes, and when any of the
- data attributes change.
-
- 12/10/2003 4:07:17 PM
- Jennifer Smith
- True
-
-
-
- Specifies that is configured for automatic
- updating with buffering. transfers data to
- the data source when the
- connection is established, when the data value changes, and when any of the data attributes
- change. gets the data from the
- data source when the data value changes and
- when any of the data attributes change.
-
- 12/10/2003 4:08:00 PM
- Jennifer Smith
- True
-
-
-
- Provides data for the
- event.
-
-
-
- A object generates the
- event when it receives new data.
-
-
-
-
- 11/21/2002 1:30:49 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of .
-
-
- The instance that generated the
- event.
-
- 10/30/2002 11:41:03 AM
- Beth Parrott
- True
-
-
- Overrides .
- Returns a string representation of the object.
- 10/30/2002 11:41:06 AM
- Beth Parrott
- True
-
-
-
- Gets the that generated the
- event.
-
-
- The that generated the event.
-
- 7/13/2004 4:18:50 PM
- Whitney Bates
- True
-
-
-
- Represents a method that handles the
- event of a
- object.
-
-
- The source of the event.
-
-
- A object that contains the
- event data.
-
-
-
- 11/21/2002 1:31:13 PM
- Beth Parrott
- True
-
-
-
- Provides data for the
- event.
-
-
-
- The event occurs
- when the status of a connection
- changes, such as when a object connects to a
- data source or target, transfers data, or encounters an error.
-
-
-
- 11/21/2002 1:31:16 PM
- Beth Parrott
- True
-
-
-
- Provides data for the event.
-
-
-
- The event occurs when the
- status of a connection changes, such as when a
- object connects to a data source or target, transfers data, or
- encounters an error.
-
-
-
-
- 11/21/2002 1:31:49 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of .
-
-
- The status of the connection.
-
-
- Error of the connection, if an error exists. Refer to
- DataSocket Error Codes for a list of possible
- values.
-
-
- Descriptive message about the connection status.
-
-
-
-
- 7/15/2005 10:17:33 AM
- Jennifer Smith
- True
-
-
-
- Overrides .
-
- Returns a string representation of the object.
- 10/30/2002 11:42:00 AM
- Beth Parrott
- True
-
-
-
- Gets the status of the connection.
-
-
- A that indicates
- the status of the connection.
-
- 6/20/2006 4:41:29 PM
- Staci McCormick
- True
-
-
-
- Gets the error of the connection, if an error exists.
-
-
- The numeric value of the last error code. You can use this value to look up
- the cause of the error in the DataSocket documentation.
-
- 10/30/2002 11:41:51 AM
- Beth Parrott
- True
-
-
-
- Gets a descriptive message about the connection status.
-
-
- A string value that describes the connection status of the
- object.
-
- 11/21/2002 1:31:54 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of .
-
-
- The instance that generated the event.
-
-
- The status of the connection.
-
-
- Error of the connection, if one exists. Refer to
- DataSocket Error Codes for a list of possible
- values.
-
-
- Descriptive message of the connection status.
-
-
-
-
-
- 7/15/2005 10:17:19 AM
- Jennifer Smith
- True
-
-
- Overrides .
- Returns a string representation of the object.
- 10/30/2002 11:41:23 AM
- Beth Parrott
- True
-
-
-
- Gets the that generated the
- event.
-
-
- The that generated the event.
-
- 7/26/2004 10:12:17 AM
- Whitney Bates
- True
-
-
-
- Represents a method that handles the
- event of a
- object.
-
-
- The source of the event.
-
-
- A object that contains the
- event data.
-
-
-
- 11/21/2002 1:31:22 PM
- Beth Parrott
- True
-
-
-
- Indicates the current status of the connection.
-
- 11/21/2002 1:31:26 PM
- Beth Parrott
- True
-
-
-
- The object is in the process of connecting
- to the data source or target.
-
- 11/21/2002 1:31:32 PM
- Beth Parrott
- True
-
-
-
- The object is connected to the data source or target and is transferring the data or
- waiting for an update.
-
- 11/21/2002 1:31:36 PM
- Beth Parrott
- True
-
-
-
- The object encountered an error while connecting
- to the data source or target.
-
- 11/21/2002 1:31:38 PM
- Beth Parrott
- True
-
-
-
- The object is connected to the data source or target
- and is not currently transferring data or is waiting for an update.
-
- 11/21/2002 1:31:42 PM
- Beth Parrott
- True
-
-
-
- The object is not connected to any data source
- or data target.
-
- 11/21/2002 1:31:45 PM
- Beth Parrott
- True
-
-
-
- Represents a method that handles the
- event of a
- object.
-
-
- The source of the event.
-
-
- A object that contains the event data.
-
-
-
- 11/21/2002 1:31:57 PM
- Beth Parrott
- True
-
-
-
- Represents a connection to a data source or target.
-
-
- You can use the NetworkVariable class library or the class library to transfer live measurement data between applications over a network.
- You can use NetworkVariable or to exchange different types of data between Measurement Studio, LabVIEW, LabWindows/CVI, and other applications that support NI-Publish Subscribe Protocol (psp:).
- NetworkVariable is the preferred method for transferring data between these applications, and, in these cases, NetworkVariable supersedes .
- You can also use NetworkVariable and to exchange different types of data between OLE for Process Control (opc:) servers. Exchanging data between Measurement Studio applications and OPC servers with NetworkVariable requires LabVIEW DSC Run-Time System. Use to communicate directly with an OPC server.
-
-
-
-
-
- The object encapsulates the .NET interface to National Instruments DataSocket
- and includes the following features:
-
- - Transfer data between different data sources and
- targets.
- - Specify a data source and target through a URL—the same
- way you access Web pages in a Web browser.
- - Use a single API to access OPC, HTTP, FTP, logos, and
- file servers.
- - Use the DataSocket Transfer Protocol (DSTP) to exchange data
- of many different types.
- - Browse the network to quickly locate a data source or target
- on other computers and servers.
-
-
- You must call when you finish using a object.
- If you add this object to a Windows form with the Windows Forms Designer, the form calls
- automatically.
-
-
-
- 9/16/2008 10:06:51 AM
- Measurement Studio
- True
-
-
-
- Initializes a new instance of .
-
-
- 10/30/2002 11:42:42 AM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of
- with the specified container.
-
-
- An that represents the container for the
- object.
-
-
- 10/30/2002 11:42:45 AM
- Beth Parrott
- True
-
-
-
- Overrides .
-
- Returns a string representation of the object.
- 10/30/2002 11:43:49 AM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:09 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:13 PM
- Measurement Studio
- True
-
-
-
- Releases the resources used by the object.
-
-
- If , this method releases managed and unmanaged resources. If , this method releases
- only unmanaged resources.
-
-
-
- The public method and the finalizer call this method. The public
- method invokes the protected Dispose(Boolean) method with
- set to . The finalizer invokes the protected Dispose(Boolean) method
- with set to
- .
-
-
- When you set the parameter to , this method releases all
- resources held by managed objects that this object
- references. This method invokes the method of each referenced object.
-
-
- 11/21/2002 1:32:04 PM
- Beth Parrott
- True
-
-
-
- Connects the object to a data source or target.
-
-
-
- The method establishes the
- connection with the current values of the
- and the
- properties.
-
-
- The object creates the connection asynchronously. You must return
- control to the application message loop after you create the connection and before you
- perform data transfers on data or
- attributes. You can check the property or monitor the
- event to
- determine if the connection is established.
-
-
- When connecting to a data source in a read access mode,
- the object updates the data after the connection is
- completed. When connecting to a data target in a write access mode, the
- object transfers the data at the time the connection is
- made. If you connect in an automatic update mode, the object
- automatically transfers data when new data is available.
-
-
- If you connect a reading client to a data source that
- does not exist, the server creates the data source with a default value of 0.
-
-
-
- The has been disposed.
-
-
- The following example demonstrates how to establish a
- connection with the method.
-
- Dim connection As DataSocket = New DataSocket()
- connection.AccessMode = AccessMode.ReadAutoUpdate
- connection.Url = "dstp://localhost/data"
- connection.Connect()
-
-
-
-
- DataSocket connection = new DataSocket();
- connection.AccessMode = AccessMode.ReadAutoUpdate;
- connection.Url = "dstp://localhost/data";
- connection.Connect();
-
-
-
- Key Measurement Studio DataSocket .NET Library Features
- 9/16/2008 10:06:00 AM
- Measurement Studio
- True
-
-
-
- Connects the object to the specified data source or target.
-
-
- Location of the data source or target to which the
- must connect.
-
-
-
- The method sets the
- property to the value of the
- parameter. The method uses the current value of
- to establish the connection.
-
-
- The object creates the connection asynchronously. You must return
- control to the application message loop after you create the connection and before you
- perform data transfers on data or
- attributes. You can check the property or monitor the
- event to
- determine if the connection is established.
-
-
- When connecting to a data source in a read access mode,
- the object updates the data after the connection is
- completed. When connecting to a data target in a write access mode, the
- object transfers the data at the time the connection is
- made. If you connect in an automatic update mode, the object
- automatically transfers data when new data is available.
-
-
- If you connect a reading client to a data source that
- does not exist, the server creates the data source with a default value of 0.
-
-
-
- is .
-
-
- The has been disposed.
-
-
- The following example demonstrates how to establish a
- connection with the method.
-
- Dim connection As DataSocket = New DataSocket()
- connection.AccessMode = AccessMode.ReadAutoUpdate
- connection.Connect("dstp://localhost/data")
-
-
-
-
- DataSocket connection = new DataSocket();
- connection.AccessMode = AccessMode.ReadAutoUpdate;
- connection.Connect("dstp://localhost/data");
-
-
-
- Key Measurement Studio DataSocket .NET Library Features
- 9/16/2008 10:06:03 AM
- Measurement Studio
- True
-
-
-
- Connects the object to the specified data source or target with the specified
- access mode.
-
-
- Location of the data source or target to which the
- object must connect.
-
-
- An value that specifies the type of connection the
- object makes when it connects to the data source or
- target.
-
-
-
- The method sets the
- and
- properties to the values of the
- and parameters.
-
-
- The object creates the connection asynchronously. You must return
- control to the application message loop after you create the connection and before you
- perform data transfers on data or
- attributes. You can check the property or monitor the
- event to
- determine if the connection is established.
-
-
- When connecting to a data source in a read access mode,
- the object updates the data after the connection is
- completed. When connecting to a data target in a write access mode, the
- object transfers the data at the time the connection is
- made. If you connect in an automatic update mode, the object
- automatically transfers data when new data is available.
-
-
- If you connect a reading client to a data source that
- does not exist, the server creates the data source with a default value of 0.
-
-
-
- is .
-
-
- is not a member of .
-
-
- The has been disposed.
-
-
- The following example demonstrates how to establish a
- connection with the method.
-
- Dim connection As DataSocket = New DataSocket()
- connection.Connect("dstp://localhost/data", AccessMode.ReadAutoUpdate)
-
-
-
-
- DataSocket connection = new DataSocket();
- connection.Connect("dstp://localhost/data", AccessMode.ReadAutoUpdate);
-
-
- Key Measurement Studio DataSocket .NET Library Features
- 9/16/2008 10:06:07 AM
- Measurement Studio
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified timeout.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
-
- The method establishes the
- connection with the current values of the
- and the
- properties.
-
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 9:34:47 AM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified .
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
-
- The method establishes the
- connection with the current values of the
- and the
- properties.
-
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 9:41:07 AM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified URL and timeout.
-
-
- Location of the data source or target to which the
- must connect.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
-
- The method sets the
- property to the value of the
- parameter. The method uses the current value of
- to establish the connection.
-
-
-
- The has been disposed.
-
-
- is .
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 9:40:51 AM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified URL and .
-
-
- Location of the data source or target to which the
- must connect.
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
-
- The method sets the
- property to the value of the
- parameter. The method uses the current value of
- to establish the connection.
-
-
-
- The has been disposed.
-
-
- is .
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 9:41:24 AM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified URL, access mode, and timeout.
-
-
- Location of the data source or target to which the
- must connect.
-
-
- An value that specifies the type of connection the
- object makes when it connects to the data source or
- target.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
-
- The method sets the
- and
- properties to the values of the
- and parameters.
-
-
-
- The has been disposed.
-
-
- is .
-
-
- is not a member of .
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 9:40:08 AM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified URL, access mode, and .
-
-
- Location of the data source or target to which the
- must connect.
-
-
- An value that specifies the type of connection the
- object makes when it connects to the data source or
- target.
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
-
- The method sets the
- and
- properties to the values of the
- and parameters.
-
-
-
- The has been disposed.
-
-
- is .
-
-
- is not a member of .
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 9:40:34 AM
- Beth Parrott
- True
-
-
-
- Disconnects the object from the data source or target to which it is
- currently connected.
-
-
-
- The value of the property and its attributes
- remain unchanged when the object is disconnected.
-
-
- has no effect if the
- object is disconnected.
-
-
-
- The has been disposed.
-
-
- 11/21/2002 1:32:53 PM
- Beth Parrott
- True
-
-
-
- Synchronously disconnects the object from
- the data source or target to which it is currently connected using the specified timeout.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
-
- The value of the property and its attributes
- remain unchanged when the object is disconnected.
-
-
- has no effect if the
- object is already disconnected.
-
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 9:38:05 AM
- Beth Parrott
- True
-
-
-
- Synchronously disconnects the object from
- the data source or target to which it is currently connected using the specified .
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
-
- The value of the property and its attributes
- remain unchanged when the object is disconnected.
-
-
- has no effect if the
- object is already disconnected.
-
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 9:41:34 AM
- Beth Parrott
- True
-
-
-
- Initiates a write to the server with the specified data and timeout.
-
-
- The data to write to the server.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
- initiates a write to the server
- and then waits for the amount of time specified by for the server
- to acknowledge that the write was successful.
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 9:45:18 AM
- Beth Parrott
- True
-
-
-
- Initiates a write to the server with the specified data and .
-
-
- The data to write to the server.
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
- initiates a write to the server
- and then waits for the amount of time specified by for the server
- to acknowledge that the write was successful.
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 9:45:52 AM
- Beth Parrott
- True
-
-
-
- Synchronously polls the client-side buffer for unprocessed values using the specified timeout.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
- Use in synchronous read mode
- to poll the client-side buffer for any unprocessed values. If the buffer contains
- unprocessed data, the next value is dequeued into the
- property and the return value is
- . If the buffer contains no new values,
- waits for the specified timeout
- interval for a new value to arrive.
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 9:43:12 AM
- Beth Parrott
- True
-
-
-
- Synchronously polls the client-side buffer for unprocessed values using the specified .
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
- Use in synchronous read mode
- to poll the client-side buffer for any unprocessed values. If the buffer contains
- unprocessed data, the next value is dequeued into the
- property and the return value is
- . If the buffer contains no new values,
- waits for the specified timeout
- interval for a new value to arrive.
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 9:43:57 AM
- Beth Parrott
- True
-
-
-
- Causes the object to transfer data from a data source or to
- a data target.
-
-
-
- When you use the or access
- mode, call the
- method when you want to transfer data between the data source or target and the local
- object. If the property is , it
- is set to after the update is completed, and the
- event is generated.
-
- If you want to transfer data every time new data is available without calling ,
- use the or access modes.
-
-
-
- The has been disposed.
-
-
- The is not connected.
-
-
- 6/9/2003 9:47:19 AM
- Beth Parrott
- True
-
-
-
- Enables interactive browsing and selection of data sources or targets.
-
-
- The method launches a dialog box that provides interactive browsing
- and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
- objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
-
-
- The has been disposed.
-
- Key Measurement Studio DataSocket .NET Library Features
- 9/16/2008 10:06:11 AM
- Measurement Studio
- True
-
-
-
- Enables interactive browsing and selection of data sources or targets and configures the dialog box with a specified URL.
-
-
- String that contains the URL. If the protocol is opc:,
- dstp:, logos:,
- or file, or if you omit this parameter, this method opens a dialog box in which the user can
- find and select a data source or target. You can prompt the user to create a Web or FTP
- location with the http: or ftp: protocols. You also can use a complete URL, such
- as dstp://localhost/wave.
-
-
- The method launches a dialog box that provides interactive browsing
- and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
- objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
-
-
-
- is
-
-
-
- The has been disposed.
-
- Key Measurement Studio DataSocket .NET Library Features
- 9/16/2008 10:06:14 AM
- Measurement Studio
- True
-
-
-
- Enables interactive browsing and selection of data sources or targets and configures the dialog box URL and title.
-
-
- String that contains the URL. If the protocol is opc:,
- dstp:, logos:,
- or file, or if you omit this parameter, this method opens a dialog box in which the user can
- find and select a data source or target. You can prompt the user to create a Web or FTP
- location with the http: or ftp: protocols. You also can use a complete URL, such
- as dstp://localhost/wave.
-
-
- Title of the dialog box.
-
-
- The method launches a dialog box that provides interactive browsing
- and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
- objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
-
-
-
- is
-
- -or-
-
- is
-
-
-
- The has been disposed.
-
- Key Measurement Studio DataSocket .NET Library Features
- 9/16/2008 10:06:18 AM
- Measurement Studio
- True
-
-
-
- Enables interactive browsing and selection of data sources or targets and configures the dialog box URL, title, and options.
-
-
- String that contains the URL. If the protocol is opc:,
- dstp:, logos:,
- or file, or if you omit this parameter, this method opens a dialog box in which the user can
- find and select a data source or target. You can prompt the user to create a Web or FTP
- location with the http: or ftp: protocols. You also can use a complete URL, such
- as dstp://localhost/wave.
-
-
- Title of the dialog box.
-
-
- Flags that control the behavior of the dialog box.
-
-
- The method launches a dialog box that provides interactive browsing
- and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
- objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
-
-
-
- is
-
- -or-
-
- is
-
-
-
- is not a member of .
-
-
- The has been disposed.
-
- Key Measurement Studio DataSocket .NET Library Features
- 9/16/2008 10:06:20 AM
- Measurement Studio
- True
-
-
-
- Enables interactive browsing and selection of data sources or targets and configures the dialog box URL, title, options, and filter.
-
-
- String that contains the URL. If the protocol is opc:,
- dstp:, logos:,
- or file, or if you omit this parameter, this method opens a dialog box in which the user can
- find and select a data source or target. You can prompt the user to create a Web or FTP
- location with the http: or ftp: protocols. You also can use a complete URL, such
- as dstp://localhost/wave.
-
-
- Title of the dialog box.
-
-
- Flags that control the behavior of the dialog box.
-
-
- Filter string passed to the dialog box, as shown in the following example: DataSocket Data files (*.dsd)|*.dsd|All files (*.*)|*.*
-
-
- The method launches a dialog box that provides interactive browsing
- and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
- objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
-
-
-
- is
-
- -or-
-
- is
-
- -or-
-
- is .
-
-
-
- is not a member of .
-
-
- The has been disposed.
-
- Key Measurement Studio DataSocket .NET Library Features
- 9/16/2008 10:06:24 AM
- Measurement Studio
- True
-
-
-
- Raises the event.
-
-
- A object that contains the event data.
-
-
- A derived class can override to handle the event without attaching a delegate. This technique is preferred for event handling in a derived class.
-
-
- 11/21/2002 1:33:06 PM
- Beth Parrott
- True
-
-
-
- Raises the event.
-
-
- A object that contains the event
- data.
-
-
- A derived class can override
- to handle the event without attaching a delegate. This technique is preferred for event handling in a derived class.
-
-
- 11/21/2002 1:33:08 PM
- Beth Parrott
- True
-
-
-
- Gets or sets the access mode for the connection.
-
-
- An that indicates the type
- of data transfer connection the object
- makes when connecting to the data source or target. The default value is
- .
-
-
- If you connect with the or
-
- access mode,
- the data is read-only. If you try to set the
- value or attributes on a read-only object, a
- is generated. If the
- object is disconnected, you can set the data value
- and attributes regardless of the access mode.
-
-
- Value is not a member of .
-
-
- The has been disposed.
-
-
- The following example demonstrates how to specify the access mode when establishing
- a connection.
-
- Dim connection As DataSocket = New DataSocket()
- connection.Connect("dstp://localhost/data", AccessMode.ReadAutoUpdate)
-
-
-
-
- DataSocket connection = new DataSocket();
- connection.Connect("dstp://localhost/data", AccessMode.ReadAutoUpdate);
-
-
- Key Measurement Studio DataSocket .NET Library Features
- 9/16/2008 10:06:35 AM
- Measurement Studio
- True
-
-
-
- Gets the actual URL of the current data source or target.
-
-
- The actual URL of the current data source or target.
-
-
-
- When connected to a data source or target, the value of
- differs from the value of the
- property if the original URL you specify points to a link that redirects the
- object to a new URL.
-
-
- If the object is disconnected, the
- property returns
- .
-
-
-
- The has been disposed.
-
-
- 11/21/2002 1:32:11 PM
- Beth Parrott
- True
-
-
-
- Gets or sets a value indicating if the object connects to a data source or target
- when the form loads.
-
-
- if the object connects to a data source or target
- when the form loads. The default value is .
-
-
- The has been disposed.
-
-
- This property is applicable only to a object that you create on a
- Windows Form with a Windows Forms Designer.
-
- Set the ,
- , and
- properties in the Visual Studio Properties window
- at design time to automatically connect the object to the
- data source or target when the form loads. You do not have to call
- .
-
-
- Like the method, this property causes the
- object to generate the
- event when the connection
- is made and the event when data is
- updated.
-
-
-
- 6/20/2006 4:41:42 PM
- Staci McCormick
- True
-
-
-
- Gets or sets the maximum number of bytes that is allowed in the
- property buffer.
-
-
- An integer that specifies the maximum number of bytes that is allowed in the
- property buffer. The default value is
- 104,857,600.
-
-
- The has been disposed.
-
-
- The specified value is less than 0.
-
- 6/9/2003 9:27:43 AM
- Beth Parrott
- True
-
-
-
- Gets or sets the maximum number of packets that is allowed in the
- property buffer.
-
-
- An integer that specifies the maximum number of packets that is allowed in the
- property buffer. The default value is
- 1.
-
-
- The has been disposed.
-
-
- The specified value is less than 0.
-
- 6/9/2003 9:28:07 AM
- Beth Parrott
- True
-
-
-
- Gets the total number of bytes that is currently in the buffer divided by the maximum number of
- bytes allowed in the buffer.
-
-
- A double value between 0 and 1 that specifies the total number of bytes that is currently in the
- buffer divided by the maximum number of bytes allowed in the buffer.
-
-
- The has been disposed.
-
-
- 6/9/2003 9:30:21 AM
- Beth Parrott
- True
-
-
-
- Gets the total number of packets that is currently in the buffer divided by the maximum number of
- bytes allowed in the buffer.
-
-
- A double value between 0 and 1 that specifies the total number of packets that is currently in the
- buffer divided by the maximum number of bytes allowed in the buffer.
-
-
- The has been disposed.
-
-
- 6/9/2003 9:29:58 AM
- Beth Parrott
- True
-
-
-
- Gets the current status of the data connection.
-
-
- A that specifies the status of the data
- connection.
-
-
-
- The value of this property is the same as the last status value passed to the
- event.
-
-
- If an error occurs while connecting to the data source or target, the status indicates the
- last step attempted. The and
- properties describe the error.
-
-
-
- The has been disposed.
-
-
- The following example demonstrates how to update a Windows Form StatusBar control with the
- connection status, the last error, and the last message of a
- connection.
-
- Private Sub UpdateStatus(ByVal status As StatusBar, ByVal connection As DataSocket)
- Dim output As StringBuilder = New StringBuilder()
- output.AppendFormat("Status: {0}, ", connection.ConnectionStatus)
- output.AppendFormat("Error: {0}, ", connection.LastError)
- output.AppendFormat("Message: {0}", connection.LastMessage)
- status.Text = output.ToString()
- End Sub
-
-
-
-
- private void UpdateStatus(StatusBar status, DataSocket connection)
- {
- StringBuilder output = new StringBuilder();
- output.AppendFormat("Status: {0}, ", connection.ConnectionStatus);
- output.AppendFormat("Error: {0}, ", connection.LastError);
- output.AppendFormat("Message: {0}", connection.LastMessage);
- status.Text = output.ToString();
- }
-
-
-
-
- 6/20/2006 4:41:45 PM
- Staci McCormick
- True
-
-
-
- Gets the current value and attributes that the object received
- from the data source or target
- or that were set locally.
-
-
- A that contains the data source or target and its
- attributes.
-
-
-
- Use this property to access the object that contains the
- current value and attributes. Then use the methods and
- properties to access the value or specified attributes.
-
-
- When you connect the object to a data target with the
- or
- access mode, the
- object transfers the current value and attributes to the target as
- soon as the connection is complete. When you connect the object to
- a data source with the or
- access mode,
- the object completes the connection and transfers the values.
-
-
- Use the property or the
- event to determine if and when the value or
- attributes on the local object are set or changed.
-
-
- When the object is disconnected from the previous data source or target,
- it retains the value and attributes it last had while connected.
-
-
-
- The has been disposed.
-
- 6/20/2006 4:41:49 PM
- Staci McCormick
- True
-
-
-
- Gets if the object is in a connected or disconnected
- state.
-
-
- Returns if the object is in a connected state. Returns
- if the object is in a disconnected state.
-
-
- The has been disposed.
-
-
- 11/21/2002 1:32:22 PM
- Beth Parrott
- True
-
-
-
- Gets a value indicating if values or attributes on the local object have changed
- since the last data transfer.
-
-
- if the or attributes have changed.
- if the value or attributes are unchanged or if
- has been queried since the last data transfer.
-
-
- The event occurs when
- changes from to
- . Use this property to determine if the data value or attributes have changed since you last queried this property.
- This property is typically useful only on a object that is configured for
- or .
- You can use a delegate instead of polling .
-
-
-
- The has been disposed.
-
-
-
- 6/20/2006 4:41:56 PM
- Staci McCormick
- True
-
-
-
- Gets a value indicating if the connection status has changed or an error has occurred.
-
-
- The property is set to when the
- event is generated and set to
- when the is queried.
-
-
- The has been disposed.
-
-
- Use this property to determine if the connection status has changed since you last queried this property. You can use a
- instead of polling
- .
-
-
-
- 6/20/2006 4:41:53 PM
- Staci McCormick
- True
-
-
-
- Gets the error code associated with the last
- event.
-
-
- 0 if no error occurred the last time
- occurred. If an error occurred,
- gets the error code of the error that occurred the last time
- occurred.
-
-
-
- Some common errors include errors caused by incorrect network configurations, insufficient
- access privileges to connect to the data source or target, or an incorrectly formed URL.
-
-
- To determine the task the object was performing when the
- error occurred, check the and
- properties.
-
-
-
- The has been disposed.
-
-
-
- 11/21/2002 1:32:28 PM
- Beth Parrott
- True
-
-
-
- Gets the message associated with the last
- event.
-
-
- Describes the last error encountered or the last step taken in connecting to or updating
- the data.
-
-
- The has been disposed.
-
-
-
- 11/21/2002 1:32:29 PM
- Beth Parrott
- True
-
-
-
- Gets or sets the mode that specifies how reads
- data.
-
-
- A that indicates if
- raises the
- event to notify when
- new data arrives or if you must call
- to poll and dequeue buffered data into the
- property.
-
- 6/20/2006 4:42:01 PM
- Staci McCormick
- True
-
-
-
- Gets or sets the location of a data source or target.
-
-
- A string that represents the URL of the data source or target. The default value is
- .
-
-
-
- The object can connect to different data sources or targets
- based on the specified URL. The
- property determines if the object is transferring data from a data
- source or to a data target.
-
-
- If the data source or target redirects the
- object to a new URL, the
- property is set to the new URL.
-
-
- The following types of URLs are supported:
-
- ProtocolExample
- -
- DataSocket Server (dstp:)
-
- dstp://localhost/wave
- dstp://machine/item
-
-
- -
- Standard Web server (http:)
- http://www.ni.com/cworks/datasocket.tone.wav
-
- -
- Standard FTP Sites (ftp:)
-
- ftp://ftp.ni.com/datasocket/ping.wav
- The FTP site must allow anonymous connections.
-
-
- -
- Lookout/Logos objects (lookout: or logos:)
-
- lookout://localhost/testprocess/pot1.value
- logos://localhost/testprocess/pot1.value
-
-
- -
- Files directly accessible from the file system (file:)
-
- file:ping.wav
- file:c:/mydata/ping.wav
- file://machine/mydata/ping.wav
-
-
- -
- OLE for Process Control (OPC) Servers (opc:)
-
- opc:/National Instruments.OPCDemo/sine
- opc:/National Instruments.OPCDemo/sine?AccessPath=sine
- opc://machine/National Instruments.OPCModbus/Modbus Demo Box.40
-
-
-
-
-
-
- The has been disposed.
-
-
- Key Measurement Studio DataSocket .NET Library Features
- 9/16/2008 10:05:55 AM
- Measurement Studio
- True
-
-
-
- Occurs when the status of the connection changes.
-
-
- This event occurs every time the connection status changes, such as when the
- object connects to a data source or target specified by the
- property, transfers data, or encounters an error.
-
-
-
-
- 11/21/2002 1:32:41 PM
- Beth Parrott
- True
-
-
-
- Occurs when the value or attributes of the property is
- updated.
-
-
-
- The object sets the
- to immediately before this event
- is generated.
-
-
- In write access mode, the event occurs when data is
- ready to send. In read access mode, the event occurs when data is received.
- You can use the event to
- scale, display, or process new data.
-
-
-
-
- 11/21/2002 1:32:44 PM
- Beth Parrott
- True
-
-
-
- Contains the name of a attribute and its associated
- data.
-
-
-
- Attributes provide information such as the time the value was calculated or acquired, the units in which the value is expressed, the equipment used to generate the value, or any other properties that you want to define.
-
- Use the object when you iterate through the
- of a
- object.
-
-
- The following example iterates through the attributes of a object
- and displays each and
- value.
-
- Private Sub ShowDataSocketAttributes(ByVal data As DataSocketData)
- Console.WriteLine("DataSocket Data Attributes")
- Dim attr As DataSocketAttribute
- For Each attr In data.Attributes
- Console.WriteLine("{0}: {1}", attr.Name, attr.Data.Value.ToString())
- Next
- End Sub
-
-
-
-
- private void ShowDataSocketAttributes(DataSocketData data)
- {
- Console.WriteLine("DataSocket Data Attributes");
- foreach (DataSocketAttribute attr in data.Attributes)
- Console.WriteLine("{0}: {1}", attr.Name, attr.Data.Value.ToString());
- }
-
-
-
- 11/21/2002 1:33:10 PM
- Beth Parrott
- True
-
-
-
- Overrides .
-
- Returns a string representation of the object.
- 10/30/2002 11:44:10 AM
- Beth Parrott
- True
-
-
-
- Gets the name of the object.
-
-
- A string value that represents the name of the associated data.
-
- 11/21/2002 1:33:13 PM
- Beth Parrott
- True
-
-
-
- Gets the data of the object.
-
-
- A that represents the attribute data.
-
- 6/20/2006 4:42:07 PM
- Staci McCormick
- True
-
-
-
- Encapsulates the collection of the attributes of a
- object.
-
-
-
- Each attribute consists of a string name and a value.
-
-
- 11/21/2002 1:34:22 PM
- Beth Parrott
- True
-
-
- Overrides .
- Returns a string representation of the object.
- 10/30/2002 12:10:36 PM
- Beth Parrott
- True
-
-
-
- Gets the names of the attributes that are associated with the object.
-
- An array of strings that indicate the names of the attributes that are associated with
- the object.
- 6/9/2003 10:24:14 AM
- Beth Parrott
- True
-
-
-
- Creates an attribute of a object.
-
-
- The name of the attribute to add.
-
-
- The value of the attribute.
-
-
- The object that represents
- the value of the added attribute.
-
-
- is .
-
-
- An element with the same key already exists in the collection.
-
-
- is a data type that is not supported by .
-
- 6/9/2003 9:47:57 AM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:19 PM
- Measurement Studio
- True
-
-
- Removes all items from the collection.
- 10/30/2002 12:10:54 PM
- Beth Parrott
- True
-
-
- Returns if the specified attribute is in the collection.
- The name of the item to locate in the collection.
-
- Returns if the collection contains .
-
-
- is .
-
- 6/9/2003 9:48:09 AM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:20 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:19 PM
- Measurement Studio
- True
-
-
- Returns an enumerator that you can use to iterate through the collection.
- Enumerator for the collection.
-
- For a detailed explanation of this method, refer to in the Microsoft
- .NET Framework documentation.
-
- 10/30/2002 12:11:08 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:20 PM
- Measurement Studio
- True
-
-
-
- Removes the first occurrence of the specified attribute from the collection.
-
-
- The name of the attribute to remove from the collection.
-
-
- is .
-
-
- An attribute with the specified name was not found in the collection.
-
- 6/9/2003 9:48:21 AM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:23 PM
- Measurement Studio
- True
-
-
-
- Gets the attribute in the collection with the specified name. In Visual C#, this
- property is the indexer.
-
-
- The of the attribute
- with the specified name.
-
-
- The specified attribute name is .
-
-
- There is no attribute in the collection with the specified range.
-
- 6/20/2006 4:42:12 PM
- Staci McCormick
- True
-
-
-
- 1/23/2009 4:54:17 PM
- Measurement Studio
- True
-
-
-
- Gets the number of elements in the collection.
-
-
- The number of elements contained in the collection.
-
- 11/21/2002 1:34:30 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:41 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:16 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:14 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:17 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:14 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:18 PM
- Measurement Studio
- True
-
-
-
- Represents a data source or target that you can bind to a property of a control.
-
-
-
- External data sources and targets might be
- on HTTP, FTP, OPC, DSTP, or file servers located anywhere on the Internet.
-
-
- The object uses National Instruments DataSocket
- technology to connect to data sources and targets and share live measurements over the
- Internet.
- To expose a data source or target as a binding to a Windows Forms control,
- add a object to the
- of a object.
-
-
- You must call when you finish using a
- object.
-
-
-
-
-
- 1/22/2013 1:43:10 PM
- National Instruments
- True
-
-
-
- Initializes a new instance of .
-
- 10/30/2002 11:46:05 AM
- Beth Parrott
- True
-
-
-
- Overrides .
-
-
- A string representation of the object.
-
-
- The has been disposed.
-
- 6/9/2003 10:03:11 AM
- Beth Parrott
- True
-
-
-
- Releases all resources used by the
- object.
-
- 11/21/2002 1:33:21 PM
- Beth Parrott
- True
-
-
-
- Releases the resources used by the object.
-
-
- If , this method releases managed and unmanaged resources. If , this method
- releases only unmanaged resources.
-
-
-
- The public method and the finalizer call this method. The public
- method invokes the protected Dispose(Boolean) method with
- set to . The finalizer invokes the protected Dispose(Boolean) method
- with set to
- .
-
-
- When you set the parameter to , this method releases all
- resources held by managed objects that the object
- references. This method invokes the method of each referenced object.
-
-
- 11/21/2002 1:33:23 PM
- Beth Parrott
- True
-
-
-
- Finalizes the instance of the object.
-
- 10/30/2002 11:44:16 AM
- Beth Parrott
- True
-
-
-
- Connects the object to a data source or target.
-
-
-
- The method establishes the
- connection with the current values of the
- and the
- properties.
-
-
- The object creates the connection asynchronously.
- You must return
- control to the application message loop after you create the connection and before you
- perform data transfers on data
- or attributes. You can check the
- property to determine if the connection is established.
-
-
- When connecting to a data source in a read access mode,
- the object updates the data after the connection is
- completed. When connecting to a data target in a write access mode, the
- object transfers the data when the connection is
- made. If you connect in an automatic update mode, the
- object automatically transfers data when
- new data is available.
-
-
- If you connect a reading client to a
- object that does not exist, the server creates the item with a default value of 0.
-
-
-
- The has been disposed.
-
-
- 11/21/2002 1:33:51 PM
- Beth Parrott
- True
-
-
-
- Connects the object to the specified data source or target.
-
-
- Location of the data source or target to which the
- must connect.
-
-
-
- The method sets the
- property to the value of the
- parameter. The method uses the current value of
- to establish the connection.
-
-
- The object creates the connection asynchronously.
- You must return
- control to the application message loop after you create the connection and before you
- perform data transfers on data
- or attributes. You can check the
- property to determine if the connection is established.
-
-
- When connecting to a data source in a read access mode,
- the object updates the data after the connection is
- completed. When connecting to a data target in a write access mode, the
- object transfers the data when the connection is
- made. If you connect in an automatic update mode, the
- object automatically transfers data when
- new data is available.
-
-
- If you connect a reading client to a
- object that does not exist, the server creates the item with a default value of 0.
-
-
-
- is .
-
-
- The has been disposed.
-
-
- 11/21/2002 1:33:53 PM
- Beth Parrott
- True
-
-
-
- Connects the object to the specified data source or target with the
- specified access mode.
-
-
- Location of the data source or target to which the
- object must connect.
-
-
- An value that specifies the type of connection the
- object makes when it connects to the data source or
- target.
-
-
-
- The method sets the
- and
- properties to the values of the
- and parameters.
-
-
- The object creates the connection asynchronously.
- You must return
- control to the application message loop after you create the connection and before you
- perform data transfers on data
- or attributes. You can check the
- property to determine if the connection is established.
-
-
- When connecting to a data source in a read access mode,
- the object updates the data after the connection is
- completed. When connecting to a data target in a write access mode, the
- object transfers the data when the connection is
- made. If you connect in an automatic update mode, the
- object automatically transfers data when
- new data is available.
-
-
- If you connect a reading client to a
- object that does not exist, the server creates the item with a default value of 0.
-
-
-
- is .
-
-
- is not a member of .
-
-
- The has been disposed.
-
- 11/21/2002 1:33:55 PM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified timeout.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
-
- The method establishes the
- connection with the current values of the
- and the
- properties.
-
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 10:18:00 AM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified .
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
-
- The method establishes the
- connection with the current values of the
- and the
- properties.
-
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 10:20:43 AM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified URL and timeout.
-
-
- Location of the data source or target to which the
- must connect.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
-
- The method sets the
- property to the value of the
- parameter. The method uses the current value of
- to establish the connection.
-
-
-
- The has been disposed.
-
-
- is .
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 10:19:51 AM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified URL and .
-
-
- Location of the data source or target to which the
- must connect.
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
-
- The method sets the
- property to the value of the
- parameter. The method uses the current value of
- to establish the connection.
-
-
-
- The has been disposed.
-
-
- is .
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 10:20:17 AM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified URL, access mode, and timeout.
-
-
- Location of the data source or target to which the
- must connect.
-
-
- An value that specifies the type of connection the
- object makes when it connects to the data source or
- target.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
-
- The method sets the
- and
- properties to the values of the
- and parameters.
-
-
-
- The has been disposed.
-
-
- is .
-
-
- is not a member of .
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 10:18:41 AM
- Beth Parrott
- True
-
-
-
- Synchronously connects the object to a
- data source or target with the specified URL, access mode, and .
-
-
- Location of the data source or target to which the
- must connect.
-
-
- An value that specifies the type of connection the
- object makes when it connects to the data source or
- target.
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
-
- The method sets the
- and
- properties to the values of the
- and parameters.
-
-
-
- The has been disposed.
-
-
- is .
-
-
- is not a member of .
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 10:19:16 AM
- Beth Parrott
- True
-
-
-
- Disconnects the object from the data source or target to which it is
- currently connected.
-
-
- The value of and its attributes remain
- unchanged when the object is disconnected.
-
- has no effect if the
- object is not connected.
-
-
-
- The has been disposed.
-
-
- 11/21/2002 1:33:56 PM
- Beth Parrott
- True
-
-
-
- Synchronously disconnects the object from
- the data source or target to which it is currently connected using the specified timeout.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
-
- The value of the property and its attributes
- remain unchanged when the object is disconnected.
-
-
- has no effect if the
- object is already disconnected.
-
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 10:23:23 AM
- Beth Parrott
- True
-
-
-
- Synchronously disconnects the object from
- the data source or target to which it is currently connected using the specified .
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
-
- The value of the property and its attributes
- remain unchanged when the object is already disconnected.
-
-
- has no effect if the
- object is disconnected.
-
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
-
- 6/9/2003 10:23:32 AM
- Beth Parrott
- True
-
-
-
- Initiates a write to the server with the specified data and timeout.
-
-
- The data to write to the server.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
- initiates a write to the server
- and then waits for the amount of time specified by for the server
- to acknowledge that the write was successful.
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 10:22:43 AM
- Beth Parrott
- True
-
-
-
- Initiates a write to the server with the specified data and .
-
-
- The data to write to the server.
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
- initiates a write to the server
- and then waits for the amount of time specified by for the server
- to acknowledge that the write was successful.
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 10:23:12 AM
- Beth Parrott
- True
-
-
-
- Synchronously polls the client-side buffer for unprocessed values using the specified timeout.
-
-
- The timeout period specified in milliseconds.
-
-
- if the operation timed out.
-
-
- is used in synchronous read mode
- to poll the client-side buffer for any unprocessed values. If the buffer contains
- unprocessed data, the next value is dequeued into the
- property and the return value is
- . If the buffer contains no new values,
- will wait for the specified timeout
- interval for a new value to arrive.
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 10:21:55 AM
- Beth Parrott
- True
-
-
-
- Synchronously polls the client-side buffer for unprocessed values using the specified .
-
-
- The timeout period specified as a .
-
-
- if the operation timed out.
-
-
- is used in synchronous read mode
- to poll the client-side buffer for any unprocessed values. If the buffer contains
- unprocessed data, the next value is dequeued into the
- property and the return value is
- . If the buffer contains no new values,
- will wait for the specified timeout
- interval for a new value to arrive.
-
-
- The has been disposed.
-
-
- The specified timeout is less than 0.
-
- 6/9/2003 10:22:12 AM
- Beth Parrott
- True
-
-
-
- Causes the object to transfer data from a data source or to
- a data target.
-
-
-
- Use the property to determine if
- transfers data from a data source or to a data target.
-
-
- When using the or access mode, call the
- method when you want transfer data between the data source or target
- and the local object.
- If you want to
- transfer data every time new data is available without calling , use the
- or access modes.
-
-
-
- The has been disposed.
-
-
- The is not connected.
-
-
- 6/9/2003 10:03:35 AM
- Beth Parrott
- True
-
-
-
- Enables interactive browsing and selection of data sources or targets.
-
-
- The method launches a dialog box that provides interactive browsing
- and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
- objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
-
-
- The has been disposed.
-
- 11/21/2002 1:34:00 PM
- Beth Parrott
- True
-
-
-
- Enables interactive browsing and selection of data sources or targets and configures the dialog box with a specified URL.
-
-
- String that contains the URL. If the protocol is opc:,
- dstp:, logos:,
- or file, or if you omit this parameter, this method opens a dialog box in which the user can
- find and select a data source or target. You can prompt the user to create a Web or FTP
- location with the http: or ftp: protocols. You also can use a complete URL, such
- as dstp://localhost/wave.
-
-
- The method launches a dialog box that provides interactive browsing
- and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
- objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
-
-
-
- is
-
-
-
- The has been disposed.
-
- 11/21/2002 1:34:01 PM
- Beth Parrott
- True
-
-
-
- Enables interactive browsing and selection of data sources or targets and configures the dialog box URL and title.
-
-
- String that contains the URL. If the protocol is opc:,
- dstp:, logos:,
- or file, or if you omit this parameter, this method opens a dialog box in which the user can
- find and select a data source or target. You can prompt the user to create a Web or FTP
- location with the http: or ftp: protocols. You also can use a complete URL, such
- as dstp://localhost/wave.
-
-
- Title of the dialog box.
-
-
- The method launches a dialog box that provides interactive browsing
- and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
- objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
-
-
-
- is
-
- -or-
-
- is
-
-
-
- The has been disposed.
-
- 11/21/2002 1:34:03 PM
- Beth Parrott
- True
-
-
-
- Enables interactive browsing and selection of data sources or targets and configures the dialog box URL, title, and options.
-
-
- String that contains the URL. If the protocol is opc:,
- dstp:, logos:,
- or file, or if you omit this parameter, this method opens a dialog box in which the user can
- find and select a data source or target. You can prompt the user to create a Web or FTP
- location with the http: or ftp: protocols. You also can use a complete URL, such
- as dstp://localhost/wave.
-
-
- Title of the dialog box.
-
-
- Flags that control the behavior of the dialog box.
-
-
- The method launches a dialog box that provides interactive browsing
- and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
- objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
-
-
-
- is
-
- -or-
-
- is
-
-
-
- is not a member of .
-
-
- The has been disposed.
-
- 11/21/2002 1:34:05 PM
- Beth Parrott
- True
-
-
-
- Enables interactive browsing and selection of data sources or targets and configures the dialog box URL, title, options, and filter.
-
-
- String that contains the URL. If the protocol is opc:,
- dstp:, logos:,
- or file, or if you omit this parameter, this method opens a dialog box in which the user can
- find and select a data source or target. You can prompt the user to create a Web or FTP
- location with the http: or ftp: protocols. You also can use a complete URL, such
- as dstp://localhost/wave.
-
-
- Title of the dialog box.
-
-
- Flags that control the behavior of the dialog box.
-
-
- Filter string passed to the dialog box, as shown in the following example: DataSocket Data files (*.dsd)|*.dsd|All files (*.*)|*.*
-
-
- The method launches a dialog box that provides interactive browsing
- and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
- objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
-
-
-
- is
-
- -or-
-
- is
-
- -or-
-
- is .
-
-
-
- is not a member of .
-
-
- The has been disposed.
-
- 11/21/2002 1:34:07 PM
- Beth Parrott
- True
-
-
-
- Gets or sets the access mode for the connection.
-
-
- An that indicates the type of data transfer
- connection the object makes when connecting to the
- data source or target. The default value is .
-
-
- The value is not a member of .
-
-
- The has been disposed.
-
-
- If you connect with the or
-
- access mode,
- the data is read-only. If you try to set the
- value or attributes on a read-only object, a
- is generated. If the
- object is disconnected, you can set the data value
- and attributes regardless of the access mode.
-
- 6/20/2006 4:42:20 PM
- Staci McCormick
- True
-
-
-
- Gets or sets the name of the binding.
-
-
- A string value that indicates the name of the binding. The default value is .
-
-
- The has been disposed.
-
-
- When you bind a data source or target to a Windows Forms control,
- the value of identifies the binding. You can select the Windows Forms control in
- the Windows Forms Designer, navigate to the property in the Properties window, locate the property you want to bind to a
- data source or target, and select from the list of
- available bindings.
-
- 11/5/2008 10:39:50 AM
- Measurement Studio
- True
-
-
-
- Gets the actual URL of the current data source or target.
-
-
- The actual URL of the current data source or target.
-
-
-
- When connected to a data source or target, the value of
- differs from the value of
- property if the URL you specify points to
- a link that redirects the object to a new URL.
-
-
- If the object is disconnected, the
- property returns
- .
-
-
-
- The has been disposed.
-
-
- 11/21/2002 1:33:29 PM
- Beth Parrott
- True
-
-
-
- Gets or sets the maximum number of bytes that is allowed in the
- property buffer.
-
-
- An integer that specifies the maximum number of bytes that is allowed in the
- property buffer. The default value is
- 104,857,600.
-
-
- The has been disposed.
-
-
- The specified value is less than 0.
-
- 6/9/2003 9:50:20 AM
- Beth Parrott
- True
-
-
-
- Gets or sets the maximum number of packets that is allowed in the
- property buffer.
-
-
- An integer that specifies the maximum number of packets that is allowed in the
- property buffer. The default value is
- 1.
-
-
- The has been disposed.
-
-
- The specified value is less than 0.
-
- 6/9/2003 9:50:34 AM
- Beth Parrott
- True
-
-
-
- Gets the total number of bytes that is currently in the buffer divided by the maximum number of
- bytes allowed in the buffer.
-
-
- A double value between 0 and 1 that specifies the total number of bytes that is currently in the
- buffer divided by the maximum number of bytes allowed in the buffer.
-
-
- The has been disposed.
-
-
- 6/9/2003 9:51:26 AM
- Beth Parrott
- True
-
-
-
- Gets the total number of packets that is currently in the buffer divided by the maximum number of
- bytes allowed in the buffer.
-
-
- A double value between 0 and 1 that specifies the total number of packets that is currently in the
- buffer divided by the maximum number of bytes allowed in the buffer.
-
-
- The has been disposed.
-
-
- 6/9/2003 9:51:47 AM
- Beth Parrott
- True
-
-
-
- Gets the current status of the data connection.
-
-
- A that specifies the status of the data
- connection.
-
-
-
- If an error is encountered while connecting to the data source or target, the status indicates the
- last step attempted. The and
- properties describe the error.
-
-
-
- The has been disposed.
-
-
- 6/20/2006 4:42:24 PM
- Staci McCormick
- True
-
-
-
- Gets a value indicating if the object is in a connected or disconnected
- state.
-
-
- Returns if the object is in a connected state. Returns
- if the object is in a disconnected state.
-
-
- The has been disposed.
-
-
- 6/20/2006 4:42:35 PM
- Staci McCormick
- True
-
-
-
- Gets the error code associated with the last binding connection.
-
-
- 0 if no error occurred while the binding connection was established. If an error occurred, gets the error
- code of the error that occurred while the binding connection was established.
-
-
-
- Some common errors include errors caused by incorrect network configurations, insufficient
- access privileges to connect to the data source or target, or an incorrectly formed URL.
-
-
- To determine the task the object was performing when the
- error occurred, check the and
- properties.
-
-
-
- The has been disposed.
-
-
- 11/21/2002 1:33:34 PM
- Beth Parrott
- True
-
-
-
- Gets the message associated with the last the binding connection.
-
-
- Describes the last error that occurred or the last step taken in connecting to or updating
- the data.
-
-
- The has been disposed.
-
-
- 11/21/2002 1:33:46 PM
- Beth Parrott
- True
-
-
-
- Gets or sets the mode that specifies how reads
- data.
-
-
- A that indicates if
- notifies when
- new data arrives or if you must call
- to poll and dequeue buffered data into the
- property.
-
- 9/17/2009 4:46:41 PM
- Measurement Studio
- True
-
-
-
- Gets or sets the location of the data source or target to which the
- object is connecting.
-
-
- A string that represents the URL of the data source or target. The default value is .
-
-
-
- The object can connect to different data sources or targets
- according to the URL specified. The
- property determines if the object is transferring data from a data
- source or to a data target.
-
-
- If the data source or target pointed to by the URL redirects the
- to a new URL, the
- property is set to the new URL.
-
-
- The following types of URLs are supported:
-
- ProtocolExample
- -
- DataSocket Server (dstp:)
-
- dstp://localhost/wave
- dstp://machine/item
-
-
- -
- Standard Web server (http:)
- http://www.ni.com/cworks/datasocket.tone.wav
-
- -
- Standard FTP Sites (ftp:)
-
- ftp://ftp.ni.com/datasocket/ping.wav
- The FTP site must allow anonymous connections.
-
-
- -
- Lookout/Logos objects (lookout: or logos:)
-
- lookout://localhost/testprocess/pot1.value
- logos://localhost/testprocess/pot1.value
-
-
- -
- Files directly accessible from the file system (file:)
-
- file:ping.wav
- file:c:/mydata/ping.wav
- file://machine/mydata/ping.wav
-
-
- -
- OLE for Process Control (OPC) Servers (opc:)
-
- opc:/National Instruments.OPCDemo/sine
- opc:/National Instruments.OPCDemo/sine?AccessPath=sine
- opc://machine/National Instruments.OPCModbus/Modbus Demo Box.40
-
-
-
-
-
-
- The has been disposed.
-
-
- 11/20/2002 6:25:04 PM
- Beth Parrott
- True
-
-
-
- Gets the current value and attributes that the
- object received from the data source or target or
- that have been set locally.
-
-
- A that contains the data source or target and its
- attributes.
-
-
- The has been disposed.
-
- 6/20/2006 4:42:31 PM
- Staci McCormick
- True
-
-
-
- Represents a strongly-typed collection of objects.
-
-
- 11/21/2002 1:35:19 PM
- Beth Parrott
- True
-
-
- Overrides .
- Returns a string representation of the object.
- 10/30/2002 12:08:53 PM
- Beth Parrott
- True
-
-
-
- Adds an item to the end of the collection.
-
-
- Item to add to the collection.
-
-
- The array index of the added item.
-
-
- is .
-
- 11/21/2002 1:35:25 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:27 PM
- Measurement Studio
- True
-
-
-
- Adds an array of objects to the end of the collection.
-
-
- Array of objects to add to the collection.
-
-
- is .
-
- 11/21/2002 1:35:27 PM
- Beth Parrott
- True
-
-
-
- Adds a collection of objects to the end of the collection.
-
-
- Collection of objects to add to the collection.
-
-
- is .
-
- 10/30/2002 12:08:11 PM
- Beth Parrott
- True
-
-
- Removes all items from the collection.
- 10/30/2002 12:08:20 PM
- Beth Parrott
- True
-
-
-
- Returns if the specified element is in the collection.
-
-
- Item to locate in the collection.
-
-
- Returns if the collection contains .
-
- 10/30/2002 12:08:22 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:28 PM
- Measurement Studio
- True
-
-
- Copies the collection to an array or a portion of an array.
- Destination array for the collection.
- Index in the target array at which you want to begin copying the collection to.
-
-
- is multidimensional.
-
-
- - or -
-
-
- is greater than or equal to the array length.
-
-
- - or -
-
-
- The number of elements in the collection is greater than the available space between
- and the end of .
-
-
-
- is .
-
-
- is less than zero.
-
- 10/30/2002 12:08:24 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:27 PM
- Measurement Studio
- True
-
-
-
- Returns the zero-based index of the first occurrence of an item in the collection.
-
- Item to search for.
- Index of the item. If the item is not found, returns -1.
- 11/21/2002 1:35:31 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:28 PM
- Measurement Studio
- True
-
-
- Inserts an item into the collection at the specified index.
- Index to insert the item at.
- Item to insert into the collection.
-
- is not a valid index in the .
-
-
- is .
-
-
- The list elements after the removed element shift up to occupy the vacated spot. Because the list elements
- are indexed, the indexes of the shifted elements also are updated.
-
- 11/21/2002 1:35:33 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:29 PM
- Measurement Studio
- True
-
-
- Returns an enumerator that you can use to iterate through the collection.
- Enumerator for the collection.
-
- For a detailed explanation of this method, refer to in the Microsoft
- .NET Framework documentation.
-
- 10/30/2002 12:08:27 PM
- Beth Parrott
- True
-
-
- Removes the first occurrence of the specified item.
- Item to remove from the collection.
-
- The list elements after the removed element shift up to occupy the vacated spot. Because the list elements
- are indexed, the indexes of the shifted elements also are updated.
-
- 11/21/2002 1:35:35 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:29 PM
- Measurement Studio
- True
-
-
- Removes the item at the specified index.
- Zero-based index of the item to remove.
-
- is not a valid index in the .
-
-
- The list elements after the removed element shift up to occupy the vacated spot. Because the list elements
- are indexed, the indexes of the shifted elements also are updated.
-
- 11/21/2002 1:35:37 PM
- Beth Parrott
- True
-
-
- Gets or sets the at the specified index. In Visual C#, this property is the indexer.
-
- The object at the specified index.
-
-
- The zero-based index of the entry to locate in the collection.
-
-
- is outside the valid range of indexes for the collection.
-
-
- is .
-
- 5/30/2003 5:17:17 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:26 PM
- Measurement Studio
- True
-
-
- Gets an entry in the collection with the specified name. In Visual C#, this property is the indexer.
-
- The object with the specified binding
- name.
-
-
- Name of the entry to find in the collection.
-
-
- The binding with the specified name was not found in the collection.
-
-
- is .
-
- 1/10/2003 4:09:51 PM
- Beth Parrott
- True
-
-
-
- Gets the number of elements in the collection.
-
-
- The number of elements contained in the collection.
-
- 11/21/2002 1:35:29 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:23 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:25 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:25 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:24 PM
- Measurement Studio
- True
-
-
-
- Contains the value and attributes associated with the value.
-
-
-
-
- The object encapsulates the data obtained from
- or passed to a object.
- The object also encapsulates the data attributes.
-
-
- The object supports the following data types:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - Arrays of
- - Arrays of
- - Arrays of
- - Arrays of
- - Arrays of
- - Arrays of
- - Arrays of
- - Arrays of
- - Arrays of
- - Arrays of
- - Arrays of
- - Arrays of
- - Arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
- - Two-dimensional arrays of
-
-
-
- You must call when you finish using a
- object.
-
-
- 11/21/2002 1:34:11 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of .
-
-
- 10/30/2002 11:42:42 AM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:30 PM
- Measurement Studio
- True
-
-
-
- Overrides .
-
- Returns a string representation of the object.
- 10/30/2002 12:01:28 PM
- Beth Parrott
- True
-
-
-
- Releases all resources used by the object.
-
- 10/14/2009 9:29:15 AM
- Staci Heien
- True
-
-
-
- Releases all resources used by the object.
-
- 1/10/2003 4:09:12 PM
- Beth Parrott
- True
-
-
-
- Releases the unmanaged resources used by the object and
- optionally releases the managed resources.
-
-
- If , releases both managed and unmanaged resources. If , only releases
- unmanaged resources.
-
-
-
- The public method and the finalizer call this method. The public
- method invokes the protected Dispose(Boolean) method with
- set to . The finalizer invokes the protected Dispose(Boolean) method
- with set to
- .
-
-
- When you set the parameter to , this method releases all
- resources held by managed objects that the object
- references. This method invokes the method of each referenced object.
-
-
- 11/21/2002 9:33:09 AM
- Beth Parrott
- False
-
-
- Finalizes the instance of the object.
- 10/30/2002 12:00:52 PM
- Beth Parrott
- True
-
-
-
- Clears the property and
- all attributes.
-
-
- This method sets the property to 0 and removes all attributes of the object.
-
-
- 11/21/2002 1:34:18 PM
- Beth Parrott
- True
-
-
-
- Gets a value indicating if the object has been disposed.
-
-
- if has been
- called on the object. if
- has not been called
- on the object.
-
- 6/20/2006 4:42:45 PM
- Staci McCormick
- True
-
-
-
- Gets a list of attributes that are associated with the data.
-
-
- A collection of values
- that are associated with the data.
-
- 10/30/2002 12:00:56 PM
- Beth Parrott
- True
-
-
-
- Gets or sets the value of the object.
-
-
- The value of the local object. The default value is 0.
-
-
- Get this property to obtain the value of the local object. If the
- object belongs to a
- object that is
- configured for , the
- object transfers the data from the data source to the local object when the value of the data
- source is updated. Query the property to determine if the local
- object has been updated. If the object belongs to a object
- that is configured for , you must call
- to transfer data from the data source to the local object.
- Set this property to specify the value of the local
- object. If the object belongs to a
- object that is configured for ,
- the object transfers data from the local
- object when you set this property. If the
- object belongs to a
- object that
- is configured for , you must call
- to transfer data from the local object to the data target.
-
-
-
-
- 11/21/2002 1:34:20 PM
- Beth Parrott
- True
-
-
- Represents the exception that is thrown when a
- error occurs.
-
-
- 10/30/2002 12:01:36 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of .
-
- 11/21/2002 1:34:32 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of
- with the specified error message.
-
-
- The error message that explains the cause of the exception.
-
- 10/30/2002 12:01:47 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of
- with the specified error message and a reference to the inner exception that is the
- cause of the exception.
-
-
- The error message that explains the cause of the exception.
-
-
- The exception that caused this exception.
-
- 11/21/2002 1:34:34 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of with serialized data.
-
-
- The object that holds the serialized object data.
-
-
- The contextual information about the source or destination of a serialized stream.
-
- 10/30/2002 12:01:42 PM
- Beth Parrott
- True
-
-
- Overrides .
- Returns a string representation of the object.
- 10/30/2002 12:01:51 PM
- Beth Parrott
- True
-
-
-
- Encapsulates the interface to the National Instruments DataSocket Server.
-
-
-
-
- Use this class to run the DataSocket Server on the local machine. You must run the DataSocket Server on the machine on which you
- want to host DSTP data sources and targets.
-
-
- You must call when you finish using a
- object. If you add this object to a Windows form with the Windows
- Forms Designer, the form calls automatically.
-
-
- 11/21/2002 1:34:37 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of .
-
- 10/30/2002 12:07:36 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of
- with the specified container.
-
-
- that represents the object container.
-
-
- 10/30/2002 12:07:44 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of with the specified
- auto-start value.
-
-
- Specifies if the server automatically starts when the object is constructed.
-
-
- When you use this constructor, the object automatically
- shuts down when the object is disposed.
-
- The DataSocket Server is not installed.
-
-
- 10/30/2002 12:07:41 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of with the specified auto-start and
- auto-shutdown values.
-
-
- Specifies if the server automatically starts when the object is constructed.
-
-
- Specifies if the server automatically shuts down when the object is disposed.
-
-
- The DataSocket Server is not installed.
-
-
- 10/30/2002 12:07:43 PM
- Beth Parrott
- True
-
-
-
- Overrides .
-
-
- A string representation of the object.
-
-
- The has been disposed.
-
- 6/9/2003 10:09:24 AM
- Beth Parrott
- True
-
-
-
- Releases the resources used by object.
-
-
- If , this method releases managed and unmanaged resources. If , this method
- releases only unmanaged resources.
-
-
-
- The public method and the finalizer call this method. The public
- method invokes the protected Dispose(Boolean) method with
- set to . The finalizer invokes the protected Dispose(Boolean) method
- with set to
- .
-
-
- When you set the parameter to , this method releases all
- resources held by managed objects that the object
- references. This method invokes the method of each referenced object.
-
-
- 11/21/2002 1:34:39 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:30 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:31 PM
- Measurement Studio
- True
-
-
-
- Launches the local DataSocket Server.
-
-
- The has been disposed.
-
- 10/30/2002 12:08:02 PM
- Beth Parrott
- True
-
-
-
- Displays the local DataSocket Server.
-
-
- If the DataSocket Server is not already running and you call ,
- the DataSocket Server automatically starts.
-
-
- The has been disposed.
-
- 6/9/2003 10:31:37 AM
- Beth Parrott
- True
-
-
-
- Hides the local DataSocket Server.
-
-
- The has been disposed.
-
-
- If the DataSocket Server is not already running and you call ,
- the DataSocket Server automatically starts.
-
- The DataSocket Server is accessible from the Windows taskbar status area regardless of if it is hidden.
-
-
- 6/9/2003 10:31:21 AM
- Beth Parrott
- True
-
-
-
- Shuts down the local DataSocket Server.
-
-
- The has been disposed.
-
- 10/30/2002 12:08:00 PM
- Beth Parrott
- True
-
-
-
- Gets or sets a value indicating if the DataSocket Server automatically starts when the form loads.
-
-
- if the DataSocket Server automatically starts when the form loads. The default value is .
-
-
- The has been disposed.
-
-
- If the value of this property is , you must call to launch the DataSocket Server.
-
- This property is applicable only to objects that you create on
- a Windows Form with the Windows Forms Designer.
-
- 6/20/2006 4:42:53 PM
- Staci McCormick
- True
-
-
-
- Gets or sets a value indicating if the DataSocket Server automatically shuts down when the object is disposed.
-
-
- if the server automatically shuts down when the object is disposed. The default value is
- .
-
-
- The has been disposed.
-
- 6/20/2006 4:42:49 PM
- Staci McCormick
- True
-
-
-
- Gets a value indicating if the DataSocket Server is running.
-
-
- if the DataSocket Server is running.
-
-
- The has been disposed.
-
- 6/20/2006 4:42:57 PM
- Staci McCormick
- True
-
-
-
- Exposes data sources or targets as a bindable data items that you can bind to properties of Windows Forms controls.
-
-
-
- Complete the following steps to bind data sources or targets to a Windows Forms control:
-
- -
-
- From the Toolbox, drag a object onto a designer, such as the Windows
- Forms Designer. Because the object does not have a user interface, it is added to the component
- tray below the form.
-
-
- -
-
- In the Properties window, launch the collection editor for the property.
- Add a binding and specify a unique name and URL for the binding.
-
-
- -
-
- Click OK to accept the binding item and close the collection editor.
-
-
- -
-
- Select a Windows Forms control in the designer, navigate to the property in the Properties window, locate the property
- you want to bind to a data source or target, and select the name of the binding you added
- to the collection.
-
-
-
-
- You must call when you finish using a
- object. If you add this object to a Windows form with the Windows
- Forms Designer, the form calls automatically.
-
-
-
- 11/5/2008 10:39:09 AM
- Measurement Studio
- True
-
-
-
- Initializes a new instance of .
-
- 10/30/2002 12:09:03 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of the class
- with the specified container.
-
-
- that represents the object container.
-
- 10/30/2002 12:09:05 PM
- Beth Parrott
- True
-
-
-
- Overrides .
-
-
- A string representation of the object.
-
-
- The has been disposed.
-
- 6/9/2003 10:12:10 AM
- Beth Parrott
- True
-
-
-
- Releases the resources used by object.
-
-
- If , this method releases managed and unmanaged resources. If , this method releases
- only unmanaged resources.
-
-
-
- The public method and the finalizer call this method. The public
- method invokes the protected Dispose(Boolean) method with
- set to . The finalizer invokes the protected Dispose(Boolean) method
- with set to
- .
-
-
- When you set the parameter to , this method releases all
- resources held by managed objects that the object
- references. This method invokes the method of each referenced object.
-
-
- 11/21/2002 1:34:57 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:59 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:59 PM
- Measurement Studio
- True
-
-
-
- 1/23/2009 4:54:58 PM
- Measurement Studio
- True
-
-
-
- Calls the method on all
- objects in the
-
- collection.
-
-
- The has been disposed.
-
- 6/9/2003 10:12:44 AM
- Beth Parrott
- True
-
-
-
- Calls the method on all
- objects in the
- collection.
-
-
- The has been disposed.
-
- 6/9/2003 10:12:39 AM
- Beth Parrott
- True
-
-
-
- Calls the method on all
- objects in the
- collection.
-
-
- The has been disposed.
-
-
- A object in the
- collection is not connected.
-
- 6/9/2003 10:12:30 AM
- Beth Parrott
- True
-
-
-
- Raises the event.
-
-
- A object that contains the event data.
-
-
- A derived class can override
- to handle the event without attaching a delegate. This technique is preferred for event handling in a derived class.
-
-
- 11/21/2002 1:35:16 PM
- Beth Parrott
- True
-
-
-
- Raises the event.
-
-
- A object that contains the event data.
-
-
- A derived class can override
- to handle the event without attaching a delegate. This technique is preferred for event handling in a derived class.
-
-
- 11/21/2002 1:35:18 PM
- Beth Parrott
- True
-
-
-
- 1/23/2009 4:54:57 PM
- Measurement Studio
- True
-
-
-
- Occurs when the data of any object in the
- collection is updated.
-
- 11/21/2002 1:34:59 PM
- Beth Parrott
- True
-
-
-
- Occurs when the connection status of any object in the
- collection is updated.
-
- 11/21/2002 1:35:01 PM
- Beth Parrott
- True
-
-
-
- Gets or sets a value indicating if all bindings in the collection
- connect to associated data sources or targets when the form loads.
-
-
- if is called when the form
- loads. The default value is .
-
-
- The has been disposed.
-
-
- If the value of this property is , you must manually call
- .
- This property is applicable only to objects that you create on
- a Windows Form with the Windows Forms Designer.
-
- 6/20/2006 4:43:06 PM
- Staci McCormick
- True
-
-
-
- Gets the DataSocket object.
-
-
- A collection of objects. You can use a
- object to bind Windows Forms control properties to
- data sources and targets.
-
-
- The has been disposed.
-
-
- 6/9/2003 10:11:51 AM
- Beth Parrott
- True
-
-
-
- Provides data for the event.
-
-
-
- The event is generated when
- the local value or attributes change. The local
- value or attributes can change when the data source
- value or attributes change or when you set the value or attributes on the local
- object.
-
-
-
-
- 11/21/2002 1:35:39 PM
- Beth Parrott
- True
-
-
-
- Initializes a new instance of .
-
-
- A reference to the that was updated.
-
- 10/30/2002 12:09:45 PM
- Beth Parrott
- True
-
-
- Overrides .
- Returns a string representation of the object.
- 10/30/2002 12:09:46 PM
- Beth Parrott
- True
-
-
-
- Gets a reference to the data that was updated when the event was generated.
-
-
- A that represents the data
- that was updated when the event was generated.
-
- 7/26/2004 10:16:50 AM
- Whitney Bates
- True
-
-
-
- Represents a method that handles the
- event of a
- object.
-
-
- The source of the event.
-
-
- A object that contains the event data.
-
-
- 11/21/2002 1:35:47 PM
- Beth Parrott
- True
-
-
-
- Defines valid values for the status subfield of the OPC quality attribute.
-
- 10/30/2002 12:09:51 PM
- Beth Parrott
- True
-
-
-
- The value is bad.
-
- 10/30/2002 12:09:56 PM
- Beth Parrott
- True
-
-
-
- The communication failed, and no last known value
- is available.
-
- 10/30/2002 12:09:57 PM
- Beth Parrott
- True
-
-
-
- There is a server-specific problem with the configuration.
-
- 10/30/2002 12:09:59 PM
- Beth Parrott
- True
-
-
-
- A device failure has been detected.
-
- 10/30/2002 12:10:00 PM
- Beth Parrott
- True
-
-
-
- The value is outside the limits defined for this parameter.
-
- 10/30/2002 12:10:02 PM
- Beth Parrott
- True
-
-
-
- The value is good.
-
- 10/30/2002 12:10:04 PM
- Beth Parrott
- True
-
-
-
- Communication has failed, but the last known value is available.
-
- 10/30/2002 12:10:06 PM
- Beth Parrott
- True
-
-
-
- The value is no longer being written.
-
- 10/30/2002 12:10:07 PM
- Beth Parrott
- True
-
-
-
- The value has been overridden.
-
- 10/30/2002 12:10:08 PM
- Beth Parrott
- True
-
-
-
- The input must be logically connected to a server but it
- is disconnected.
-
- 10/30/2002 12:10:09 PM
- Beth Parrott
- True
-
-
-
- The block is off scan or locked.
-
- 10/30/2002 12:10:10 PM
- Beth Parrott
- True
-
-
-
- The value has been pegged at one of the sensor limits or
- an internal diagnostics has detected that the sensor is out of calibration.
-
- 10/30/2002 12:10:11 PM
- Beth Parrott
- True
-
-
-
- A sensor failure has been detected.
-
- 10/30/2002 12:10:12 PM
- Beth Parrott
- True
-
-
-
- The value is derived from multiple sources and has less than the
- required number of good sources.
-
- 10/30/2002 12:10:12 PM
- Beth Parrott
- True
-
-
-
- The value cannot be determined.
-
- 10/30/2002 12:10:13 PM
- Beth Parrott
- True
-
-
-
- Specifies how a object reads data.
-
- 6/9/2003 10:16:27 AM
- Beth Parrott
- True
-
-
-
- Specifies that raises the
- event to notify
- when new data arrives.
-
- 6/9/2003 10:16:59 AM
- Beth Parrott
- True
-
-
-
- Specifies that you must call
- to poll and dequeue buffered data into the
- property. does not raise the
- event in this mode.
-
- 6/9/2003 10:17:37 AM
- Beth Parrott
- True
-
-
-
- Controls the behavior of the dialog box that
- displays.
-
-
-
- 11/21/2002 1:35:54 PM
- Beth Parrott
- True
-
-
-
- Specifies that dialog box is displayed
- with the default options.
-
- 10/30/2002 12:10:16 PM
- Beth Parrott
- True
-
-
-
- Opens a dialog box to prompt the user for permission to create the file if that file
- does not exist. If the user chooses to create the file, the dialog box closes
- and the method returns the specified name; otherwise, the dialog box remains open.
-
- 10/30/2002 12:10:15 PM
- Beth Parrott
- True
-
-
-
- Specifies that the user can enter the names only of existing files in the Filename field.
- If this flag is specified and the user enters an invalid name, the dialog box
- displays a warning in a message box.
-
- 10/30/2002 12:10:17 PM
- Beth Parrott
- True
-
-
-
- Hides the read-only checkbox.
-
- 10/30/2002 12:10:18 PM
- Beth Parrott
- True
-
-
-
- Restores the current directory to its original value if the user changed the directory
- while searching for files.
-
- 10/30/2002 12:10:18 PM
- Beth Parrott
- True
-
-
-
- Directs the dialog box to return the path and filename of the selected shortcut
- (.lnk) file. If this value is not provided, the dialog box returns the path and
- filename of the file referenced by the shortcut.
-
- 11/21/2002 1:35:57 PM
- Beth Parrott
- True
-
-
-
- Specifies that the returned file does not have the read-only checkbox selected and is
- not in a write-protected directory.
-
- 10/30/2002 12:10:20 PM
- Beth Parrott
- True
-
-
-
- Specifies that the file is not created before the dialog box is closed. Use this value if the application
- saves the file on a create-nonmodify network
- share. When an application specifies this flag,
- does not check for write protection, a full disk, an open drive door, or network protection.
- Applications that use this flag must perform file operations carefully because a file
- cannot be reopened after it is closed.
-
- 10/30/2002 12:10:21 PM
- Beth Parrott
- True
-
-
-
- Causes the Save As dialog box to generate a message box if the selected file already
- exists. The user must confirm overwriting the file.
-
- 10/30/2002 12:10:21 PM
- Beth Parrott
- True
-
-
-
- Specifies that the user can enter only valid paths and filenames. If you use this value and
- the user enters an invalid path or filename in the Filename field, the dialog box method
- displays a warning in a message box.
-
- 10/30/2002 12:10:22 PM
- Beth Parrott
- True
-
-
-
- Causes the read-only checkbox to be checked when the dialog box is created.
-
- 10/30/2002 12:10:23 PM
- Beth Parrott
- True
-
-
-
- Causes the file dialog box to be a Save As dialog box instead of an Open File
- dialog box.
-
- 10/30/2002 12:10:24 PM
- Beth Parrott
- True
-
-
-
+
+
+
+ NationalInstruments.Net
+
+
+
+
+ Clean up any resources being used.
+
+
+
+
+ Required method for Designer support - do not modify
+ the contents of this method with the code editor.
+
+
+
+
+ 2/12/2003 1:13:44 PM
+ Elton Wells
+ False
+
+
+
+ Specifies how a object transfers data.
+
+
+ If you connect with an automatically updated access mode, such as , , or ,
+ the object
+ transfers data every time new data is available. If you connect with
+ or
+ ,
+ use
+ to transfer the new data.
+
+ 11/21/2002 1:29:57 PM
+ Beth Parrott
+ True
+
+
+
+ Transfers data from the data source to the local object
+ when you establish the connection. Call to cause
+ subsequent data transfers.
+
+ 11/20/2003 2:32:11 PM
+ Jennifer Smith
+ True
+
+
+
+ Transfers data from the data source to the local object when
+ you establish the connection. When the data at the data source is updated, the data is transferred again automatically.
+ This mode is valid only for DSTP and logos and OPC data sources.
+
+ 12/7/2005 12:09:20 PM
+ Jennifer Smith
+ True
+
+
+
+ Transfers data from the data source to the local object when you establish
+ the connection. When the data at the data source is updated, the data is transferred again automatically. The
+ object automatically transfers data to the data target when you change any value or attribute on the local
+ object. This mode is valid only for DSTP and logos data sources and targets.
+
+ 12/10/2003 4:07:45 PM
+ Jennifer Smith
+ True
+
+
+
+ Transfers data from the local object to the data target at the time you establish
+ the connection. Call to cause subsequent data transfers.
+
+ 11/21/2002 1:30:33 PM
+ Beth Parrott
+ True
+
+
+
+ Transfers data from the local object to the data target when you establish
+ the connection. When you change any value or attribute on the local object, the
+ object automatically transfers data to the data target. This mode is valid only
+ for DSTP and logos data targets.
+
+ 12/10/2003 4:08:23 PM
+ Jennifer Smith
+ True
+
+
+
+ Specifies that is configured for manual
+ updating with buffering. gets the next
+ value in the buffer from the data source when the connection is established and when you call
+ .
+
+ 12/10/2003 4:06:40 PM
+ Jennifer Smith
+ True
+
+
+
+ Specifies that is configured for
+ automatic updating with buffering. gets
+ the next value from the data source when the connection is established, when the data value changes, and when any of the
+ data attributes change.
+
+ 12/10/2003 4:07:17 PM
+ Jennifer Smith
+ True
+
+
+
+ Specifies that is configured for automatic
+ updating with buffering. transfers data to
+ the data source when the
+ connection is established, when the data value changes, and when any of the data attributes
+ change. gets the data from the
+ data source when the data value changes and
+ when any of the data attributes change.
+
+ 12/10/2003 4:08:00 PM
+ Jennifer Smith
+ True
+
+
+
+ Provides data for the
+ event.
+
+
+
+ A object generates the
+ event when it receives new data.
+
+
+
+
+ 11/21/2002 1:30:49 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of .
+
+
+ The instance that generated the
+ event.
+
+ 10/30/2002 11:41:03 AM
+ Beth Parrott
+ True
+
+
+ Overrides .
+ Returns a string representation of the object.
+ 10/30/2002 11:41:06 AM
+ Beth Parrott
+ True
+
+
+
+ Gets the that generated the
+ event.
+
+
+ The that generated the event.
+
+ 7/13/2004 4:18:50 PM
+ Whitney Bates
+ True
+
+
+
+ Represents a method that handles the
+ event of a
+ object.
+
+
+ The source of the event.
+
+
+ A object that contains the
+ event data.
+
+
+
+ 11/21/2002 1:31:13 PM
+ Beth Parrott
+ True
+
+
+
+ Provides data for the
+ event.
+
+
+
+ The event occurs
+ when the status of a connection
+ changes, such as when a object connects to a
+ data source or target, transfers data, or encounters an error.
+
+
+
+ 11/21/2002 1:31:16 PM
+ Beth Parrott
+ True
+
+
+
+ Provides data for the event.
+
+
+
+ The event occurs when the
+ status of a connection changes, such as when a
+ object connects to a data source or target, transfers data, or
+ encounters an error.
+
+
+
+
+ 11/21/2002 1:31:49 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of .
+
+
+ The status of the connection.
+
+
+ Error of the connection, if an error exists. Refer to
+ DataSocket Error Codes for a list of possible
+ values.
+
+
+ Descriptive message about the connection status.
+
+
+
+
+ 7/15/2005 10:17:33 AM
+ Jennifer Smith
+ True
+
+
+
+ Overrides .
+
+ Returns a string representation of the object.
+ 10/30/2002 11:42:00 AM
+ Beth Parrott
+ True
+
+
+
+ Gets the status of the connection.
+
+
+ A that indicates
+ the status of the connection.
+
+ 6/20/2006 4:41:29 PM
+ Staci McCormick
+ True
+
+
+
+ Gets the error of the connection, if an error exists.
+
+
+ The numeric value of the last error code. You can use this value to look up
+ the cause of the error in the DataSocket documentation.
+
+ 10/30/2002 11:41:51 AM
+ Beth Parrott
+ True
+
+
+
+ Gets a descriptive message about the connection status.
+
+
+ A string value that describes the connection status of the
+ object.
+
+ 11/21/2002 1:31:54 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of .
+
+
+ The instance that generated the event.
+
+
+ The status of the connection.
+
+
+ Error of the connection, if one exists. Refer to
+ DataSocket Error Codes for a list of possible
+ values.
+
+
+ Descriptive message of the connection status.
+
+
+
+
+
+ 7/15/2005 10:17:19 AM
+ Jennifer Smith
+ True
+
+
+ Overrides .
+ Returns a string representation of the object.
+ 10/30/2002 11:41:23 AM
+ Beth Parrott
+ True
+
+
+
+ Gets the that generated the
+ event.
+
+
+ The that generated the event.
+
+ 7/26/2004 10:12:17 AM
+ Whitney Bates
+ True
+
+
+
+ Represents a method that handles the
+ event of a
+ object.
+
+
+ The source of the event.
+
+
+ A object that contains the
+ event data.
+
+
+
+ 11/21/2002 1:31:22 PM
+ Beth Parrott
+ True
+
+
+
+ Indicates the current status of the connection.
+
+ 11/21/2002 1:31:26 PM
+ Beth Parrott
+ True
+
+
+
+ The object is in the process of connecting
+ to the data source or target.
+
+ 11/21/2002 1:31:32 PM
+ Beth Parrott
+ True
+
+
+
+ The object is connected to the data source or target and is transferring the data or
+ waiting for an update.
+
+ 11/21/2002 1:31:36 PM
+ Beth Parrott
+ True
+
+
+
+ The object encountered an error while connecting
+ to the data source or target.
+
+ 11/21/2002 1:31:38 PM
+ Beth Parrott
+ True
+
+
+
+ The object is connected to the data source or target
+ and is not currently transferring data or is waiting for an update.
+
+ 11/21/2002 1:31:42 PM
+ Beth Parrott
+ True
+
+
+
+ The object is not connected to any data source
+ or data target.
+
+ 11/21/2002 1:31:45 PM
+ Beth Parrott
+ True
+
+
+
+ Represents a method that handles the
+ event of a
+ object.
+
+
+ The source of the event.
+
+
+ A object that contains the event data.
+
+
+
+ 11/21/2002 1:31:57 PM
+ Beth Parrott
+ True
+
+
+
+ Represents a connection to a data source or target.
+
+
+ You can use the NetworkVariable class library or the class library to transfer live measurement data between applications over a network.
+ You can use NetworkVariable or to exchange different types of data between Measurement Studio, LabVIEW, LabWindows/CVI, and other applications that support NI-Publish Subscribe Protocol (psp:).
+ NetworkVariable is the preferred method for transferring data between these applications, and, in these cases, NetworkVariable supersedes .
+ You can also use NetworkVariable and to exchange different types of data between OLE for Process Control (opc:) servers. Exchanging data between Measurement Studio applications and OPC servers with NetworkVariable requires LabVIEW DSC Run-Time System. Use to communicate directly with an OPC server.
+
+
+
+
+
+ The object encapsulates the .NET interface to National Instruments DataSocket
+ and includes the following features:
+
+ - Transfer data between different data sources and
+ targets.
+ - Specify a data source and target through a URL—the same
+ way you access Web pages in a Web browser.
+ - Use a single API to access OPC, HTTP, FTP, logos, and
+ file servers.
+ - Use the DataSocket Transfer Protocol (DSTP) to exchange data
+ of many different types.
+ - Browse the network to quickly locate a data source or target
+ on other computers and servers.
+
+
+ You must call when you finish using a object.
+ If you add this object to a Windows form with the Windows Forms Designer, the form calls
+ automatically.
+
+
+
+ 9/16/2008 10:06:51 AM
+ Measurement Studio
+ True
+
+
+
+ Initializes a new instance of .
+
+
+ 10/30/2002 11:42:42 AM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of
+ with the specified container.
+
+
+ An that represents the container for the
+ object.
+
+
+ 10/30/2002 11:42:45 AM
+ Beth Parrott
+ True
+
+
+
+ Overrides .
+
+ Returns a string representation of the object.
+ 10/30/2002 11:43:49 AM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:09 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:13 PM
+ Measurement Studio
+ True
+
+
+
+ Releases the resources used by the object.
+
+
+ If , this method releases managed and unmanaged resources. If , this method releases
+ only unmanaged resources.
+
+
+
+ The public method and the finalizer call this method. The public
+ method invokes the protected Dispose(Boolean) method with
+ set to . The finalizer invokes the protected Dispose(Boolean) method
+ with set to
+ .
+
+
+ When you set the parameter to , this method releases all
+ resources held by managed objects that this object
+ references. This method invokes the method of each referenced object.
+
+
+ 11/21/2002 1:32:04 PM
+ Beth Parrott
+ True
+
+
+
+ Connects the object to a data source or target.
+
+
+
+ The method establishes the
+ connection with the current values of the
+ and the
+ properties.
+
+
+ The object creates the connection asynchronously. You must return
+ control to the application message loop after you create the connection and before you
+ perform data transfers on data or
+ attributes. You can check the property or monitor the
+ event to
+ determine if the connection is established.
+
+
+ When connecting to a data source in a read access mode,
+ the object updates the data after the connection is
+ completed. When connecting to a data target in a write access mode, the
+ object transfers the data at the time the connection is
+ made. If you connect in an automatic update mode, the object
+ automatically transfers data when new data is available.
+
+
+ If you connect a reading client to a data source that
+ does not exist, the server creates the data source with a default value of 0.
+
+
+
+ The has been disposed.
+
+
+ The following example demonstrates how to establish a
+ connection with the method.
+
+ Dim connection As DataSocket = New DataSocket()
+ connection.AccessMode = AccessMode.ReadAutoUpdate
+ connection.Url = "dstp://localhost/data"
+ connection.Connect()
+
+
+
+
+ DataSocket connection = new DataSocket();
+ connection.AccessMode = AccessMode.ReadAutoUpdate;
+ connection.Url = "dstp://localhost/data";
+ connection.Connect();
+
+
+
+ Key Measurement Studio DataSocket .NET Library Features
+ 9/16/2008 10:06:00 AM
+ Measurement Studio
+ True
+
+
+
+ Connects the object to the specified data source or target.
+
+
+ Location of the data source or target to which the
+ must connect.
+
+
+
+ The method sets the
+ property to the value of the
+ parameter. The method uses the current value of
+ to establish the connection.
+
+
+ The object creates the connection asynchronously. You must return
+ control to the application message loop after you create the connection and before you
+ perform data transfers on data or
+ attributes. You can check the property or monitor the
+ event to
+ determine if the connection is established.
+
+
+ When connecting to a data source in a read access mode,
+ the object updates the data after the connection is
+ completed. When connecting to a data target in a write access mode, the
+ object transfers the data at the time the connection is
+ made. If you connect in an automatic update mode, the object
+ automatically transfers data when new data is available.
+
+
+ If you connect a reading client to a data source that
+ does not exist, the server creates the data source with a default value of 0.
+
+
+
+ is .
+
+
+ The has been disposed.
+
+
+ The following example demonstrates how to establish a
+ connection with the method.
+
+ Dim connection As DataSocket = New DataSocket()
+ connection.AccessMode = AccessMode.ReadAutoUpdate
+ connection.Connect("dstp://localhost/data")
+
+
+
+
+ DataSocket connection = new DataSocket();
+ connection.AccessMode = AccessMode.ReadAutoUpdate;
+ connection.Connect("dstp://localhost/data");
+
+
+
+ Key Measurement Studio DataSocket .NET Library Features
+ 9/16/2008 10:06:03 AM
+ Measurement Studio
+ True
+
+
+
+ Connects the object to the specified data source or target with the specified
+ access mode.
+
+
+ Location of the data source or target to which the
+ object must connect.
+
+
+ An value that specifies the type of connection the
+ object makes when it connects to the data source or
+ target.
+
+
+
+ The method sets the
+ and
+ properties to the values of the
+ and parameters.
+
+
+ The object creates the connection asynchronously. You must return
+ control to the application message loop after you create the connection and before you
+ perform data transfers on data or
+ attributes. You can check the property or monitor the
+ event to
+ determine if the connection is established.
+
+
+ When connecting to a data source in a read access mode,
+ the object updates the data after the connection is
+ completed. When connecting to a data target in a write access mode, the
+ object transfers the data at the time the connection is
+ made. If you connect in an automatic update mode, the object
+ automatically transfers data when new data is available.
+
+
+ If you connect a reading client to a data source that
+ does not exist, the server creates the data source with a default value of 0.
+
+
+
+ is .
+
+
+ is not a member of .
+
+
+ The has been disposed.
+
+
+ The following example demonstrates how to establish a
+ connection with the method.
+
+ Dim connection As DataSocket = New DataSocket()
+ connection.Connect("dstp://localhost/data", AccessMode.ReadAutoUpdate)
+
+
+
+
+ DataSocket connection = new DataSocket();
+ connection.Connect("dstp://localhost/data", AccessMode.ReadAutoUpdate);
+
+
+ Key Measurement Studio DataSocket .NET Library Features
+ 9/16/2008 10:06:07 AM
+ Measurement Studio
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified timeout.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+
+ The method establishes the
+ connection with the current values of the
+ and the
+ properties.
+
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 9:34:47 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified .
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+
+ The method establishes the
+ connection with the current values of the
+ and the
+ properties.
+
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 9:41:07 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified URL and timeout.
+
+
+ Location of the data source or target to which the
+ must connect.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+
+ The method sets the
+ property to the value of the
+ parameter. The method uses the current value of
+ to establish the connection.
+
+
+
+ The has been disposed.
+
+
+ is .
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 9:40:51 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified URL and .
+
+
+ Location of the data source or target to which the
+ must connect.
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+
+ The method sets the
+ property to the value of the
+ parameter. The method uses the current value of
+ to establish the connection.
+
+
+
+ The has been disposed.
+
+
+ is .
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 9:41:24 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified URL, access mode, and timeout.
+
+
+ Location of the data source or target to which the
+ must connect.
+
+
+ An value that specifies the type of connection the
+ object makes when it connects to the data source or
+ target.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+
+ The method sets the
+ and
+ properties to the values of the
+ and parameters.
+
+
+
+ The has been disposed.
+
+
+ is .
+
+
+ is not a member of .
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 9:40:08 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified URL, access mode, and .
+
+
+ Location of the data source or target to which the
+ must connect.
+
+
+ An value that specifies the type of connection the
+ object makes when it connects to the data source or
+ target.
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+
+ The method sets the
+ and
+ properties to the values of the
+ and parameters.
+
+
+
+ The has been disposed.
+
+
+ is .
+
+
+ is not a member of .
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 9:40:34 AM
+ Beth Parrott
+ True
+
+
+
+ Disconnects the object from the data source or target to which it is
+ currently connected.
+
+
+
+ The value of the property and its attributes
+ remain unchanged when the object is disconnected.
+
+
+ has no effect if the
+ object is disconnected.
+
+
+
+ The has been disposed.
+
+
+ 11/21/2002 1:32:53 PM
+ Beth Parrott
+ True
+
+
+
+ Synchronously disconnects the object from
+ the data source or target to which it is currently connected using the specified timeout.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+
+ The value of the property and its attributes
+ remain unchanged when the object is disconnected.
+
+
+ has no effect if the
+ object is already disconnected.
+
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 9:38:05 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously disconnects the object from
+ the data source or target to which it is currently connected using the specified .
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+
+ The value of the property and its attributes
+ remain unchanged when the object is disconnected.
+
+
+ has no effect if the
+ object is already disconnected.
+
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 9:41:34 AM
+ Beth Parrott
+ True
+
+
+
+ Initiates a write to the server with the specified data and timeout.
+
+
+ The data to write to the server.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+ initiates a write to the server
+ and then waits for the amount of time specified by for the server
+ to acknowledge that the write was successful.
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 9:45:18 AM
+ Beth Parrott
+ True
+
+
+
+ Initiates a write to the server with the specified data and .
+
+
+ The data to write to the server.
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+ initiates a write to the server
+ and then waits for the amount of time specified by for the server
+ to acknowledge that the write was successful.
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 9:45:52 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously polls the client-side buffer for unprocessed values using the specified timeout.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+ Use in synchronous read mode
+ to poll the client-side buffer for any unprocessed values. If the buffer contains
+ unprocessed data, the next value is dequeued into the
+ property and the return value is
+ . If the buffer contains no new values,
+ waits for the specified timeout
+ interval for a new value to arrive.
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 9:43:12 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously polls the client-side buffer for unprocessed values using the specified .
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+ Use in synchronous read mode
+ to poll the client-side buffer for any unprocessed values. If the buffer contains
+ unprocessed data, the next value is dequeued into the
+ property and the return value is
+ . If the buffer contains no new values,
+ waits for the specified timeout
+ interval for a new value to arrive.
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 9:43:57 AM
+ Beth Parrott
+ True
+
+
+
+ Causes the object to transfer data from a data source or to
+ a data target.
+
+
+
+ When you use the or access
+ mode, call the
+ method when you want to transfer data between the data source or target and the local
+ object. If the property is , it
+ is set to after the update is completed, and the
+ event is generated.
+
+ If you want to transfer data every time new data is available without calling ,
+ use the or access modes.
+
+
+
+ The has been disposed.
+
+
+ The is not connected.
+
+
+ 6/9/2003 9:47:19 AM
+ Beth Parrott
+ True
+
+
+
+ Enables interactive browsing and selection of data sources or targets.
+
+
+ The method launches a dialog box that provides interactive browsing
+ and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
+ objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
+
+
+ The has been disposed.
+
+ Key Measurement Studio DataSocket .NET Library Features
+ 9/16/2008 10:06:11 AM
+ Measurement Studio
+ True
+
+
+
+ Enables interactive browsing and selection of data sources or targets and configures the dialog box with a specified URL.
+
+
+ String that contains the URL. If the protocol is opc:,
+ dstp:, logos:,
+ or file, or if you omit this parameter, this method opens a dialog box in which the user can
+ find and select a data source or target. You can prompt the user to create a Web or FTP
+ location with the http: or ftp: protocols. You also can use a complete URL, such
+ as dstp://localhost/wave.
+
+
+ The method launches a dialog box that provides interactive browsing
+ and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
+ objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
+
+
+
+ is
+
+
+
+ The has been disposed.
+
+ Key Measurement Studio DataSocket .NET Library Features
+ 9/16/2008 10:06:14 AM
+ Measurement Studio
+ True
+
+
+
+ Enables interactive browsing and selection of data sources or targets and configures the dialog box URL and title.
+
+
+ String that contains the URL. If the protocol is opc:,
+ dstp:, logos:,
+ or file, or if you omit this parameter, this method opens a dialog box in which the user can
+ find and select a data source or target. You can prompt the user to create a Web or FTP
+ location with the http: or ftp: protocols. You also can use a complete URL, such
+ as dstp://localhost/wave.
+
+
+ Title of the dialog box.
+
+
+ The method launches a dialog box that provides interactive browsing
+ and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
+ objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
+
+
+
+ is
+
+ -or-
+
+ is
+
+
+
+ The has been disposed.
+
+ Key Measurement Studio DataSocket .NET Library Features
+ 9/16/2008 10:06:18 AM
+ Measurement Studio
+ True
+
+
+
+ Enables interactive browsing and selection of data sources or targets and configures the dialog box URL, title, and options.
+
+
+ String that contains the URL. If the protocol is opc:,
+ dstp:, logos:,
+ or file, or if you omit this parameter, this method opens a dialog box in which the user can
+ find and select a data source or target. You can prompt the user to create a Web or FTP
+ location with the http: or ftp: protocols. You also can use a complete URL, such
+ as dstp://localhost/wave.
+
+
+ Title of the dialog box.
+
+
+ Flags that control the behavior of the dialog box.
+
+
+ The method launches a dialog box that provides interactive browsing
+ and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
+ objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
+
+
+
+ is
+
+ -or-
+
+ is
+
+
+
+ is not a member of .
+
+
+ The has been disposed.
+
+ Key Measurement Studio DataSocket .NET Library Features
+ 9/16/2008 10:06:20 AM
+ Measurement Studio
+ True
+
+
+
+ Enables interactive browsing and selection of data sources or targets and configures the dialog box URL, title, options, and filter.
+
+
+ String that contains the URL. If the protocol is opc:,
+ dstp:, logos:,
+ or file, or if you omit this parameter, this method opens a dialog box in which the user can
+ find and select a data source or target. You can prompt the user to create a Web or FTP
+ location with the http: or ftp: protocols. You also can use a complete URL, such
+ as dstp://localhost/wave.
+
+
+ Title of the dialog box.
+
+
+ Flags that control the behavior of the dialog box.
+
+
+ Filter string passed to the dialog box, as shown in the following example: DataSocket Data files (*.dsd)|*.dsd|All files (*.*)|*.*
+
+
+ The method launches a dialog box that provides interactive browsing
+ and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
+ objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
+
+
+
+ is
+
+ -or-
+
+ is
+
+ -or-
+
+ is .
+
+
+
+ is not a member of .
+
+
+ The has been disposed.
+
+ Key Measurement Studio DataSocket .NET Library Features
+ 9/16/2008 10:06:24 AM
+ Measurement Studio
+ True
+
+
+
+ Raises the event.
+
+
+ A object that contains the event data.
+
+
+ A derived class can override to handle the event without attaching a delegate. This technique is preferred for event handling in a derived class.
+
+
+ 11/21/2002 1:33:06 PM
+ Beth Parrott
+ True
+
+
+
+ Raises the event.
+
+
+ A object that contains the event
+ data.
+
+
+ A derived class can override
+ to handle the event without attaching a delegate. This technique is preferred for event handling in a derived class.
+
+
+ 11/21/2002 1:33:08 PM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets the access mode for the connection.
+
+
+ An that indicates the type
+ of data transfer connection the object
+ makes when connecting to the data source or target. The default value is
+ .
+
+
+ If you connect with the or
+
+ access mode,
+ the data is read-only. If you try to set the
+ value or attributes on a read-only object, a
+ is generated. If the
+ object is disconnected, you can set the data value
+ and attributes regardless of the access mode.
+
+
+ Value is not a member of .
+
+
+ The has been disposed.
+
+
+ The following example demonstrates how to specify the access mode when establishing
+ a connection.
+
+ Dim connection As DataSocket = New DataSocket()
+ connection.Connect("dstp://localhost/data", AccessMode.ReadAutoUpdate)
+
+
+
+
+ DataSocket connection = new DataSocket();
+ connection.Connect("dstp://localhost/data", AccessMode.ReadAutoUpdate);
+
+
+ Key Measurement Studio DataSocket .NET Library Features
+ 9/16/2008 10:06:35 AM
+ Measurement Studio
+ True
+
+
+
+ Gets the actual URL of the current data source or target.
+
+
+ The actual URL of the current data source or target.
+
+
+
+ When connected to a data source or target, the value of
+ differs from the value of the
+ property if the original URL you specify points to a link that redirects the
+ object to a new URL.
+
+
+ If the object is disconnected, the
+ property returns
+ .
+
+
+
+ The has been disposed.
+
+
+ 11/21/2002 1:32:11 PM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets a value indicating if the object connects to a data source or target
+ when the form loads.
+
+
+ if the object connects to a data source or target
+ when the form loads. The default value is .
+
+
+ The has been disposed.
+
+
+ This property is applicable only to a object that you create on a
+ Windows Form with a Windows Forms Designer.
+
+ Set the ,
+ , and
+ properties in the Visual Studio Properties window
+ at design time to automatically connect the object to the
+ data source or target when the form loads. You do not have to call
+ .
+
+
+ Like the method, this property causes the
+ object to generate the
+ event when the connection
+ is made and the event when data is
+ updated.
+
+
+
+ 6/20/2006 4:41:42 PM
+ Staci McCormick
+ True
+
+
+
+ Gets or sets the maximum number of bytes that is allowed in the
+ property buffer.
+
+
+ An integer that specifies the maximum number of bytes that is allowed in the
+ property buffer. The default value is
+ 104,857,600.
+
+
+ The has been disposed.
+
+
+ The specified value is less than 0.
+
+ 6/9/2003 9:27:43 AM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets the maximum number of packets that is allowed in the
+ property buffer.
+
+
+ An integer that specifies the maximum number of packets that is allowed in the
+ property buffer. The default value is
+ 1.
+
+
+ The has been disposed.
+
+
+ The specified value is less than 0.
+
+ 6/9/2003 9:28:07 AM
+ Beth Parrott
+ True
+
+
+
+ Gets the total number of bytes that is currently in the buffer divided by the maximum number of
+ bytes allowed in the buffer.
+
+
+ A double value between 0 and 1 that specifies the total number of bytes that is currently in the
+ buffer divided by the maximum number of bytes allowed in the buffer.
+
+
+ The has been disposed.
+
+
+ 6/9/2003 9:30:21 AM
+ Beth Parrott
+ True
+
+
+
+ Gets the total number of packets that is currently in the buffer divided by the maximum number of
+ bytes allowed in the buffer.
+
+
+ A double value between 0 and 1 that specifies the total number of packets that is currently in the
+ buffer divided by the maximum number of bytes allowed in the buffer.
+
+
+ The has been disposed.
+
+
+ 6/9/2003 9:29:58 AM
+ Beth Parrott
+ True
+
+
+
+ Gets the current status of the data connection.
+
+
+ A that specifies the status of the data
+ connection.
+
+
+
+ The value of this property is the same as the last status value passed to the
+ event.
+
+
+ If an error occurs while connecting to the data source or target, the status indicates the
+ last step attempted. The and
+ properties describe the error.
+
+
+
+ The has been disposed.
+
+
+ The following example demonstrates how to update a Windows Form StatusBar control with the
+ connection status, the last error, and the last message of a
+ connection.
+
+ Private Sub UpdateStatus(ByVal status As StatusBar, ByVal connection As DataSocket)
+ Dim output As StringBuilder = New StringBuilder()
+ output.AppendFormat("Status: {0}, ", connection.ConnectionStatus)
+ output.AppendFormat("Error: {0}, ", connection.LastError)
+ output.AppendFormat("Message: {0}", connection.LastMessage)
+ status.Text = output.ToString()
+ End Sub
+
+
+
+
+ private void UpdateStatus(StatusBar status, DataSocket connection)
+ {
+ StringBuilder output = new StringBuilder();
+ output.AppendFormat("Status: {0}, ", connection.ConnectionStatus);
+ output.AppendFormat("Error: {0}, ", connection.LastError);
+ output.AppendFormat("Message: {0}", connection.LastMessage);
+ status.Text = output.ToString();
+ }
+
+
+
+
+ 6/20/2006 4:41:45 PM
+ Staci McCormick
+ True
+
+
+
+ Gets the current value and attributes that the object received
+ from the data source or target
+ or that were set locally.
+
+
+ A that contains the data source or target and its
+ attributes.
+
+
+
+ Use this property to access the object that contains the
+ current value and attributes. Then use the methods and
+ properties to access the value or specified attributes.
+
+
+ When you connect the object to a data target with the
+ or
+ access mode, the
+ object transfers the current value and attributes to the target as
+ soon as the connection is complete. When you connect the object to
+ a data source with the or
+ access mode,
+ the object completes the connection and transfers the values.
+
+
+ Use the property or the
+ event to determine if and when the value or
+ attributes on the local object are set or changed.
+
+
+ When the object is disconnected from the previous data source or target,
+ it retains the value and attributes it last had while connected.
+
+
+
+ The has been disposed.
+
+ 6/20/2006 4:41:49 PM
+ Staci McCormick
+ True
+
+
+
+ Gets if the object is in a connected or disconnected
+ state.
+
+
+ Returns if the object is in a connected state. Returns
+ if the object is in a disconnected state.
+
+
+ The has been disposed.
+
+
+ 11/21/2002 1:32:22 PM
+ Beth Parrott
+ True
+
+
+
+ Gets a value indicating if values or attributes on the local object have changed
+ since the last data transfer.
+
+
+ if the or attributes have changed.
+ if the value or attributes are unchanged or if
+ has been queried since the last data transfer.
+
+
+ The event occurs when
+ changes from to
+ . Use this property to determine if the data value or attributes have changed since you last queried this property.
+ This property is typically useful only on a object that is configured for
+ or .
+ You can use a delegate instead of polling .
+
+
+
+ The has been disposed.
+
+
+
+ 6/20/2006 4:41:56 PM
+ Staci McCormick
+ True
+
+
+
+ Gets a value indicating if the connection status has changed or an error has occurred.
+
+
+ The property is set to when the
+ event is generated and set to
+ when the is queried.
+
+
+ The has been disposed.
+
+
+ Use this property to determine if the connection status has changed since you last queried this property. You can use a
+ instead of polling
+ .
+
+
+
+ 6/20/2006 4:41:53 PM
+ Staci McCormick
+ True
+
+
+
+ Gets the error code associated with the last
+ event.
+
+
+ 0 if no error occurred the last time
+ occurred. If an error occurred,
+ gets the error code of the error that occurred the last time
+ occurred.
+
+
+
+ Some common errors include errors caused by incorrect network configurations, insufficient
+ access privileges to connect to the data source or target, or an incorrectly formed URL.
+
+
+ To determine the task the object was performing when the
+ error occurred, check the and
+ properties.
+
+
+
+ The has been disposed.
+
+
+
+ 11/21/2002 1:32:28 PM
+ Beth Parrott
+ True
+
+
+
+ Gets the message associated with the last
+ event.
+
+
+ Describes the last error encountered or the last step taken in connecting to or updating
+ the data.
+
+
+ The has been disposed.
+
+
+
+ 11/21/2002 1:32:29 PM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets the mode that specifies how reads
+ data.
+
+
+ A that indicates if
+ raises the
+ event to notify when
+ new data arrives or if you must call
+ to poll and dequeue buffered data into the
+ property.
+
+ 6/20/2006 4:42:01 PM
+ Staci McCormick
+ True
+
+
+
+ Gets or sets the location of a data source or target.
+
+
+ A string that represents the URL of the data source or target. The default value is
+ .
+
+
+
+ The object can connect to different data sources or targets
+ based on the specified URL. The
+ property determines if the object is transferring data from a data
+ source or to a data target.
+
+
+ If the data source or target redirects the
+ object to a new URL, the
+ property is set to the new URL.
+
+
+ The following types of URLs are supported:
+
+ ProtocolExample
+ -
+ DataSocket Server (dstp:)
+
+ dstp://localhost/wave
+ dstp://machine/item
+
+
+ -
+ Standard Web server (http:)
+ http://www.ni.com/cworks/datasocket.tone.wav
+
+ -
+ Standard FTP Sites (ftp:)
+
+ ftp://ftp.ni.com/datasocket/ping.wav
+ The FTP site must allow anonymous connections.
+
+
+ -
+ Lookout/Logos objects (lookout: or logos:)
+
+ lookout://localhost/testprocess/pot1.value
+ logos://localhost/testprocess/pot1.value
+
+
+ -
+ Files directly accessible from the file system (file:)
+
+ file:ping.wav
+ file:c:/mydata/ping.wav
+ file://machine/mydata/ping.wav
+
+
+ -
+ OLE for Process Control (OPC) Servers (opc:)
+
+ opc:/National Instruments.OPCDemo/sine
+ opc:/National Instruments.OPCDemo/sine?AccessPath=sine
+ opc://machine/National Instruments.OPCModbus/Modbus Demo Box.40
+
+
+
+
+
+
+ The has been disposed.
+
+
+ Key Measurement Studio DataSocket .NET Library Features
+ 9/16/2008 10:05:55 AM
+ Measurement Studio
+ True
+
+
+
+ Occurs when the status of the connection changes.
+
+
+ This event occurs every time the connection status changes, such as when the
+ object connects to a data source or target specified by the
+ property, transfers data, or encounters an error.
+
+
+
+
+ 11/21/2002 1:32:41 PM
+ Beth Parrott
+ True
+
+
+
+ Occurs when the value or attributes of the property is
+ updated.
+
+
+
+ The object sets the
+ to immediately before this event
+ is generated.
+
+
+ In write access mode, the event occurs when data is
+ ready to send. In read access mode, the event occurs when data is received.
+ You can use the event to
+ scale, display, or process new data.
+
+
+
+
+ 11/21/2002 1:32:44 PM
+ Beth Parrott
+ True
+
+
+
+ Contains the name of a attribute and its associated
+ data.
+
+
+
+ Attributes provide information such as the time the value was calculated or acquired, the units in which the value is expressed, the equipment used to generate the value, or any other properties that you want to define.
+
+ Use the object when you iterate through the
+ of a
+ object.
+
+
+ The following example iterates through the attributes of a object
+ and displays each and
+ value.
+
+ Private Sub ShowDataSocketAttributes(ByVal data As DataSocketData)
+ Console.WriteLine("DataSocket Data Attributes")
+ Dim attr As DataSocketAttribute
+ For Each attr In data.Attributes
+ Console.WriteLine("{0}: {1}", attr.Name, attr.Data.Value.ToString())
+ Next
+ End Sub
+
+
+
+
+ private void ShowDataSocketAttributes(DataSocketData data)
+ {
+ Console.WriteLine("DataSocket Data Attributes");
+ foreach (DataSocketAttribute attr in data.Attributes)
+ Console.WriteLine("{0}: {1}", attr.Name, attr.Data.Value.ToString());
+ }
+
+
+
+ 11/21/2002 1:33:10 PM
+ Beth Parrott
+ True
+
+
+
+ Overrides .
+
+ Returns a string representation of the object.
+ 10/30/2002 11:44:10 AM
+ Beth Parrott
+ True
+
+
+
+ Gets the name of the object.
+
+
+ A string value that represents the name of the associated data.
+
+ 11/21/2002 1:33:13 PM
+ Beth Parrott
+ True
+
+
+
+ Gets the data of the object.
+
+
+ A that represents the attribute data.
+
+ 6/20/2006 4:42:07 PM
+ Staci McCormick
+ True
+
+
+
+ Encapsulates the collection of the attributes of a
+ object.
+
+
+
+ Each attribute consists of a string name and a value.
+
+
+ 11/21/2002 1:34:22 PM
+ Beth Parrott
+ True
+
+
+ Overrides .
+ Returns a string representation of the object.
+ 10/30/2002 12:10:36 PM
+ Beth Parrott
+ True
+
+
+
+ Gets the names of the attributes that are associated with the object.
+
+ An array of strings that indicate the names of the attributes that are associated with
+ the object.
+ 6/9/2003 10:24:14 AM
+ Beth Parrott
+ True
+
+
+
+ Creates an attribute of a object.
+
+
+ The name of the attribute to add.
+
+
+ The value of the attribute.
+
+
+ The object that represents
+ the value of the added attribute.
+
+
+ is .
+
+
+ An element with the same key already exists in the collection.
+
+
+ is a data type that is not supported by .
+
+ 6/9/2003 9:47:57 AM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:19 PM
+ Measurement Studio
+ True
+
+
+ Removes all items from the collection.
+ 10/30/2002 12:10:54 PM
+ Beth Parrott
+ True
+
+
+ Returns if the specified attribute is in the collection.
+ The name of the item to locate in the collection.
+
+ Returns if the collection contains .
+
+
+ is .
+
+ 6/9/2003 9:48:09 AM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:20 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:19 PM
+ Measurement Studio
+ True
+
+
+ Returns an enumerator that you can use to iterate through the collection.
+ Enumerator for the collection.
+
+ For a detailed explanation of this method, refer to in the Microsoft
+ .NET Framework documentation.
+
+ 10/30/2002 12:11:08 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:20 PM
+ Measurement Studio
+ True
+
+
+
+ Removes the first occurrence of the specified attribute from the collection.
+
+
+ The name of the attribute to remove from the collection.
+
+
+ is .
+
+
+ An attribute with the specified name was not found in the collection.
+
+ 6/9/2003 9:48:21 AM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:23 PM
+ Measurement Studio
+ True
+
+
+
+ Gets the attribute in the collection with the specified name. In Visual C#, this
+ property is the indexer.
+
+
+ The of the attribute
+ with the specified name.
+
+
+ The specified attribute name is .
+
+
+ There is no attribute in the collection with the specified range.
+
+ 6/20/2006 4:42:12 PM
+ Staci McCormick
+ True
+
+
+
+ 1/23/2009 4:54:17 PM
+ Measurement Studio
+ True
+
+
+
+ Gets the number of elements in the collection.
+
+
+ The number of elements contained in the collection.
+
+ 11/21/2002 1:34:30 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:41 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:16 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:14 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:17 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:14 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:18 PM
+ Measurement Studio
+ True
+
+
+
+ Represents a data source or target that you can bind to a property of a control.
+
+
+
+ External data sources and targets might be
+ on HTTP, FTP, OPC, DSTP, or file servers located anywhere on the Internet.
+
+
+ The object uses National Instruments DataSocket
+ technology to connect to data sources and targets and share live measurements over the
+ Internet.
+ To expose a data source or target as a binding to a Windows Forms control,
+ add a object to the
+ of a object.
+
+
+ You must call when you finish using a
+ object.
+
+
+
+
+
+ 1/22/2013 1:43:10 PM
+ National Instruments
+ True
+
+
+
+ Initializes a new instance of .
+
+ 10/30/2002 11:46:05 AM
+ Beth Parrott
+ True
+
+
+
+ Overrides .
+
+
+ A string representation of the object.
+
+
+ The has been disposed.
+
+ 6/9/2003 10:03:11 AM
+ Beth Parrott
+ True
+
+
+
+ Releases all resources used by the
+ object.
+
+ 11/21/2002 1:33:21 PM
+ Beth Parrott
+ True
+
+
+
+ Releases the resources used by the object.
+
+
+ If , this method releases managed and unmanaged resources. If , this method
+ releases only unmanaged resources.
+
+
+
+ The public method and the finalizer call this method. The public
+ method invokes the protected Dispose(Boolean) method with
+ set to . The finalizer invokes the protected Dispose(Boolean) method
+ with set to
+ .
+
+
+ When you set the parameter to , this method releases all
+ resources held by managed objects that the object
+ references. This method invokes the method of each referenced object.
+
+
+ 11/21/2002 1:33:23 PM
+ Beth Parrott
+ True
+
+
+
+ Finalizes the instance of the object.
+
+ 10/30/2002 11:44:16 AM
+ Beth Parrott
+ True
+
+
+
+ Connects the object to a data source or target.
+
+
+
+ The method establishes the
+ connection with the current values of the
+ and the
+ properties.
+
+
+ The object creates the connection asynchronously.
+ You must return
+ control to the application message loop after you create the connection and before you
+ perform data transfers on data
+ or attributes. You can check the
+ property to determine if the connection is established.
+
+
+ When connecting to a data source in a read access mode,
+ the object updates the data after the connection is
+ completed. When connecting to a data target in a write access mode, the
+ object transfers the data when the connection is
+ made. If you connect in an automatic update mode, the
+ object automatically transfers data when
+ new data is available.
+
+
+ If you connect a reading client to a
+ object that does not exist, the server creates the item with a default value of 0.
+
+
+
+ The has been disposed.
+
+
+ 11/21/2002 1:33:51 PM
+ Beth Parrott
+ True
+
+
+
+ Connects the object to the specified data source or target.
+
+
+ Location of the data source or target to which the
+ must connect.
+
+
+
+ The method sets the
+ property to the value of the
+ parameter. The method uses the current value of
+ to establish the connection.
+
+
+ The object creates the connection asynchronously.
+ You must return
+ control to the application message loop after you create the connection and before you
+ perform data transfers on data
+ or attributes. You can check the
+ property to determine if the connection is established.
+
+
+ When connecting to a data source in a read access mode,
+ the object updates the data after the connection is
+ completed. When connecting to a data target in a write access mode, the
+ object transfers the data when the connection is
+ made. If you connect in an automatic update mode, the
+ object automatically transfers data when
+ new data is available.
+
+
+ If you connect a reading client to a
+ object that does not exist, the server creates the item with a default value of 0.
+
+
+
+ is .
+
+
+ The has been disposed.
+
+
+ 11/21/2002 1:33:53 PM
+ Beth Parrott
+ True
+
+
+
+ Connects the object to the specified data source or target with the
+ specified access mode.
+
+
+ Location of the data source or target to which the
+ object must connect.
+
+
+ An value that specifies the type of connection the
+ object makes when it connects to the data source or
+ target.
+
+
+
+ The method sets the
+ and
+ properties to the values of the
+ and parameters.
+
+
+ The object creates the connection asynchronously.
+ You must return
+ control to the application message loop after you create the connection and before you
+ perform data transfers on data
+ or attributes. You can check the
+ property to determine if the connection is established.
+
+
+ When connecting to a data source in a read access mode,
+ the object updates the data after the connection is
+ completed. When connecting to a data target in a write access mode, the
+ object transfers the data when the connection is
+ made. If you connect in an automatic update mode, the
+ object automatically transfers data when
+ new data is available.
+
+
+ If you connect a reading client to a
+ object that does not exist, the server creates the item with a default value of 0.
+
+
+
+ is .
+
+
+ is not a member of .
+
+
+ The has been disposed.
+
+ 11/21/2002 1:33:55 PM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified timeout.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+
+ The method establishes the
+ connection with the current values of the
+ and the
+ properties.
+
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 10:18:00 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified .
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+
+ The method establishes the
+ connection with the current values of the
+ and the
+ properties.
+
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 10:20:43 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified URL and timeout.
+
+
+ Location of the data source or target to which the
+ must connect.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+
+ The method sets the
+ property to the value of the
+ parameter. The method uses the current value of
+ to establish the connection.
+
+
+
+ The has been disposed.
+
+
+ is .
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 10:19:51 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified URL and .
+
+
+ Location of the data source or target to which the
+ must connect.
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+
+ The method sets the
+ property to the value of the
+ parameter. The method uses the current value of
+ to establish the connection.
+
+
+
+ The has been disposed.
+
+
+ is .
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 10:20:17 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified URL, access mode, and timeout.
+
+
+ Location of the data source or target to which the
+ must connect.
+
+
+ An value that specifies the type of connection the
+ object makes when it connects to the data source or
+ target.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+
+ The method sets the
+ and
+ properties to the values of the
+ and parameters.
+
+
+
+ The has been disposed.
+
+
+ is .
+
+
+ is not a member of .
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 10:18:41 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously connects the object to a
+ data source or target with the specified URL, access mode, and .
+
+
+ Location of the data source or target to which the
+ must connect.
+
+
+ An value that specifies the type of connection the
+ object makes when it connects to the data source or
+ target.
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+
+ The method sets the
+ and
+ properties to the values of the
+ and parameters.
+
+
+
+ The has been disposed.
+
+
+ is .
+
+
+ is not a member of .
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 10:19:16 AM
+ Beth Parrott
+ True
+
+
+
+ Disconnects the object from the data source or target to which it is
+ currently connected.
+
+
+ The value of and its attributes remain
+ unchanged when the object is disconnected.
+
+ has no effect if the
+ object is not connected.
+
+
+
+ The has been disposed.
+
+
+ 11/21/2002 1:33:56 PM
+ Beth Parrott
+ True
+
+
+
+ Synchronously disconnects the object from
+ the data source or target to which it is currently connected using the specified timeout.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+
+ The value of the property and its attributes
+ remain unchanged when the object is disconnected.
+
+
+ has no effect if the
+ object is already disconnected.
+
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 10:23:23 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously disconnects the object from
+ the data source or target to which it is currently connected using the specified .
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+
+ The value of the property and its attributes
+ remain unchanged when the object is already disconnected.
+
+
+ has no effect if the
+ object is disconnected.
+
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+
+ 6/9/2003 10:23:32 AM
+ Beth Parrott
+ True
+
+
+
+ Initiates a write to the server with the specified data and timeout.
+
+
+ The data to write to the server.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+ initiates a write to the server
+ and then waits for the amount of time specified by for the server
+ to acknowledge that the write was successful.
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 10:22:43 AM
+ Beth Parrott
+ True
+
+
+
+ Initiates a write to the server with the specified data and .
+
+
+ The data to write to the server.
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+ initiates a write to the server
+ and then waits for the amount of time specified by for the server
+ to acknowledge that the write was successful.
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 10:23:12 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously polls the client-side buffer for unprocessed values using the specified timeout.
+
+
+ The timeout period specified in milliseconds.
+
+
+ if the operation timed out.
+
+
+ is used in synchronous read mode
+ to poll the client-side buffer for any unprocessed values. If the buffer contains
+ unprocessed data, the next value is dequeued into the
+ property and the return value is
+ . If the buffer contains no new values,
+ will wait for the specified timeout
+ interval for a new value to arrive.
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 10:21:55 AM
+ Beth Parrott
+ True
+
+
+
+ Synchronously polls the client-side buffer for unprocessed values using the specified .
+
+
+ The timeout period specified as a .
+
+
+ if the operation timed out.
+
+
+ is used in synchronous read mode
+ to poll the client-side buffer for any unprocessed values. If the buffer contains
+ unprocessed data, the next value is dequeued into the
+ property and the return value is
+ . If the buffer contains no new values,
+ will wait for the specified timeout
+ interval for a new value to arrive.
+
+
+ The has been disposed.
+
+
+ The specified timeout is less than 0.
+
+ 6/9/2003 10:22:12 AM
+ Beth Parrott
+ True
+
+
+
+ Causes the object to transfer data from a data source or to
+ a data target.
+
+
+
+ Use the property to determine if
+ transfers data from a data source or to a data target.
+
+
+ When using the or access mode, call the
+ method when you want transfer data between the data source or target
+ and the local object.
+ If you want to
+ transfer data every time new data is available without calling , use the
+ or access modes.
+
+
+
+ The has been disposed.
+
+
+ The is not connected.
+
+
+ 6/9/2003 10:03:35 AM
+ Beth Parrott
+ True
+
+
+
+ Enables interactive browsing and selection of data sources or targets.
+
+
+ The method launches a dialog box that provides interactive browsing
+ and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
+ objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
+
+
+ The has been disposed.
+
+ 11/21/2002 1:34:00 PM
+ Beth Parrott
+ True
+
+
+
+ Enables interactive browsing and selection of data sources or targets and configures the dialog box with a specified URL.
+
+
+ String that contains the URL. If the protocol is opc:,
+ dstp:, logos:,
+ or file, or if you omit this parameter, this method opens a dialog box in which the user can
+ find and select a data source or target. You can prompt the user to create a Web or FTP
+ location with the http: or ftp: protocols. You also can use a complete URL, such
+ as dstp://localhost/wave.
+
+
+ The method launches a dialog box that provides interactive browsing
+ and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
+ objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
+
+
+
+ is
+
+
+
+ The has been disposed.
+
+ 11/21/2002 1:34:01 PM
+ Beth Parrott
+ True
+
+
+
+ Enables interactive browsing and selection of data sources or targets and configures the dialog box URL and title.
+
+
+ String that contains the URL. If the protocol is opc:,
+ dstp:, logos:,
+ or file, or if you omit this parameter, this method opens a dialog box in which the user can
+ find and select a data source or target. You can prompt the user to create a Web or FTP
+ location with the http: or ftp: protocols. You also can use a complete URL, such
+ as dstp://localhost/wave.
+
+
+ Title of the dialog box.
+
+
+ The method launches a dialog box that provides interactive browsing
+ and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
+ objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
+
+
+
+ is
+
+ -or-
+
+ is
+
+
+
+ The has been disposed.
+
+ 11/21/2002 1:34:03 PM
+ Beth Parrott
+ True
+
+
+
+ Enables interactive browsing and selection of data sources or targets and configures the dialog box URL, title, and options.
+
+
+ String that contains the URL. If the protocol is opc:,
+ dstp:, logos:,
+ or file, or if you omit this parameter, this method opens a dialog box in which the user can
+ find and select a data source or target. You can prompt the user to create a Web or FTP
+ location with the http: or ftp: protocols. You also can use a complete URL, such
+ as dstp://localhost/wave.
+
+
+ Title of the dialog box.
+
+
+ Flags that control the behavior of the dialog box.
+
+
+ The method launches a dialog box that provides interactive browsing
+ and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
+ objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
+
+
+
+ is
+
+ -or-
+
+ is
+
+
+
+ is not a member of .
+
+
+ The has been disposed.
+
+ 11/21/2002 1:34:05 PM
+ Beth Parrott
+ True
+
+
+
+ Enables interactive browsing and selection of data sources or targets and configures the dialog box URL, title, options, and filter.
+
+
+ String that contains the URL. If the protocol is opc:,
+ dstp:, logos:,
+ or file, or if you omit this parameter, this method opens a dialog box in which the user can
+ find and select a data source or target. You can prompt the user to create a Web or FTP
+ location with the http: or ftp: protocols. You also can use a complete URL, such
+ as dstp://localhost/wave.
+
+
+ Title of the dialog box.
+
+
+ Flags that control the behavior of the dialog box.
+
+
+ Filter string passed to the dialog box, as shown in the following example: DataSocket Data files (*.dsd)|*.dsd|All files (*.*)|*.*
+
+
+ The method launches a dialog box that provides interactive browsing
+ and selection of data sources and targets. The dialog box displays data sources and targets on the DataSocket Server, OPC servers, FieldPoint devices, Lookout/Logos
+ objects, and file systems. The dialog box also displays a text box in which the user can enter a HTTP or FTP URL.
+
+
+
+ is
+
+ -or-
+
+ is
+
+ -or-
+
+ is .
+
+
+
+ is not a member of .
+
+
+ The has been disposed.
+
+ 11/21/2002 1:34:07 PM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets the access mode for the connection.
+
+
+ An that indicates the type of data transfer
+ connection the object makes when connecting to the
+ data source or target. The default value is .
+
+
+ The value is not a member of .
+
+
+ The has been disposed.
+
+
+ If you connect with the or
+
+ access mode,
+ the data is read-only. If you try to set the
+ value or attributes on a read-only object, a
+ is generated. If the
+ object is disconnected, you can set the data value
+ and attributes regardless of the access mode.
+
+ 6/20/2006 4:42:20 PM
+ Staci McCormick
+ True
+
+
+
+ Gets or sets the name of the binding.
+
+
+ A string value that indicates the name of the binding. The default value is .
+
+
+ The has been disposed.
+
+
+ When you bind a data source or target to a Windows Forms control,
+ the value of identifies the binding. You can select the Windows Forms control in
+ the Windows Forms Designer, navigate to the property in the Properties window, locate the property you want to bind to a
+ data source or target, and select from the list of
+ available bindings.
+
+ 11/5/2008 10:39:50 AM
+ Measurement Studio
+ True
+
+
+
+ Gets the actual URL of the current data source or target.
+
+
+ The actual URL of the current data source or target.
+
+
+
+ When connected to a data source or target, the value of
+ differs from the value of
+ property if the URL you specify points to
+ a link that redirects the object to a new URL.
+
+
+ If the object is disconnected, the
+ property returns
+ .
+
+
+
+ The has been disposed.
+
+
+ 11/21/2002 1:33:29 PM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets the maximum number of bytes that is allowed in the
+ property buffer.
+
+
+ An integer that specifies the maximum number of bytes that is allowed in the
+ property buffer. The default value is
+ 104,857,600.
+
+
+ The has been disposed.
+
+
+ The specified value is less than 0.
+
+ 6/9/2003 9:50:20 AM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets the maximum number of packets that is allowed in the
+ property buffer.
+
+
+ An integer that specifies the maximum number of packets that is allowed in the
+ property buffer. The default value is
+ 1.
+
+
+ The has been disposed.
+
+
+ The specified value is less than 0.
+
+ 6/9/2003 9:50:34 AM
+ Beth Parrott
+ True
+
+
+
+ Gets the total number of bytes that is currently in the buffer divided by the maximum number of
+ bytes allowed in the buffer.
+
+
+ A double value between 0 and 1 that specifies the total number of bytes that is currently in the
+ buffer divided by the maximum number of bytes allowed in the buffer.
+
+
+ The has been disposed.
+
+
+ 6/9/2003 9:51:26 AM
+ Beth Parrott
+ True
+
+
+
+ Gets the total number of packets that is currently in the buffer divided by the maximum number of
+ bytes allowed in the buffer.
+
+
+ A double value between 0 and 1 that specifies the total number of packets that is currently in the
+ buffer divided by the maximum number of bytes allowed in the buffer.
+
+
+ The has been disposed.
+
+
+ 6/9/2003 9:51:47 AM
+ Beth Parrott
+ True
+
+
+
+ Gets the current status of the data connection.
+
+
+ A that specifies the status of the data
+ connection.
+
+
+
+ If an error is encountered while connecting to the data source or target, the status indicates the
+ last step attempted. The and
+ properties describe the error.
+
+
+
+ The has been disposed.
+
+
+ 6/20/2006 4:42:24 PM
+ Staci McCormick
+ True
+
+
+
+ Gets a value indicating if the object is in a connected or disconnected
+ state.
+
+
+ Returns if the object is in a connected state. Returns
+ if the object is in a disconnected state.
+
+
+ The has been disposed.
+
+
+ 6/20/2006 4:42:35 PM
+ Staci McCormick
+ True
+
+
+
+ Gets the error code associated with the last binding connection.
+
+
+ 0 if no error occurred while the binding connection was established. If an error occurred, gets the error
+ code of the error that occurred while the binding connection was established.
+
+
+
+ Some common errors include errors caused by incorrect network configurations, insufficient
+ access privileges to connect to the data source or target, or an incorrectly formed URL.
+
+
+ To determine the task the object was performing when the
+ error occurred, check the and
+ properties.
+
+
+
+ The has been disposed.
+
+
+ 11/21/2002 1:33:34 PM
+ Beth Parrott
+ True
+
+
+
+ Gets the message associated with the last the binding connection.
+
+
+ Describes the last error that occurred or the last step taken in connecting to or updating
+ the data.
+
+
+ The has been disposed.
+
+
+ 11/21/2002 1:33:46 PM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets the mode that specifies how reads
+ data.
+
+
+ A that indicates if
+ notifies when
+ new data arrives or if you must call
+ to poll and dequeue buffered data into the
+ property.
+
+ 9/17/2009 4:46:41 PM
+ Measurement Studio
+ True
+
+
+
+ Gets or sets the location of the data source or target to which the
+ object is connecting.
+
+
+ A string that represents the URL of the data source or target. The default value is .
+
+
+
+ The object can connect to different data sources or targets
+ according to the URL specified. The
+ property determines if the object is transferring data from a data
+ source or to a data target.
+
+
+ If the data source or target pointed to by the URL redirects the
+ to a new URL, the
+ property is set to the new URL.
+
+
+ The following types of URLs are supported:
+
+ ProtocolExample
+ -
+ DataSocket Server (dstp:)
+
+ dstp://localhost/wave
+ dstp://machine/item
+
+
+ -
+ Standard Web server (http:)
+ http://www.ni.com/cworks/datasocket.tone.wav
+
+ -
+ Standard FTP Sites (ftp:)
+
+ ftp://ftp.ni.com/datasocket/ping.wav
+ The FTP site must allow anonymous connections.
+
+
+ -
+ Lookout/Logos objects (lookout: or logos:)
+
+ lookout://localhost/testprocess/pot1.value
+ logos://localhost/testprocess/pot1.value
+
+
+ -
+ Files directly accessible from the file system (file:)
+
+ file:ping.wav
+ file:c:/mydata/ping.wav
+ file://machine/mydata/ping.wav
+
+
+ -
+ OLE for Process Control (OPC) Servers (opc:)
+
+ opc:/National Instruments.OPCDemo/sine
+ opc:/National Instruments.OPCDemo/sine?AccessPath=sine
+ opc://machine/National Instruments.OPCModbus/Modbus Demo Box.40
+
+
+
+
+
+
+ The has been disposed.
+
+
+ 11/20/2002 6:25:04 PM
+ Beth Parrott
+ True
+
+
+
+ Gets the current value and attributes that the
+ object received from the data source or target or
+ that have been set locally.
+
+
+ A that contains the data source or target and its
+ attributes.
+
+
+ The has been disposed.
+
+ 6/20/2006 4:42:31 PM
+ Staci McCormick
+ True
+
+
+
+ Represents a strongly-typed collection of objects.
+
+
+ 11/21/2002 1:35:19 PM
+ Beth Parrott
+ True
+
+
+ Overrides .
+ Returns a string representation of the object.
+ 10/30/2002 12:08:53 PM
+ Beth Parrott
+ True
+
+
+
+ Adds an item to the end of the collection.
+
+
+ Item to add to the collection.
+
+
+ The array index of the added item.
+
+
+ is .
+
+ 11/21/2002 1:35:25 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:27 PM
+ Measurement Studio
+ True
+
+
+
+ Adds an array of objects to the end of the collection.
+
+
+ Array of objects to add to the collection.
+
+
+ is .
+
+ 11/21/2002 1:35:27 PM
+ Beth Parrott
+ True
+
+
+
+ Adds a collection of objects to the end of the collection.
+
+
+ Collection of objects to add to the collection.
+
+
+ is .
+
+ 10/30/2002 12:08:11 PM
+ Beth Parrott
+ True
+
+
+ Removes all items from the collection.
+ 10/30/2002 12:08:20 PM
+ Beth Parrott
+ True
+
+
+
+ Returns if the specified element is in the collection.
+
+
+ Item to locate in the collection.
+
+
+ Returns if the collection contains .
+
+ 10/30/2002 12:08:22 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:28 PM
+ Measurement Studio
+ True
+
+
+ Copies the collection to an array or a portion of an array.
+ Destination array for the collection.
+ Index in the target array at which you want to begin copying the collection to.
+
+
+ is multidimensional.
+
+
+ - or -
+
+
+ is greater than or equal to the array length.
+
+
+ - or -
+
+
+ The number of elements in the collection is greater than the available space between
+ and the end of .
+
+
+
+ is .
+
+
+ is less than zero.
+
+ 10/30/2002 12:08:24 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:27 PM
+ Measurement Studio
+ True
+
+
+
+ Returns the zero-based index of the first occurrence of an item in the collection.
+
+ Item to search for.
+ Index of the item. If the item is not found, returns -1.
+ 11/21/2002 1:35:31 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:28 PM
+ Measurement Studio
+ True
+
+
+ Inserts an item into the collection at the specified index.
+ Index to insert the item at.
+ Item to insert into the collection.
+
+ is not a valid index in the .
+
+
+ is .
+
+
+ The list elements after the removed element shift up to occupy the vacated spot. Because the list elements
+ are indexed, the indexes of the shifted elements also are updated.
+
+ 11/21/2002 1:35:33 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:29 PM
+ Measurement Studio
+ True
+
+
+ Returns an enumerator that you can use to iterate through the collection.
+ Enumerator for the collection.
+
+ For a detailed explanation of this method, refer to in the Microsoft
+ .NET Framework documentation.
+
+ 10/30/2002 12:08:27 PM
+ Beth Parrott
+ True
+
+
+ Removes the first occurrence of the specified item.
+ Item to remove from the collection.
+
+ The list elements after the removed element shift up to occupy the vacated spot. Because the list elements
+ are indexed, the indexes of the shifted elements also are updated.
+
+ 11/21/2002 1:35:35 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:29 PM
+ Measurement Studio
+ True
+
+
+ Removes the item at the specified index.
+ Zero-based index of the item to remove.
+
+ is not a valid index in the .
+
+
+ The list elements after the removed element shift up to occupy the vacated spot. Because the list elements
+ are indexed, the indexes of the shifted elements also are updated.
+
+ 11/21/2002 1:35:37 PM
+ Beth Parrott
+ True
+
+
+ Gets or sets the at the specified index. In Visual C#, this property is the indexer.
+
+ The object at the specified index.
+
+
+ The zero-based index of the entry to locate in the collection.
+
+
+ is outside the valid range of indexes for the collection.
+
+
+ is .
+
+ 5/30/2003 5:17:17 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:26 PM
+ Measurement Studio
+ True
+
+
+ Gets an entry in the collection with the specified name. In Visual C#, this property is the indexer.
+
+ The object with the specified binding
+ name.
+
+
+ Name of the entry to find in the collection.
+
+
+ The binding with the specified name was not found in the collection.
+
+
+ is .
+
+ 1/10/2003 4:09:51 PM
+ Beth Parrott
+ True
+
+
+
+ Gets the number of elements in the collection.
+
+
+ The number of elements contained in the collection.
+
+ 11/21/2002 1:35:29 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:23 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:25 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:25 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:24 PM
+ Measurement Studio
+ True
+
+
+
+ Contains the value and attributes associated with the value.
+
+
+
+
+ The object encapsulates the data obtained from
+ or passed to a object.
+ The object also encapsulates the data attributes.
+
+
+ The object supports the following data types:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+ - Two-dimensional arrays of
+
+
+
+ You must call when you finish using a
+ object.
+
+
+ 11/21/2002 1:34:11 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of .
+
+
+ 10/30/2002 11:42:42 AM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:30 PM
+ Measurement Studio
+ True
+
+
+
+ Overrides .
+
+ Returns a string representation of the object.
+ 10/30/2002 12:01:28 PM
+ Beth Parrott
+ True
+
+
+
+ Releases all resources used by the object.
+
+ 10/14/2009 9:29:15 AM
+ Staci Heien
+ True
+
+
+
+ Releases all resources used by the object.
+
+ 1/10/2003 4:09:12 PM
+ Beth Parrott
+ True
+
+
+
+ Releases the unmanaged resources used by the object and
+ optionally releases the managed resources.
+
+
+ If , releases both managed and unmanaged resources. If , only releases
+ unmanaged resources.
+
+
+
+ The public method and the finalizer call this method. The public
+ method invokes the protected Dispose(Boolean) method with
+ set to . The finalizer invokes the protected Dispose(Boolean) method
+ with set to
+ .
+
+
+ When you set the parameter to , this method releases all
+ resources held by managed objects that the object
+ references. This method invokes the method of each referenced object.
+
+
+ 11/21/2002 9:33:09 AM
+ Beth Parrott
+ False
+
+
+ Finalizes the instance of the object.
+ 10/30/2002 12:00:52 PM
+ Beth Parrott
+ True
+
+
+
+ Clears the property and
+ all attributes.
+
+
+ This method sets the property to 0 and removes all attributes of the object.
+
+
+ 11/21/2002 1:34:18 PM
+ Beth Parrott
+ True
+
+
+
+ Gets a value indicating if the object has been disposed.
+
+
+ if has been
+ called on the object. if
+ has not been called
+ on the object.
+
+ 6/20/2006 4:42:45 PM
+ Staci McCormick
+ True
+
+
+
+ Gets a list of attributes that are associated with the data.
+
+
+ A collection of values
+ that are associated with the data.
+
+ 10/30/2002 12:00:56 PM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets the value of the object.
+
+
+ The value of the local object. The default value is 0.
+
+
+ Get this property to obtain the value of the local object. If the
+ object belongs to a
+ object that is
+ configured for , the
+ object transfers the data from the data source to the local object when the value of the data
+ source is updated. Query the property to determine if the local
+ object has been updated. If the object belongs to a object
+ that is configured for , you must call
+ to transfer data from the data source to the local object.
+ Set this property to specify the value of the local
+ object. If the object belongs to a
+ object that is configured for ,
+ the object transfers data from the local
+ object when you set this property. If the
+ object belongs to a
+ object that
+ is configured for , you must call
+ to transfer data from the local object to the data target.
+
+
+
+
+ 11/21/2002 1:34:20 PM
+ Beth Parrott
+ True
+
+
+ Represents the exception that is thrown when a
+ error occurs.
+
+
+ 10/30/2002 12:01:36 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of .
+
+ 11/21/2002 1:34:32 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of
+ with the specified error message.
+
+
+ The error message that explains the cause of the exception.
+
+ 10/30/2002 12:01:47 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of
+ with the specified error message and a reference to the inner exception that is the
+ cause of the exception.
+
+
+ The error message that explains the cause of the exception.
+
+
+ The exception that caused this exception.
+
+ 11/21/2002 1:34:34 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of with serialized data.
+
+
+ The object that holds the serialized object data.
+
+
+ The contextual information about the source or destination of a serialized stream.
+
+ 10/30/2002 12:01:42 PM
+ Beth Parrott
+ True
+
+
+ Overrides .
+ Returns a string representation of the object.
+ 10/30/2002 12:01:51 PM
+ Beth Parrott
+ True
+
+
+
+ Encapsulates the interface to the National Instruments DataSocket Server.
+
+
+
+
+ Use this class to run the DataSocket Server on the local machine. You must run the DataSocket Server on the machine on which you
+ want to host DSTP data sources and targets.
+
+
+ You must call when you finish using a
+ object. If you add this object to a Windows form with the Windows
+ Forms Designer, the form calls automatically.
+
+
+ 11/21/2002 1:34:37 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of .
+
+ 10/30/2002 12:07:36 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of
+ with the specified container.
+
+
+ that represents the object container.
+
+
+ 10/30/2002 12:07:44 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of with the specified
+ auto-start value.
+
+
+ Specifies if the server automatically starts when the object is constructed.
+
+
+ When you use this constructor, the object automatically
+ shuts down when the object is disposed.
+
+ The DataSocket Server is not installed.
+
+
+ 10/30/2002 12:07:41 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of with the specified auto-start and
+ auto-shutdown values.
+
+
+ Specifies if the server automatically starts when the object is constructed.
+
+
+ Specifies if the server automatically shuts down when the object is disposed.
+
+
+ The DataSocket Server is not installed.
+
+
+ 10/30/2002 12:07:43 PM
+ Beth Parrott
+ True
+
+
+
+ Overrides .
+
+
+ A string representation of the object.
+
+
+ The has been disposed.
+
+ 6/9/2003 10:09:24 AM
+ Beth Parrott
+ True
+
+
+
+ Releases the resources used by object.
+
+
+ If , this method releases managed and unmanaged resources. If , this method
+ releases only unmanaged resources.
+
+
+
+ The public method and the finalizer call this method. The public
+ method invokes the protected Dispose(Boolean) method with
+ set to . The finalizer invokes the protected Dispose(Boolean) method
+ with set to
+ .
+
+
+ When you set the parameter to , this method releases all
+ resources held by managed objects that the object
+ references. This method invokes the method of each referenced object.
+
+
+ 11/21/2002 1:34:39 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:30 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:31 PM
+ Measurement Studio
+ True
+
+
+
+ Launches the local DataSocket Server.
+
+
+ The has been disposed.
+
+ 10/30/2002 12:08:02 PM
+ Beth Parrott
+ True
+
+
+
+ Displays the local DataSocket Server.
+
+
+ If the DataSocket Server is not already running and you call ,
+ the DataSocket Server automatically starts.
+
+
+ The has been disposed.
+
+ 6/9/2003 10:31:37 AM
+ Beth Parrott
+ True
+
+
+
+ Hides the local DataSocket Server.
+
+
+ The has been disposed.
+
+
+ If the DataSocket Server is not already running and you call ,
+ the DataSocket Server automatically starts.
+
+ The DataSocket Server is accessible from the Windows taskbar status area regardless of if it is hidden.
+
+
+ 6/9/2003 10:31:21 AM
+ Beth Parrott
+ True
+
+
+
+ Shuts down the local DataSocket Server.
+
+
+ The has been disposed.
+
+ 10/30/2002 12:08:00 PM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets a value indicating if the DataSocket Server automatically starts when the form loads.
+
+
+ if the DataSocket Server automatically starts when the form loads. The default value is .
+
+
+ The has been disposed.
+
+
+ If the value of this property is , you must call to launch the DataSocket Server.
+
+ This property is applicable only to objects that you create on
+ a Windows Form with the Windows Forms Designer.
+
+ 6/20/2006 4:42:53 PM
+ Staci McCormick
+ True
+
+
+
+ Gets or sets a value indicating if the DataSocket Server automatically shuts down when the object is disposed.
+
+
+ if the server automatically shuts down when the object is disposed. The default value is
+ .
+
+
+ The has been disposed.
+
+ 6/20/2006 4:42:49 PM
+ Staci McCormick
+ True
+
+
+
+ Gets a value indicating if the DataSocket Server is running.
+
+
+ if the DataSocket Server is running.
+
+
+ The has been disposed.
+
+ 6/20/2006 4:42:57 PM
+ Staci McCormick
+ True
+
+
+
+ Exposes data sources or targets as a bindable data items that you can bind to properties of Windows Forms controls.
+
+
+
+ Complete the following steps to bind data sources or targets to a Windows Forms control:
+
+ -
+
+ From the Toolbox, drag a object onto a designer, such as the Windows
+ Forms Designer. Because the object does not have a user interface, it is added to the component
+ tray below the form.
+
+
+ -
+
+ In the Properties window, launch the collection editor for the property.
+ Add a binding and specify a unique name and URL for the binding.
+
+
+ -
+
+ Click OK to accept the binding item and close the collection editor.
+
+
+ -
+
+ Select a Windows Forms control in the designer, navigate to the property in the Properties window, locate the property
+ you want to bind to a data source or target, and select the name of the binding you added
+ to the collection.
+
+
+
+
+ You must call when you finish using a
+ object. If you add this object to a Windows form with the Windows
+ Forms Designer, the form calls automatically.
+
+
+
+ 11/5/2008 10:39:09 AM
+ Measurement Studio
+ True
+
+
+
+ Initializes a new instance of .
+
+ 10/30/2002 12:09:03 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of the class
+ with the specified container.
+
+
+ that represents the object container.
+
+ 10/30/2002 12:09:05 PM
+ Beth Parrott
+ True
+
+
+
+ Overrides .
+
+
+ A string representation of the object.
+
+
+ The has been disposed.
+
+ 6/9/2003 10:12:10 AM
+ Beth Parrott
+ True
+
+
+
+ Releases the resources used by object.
+
+
+ If , this method releases managed and unmanaged resources. If , this method releases
+ only unmanaged resources.
+
+
+
+ The public method and the finalizer call this method. The public
+ method invokes the protected Dispose(Boolean) method with
+ set to . The finalizer invokes the protected Dispose(Boolean) method
+ with set to
+ .
+
+
+ When you set the parameter to , this method releases all
+ resources held by managed objects that the object
+ references. This method invokes the method of each referenced object.
+
+
+ 11/21/2002 1:34:57 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:59 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:59 PM
+ Measurement Studio
+ True
+
+
+
+ 1/23/2009 4:54:58 PM
+ Measurement Studio
+ True
+
+
+
+ Calls the method on all
+ objects in the
+
+ collection.
+
+
+ The has been disposed.
+
+ 6/9/2003 10:12:44 AM
+ Beth Parrott
+ True
+
+
+
+ Calls the method on all
+ objects in the
+ collection.
+
+
+ The has been disposed.
+
+ 6/9/2003 10:12:39 AM
+ Beth Parrott
+ True
+
+
+
+ Calls the method on all
+ objects in the
+ collection.
+
+
+ The has been disposed.
+
+
+ A object in the
+ collection is not connected.
+
+ 6/9/2003 10:12:30 AM
+ Beth Parrott
+ True
+
+
+
+ Raises the event.
+
+
+ A object that contains the event data.
+
+
+ A derived class can override
+ to handle the event without attaching a delegate. This technique is preferred for event handling in a derived class.
+
+
+ 11/21/2002 1:35:16 PM
+ Beth Parrott
+ True
+
+
+
+ Raises the event.
+
+
+ A object that contains the event data.
+
+
+ A derived class can override
+ to handle the event without attaching a delegate. This technique is preferred for event handling in a derived class.
+
+
+ 11/21/2002 1:35:18 PM
+ Beth Parrott
+ True
+
+
+
+ 1/23/2009 4:54:57 PM
+ Measurement Studio
+ True
+
+
+
+ Occurs when the data of any object in the
+ collection is updated.
+
+ 11/21/2002 1:34:59 PM
+ Beth Parrott
+ True
+
+
+
+ Occurs when the connection status of any object in the
+ collection is updated.
+
+ 11/21/2002 1:35:01 PM
+ Beth Parrott
+ True
+
+
+
+ Gets or sets a value indicating if all bindings in the collection
+ connect to associated data sources or targets when the form loads.
+
+
+ if is called when the form
+ loads. The default value is .
+
+
+ The has been disposed.
+
+
+ If the value of this property is , you must manually call
+ .
+ This property is applicable only to objects that you create on
+ a Windows Form with the Windows Forms Designer.
+
+ 6/20/2006 4:43:06 PM
+ Staci McCormick
+ True
+
+
+
+ Gets the DataSocket object.
+
+
+ A collection of objects. You can use a
+ object to bind Windows Forms control properties to
+ data sources and targets.
+
+
+ The has been disposed.
+
+
+ 6/9/2003 10:11:51 AM
+ Beth Parrott
+ True
+
+
+
+ Provides data for the event.
+
+
+
+ The event is generated when
+ the local value or attributes change. The local
+ value or attributes can change when the data source
+ value or attributes change or when you set the value or attributes on the local
+ object.
+
+
+
+
+ 11/21/2002 1:35:39 PM
+ Beth Parrott
+ True
+
+
+
+ Initializes a new instance of .
+
+
+ A reference to the that was updated.
+
+ 10/30/2002 12:09:45 PM
+ Beth Parrott
+ True
+
+
+ Overrides .
+ Returns a string representation of the object.
+ 10/30/2002 12:09:46 PM
+ Beth Parrott
+ True
+
+
+
+ Gets a reference to the data that was updated when the event was generated.
+
+
+ A that represents the data
+ that was updated when the event was generated.
+
+ 7/26/2004 10:16:50 AM
+ Whitney Bates
+ True
+
+
+
+ Represents a method that handles the
+ event of a
+ object.
+
+
+ The source of the event.
+
+
+ A object that contains the event data.
+
+
+ 11/21/2002 1:35:47 PM
+ Beth Parrott
+ True
+
+
+
+ Defines valid values for the status subfield of the OPC quality attribute.
+
+ 10/30/2002 12:09:51 PM
+ Beth Parrott
+ True
+
+
+
+ The value is bad.
+
+ 10/30/2002 12:09:56 PM
+ Beth Parrott
+ True
+
+
+
+ The communication failed, and no last known value
+ is available.
+
+ 10/30/2002 12:09:57 PM
+ Beth Parrott
+ True
+
+
+
+ There is a server-specific problem with the configuration.
+
+ 10/30/2002 12:09:59 PM
+ Beth Parrott
+ True
+
+
+
+ A device failure has been detected.
+
+ 10/30/2002 12:10:00 PM
+ Beth Parrott
+ True
+
+
+
+ The value is outside the limits defined for this parameter.
+
+ 10/30/2002 12:10:02 PM
+ Beth Parrott
+ True
+
+
+
+ The value is good.
+
+ 10/30/2002 12:10:04 PM
+ Beth Parrott
+ True
+
+
+
+ Communication has failed, but the last known value is available.
+
+ 10/30/2002 12:10:06 PM
+ Beth Parrott
+ True
+
+
+
+ The value is no longer being written.
+
+ 10/30/2002 12:10:07 PM
+ Beth Parrott
+ True
+
+
+
+ The value has been overridden.
+
+ 10/30/2002 12:10:08 PM
+ Beth Parrott
+ True
+
+
+
+ The input must be logically connected to a server but it
+ is disconnected.
+
+ 10/30/2002 12:10:09 PM
+ Beth Parrott
+ True
+
+
+
+ The block is off scan or locked.
+
+ 10/30/2002 12:10:10 PM
+ Beth Parrott
+ True
+
+
+
+ The value has been pegged at one of the sensor limits or
+ an internal diagnostics has detected that the sensor is out of calibration.
+
+ 10/30/2002 12:10:11 PM
+ Beth Parrott
+ True
+
+
+
+ A sensor failure has been detected.
+
+ 10/30/2002 12:10:12 PM
+ Beth Parrott
+ True
+
+
+
+ The value is derived from multiple sources and has less than the
+ required number of good sources.
+
+ 10/30/2002 12:10:12 PM
+ Beth Parrott
+ True
+
+
+
+ The value cannot be determined.
+
+ 10/30/2002 12:10:13 PM
+ Beth Parrott
+ True
+
+
+
+ Specifies how a object reads data.
+
+ 6/9/2003 10:16:27 AM
+ Beth Parrott
+ True
+
+
+
+ Specifies that raises the
+ event to notify
+ when new data arrives.
+
+ 6/9/2003 10:16:59 AM
+ Beth Parrott
+ True
+
+
+
+ Specifies that you must call
+ to poll and dequeue buffered data into the
+ property. does not raise the
+ event in this mode.
+
+ 6/9/2003 10:17:37 AM
+ Beth Parrott
+ True
+
+
+
+ Controls the behavior of the dialog box that
+ displays.
+
+
+
+ 11/21/2002 1:35:54 PM
+ Beth Parrott
+ True
+
+
+
+ Specifies that dialog box is displayed
+ with the default options.
+
+ 10/30/2002 12:10:16 PM
+ Beth Parrott
+ True
+
+
+
+ Opens a dialog box to prompt the user for permission to create the file if that file
+ does not exist. If the user chooses to create the file, the dialog box closes
+ and the method returns the specified name; otherwise, the dialog box remains open.
+
+ 10/30/2002 12:10:15 PM
+ Beth Parrott
+ True
+
+
+
+ Specifies that the user can enter the names only of existing files in the Filename field.
+ If this flag is specified and the user enters an invalid name, the dialog box
+ displays a warning in a message box.
+
+ 10/30/2002 12:10:17 PM
+ Beth Parrott
+ True
+
+
+
+ Hides the read-only checkbox.
+
+ 10/30/2002 12:10:18 PM
+ Beth Parrott
+ True
+
+
+
+ Restores the current directory to its original value if the user changed the directory
+ while searching for files.
+
+ 10/30/2002 12:10:18 PM
+ Beth Parrott
+ True
+
+
+
+ Directs the dialog box to return the path and filename of the selected shortcut
+ (.lnk) file. If this value is not provided, the dialog box returns the path and
+ filename of the file referenced by the shortcut.
+
+ 11/21/2002 1:35:57 PM
+ Beth Parrott
+ True
+
+
+
+ Specifies that the returned file does not have the read-only checkbox selected and is
+ not in a write-protected directory.
+
+ 10/30/2002 12:10:20 PM
+ Beth Parrott
+ True
+
+
+
+ Specifies that the file is not created before the dialog box is closed. Use this value if the application
+ saves the file on a create-nonmodify network
+ share. When an application specifies this flag,
+ does not check for write protection, a full disk, an open drive door, or network protection.
+ Applications that use this flag must perform file operations carefully because a file
+ cannot be reopened after it is closed.
+
+ 10/30/2002 12:10:21 PM
+ Beth Parrott
+ True
+
+
+
+ Causes the Save As dialog box to generate a message box if the selected file already
+ exists. The user must confirm overwriting the file.
+
+ 10/30/2002 12:10:21 PM
+ Beth Parrott
+ True
+
+
+
+ Specifies that the user can enter only valid paths and filenames. If you use this value and
+ the user enters an invalid path or filename in the Filename field, the dialog box method
+ displays a warning in a message box.
+
+ 10/30/2002 12:10:22 PM
+ Beth Parrott
+ True
+
+
+
+ Causes the read-only checkbox to be checked when the dialog box is created.
+
+ 10/30/2002 12:10:23 PM
+ Beth Parrott
+ True
+
+
+
+ Causes the file dialog box to be a Save As dialog box instead of an Open File
+ dialog box.
+
+ 10/30/2002 12:10:24 PM
+ Beth Parrott
+ True
+
+
+
diff --git a/Axel-hub/scanUC/scanUC.sln b/Axel-hub/scanUC/scanUC.sln
index 8397cbe1..1e64c2c0 100644
--- a/Axel-hub/scanUC/scanUC.sln
+++ b/Axel-hub/scanUC/scanUC.sln
@@ -1,22 +1,22 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2013
-VisualStudioVersion = 12.0.31101.0
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "scanUC", "scanUC\scanUC.csproj", "{1FB4D7AD-D169-4B68-A11A-C398186F3C4C}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {1FB4D7AD-D169-4B68-A11A-C398186F3C4C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {1FB4D7AD-D169-4B68-A11A-C398186F3C4C}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {1FB4D7AD-D169-4B68-A11A-C398186F3C4C}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {1FB4D7AD-D169-4B68-A11A-C398186F3C4C}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2013
+VisualStudioVersion = 12.0.31101.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "scanUC", "scanUC\scanUC.csproj", "{1FB4D7AD-D169-4B68-A11A-C398186F3C4C}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {1FB4D7AD-D169-4B68-A11A-C398186F3C4C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1FB4D7AD-D169-4B68-A11A-C398186F3C4C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1FB4D7AD-D169-4B68-A11A-C398186F3C4C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1FB4D7AD-D169-4B68-A11A-C398186F3C4C}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/Axel-hub/scanUC/scanUC/PipeServer.cs b/Axel-hub/scanUC/scanUC/PipeServer.cs
deleted file mode 100644
index 26c82ff8..00000000
--- a/Axel-hub/scanUC/scanUC/PipeServer.cs
+++ /dev/null
@@ -1,72 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.IO.Pipes;
-using System.Diagnostics;
-
-namespace PipesServerNS
-{
- // Delegate for passing received message back to caller
- public delegate void DelegateMessage(string Reply);
-
- class PipeServer
- {
- public event DelegateMessage PipeMessage;
- string _pipeName;
-
- public void Listen(string PipeName)
- {
- try
- {
- // Set to class level var so we can re-use in the async callback method
- _pipeName = PipeName;
- // Create the new async pipe
- NamedPipeServerStream pipeServer = new NamedPipeServerStream(PipeName, PipeDirection.In, 1, PipeTransmissionMode.Byte, PipeOptions.Asynchronous);
-
- // Wait for a connection
- pipeServer.BeginWaitForConnection(new AsyncCallback(WaitForConnectionCallBack), pipeServer);
- }
- catch (Exception oEX)
- {
- Debug.WriteLine(oEX.Message);
- }
- }
-
- private void WaitForConnectionCallBack(IAsyncResult iar)
- {
- try
- {
- // Get the pipe
- NamedPipeServerStream pipeServer = (NamedPipeServerStream)iar.AsyncState;
- // End waiting for the connection
- pipeServer.EndWaitForConnection(iar);
-
- byte[] buffer = new byte[255];
-
- // Read the incoming message
- pipeServer.Read(buffer, 0, 255);
-
- // Convert byte buffer to string
- string stringData = Encoding.UTF8.GetString(buffer, 0, buffer.Length);
- Debug.WriteLine(stringData + Environment.NewLine);
-
- // Pass message back to calling form
- PipeMessage.Invoke(stringData);
-
- // Kill original sever and create new wait server
- pipeServer.Close();
- pipeServer = null;
- pipeServer = new NamedPipeServerStream(_pipeName, PipeDirection.In, 1, PipeTransmissionMode.Byte, PipeOptions.Asynchronous);
-
- // Recursively wait for the connection again and again....
- pipeServer.BeginWaitForConnection(new AsyncCallback(WaitForConnectionCallBack), pipeServer);
- }
- catch
- {
- return;
- }
- }
- }
-}
diff --git a/Axel-hub/scanUC/scanUC/Properties/AssemblyInfo.cs b/Axel-hub/scanUC/scanUC/Properties/AssemblyInfo.cs
index c9b2878a..3ecc7f16 100644
--- a/Axel-hub/scanUC/scanUC/Properties/AssemblyInfo.cs
+++ b/Axel-hub/scanUC/scanUC/Properties/AssemblyInfo.cs
@@ -1,55 +1,55 @@
-using System.Reflection;
-using System.Resources;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-using System.Windows;
-
-// 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.
-[assembly: AssemblyTitle("scanUC")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("Imperial College")]
-[assembly: AssemblyProduct("scanUC")]
-[assembly: AssemblyCopyright("Teodor Krastev for Imperial College")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-//In order to begin building localizable applications, set
-//CultureYouAreCodingWith in your .csproj file
-//inside a . For example, if you are using US english
-//in your source files, set the to en-US. Then uncomment
-//the NeutralResourceLanguage attribute below. Update the "en-US" in
-//the line below to match the UICulture setting in the project file.
-
-//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
-
-
-[assembly:ThemeInfo(
- ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
- //(used if a resource is not found in the page,
- // or application resource dictionaries)
- ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
- //(used if a resource is not found in the page,
- // app, or any theme specific resource dictionaries)
-)]
-
-
-// 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:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+using System.Reflection;
+using System.Resources;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using System.Windows;
+
+// 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.
+[assembly: AssemblyTitle("scanUC")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Imperial College")]
+[assembly: AssemblyProduct("scanUC")]
+[assembly: AssemblyCopyright("Teodor Krastev for Imperial College")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+//In order to begin building localizable applications, set
+//CultureYouAreCodingWith in your .csproj file
+//inside a . For example, if you are using US english
+//in your source files, set the to en-US. Then uncomment
+//the NeutralResourceLanguage attribute below. Update the "en-US" in
+//the line below to match the UICulture setting in the project file.
+
+//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
+
+
+[assembly:ThemeInfo(
+ ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
+ //(used if a resource is not found in the page,
+ // or application resource dictionaries)
+ ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
+ //(used if a resource is not found in the page,
+ // app, or any theme specific resource dictionaries)
+)]
+
+
+// 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:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/Axel-hub/scanUC/scanUC/Properties/Resources.resx b/Axel-hub/scanUC/scanUC/Properties/Resources.resx
index ffecec85..af7dbebb 100644
--- a/Axel-hub/scanUC/scanUC/Properties/Resources.resx
+++ b/Axel-hub/scanUC/scanUC/Properties/Resources.resx
@@ -1,117 +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
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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/Axel-hub/scanUC/scanUC/Properties/Settings.settings b/Axel-hub/scanUC/scanUC/Properties/Settings.settings
index 8f2fd95d..033d7a5e 100644
--- a/Axel-hub/scanUC/scanUC/Properties/Settings.settings
+++ b/Axel-hub/scanUC/scanUC/Properties/Settings.settings
@@ -1,7 +1,7 @@
-
-
-
-
-
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Axel-hub/scanUC/scanUC/Properties/licenses.licx b/Axel-hub/scanUC/scanUC/Properties/licenses.licx
index 40103c9c..e69de29b 100644
--- a/Axel-hub/scanUC/scanUC/Properties/licenses.licx
+++ b/Axel-hub/scanUC/scanUC/Properties/licenses.licx
@@ -1,7 +0,0 @@
-# The following section of this file was auto-generated by Measurement Studio. Do not edit or remove this file from the project.
-# This file is used for licensing Measurement Studio components.
-# Begin Measurement Studio licenses
-NationalInstruments.Controls.Internal.WpfEnterpriseLicenser, NationalInstruments.Controls, Version=15.0.45.3898, Culture=neutral, PublicKeyToken=4febd62461bf11a4
-NationalInstruments.Controls.Internal.WpfProfessionalLicenser, NationalInstruments.Controls, Version=15.0.45.3898, Culture=neutral, PublicKeyToken=4febd62461bf11a4
-NationalInstruments.Controls.Internal.WpfStandardLicenser, NationalInstruments.Controls, Version=15.0.45.3898, Culture=neutral, PublicKeyToken=4febd62461bf11a4
-# End Measurement Studio licenses
diff --git a/Axel-hub/scanUC/scanUC/bin/UtilsLib.dll b/Axel-hub/scanUC/scanUC/bin/UtilsLib.dll
index 25940833..b706f387 100644
Binary files a/Axel-hub/scanUC/scanUC/bin/UtilsLib.dll and b/Axel-hub/scanUC/scanUC/bin/UtilsLib.dll differ
diff --git a/Axel-hub/scanUC/scanUC/bin/UtilsLib.pdb b/Axel-hub/scanUC/scanUC/bin/UtilsLib.pdb
index 3d04a085..11b83835 100644
Binary files a/Axel-hub/scanUC/scanUC/bin/UtilsLib.pdb and b/Axel-hub/scanUC/scanUC/bin/UtilsLib.pdb differ
diff --git a/Axel-hub/scanUC/scanUC/bin/scanHub.dll b/Axel-hub/scanUC/scanUC/bin/scanHub.dll
index 7844414a..0c19dbd9 100644
Binary files a/Axel-hub/scanUC/scanUC/bin/scanHub.dll and b/Axel-hub/scanUC/scanUC/bin/scanHub.dll differ
diff --git a/Axel-hub/scanUC/scanUC/bin/scanHub.pdb b/Axel-hub/scanUC/scanUC/bin/scanHub.pdb
index 988c11e1..2ac1fe23 100644
Binary files a/Axel-hub/scanUC/scanUC/bin/scanHub.pdb and b/Axel-hub/scanUC/scanUC/bin/scanHub.pdb differ
diff --git a/Axel-hub/scanUC/scanUC/bin/scanUC.dll b/Axel-hub/scanUC/scanUC/bin/scanUC.dll
deleted file mode 100644
index 676c0622..00000000
Binary files a/Axel-hub/scanUC/scanUC/bin/scanUC.dll and /dev/null differ
diff --git a/Axel-hub/scanUC/scanUC/bin/scanUC.pdb b/Axel-hub/scanUC/scanUC/bin/scanUC.pdb
deleted file mode 100644
index ef2bc5ac..00000000
Binary files a/Axel-hub/scanUC/scanUC/bin/scanUC.pdb and /dev/null differ
diff --git a/Axel-hub/scanUC/scanUC/obj/Debug/CoreCompileInputs.cache b/Axel-hub/scanUC/scanUC/obj/Debug/CoreCompileInputs.cache
index 4037e5f3..9bde0d3d 100644
--- a/Axel-hub/scanUC/scanUC/obj/Debug/CoreCompileInputs.cache
+++ b/Axel-hub/scanUC/scanUC/obj/Debug/CoreCompileInputs.cache
@@ -1 +1 @@
-af6f74e6f09a9539ed13244f2efbe23eac2408f5
+af6f74e6f09a9539ed13244f2efbe23eac2408f5
diff --git a/Axel-hub/scanUC/scanUC/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/Axel-hub/scanUC/scanUC/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
index fb4ef2df..20c57723 100644
Binary files a/Axel-hub/scanUC/scanUC/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache and b/Axel-hub/scanUC/scanUC/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ
diff --git a/Axel-hub/scanUC/scanUC/obj/Debug/UCLib1.csproj.FileListAbsolute.txt b/Axel-hub/scanUC/scanUC/obj/Debug/UCLib1.csproj.FileListAbsolute.txt
index 00107823..4052b913 100644
--- a/Axel-hub/scanUC/scanUC/obj/Debug/UCLib1.csproj.FileListAbsolute.txt
+++ b/Axel-hub/scanUC/scanUC/obj/Debug/UCLib1.csproj.FileListAbsolute.txt
@@ -1,23 +1,23 @@
-E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\bin\Debug\UCLib1.dll
-E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\bin\Debug\UCLib1.pdb
-E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\obj\Debug\UCLib1.csprojResolveAssemblyReference.cache
-E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\obj\Debug\UserControl1.baml
-E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\obj\Debug\UserControl1.g.cs
-E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\obj\Debug\UCLib1_MarkupCompile.cache
-E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\obj\Debug\UCLib1.g.resources
-E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\obj\Debug\UCLib1.Properties.Resources.resources
-E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\obj\Debug\UCLib1.csproj.GenerateResource.Cache
-E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\obj\Debug\UCLib1.dll.licenses
-E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\obj\Debug\UCLib1.dll
-E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\obj\Debug\UCLib1.pdb
-E:\VSprojects\Axel-boss\UCLib1\UCLib1\obj\Debug\UCLib1.csproj.GenerateResource.Cache
-E:\VSprojects\Axel-boss\UCLib1\UCLib1\bin\Debug\scanUC.dll
-E:\VSprojects\Axel-boss\UCLib1\UCLib1\bin\Debug\scanUC.pdb
-E:\VSprojects\Axel-boss\UCLib1\UCLib1\obj\Debug\scanUC_MarkupCompile.cache
-E:\VSprojects\Axel-boss\UCLib1\UCLib1\obj\Debug\scanUC.g.resources
-E:\VSprojects\Axel-boss\UCLib1\UCLib1\obj\Debug\scanUC.Properties.Resources.resources
-E:\VSprojects\Axel-boss\UCLib1\UCLib1\obj\Debug\scanUC.dll.licenses
-E:\VSprojects\Axel-boss\UCLib1\UCLib1\obj\Debug\scanUC.dll
-E:\VSprojects\Axel-boss\UCLib1\UCLib1\obj\Debug\scanUC.pdb
-E:\VSprojects\Axel-boss\UCLib1\UCLib1\obj\Debug\scanUC.baml
-E:\VSprojects\Axel-boss\UCLib1\UCLib1\obj\Debug\scanUC.g.cs
+E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\bin\Debug\UCLib1.dll
+E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\bin\Debug\UCLib1.pdb
+E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\obj\Debug\UCLib1.csprojResolveAssemblyReference.cache
+E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\obj\Debug\UserControl1.baml
+E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\obj\Debug\UserControl1.g.cs
+E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\obj\Debug\UCLib1_MarkupCompile.cache
+E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\obj\Debug\UCLib1.g.resources
+E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\obj\Debug\UCLib1.Properties.Resources.resources
+E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\obj\Debug\UCLib1.csproj.GenerateResource.Cache
+E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\obj\Debug\UCLib1.dll.licenses
+E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\obj\Debug\UCLib1.dll
+E:\VSprojects\TESTS\UC1\UCLib1\UCLib1\obj\Debug\UCLib1.pdb
+E:\VSprojects\Axel-boss\UCLib1\UCLib1\obj\Debug\UCLib1.csproj.GenerateResource.Cache
+E:\VSprojects\Axel-boss\UCLib1\UCLib1\bin\Debug\scanUC.dll
+E:\VSprojects\Axel-boss\UCLib1\UCLib1\bin\Debug\scanUC.pdb
+E:\VSprojects\Axel-boss\UCLib1\UCLib1\obj\Debug\scanUC_MarkupCompile.cache
+E:\VSprojects\Axel-boss\UCLib1\UCLib1\obj\Debug\scanUC.g.resources
+E:\VSprojects\Axel-boss\UCLib1\UCLib1\obj\Debug\scanUC.Properties.Resources.resources
+E:\VSprojects\Axel-boss\UCLib1\UCLib1\obj\Debug\scanUC.dll.licenses
+E:\VSprojects\Axel-boss\UCLib1\UCLib1\obj\Debug\scanUC.dll
+E:\VSprojects\Axel-boss\UCLib1\UCLib1\obj\Debug\scanUC.pdb
+E:\VSprojects\Axel-boss\UCLib1\UCLib1\obj\Debug\scanUC.baml
+E:\VSprojects\Axel-boss\UCLib1\UCLib1\obj\Debug\scanUC.g.cs
diff --git a/Axel-hub/scanUC/scanUC/obj/Debug/UCLib1_MarkupCompile.i.cache b/Axel-hub/scanUC/scanUC/obj/Debug/UCLib1_MarkupCompile.i.cache
index 02040dac..c7d67dd2 100644
--- a/Axel-hub/scanUC/scanUC/obj/Debug/UCLib1_MarkupCompile.i.cache
+++ b/Axel-hub/scanUC/scanUC/obj/Debug/UCLib1_MarkupCompile.i.cache
@@ -1,20 +1,20 @@
-UCLib1
-
-
-library
-C#
-.cs
-E:\VSprojects\Axel-boss\UCLib1\UCLib1\obj\Debug\
-UCLib1
-none
-false
-DEBUG;TRACE
-
-1-98425716
-
-81832081038
-15841481964
-UserControl1.xaml;
-
-False
-
+UCLib1
+
+
+library
+C#
+.cs
+E:\VSprojects\Axel-boss\UCLib1\UCLib1\obj\Debug\
+UCLib1
+none
+false
+DEBUG;TRACE
+
+1-98425716
+
+81832081038
+15841481964
+UserControl1.xaml;
+
+False
+
diff --git a/Axel-hub/scanUC/scanUC/obj/Debug/UserControl1.g.i.cs b/Axel-hub/scanUC/scanUC/obj/Debug/UserControl1.g.i.cs
index a7561b2d..f7eddb0c 100644
--- a/Axel-hub/scanUC/scanUC/obj/Debug/UserControl1.g.i.cs
+++ b/Axel-hub/scanUC/scanUC/obj/Debug/UserControl1.g.i.cs
@@ -1,130 +1,130 @@
-#pragma checksum "..\..\UserControl1.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "2AA29D7CAB8328E57116DFBE6CBE57B5"
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-using NationalInstruments.Controls;
-using System;
-using System.Diagnostics;
-using System.Windows;
-using System.Windows.Automation;
-using System.Windows.Controls;
-using System.Windows.Controls.Primitives;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Ink;
-using System.Windows.Input;
-using System.Windows.Markup;
-using System.Windows.Media;
-using System.Windows.Media.Animation;
-using System.Windows.Media.Effects;
-using System.Windows.Media.Imaging;
-using System.Windows.Media.Media3D;
-using System.Windows.Media.TextFormatting;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
-using System.Windows.Shell;
-
-
-namespace UCLib1 {
-
-
- ///
- /// UserControl1
- ///
- public partial class UserControl1 : System.Windows.Controls.UserControl, System.Windows.Markup.IComponentConnector {
-
-
- #line 10 "..\..\UserControl1.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Label lblStatus;
-
- #line default
- #line hidden
-
-
- #line 12 "..\..\UserControl1.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.BooleanButton bbtnStart;
-
- #line default
- #line hidden
-
-
- #line 13 "..\..\UserControl1.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.GroupBox groupDigit;
-
- #line default
- #line hidden
-
-
- #line 15 "..\..\UserControl1.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.ComboBox cbDigitMode;
-
- #line default
- #line hidden
-
- private bool _contentLoaded;
-
- ///
- /// InitializeComponent
- ///
- [System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
- public void InitializeComponent() {
- if (_contentLoaded) {
- return;
- }
- _contentLoaded = true;
- System.Uri resourceLocater = new System.Uri("/scanUC;component/usercontrol1.xaml", System.UriKind.Relative);
-
- #line 1 "..\..\UserControl1.xaml"
- System.Windows.Application.LoadComponent(this, resourceLocater);
-
- #line default
- #line hidden
- }
-
- [System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
- [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
- void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
- switch (connectionId)
- {
- case 1:
- this.lblStatus = ((System.Windows.Controls.Label)(target));
- return;
- case 2:
- this.bbtnStart = ((NationalInstruments.Controls.BooleanButton)(target));
- return;
- case 3:
- this.groupDigit = ((System.Windows.Controls.GroupBox)(target));
- return;
- case 4:
- this.cbDigitMode = ((System.Windows.Controls.ComboBox)(target));
- return;
- case 5:
-
- #line 49 "..\..\UserControl1.xaml"
- ((System.Windows.Controls.Image)(target)).MouseDown += new System.Windows.Input.MouseButtonEventHandler(this.Image_MouseDown);
-
- #line default
- #line hidden
- return;
- }
- this._contentLoaded = true;
- }
- }
-}
-
+#pragma checksum "..\..\UserControl1.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "2AA29D7CAB8328E57116DFBE6CBE57B5"
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using NationalInstruments.Controls;
+using System;
+using System.Diagnostics;
+using System.Windows;
+using System.Windows.Automation;
+using System.Windows.Controls;
+using System.Windows.Controls.Primitives;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Ink;
+using System.Windows.Input;
+using System.Windows.Markup;
+using System.Windows.Media;
+using System.Windows.Media.Animation;
+using System.Windows.Media.Effects;
+using System.Windows.Media.Imaging;
+using System.Windows.Media.Media3D;
+using System.Windows.Media.TextFormatting;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using System.Windows.Shell;
+
+
+namespace UCLib1 {
+
+
+ ///
+ /// UserControl1
+ ///
+ public partial class UserControl1 : System.Windows.Controls.UserControl, System.Windows.Markup.IComponentConnector {
+
+
+ #line 10 "..\..\UserControl1.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Label lblStatus;
+
+ #line default
+ #line hidden
+
+
+ #line 12 "..\..\UserControl1.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.BooleanButton bbtnStart;
+
+ #line default
+ #line hidden
+
+
+ #line 13 "..\..\UserControl1.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.GroupBox groupDigit;
+
+ #line default
+ #line hidden
+
+
+ #line 15 "..\..\UserControl1.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.ComboBox cbDigitMode;
+
+ #line default
+ #line hidden
+
+ private bool _contentLoaded;
+
+ ///
+ /// InitializeComponent
+ ///
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
+ public void InitializeComponent() {
+ if (_contentLoaded) {
+ return;
+ }
+ _contentLoaded = true;
+ System.Uri resourceLocater = new System.Uri("/scanUC;component/usercontrol1.xaml", System.UriKind.Relative);
+
+ #line 1 "..\..\UserControl1.xaml"
+ System.Windows.Application.LoadComponent(this, resourceLocater);
+
+ #line default
+ #line hidden
+ }
+
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
+ void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
+ switch (connectionId)
+ {
+ case 1:
+ this.lblStatus = ((System.Windows.Controls.Label)(target));
+ return;
+ case 2:
+ this.bbtnStart = ((NationalInstruments.Controls.BooleanButton)(target));
+ return;
+ case 3:
+ this.groupDigit = ((System.Windows.Controls.GroupBox)(target));
+ return;
+ case 4:
+ this.cbDigitMode = ((System.Windows.Controls.ComboBox)(target));
+ return;
+ case 5:
+
+ #line 49 "..\..\UserControl1.xaml"
+ ((System.Windows.Controls.Image)(target)).MouseDown += new System.Windows.Input.MouseButtonEventHandler(this.Image_MouseDown);
+
+ #line default
+ #line hidden
+ return;
+ }
+ this._contentLoaded = true;
+ }
+ }
+}
+
diff --git a/Axel-hub/scanUC/scanUC/obj/Debug/scanHub.csproj.FileListAbsolute.txt b/Axel-hub/scanUC/scanUC/obj/Debug/scanHub.csproj.FileListAbsolute.txt
index a33d5f4d..24e51464 100644
--- a/Axel-hub/scanUC/scanUC/obj/Debug/scanHub.csproj.FileListAbsolute.txt
+++ b/Axel-hub/scanUC/scanUC/obj/Debug/scanHub.csproj.FileListAbsolute.txt
@@ -1,13 +1,15 @@
-E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\scanUC.baml
-E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\scanUC.g.cs
-E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\scanHub_MarkupCompile.cache
-E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\scanHub.g.resources
-E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\scanHub.Properties.Resources.resources
-E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\scanHub.csproj.GenerateResource.Cache
-E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\scanHub.dll.licenses
-E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\bin\scanHub.dll
-E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\bin\scanHub.pdb
-E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\bin\UtilsLib.dll
-E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\bin\UtilsLib.pdb
-E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\scanHub.dll
-E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\scanHub.pdb
+E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\scanUC.baml
+E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\scanUC.g.cs
+E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\scanHub_MarkupCompile.cache
+E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\scanHub.g.resources
+E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\scanHub.Properties.Resources.resources
+E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\scanHub.csproj.GenerateResource.Cache
+E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\scanHub.dll.licenses
+E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\bin\scanHub.dll
+E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\bin\scanHub.pdb
+E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\bin\UtilsLib.dll
+E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\bin\UtilsLib.pdb
+E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\scanHub.dll
+E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\scanHub.pdb
+E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\bin\NationalInstruments.DAQmx.dll
+E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\bin\NationalInstruments.DAQmx.xml
diff --git a/Axel-hub/scanUC/scanUC/obj/Debug/scanHub.dll b/Axel-hub/scanUC/scanUC/obj/Debug/scanHub.dll
index 7844414a..0c19dbd9 100644
Binary files a/Axel-hub/scanUC/scanUC/obj/Debug/scanHub.dll and b/Axel-hub/scanUC/scanUC/obj/Debug/scanHub.dll differ
diff --git a/Axel-hub/scanUC/scanUC/obj/Debug/scanHub.g.resources b/Axel-hub/scanUC/scanUC/obj/Debug/scanHub.g.resources
index 2086aca2..1d7a2bc3 100644
Binary files a/Axel-hub/scanUC/scanUC/obj/Debug/scanHub.g.resources and b/Axel-hub/scanUC/scanUC/obj/Debug/scanHub.g.resources differ
diff --git a/Axel-hub/scanUC/scanUC/obj/Debug/scanHub.pdb b/Axel-hub/scanUC/scanUC/obj/Debug/scanHub.pdb
index 988c11e1..2ac1fe23 100644
Binary files a/Axel-hub/scanUC/scanUC/obj/Debug/scanHub.pdb and b/Axel-hub/scanUC/scanUC/obj/Debug/scanHub.pdb differ
diff --git a/Axel-hub/scanUC/scanUC/obj/Debug/scanHub_MarkupCompile.cache b/Axel-hub/scanUC/scanUC/obj/Debug/scanHub_MarkupCompile.cache
index b6005e6a..46ee45fc 100644
--- a/Axel-hub/scanUC/scanUC/obj/Debug/scanHub_MarkupCompile.cache
+++ b/Axel-hub/scanUC/scanUC/obj/Debug/scanHub_MarkupCompile.cache
@@ -1,20 +1,20 @@
-scanHub
-
-
-library
-C#
-.cs
-E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\
-scanHub
-none
-false
-DEBUG;TRACE
-
-1934534476
-
-51632128136
-17-1816203884
-scanUC.xaml;
-
-False
-
+scanHub
+
+
+library
+C#
+.cs
+E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\
+scanHub
+none
+false
+DEBUG;TRACE
+
+1934534476
+
+51604781937
+17-51365524
+scanUC.xaml;
+
+False
+
diff --git a/Axel-hub/scanUC/scanUC/obj/Debug/scanHub_MarkupCompile.i.cache b/Axel-hub/scanUC/scanUC/obj/Debug/scanHub_MarkupCompile.i.cache
index 66d30778..31d9db5b 100644
--- a/Axel-hub/scanUC/scanUC/obj/Debug/scanHub_MarkupCompile.i.cache
+++ b/Axel-hub/scanUC/scanUC/obj/Debug/scanHub_MarkupCompile.i.cache
@@ -1,20 +1,20 @@
-scanHub
-
-
-library
-C#
-.cs
-E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\
-scanHub
-none
-false
-DEBUG;TRACE
-
-1934534476
-
-91521780549
-17-1816203884
-scanUC.xaml;
-
-False
-
+scanHub
+
+
+library
+C#
+.cs
+E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\
+scanHub
+none
+false
+DEBUG;TRACE
+
+1934534476
+
+91494434350
+17-51365524
+scanUC.xaml;
+
+False
+
diff --git a/Axel-hub/scanUC/scanUC/obj/Debug/scanUC.baml b/Axel-hub/scanUC/scanUC/obj/Debug/scanUC.baml
index 8cc3fb8c..5a60914d 100644
Binary files a/Axel-hub/scanUC/scanUC/obj/Debug/scanUC.baml and b/Axel-hub/scanUC/scanUC/obj/Debug/scanUC.baml differ
diff --git a/Axel-hub/scanUC/scanUC/obj/Debug/scanUC.csproj.FileListAbsolute.txt b/Axel-hub/scanUC/scanUC/obj/Debug/scanUC.csproj.FileListAbsolute.txt
index 75c10fb1..36489719 100644
--- a/Axel-hub/scanUC/scanUC/obj/Debug/scanUC.csproj.FileListAbsolute.txt
+++ b/Axel-hub/scanUC/scanUC/obj/Debug/scanUC.csproj.FileListAbsolute.txt
@@ -1,76 +1,76 @@
-E:\VSprojects\Axel-boss\scanUC\UCLib1\bin\scanUC.dll
-E:\VSprojects\Axel-boss\scanUC\UCLib1\bin\scanUC.pdb
-E:\VSprojects\Axel-boss\scanUC\UCLib1\obj\Debug\scanUC.baml
-E:\VSprojects\Axel-boss\scanUC\UCLib1\obj\Debug\scanUC.g.cs
-E:\VSprojects\Axel-boss\scanUC\UCLib1\obj\Debug\scanUC_MarkupCompile.cache
-E:\VSprojects\Axel-boss\scanUC\UCLib1\obj\Debug\scanUC.g.resources
-E:\VSprojects\Axel-boss\scanUC\UCLib1\obj\Debug\scanUC.Properties.Resources.resources
-E:\VSprojects\Axel-boss\scanUC\UCLib1\obj\Debug\scanUC.csproj.GenerateResource.Cache
-E:\VSprojects\Axel-boss\scanUC\UCLib1\obj\Debug\scanUC.dll.licenses
-E:\VSprojects\Axel-boss\scanUC\UCLib1\obj\Debug\scanUC.dll
-E:\VSprojects\Axel-boss\scanUC\UCLib1\obj\Debug\scanUC.pdb
-E:\VSprojects\Axel-boss\scanUC\scanUC\bin\scanUC.dll
-E:\VSprojects\Axel-boss\scanUC\scanUC\bin\scanUC.pdb
-E:\VSprojects\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.baml
-E:\VSprojects\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.g.cs
-E:\VSprojects\Axel-boss\scanUC\scanUC\obj\Debug\scanUC_MarkupCompile.cache
-E:\VSprojects\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.g.resources
-E:\VSprojects\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.csproj.GenerateResource.Cache
-E:\VSprojects\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.dll.licenses
-E:\VSprojects\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.dll
-E:\VSprojects\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.pdb
-E:\VSprojects\Axel-boss\scanUC\scanUC\obj\Debug\scanNS.Properties.Resources.resources
-E:\VSprojects\Axel-boss\Axel-boss\bin\scanUC.dll
-E:\VSprojects\Axel-boss\Axel-boss\bin\scanUC.pdb
-C:\Software\Axel-boss2\Axel-boss\bin\scanUC.dll
-C:\Software\Axel-boss2\Axel-boss\bin\scanUC.pdb
-C:\Software\Axel-boss2\scanUC\scanUC\obj\Debug\scanUC.csprojResolveAssemblyReference.cache
-C:\Software\Axel-boss2\scanUC\scanUC\obj\Debug\scanUC.baml
-C:\Software\Axel-boss2\scanUC\scanUC\obj\Debug\scanUC.g.cs
-C:\Software\Axel-boss2\scanUC\scanUC\obj\Debug\scanUC_MarkupCompile.cache
-C:\Software\Axel-boss2\scanUC\scanUC\obj\Debug\scanUC.g.resources
-C:\Software\Axel-boss2\scanUC\scanUC\obj\Debug\scanNS.Properties.Resources.resources
-C:\Software\Axel-boss2\scanUC\scanUC\obj\Debug\scanUC.csproj.GenerateResource.Cache
-C:\Software\Axel-boss2\scanUC\scanUC\obj\Debug\scanUC.dll.licenses
-C:\Software\Axel-boss2\scanUC\scanUC\obj\Debug\scanUC.dll
-C:\Software\Axel-boss2\scanUC\scanUC\obj\Debug\scanUC.pdb
-F:\Axel-boss\Axel-boss\bin\scanUC.dll
-F:\Axel-boss\Axel-boss\bin\scanUC.pdb
-F:\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.csprojResolveAssemblyReference.cache
-F:\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.baml
-F:\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.g.cs
-F:\Axel-boss\scanUC\scanUC\obj\Debug\scanUC_MarkupCompile.cache
-F:\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.g.resources
-F:\Axel-boss\scanUC\scanUC\obj\Debug\scanNS.Properties.Resources.resources
-F:\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.csproj.GenerateResource.Cache
-F:\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.dll.licenses
-F:\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.dll
-F:\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.pdb
-E:\VSprojects\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.csprojResolveAssemblyReference.cache
-E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\bin\scanUC.dll
-E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\bin\scanUC.pdb
-E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.csprojResolveAssemblyReference.cache
-E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.baml
-E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.g.cs
-E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC_MarkupCompile.cache
-E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.g.resources
-E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanNS.Properties.Resources.resources
-E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.csproj.GenerateResource.Cache
-E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.dll.licenses
-E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.dll
-E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.pdb
-E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\bin\scanUC.dll
-E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\bin\scanUC.pdb
-E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\scanUC.baml
-E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\scanUC.g.cs
-E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\scanUC_MarkupCompile.cache
-E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\scanUC.g.resources
-E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\scanNS.Properties.Resources.resources
-E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\scanUC.csproj.GenerateResource.Cache
-E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\scanUC.dll.licenses
-E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\scanUC.dll
-E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\scanUC.pdb
-E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\bin\scanUC.dll
-E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\bin\scanUC.pdb
-E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\bin\UtilsLib.dll
-E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\bin\UtilsLib.pdb
+E:\VSprojects\Axel-boss\scanUC\UCLib1\bin\scanUC.dll
+E:\VSprojects\Axel-boss\scanUC\UCLib1\bin\scanUC.pdb
+E:\VSprojects\Axel-boss\scanUC\UCLib1\obj\Debug\scanUC.baml
+E:\VSprojects\Axel-boss\scanUC\UCLib1\obj\Debug\scanUC.g.cs
+E:\VSprojects\Axel-boss\scanUC\UCLib1\obj\Debug\scanUC_MarkupCompile.cache
+E:\VSprojects\Axel-boss\scanUC\UCLib1\obj\Debug\scanUC.g.resources
+E:\VSprojects\Axel-boss\scanUC\UCLib1\obj\Debug\scanUC.Properties.Resources.resources
+E:\VSprojects\Axel-boss\scanUC\UCLib1\obj\Debug\scanUC.csproj.GenerateResource.Cache
+E:\VSprojects\Axel-boss\scanUC\UCLib1\obj\Debug\scanUC.dll.licenses
+E:\VSprojects\Axel-boss\scanUC\UCLib1\obj\Debug\scanUC.dll
+E:\VSprojects\Axel-boss\scanUC\UCLib1\obj\Debug\scanUC.pdb
+E:\VSprojects\Axel-boss\scanUC\scanUC\bin\scanUC.dll
+E:\VSprojects\Axel-boss\scanUC\scanUC\bin\scanUC.pdb
+E:\VSprojects\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.baml
+E:\VSprojects\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.g.cs
+E:\VSprojects\Axel-boss\scanUC\scanUC\obj\Debug\scanUC_MarkupCompile.cache
+E:\VSprojects\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.g.resources
+E:\VSprojects\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.csproj.GenerateResource.Cache
+E:\VSprojects\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.dll.licenses
+E:\VSprojects\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.dll
+E:\VSprojects\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.pdb
+E:\VSprojects\Axel-boss\scanUC\scanUC\obj\Debug\scanNS.Properties.Resources.resources
+E:\VSprojects\Axel-boss\Axel-boss\bin\scanUC.dll
+E:\VSprojects\Axel-boss\Axel-boss\bin\scanUC.pdb
+C:\Software\Axel-boss2\Axel-boss\bin\scanUC.dll
+C:\Software\Axel-boss2\Axel-boss\bin\scanUC.pdb
+C:\Software\Axel-boss2\scanUC\scanUC\obj\Debug\scanUC.csprojResolveAssemblyReference.cache
+C:\Software\Axel-boss2\scanUC\scanUC\obj\Debug\scanUC.baml
+C:\Software\Axel-boss2\scanUC\scanUC\obj\Debug\scanUC.g.cs
+C:\Software\Axel-boss2\scanUC\scanUC\obj\Debug\scanUC_MarkupCompile.cache
+C:\Software\Axel-boss2\scanUC\scanUC\obj\Debug\scanUC.g.resources
+C:\Software\Axel-boss2\scanUC\scanUC\obj\Debug\scanNS.Properties.Resources.resources
+C:\Software\Axel-boss2\scanUC\scanUC\obj\Debug\scanUC.csproj.GenerateResource.Cache
+C:\Software\Axel-boss2\scanUC\scanUC\obj\Debug\scanUC.dll.licenses
+C:\Software\Axel-boss2\scanUC\scanUC\obj\Debug\scanUC.dll
+C:\Software\Axel-boss2\scanUC\scanUC\obj\Debug\scanUC.pdb
+F:\Axel-boss\Axel-boss\bin\scanUC.dll
+F:\Axel-boss\Axel-boss\bin\scanUC.pdb
+F:\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.csprojResolveAssemblyReference.cache
+F:\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.baml
+F:\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.g.cs
+F:\Axel-boss\scanUC\scanUC\obj\Debug\scanUC_MarkupCompile.cache
+F:\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.g.resources
+F:\Axel-boss\scanUC\scanUC\obj\Debug\scanNS.Properties.Resources.resources
+F:\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.csproj.GenerateResource.Cache
+F:\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.dll.licenses
+F:\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.dll
+F:\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.pdb
+E:\VSprojects\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.csprojResolveAssemblyReference.cache
+E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\bin\scanUC.dll
+E:\VSprojects\AxelSuite\Axel-boss\Axel-boss\bin\scanUC.pdb
+E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.csprojResolveAssemblyReference.cache
+E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.baml
+E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.g.cs
+E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC_MarkupCompile.cache
+E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.g.resources
+E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanNS.Properties.Resources.resources
+E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.csproj.GenerateResource.Cache
+E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.dll.licenses
+E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.dll
+E:\VSprojects\AxelSuite\Axel-boss\scanUC\scanUC\obj\Debug\scanUC.pdb
+E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\bin\scanUC.dll
+E:\VSprojects\AxelSuite\Axel-hub\Axel-boss\bin\scanUC.pdb
+E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\scanUC.baml
+E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\scanUC.g.cs
+E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\scanUC_MarkupCompile.cache
+E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\scanUC.g.resources
+E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\scanNS.Properties.Resources.resources
+E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\scanUC.csproj.GenerateResource.Cache
+E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\scanUC.dll.licenses
+E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\scanUC.dll
+E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\scanUC.pdb
+E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\bin\scanUC.dll
+E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\bin\scanUC.pdb
+E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\bin\UtilsLib.dll
+E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\bin\UtilsLib.pdb
diff --git a/Axel-hub/scanUC/scanUC/obj/Debug/scanUC.g.cs b/Axel-hub/scanUC/scanUC/obj/Debug/scanUC.g.cs
index 4e5e6ccf..53789371 100644
--- a/Axel-hub/scanUC/scanUC/obj/Debug/scanUC.g.cs
+++ b/Axel-hub/scanUC/scanUC/obj/Debug/scanUC.g.cs
@@ -1,327 +1,341 @@
-#pragma checksum "..\..\scanUC.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "1CE2CF1572FAE5A08DB660A6B072C5B1"
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-using NationalInstruments.Controls;
-using System;
-using System.Diagnostics;
-using System.Windows;
-using System.Windows.Automation;
-using System.Windows.Controls;
-using System.Windows.Controls.Primitives;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Ink;
-using System.Windows.Input;
-using System.Windows.Markup;
-using System.Windows.Media;
-using System.Windows.Media.Animation;
-using System.Windows.Media.Effects;
-using System.Windows.Media.Imaging;
-using System.Windows.Media.Media3D;
-using System.Windows.Media.TextFormatting;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
-using System.Windows.Shell;
-
-
-namespace scanHub {
-
-
- ///
- /// scanClass
- ///
- public partial class scanClass : System.Windows.Controls.UserControl, System.Windows.Markup.IComponentConnector {
-
-
- #line 17 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.BooleanButton bbtnStart;
-
- #line default
- #line hidden
-
-
- #line 18 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.GroupBox groupDigit;
-
- #line default
- #line hidden
-
-
- #line 20 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.ComboBox cbDigitMode;
-
- #line default
- #line hidden
-
-
- #line 27 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TextBox tbDigitValue;
-
- #line default
- #line hidden
-
-
- #line 30 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TabControl tabControl;
-
- #line default
- #line hidden
-
-
- #line 31 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TabItem tabTimeLimit;
-
- #line default
- #line hidden
-
-
- #line 33 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TextBox tbTimeLimit;
-
- #line default
- #line hidden
-
-
- #line 34 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.ComboBox cbTimeEndless;
-
- #line default
- #line hidden
-
-
- #line 41 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TabItem tabBufferSizeLimit_;
-
- #line default
- #line hidden
-
-
- #line 43 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.ComboBox cbSizeEndless;
-
- #line default
- #line hidden
-
-
- #line 48 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TextBox tbBifferSize;
-
- #line default
- #line hidden
-
-
- #line 52 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TabItem tabRemote_;
-
- #line default
- #line hidden
-
-
- #line 54 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Label lbTotalTime;
-
- #line default
- #line hidden
-
-
- #line 55 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Label lbBufferSize;
-
- #line default
- #line hidden
-
-
- #line 56 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.CheckBox chkRemoteEnabled;
-
- #line default
- #line hidden
-
-
- #line 57 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.CheckBox chkStatsEnabled;
-
- #line default
- #line hidden
-
-
- #line 62 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Image imgSpeed;
-
- #line default
- #line hidden
-
-
- #line 72 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.ProgressBar progressBar;
-
- #line default
- #line hidden
-
-
- #line 73 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Label lbTimeElapsed;
-
- #line default
- #line hidden
-
-
- #line 74 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Label lbTimeLeft;
-
- #line default
- #line hidden
-
-
- #line 75 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Label lblStatus;
-
- #line default
- #line hidden
-
- private bool _contentLoaded;
-
- ///
- /// InitializeComponent
- ///
- [System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
- public void InitializeComponent() {
- if (_contentLoaded) {
- return;
- }
- _contentLoaded = true;
- System.Uri resourceLocater = new System.Uri("/scanHub;component/scanuc.xaml", System.UriKind.Relative);
-
- #line 1 "..\..\scanUC.xaml"
- System.Windows.Application.LoadComponent(this, resourceLocater);
-
- #line default
- #line hidden
- }
-
- [System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
- [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
- void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
- switch (connectionId)
- {
- case 1:
- this.bbtnStart = ((NationalInstruments.Controls.BooleanButton)(target));
-
- #line 17 "..\..\scanUC.xaml"
- this.bbtnStart.Click += new System.Windows.RoutedEventHandler(this.bbtnStart_Click);
-
- #line default
- #line hidden
- return;
- case 2:
- this.groupDigit = ((System.Windows.Controls.GroupBox)(target));
- return;
- case 3:
- this.cbDigitMode = ((System.Windows.Controls.ComboBox)(target));
- return;
- case 4:
- this.tbDigitValue = ((System.Windows.Controls.TextBox)(target));
- return;
- case 5:
- this.tabControl = ((System.Windows.Controls.TabControl)(target));
-
- #line 30 "..\..\scanUC.xaml"
- this.tabControl.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.tabControl_SelectionChanged);
-
- #line default
- #line hidden
- return;
- case 6:
- this.tabTimeLimit = ((System.Windows.Controls.TabItem)(target));
- return;
- case 7:
- this.tbTimeLimit = ((System.Windows.Controls.TextBox)(target));
- return;
- case 8:
- this.cbTimeEndless = ((System.Windows.Controls.ComboBox)(target));
- return;
- case 9:
- this.tabBufferSizeLimit_ = ((System.Windows.Controls.TabItem)(target));
- return;
- case 10:
- this.cbSizeEndless = ((System.Windows.Controls.ComboBox)(target));
- return;
- case 11:
- this.tbBifferSize = ((System.Windows.Controls.TextBox)(target));
- return;
- case 12:
- this.tabRemote_ = ((System.Windows.Controls.TabItem)(target));
- return;
- case 13:
- this.lbTotalTime = ((System.Windows.Controls.Label)(target));
- return;
- case 14:
- this.lbBufferSize = ((System.Windows.Controls.Label)(target));
- return;
- case 15:
- this.chkRemoteEnabled = ((System.Windows.Controls.CheckBox)(target));
- return;
- case 16:
- this.chkStatsEnabled = ((System.Windows.Controls.CheckBox)(target));
- return;
- case 17:
- this.imgSpeed = ((System.Windows.Controls.Image)(target));
-
- #line 62 "..\..\scanUC.xaml"
- this.imgSpeed.MouseDown += new System.Windows.Input.MouseButtonEventHandler(this.Image_MouseDown);
-
- #line default
- #line hidden
- return;
- case 18:
- this.progressBar = ((System.Windows.Controls.ProgressBar)(target));
- return;
- case 19:
- this.lbTimeElapsed = ((System.Windows.Controls.Label)(target));
- return;
- case 20:
- this.lbTimeLeft = ((System.Windows.Controls.Label)(target));
- return;
- case 21:
- this.lblStatus = ((System.Windows.Controls.Label)(target));
- return;
- }
- this._contentLoaded = true;
- }
- }
-}
-
+#pragma checksum "..\..\scanUC.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "3D3D7EBE46F6C2D43DCC47E96C9A6076"
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using NationalInstruments.Controls;
+using System;
+using System.Diagnostics;
+using System.Windows;
+using System.Windows.Automation;
+using System.Windows.Controls;
+using System.Windows.Controls.Primitives;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Ink;
+using System.Windows.Input;
+using System.Windows.Markup;
+using System.Windows.Media;
+using System.Windows.Media.Animation;
+using System.Windows.Media.Effects;
+using System.Windows.Media.Imaging;
+using System.Windows.Media.Media3D;
+using System.Windows.Media.TextFormatting;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using System.Windows.Shell;
+
+
+namespace scanHub {
+
+
+ ///
+ /// scanClass
+ ///
+ public partial class scanClass : System.Windows.Controls.UserControl, System.Windows.Markup.IComponentConnector {
+
+
+ #line 17 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.BooleanButton bbtnStart;
+
+ #line default
+ #line hidden
+
+
+ #line 18 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.GroupBox groupDigit;
+
+ #line default
+ #line hidden
+
+
+ #line 20 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.ComboBox cbDigitMode;
+
+ #line default
+ #line hidden
+
+
+ #line 27 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TextBox tbDigitValue;
+
+ #line default
+ #line hidden
+
+
+ #line 30 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TabControl tabControl;
+
+ #line default
+ #line hidden
+
+
+ #line 31 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TabItem tabTimeLimit;
+
+ #line default
+ #line hidden
+
+
+ #line 33 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TextBox tbTimeLimit;
+
+ #line default
+ #line hidden
+
+
+ #line 34 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.ComboBox cbTimeEndless;
+
+ #line default
+ #line hidden
+
+
+ #line 41 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TabItem tabBufferSizeLimit_;
+
+ #line default
+ #line hidden
+
+
+ #line 43 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.ComboBox cbSizeEndless;
+
+ #line default
+ #line hidden
+
+
+ #line 48 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TextBox tbBifferSize;
+
+ #line default
+ #line hidden
+
+
+ #line 52 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TabItem tabRemote_;
+
+ #line default
+ #line hidden
+
+
+ #line 54 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Label lbTotalTime;
+
+ #line default
+ #line hidden
+
+
+ #line 55 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Label lbBufferSize;
+
+ #line default
+ #line hidden
+
+
+ #line 56 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.CheckBox chkStatsEnabled;
+
+ #line default
+ #line hidden
+
+
+ #line 57 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Button btnCheckComm;
+
+ #line default
+ #line hidden
+
+
+ #line 62 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Image imgSpeed;
+
+ #line default
+ #line hidden
+
+
+ #line 72 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.ProgressBar progressBar;
+
+ #line default
+ #line hidden
+
+
+ #line 73 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Label lbTimeElapsed;
+
+ #line default
+ #line hidden
+
+
+ #line 74 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Label lbTimeLeft;
+
+ #line default
+ #line hidden
+
+
+ #line 75 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Label lblStatus;
+
+ #line default
+ #line hidden
+
+ private bool _contentLoaded;
+
+ ///
+ /// InitializeComponent
+ ///
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
+ public void InitializeComponent() {
+ if (_contentLoaded) {
+ return;
+ }
+ _contentLoaded = true;
+ System.Uri resourceLocater = new System.Uri("/scanHub;component/scanuc.xaml", System.UriKind.Relative);
+
+ #line 1 "..\..\scanUC.xaml"
+ System.Windows.Application.LoadComponent(this, resourceLocater);
+
+ #line default
+ #line hidden
+ }
+
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
+ void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
+ switch (connectionId)
+ {
+ case 1:
+
+ #line 7 "..\..\scanUC.xaml"
+ ((scanHub.scanClass)(target)).Loaded += new System.Windows.RoutedEventHandler(this.UserControl_Loaded);
+
+ #line default
+ #line hidden
+ return;
+ case 2:
+ this.bbtnStart = ((NationalInstruments.Controls.BooleanButton)(target));
+
+ #line 17 "..\..\scanUC.xaml"
+ this.bbtnStart.Click += new System.Windows.RoutedEventHandler(this.bbtnStart_Click);
+
+ #line default
+ #line hidden
+ return;
+ case 3:
+ this.groupDigit = ((System.Windows.Controls.GroupBox)(target));
+ return;
+ case 4:
+ this.cbDigitMode = ((System.Windows.Controls.ComboBox)(target));
+ return;
+ case 5:
+ this.tbDigitValue = ((System.Windows.Controls.TextBox)(target));
+ return;
+ case 6:
+ this.tabControl = ((System.Windows.Controls.TabControl)(target));
+
+ #line 30 "..\..\scanUC.xaml"
+ this.tabControl.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.tabControl_SelectionChanged);
+
+ #line default
+ #line hidden
+ return;
+ case 7:
+ this.tabTimeLimit = ((System.Windows.Controls.TabItem)(target));
+ return;
+ case 8:
+ this.tbTimeLimit = ((System.Windows.Controls.TextBox)(target));
+ return;
+ case 9:
+ this.cbTimeEndless = ((System.Windows.Controls.ComboBox)(target));
+ return;
+ case 10:
+ this.tabBufferSizeLimit_ = ((System.Windows.Controls.TabItem)(target));
+ return;
+ case 11:
+ this.cbSizeEndless = ((System.Windows.Controls.ComboBox)(target));
+ return;
+ case 12:
+ this.tbBifferSize = ((System.Windows.Controls.TextBox)(target));
+ return;
+ case 13:
+ this.tabRemote_ = ((System.Windows.Controls.TabItem)(target));
+ return;
+ case 14:
+ this.lbTotalTime = ((System.Windows.Controls.Label)(target));
+ return;
+ case 15:
+ this.lbBufferSize = ((System.Windows.Controls.Label)(target));
+ return;
+ case 16:
+ this.chkStatsEnabled = ((System.Windows.Controls.CheckBox)(target));
+ return;
+ case 17:
+ this.btnCheckComm = ((System.Windows.Controls.Button)(target));
+
+ #line 57 "..\..\scanUC.xaml"
+ this.btnCheckComm.Click += new System.Windows.RoutedEventHandler(this.btnCheckComm_Click);
+
+ #line default
+ #line hidden
+ return;
+ case 18:
+ this.imgSpeed = ((System.Windows.Controls.Image)(target));
+
+ #line 62 "..\..\scanUC.xaml"
+ this.imgSpeed.MouseDown += new System.Windows.Input.MouseButtonEventHandler(this.Image_MouseDown);
+
+ #line default
+ #line hidden
+ return;
+ case 19:
+ this.progressBar = ((System.Windows.Controls.ProgressBar)(target));
+ return;
+ case 20:
+ this.lbTimeElapsed = ((System.Windows.Controls.Label)(target));
+ return;
+ case 21:
+ this.lbTimeLeft = ((System.Windows.Controls.Label)(target));
+ return;
+ case 22:
+ this.lblStatus = ((System.Windows.Controls.Label)(target));
+ return;
+ }
+ this._contentLoaded = true;
+ }
+ }
+}
+
diff --git a/Axel-hub/scanUC/scanUC/obj/Debug/scanUC.g.i.cs b/Axel-hub/scanUC/scanUC/obj/Debug/scanUC.g.i.cs
index 4e5e6ccf..53789371 100644
--- a/Axel-hub/scanUC/scanUC/obj/Debug/scanUC.g.i.cs
+++ b/Axel-hub/scanUC/scanUC/obj/Debug/scanUC.g.i.cs
@@ -1,327 +1,341 @@
-#pragma checksum "..\..\scanUC.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "1CE2CF1572FAE5A08DB660A6B072C5B1"
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-using NationalInstruments.Controls;
-using System;
-using System.Diagnostics;
-using System.Windows;
-using System.Windows.Automation;
-using System.Windows.Controls;
-using System.Windows.Controls.Primitives;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Ink;
-using System.Windows.Input;
-using System.Windows.Markup;
-using System.Windows.Media;
-using System.Windows.Media.Animation;
-using System.Windows.Media.Effects;
-using System.Windows.Media.Imaging;
-using System.Windows.Media.Media3D;
-using System.Windows.Media.TextFormatting;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
-using System.Windows.Shell;
-
-
-namespace scanHub {
-
-
- ///
- /// scanClass
- ///
- public partial class scanClass : System.Windows.Controls.UserControl, System.Windows.Markup.IComponentConnector {
-
-
- #line 17 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.BooleanButton bbtnStart;
-
- #line default
- #line hidden
-
-
- #line 18 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.GroupBox groupDigit;
-
- #line default
- #line hidden
-
-
- #line 20 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.ComboBox cbDigitMode;
-
- #line default
- #line hidden
-
-
- #line 27 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TextBox tbDigitValue;
-
- #line default
- #line hidden
-
-
- #line 30 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TabControl tabControl;
-
- #line default
- #line hidden
-
-
- #line 31 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TabItem tabTimeLimit;
-
- #line default
- #line hidden
-
-
- #line 33 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TextBox tbTimeLimit;
-
- #line default
- #line hidden
-
-
- #line 34 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.ComboBox cbTimeEndless;
-
- #line default
- #line hidden
-
-
- #line 41 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TabItem tabBufferSizeLimit_;
-
- #line default
- #line hidden
-
-
- #line 43 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.ComboBox cbSizeEndless;
-
- #line default
- #line hidden
-
-
- #line 48 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TextBox tbBifferSize;
-
- #line default
- #line hidden
-
-
- #line 52 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TabItem tabRemote_;
-
- #line default
- #line hidden
-
-
- #line 54 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Label lbTotalTime;
-
- #line default
- #line hidden
-
-
- #line 55 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Label lbBufferSize;
-
- #line default
- #line hidden
-
-
- #line 56 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.CheckBox chkRemoteEnabled;
-
- #line default
- #line hidden
-
-
- #line 57 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.CheckBox chkStatsEnabled;
-
- #line default
- #line hidden
-
-
- #line 62 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Image imgSpeed;
-
- #line default
- #line hidden
-
-
- #line 72 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.ProgressBar progressBar;
-
- #line default
- #line hidden
-
-
- #line 73 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Label lbTimeElapsed;
-
- #line default
- #line hidden
-
-
- #line 74 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Label lbTimeLeft;
-
- #line default
- #line hidden
-
-
- #line 75 "..\..\scanUC.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Label lblStatus;
-
- #line default
- #line hidden
-
- private bool _contentLoaded;
-
- ///
- /// InitializeComponent
- ///
- [System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
- public void InitializeComponent() {
- if (_contentLoaded) {
- return;
- }
- _contentLoaded = true;
- System.Uri resourceLocater = new System.Uri("/scanHub;component/scanuc.xaml", System.UriKind.Relative);
-
- #line 1 "..\..\scanUC.xaml"
- System.Windows.Application.LoadComponent(this, resourceLocater);
-
- #line default
- #line hidden
- }
-
- [System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
- [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
- void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
- switch (connectionId)
- {
- case 1:
- this.bbtnStart = ((NationalInstruments.Controls.BooleanButton)(target));
-
- #line 17 "..\..\scanUC.xaml"
- this.bbtnStart.Click += new System.Windows.RoutedEventHandler(this.bbtnStart_Click);
-
- #line default
- #line hidden
- return;
- case 2:
- this.groupDigit = ((System.Windows.Controls.GroupBox)(target));
- return;
- case 3:
- this.cbDigitMode = ((System.Windows.Controls.ComboBox)(target));
- return;
- case 4:
- this.tbDigitValue = ((System.Windows.Controls.TextBox)(target));
- return;
- case 5:
- this.tabControl = ((System.Windows.Controls.TabControl)(target));
-
- #line 30 "..\..\scanUC.xaml"
- this.tabControl.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.tabControl_SelectionChanged);
-
- #line default
- #line hidden
- return;
- case 6:
- this.tabTimeLimit = ((System.Windows.Controls.TabItem)(target));
- return;
- case 7:
- this.tbTimeLimit = ((System.Windows.Controls.TextBox)(target));
- return;
- case 8:
- this.cbTimeEndless = ((System.Windows.Controls.ComboBox)(target));
- return;
- case 9:
- this.tabBufferSizeLimit_ = ((System.Windows.Controls.TabItem)(target));
- return;
- case 10:
- this.cbSizeEndless = ((System.Windows.Controls.ComboBox)(target));
- return;
- case 11:
- this.tbBifferSize = ((System.Windows.Controls.TextBox)(target));
- return;
- case 12:
- this.tabRemote_ = ((System.Windows.Controls.TabItem)(target));
- return;
- case 13:
- this.lbTotalTime = ((System.Windows.Controls.Label)(target));
- return;
- case 14:
- this.lbBufferSize = ((System.Windows.Controls.Label)(target));
- return;
- case 15:
- this.chkRemoteEnabled = ((System.Windows.Controls.CheckBox)(target));
- return;
- case 16:
- this.chkStatsEnabled = ((System.Windows.Controls.CheckBox)(target));
- return;
- case 17:
- this.imgSpeed = ((System.Windows.Controls.Image)(target));
-
- #line 62 "..\..\scanUC.xaml"
- this.imgSpeed.MouseDown += new System.Windows.Input.MouseButtonEventHandler(this.Image_MouseDown);
-
- #line default
- #line hidden
- return;
- case 18:
- this.progressBar = ((System.Windows.Controls.ProgressBar)(target));
- return;
- case 19:
- this.lbTimeElapsed = ((System.Windows.Controls.Label)(target));
- return;
- case 20:
- this.lbTimeLeft = ((System.Windows.Controls.Label)(target));
- return;
- case 21:
- this.lblStatus = ((System.Windows.Controls.Label)(target));
- return;
- }
- this._contentLoaded = true;
- }
- }
-}
-
+#pragma checksum "..\..\scanUC.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "3D3D7EBE46F6C2D43DCC47E96C9A6076"
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using NationalInstruments.Controls;
+using System;
+using System.Diagnostics;
+using System.Windows;
+using System.Windows.Automation;
+using System.Windows.Controls;
+using System.Windows.Controls.Primitives;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Ink;
+using System.Windows.Input;
+using System.Windows.Markup;
+using System.Windows.Media;
+using System.Windows.Media.Animation;
+using System.Windows.Media.Effects;
+using System.Windows.Media.Imaging;
+using System.Windows.Media.Media3D;
+using System.Windows.Media.TextFormatting;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using System.Windows.Shell;
+
+
+namespace scanHub {
+
+
+ ///
+ /// scanClass
+ ///
+ public partial class scanClass : System.Windows.Controls.UserControl, System.Windows.Markup.IComponentConnector {
+
+
+ #line 17 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.BooleanButton bbtnStart;
+
+ #line default
+ #line hidden
+
+
+ #line 18 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.GroupBox groupDigit;
+
+ #line default
+ #line hidden
+
+
+ #line 20 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.ComboBox cbDigitMode;
+
+ #line default
+ #line hidden
+
+
+ #line 27 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TextBox tbDigitValue;
+
+ #line default
+ #line hidden
+
+
+ #line 30 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TabControl tabControl;
+
+ #line default
+ #line hidden
+
+
+ #line 31 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TabItem tabTimeLimit;
+
+ #line default
+ #line hidden
+
+
+ #line 33 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TextBox tbTimeLimit;
+
+ #line default
+ #line hidden
+
+
+ #line 34 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.ComboBox cbTimeEndless;
+
+ #line default
+ #line hidden
+
+
+ #line 41 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TabItem tabBufferSizeLimit_;
+
+ #line default
+ #line hidden
+
+
+ #line 43 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.ComboBox cbSizeEndless;
+
+ #line default
+ #line hidden
+
+
+ #line 48 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TextBox tbBifferSize;
+
+ #line default
+ #line hidden
+
+
+ #line 52 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TabItem tabRemote_;
+
+ #line default
+ #line hidden
+
+
+ #line 54 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Label lbTotalTime;
+
+ #line default
+ #line hidden
+
+
+ #line 55 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Label lbBufferSize;
+
+ #line default
+ #line hidden
+
+
+ #line 56 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.CheckBox chkStatsEnabled;
+
+ #line default
+ #line hidden
+
+
+ #line 57 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Button btnCheckComm;
+
+ #line default
+ #line hidden
+
+
+ #line 62 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Image imgSpeed;
+
+ #line default
+ #line hidden
+
+
+ #line 72 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.ProgressBar progressBar;
+
+ #line default
+ #line hidden
+
+
+ #line 73 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Label lbTimeElapsed;
+
+ #line default
+ #line hidden
+
+
+ #line 74 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Label lbTimeLeft;
+
+ #line default
+ #line hidden
+
+
+ #line 75 "..\..\scanUC.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Label lblStatus;
+
+ #line default
+ #line hidden
+
+ private bool _contentLoaded;
+
+ ///
+ /// InitializeComponent
+ ///
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
+ public void InitializeComponent() {
+ if (_contentLoaded) {
+ return;
+ }
+ _contentLoaded = true;
+ System.Uri resourceLocater = new System.Uri("/scanHub;component/scanuc.xaml", System.UriKind.Relative);
+
+ #line 1 "..\..\scanUC.xaml"
+ System.Windows.Application.LoadComponent(this, resourceLocater);
+
+ #line default
+ #line hidden
+ }
+
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
+ void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
+ switch (connectionId)
+ {
+ case 1:
+
+ #line 7 "..\..\scanUC.xaml"
+ ((scanHub.scanClass)(target)).Loaded += new System.Windows.RoutedEventHandler(this.UserControl_Loaded);
+
+ #line default
+ #line hidden
+ return;
+ case 2:
+ this.bbtnStart = ((NationalInstruments.Controls.BooleanButton)(target));
+
+ #line 17 "..\..\scanUC.xaml"
+ this.bbtnStart.Click += new System.Windows.RoutedEventHandler(this.bbtnStart_Click);
+
+ #line default
+ #line hidden
+ return;
+ case 3:
+ this.groupDigit = ((System.Windows.Controls.GroupBox)(target));
+ return;
+ case 4:
+ this.cbDigitMode = ((System.Windows.Controls.ComboBox)(target));
+ return;
+ case 5:
+ this.tbDigitValue = ((System.Windows.Controls.TextBox)(target));
+ return;
+ case 6:
+ this.tabControl = ((System.Windows.Controls.TabControl)(target));
+
+ #line 30 "..\..\scanUC.xaml"
+ this.tabControl.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.tabControl_SelectionChanged);
+
+ #line default
+ #line hidden
+ return;
+ case 7:
+ this.tabTimeLimit = ((System.Windows.Controls.TabItem)(target));
+ return;
+ case 8:
+ this.tbTimeLimit = ((System.Windows.Controls.TextBox)(target));
+ return;
+ case 9:
+ this.cbTimeEndless = ((System.Windows.Controls.ComboBox)(target));
+ return;
+ case 10:
+ this.tabBufferSizeLimit_ = ((System.Windows.Controls.TabItem)(target));
+ return;
+ case 11:
+ this.cbSizeEndless = ((System.Windows.Controls.ComboBox)(target));
+ return;
+ case 12:
+ this.tbBifferSize = ((System.Windows.Controls.TextBox)(target));
+ return;
+ case 13:
+ this.tabRemote_ = ((System.Windows.Controls.TabItem)(target));
+ return;
+ case 14:
+ this.lbTotalTime = ((System.Windows.Controls.Label)(target));
+ return;
+ case 15:
+ this.lbBufferSize = ((System.Windows.Controls.Label)(target));
+ return;
+ case 16:
+ this.chkStatsEnabled = ((System.Windows.Controls.CheckBox)(target));
+ return;
+ case 17:
+ this.btnCheckComm = ((System.Windows.Controls.Button)(target));
+
+ #line 57 "..\..\scanUC.xaml"
+ this.btnCheckComm.Click += new System.Windows.RoutedEventHandler(this.btnCheckComm_Click);
+
+ #line default
+ #line hidden
+ return;
+ case 18:
+ this.imgSpeed = ((System.Windows.Controls.Image)(target));
+
+ #line 62 "..\..\scanUC.xaml"
+ this.imgSpeed.MouseDown += new System.Windows.Input.MouseButtonEventHandler(this.Image_MouseDown);
+
+ #line default
+ #line hidden
+ return;
+ case 19:
+ this.progressBar = ((System.Windows.Controls.ProgressBar)(target));
+ return;
+ case 20:
+ this.lbTimeElapsed = ((System.Windows.Controls.Label)(target));
+ return;
+ case 21:
+ this.lbTimeLeft = ((System.Windows.Controls.Label)(target));
+ return;
+ case 22:
+ this.lblStatus = ((System.Windows.Controls.Label)(target));
+ return;
+ }
+ this._contentLoaded = true;
+ }
+ }
+}
+
diff --git a/Axel-hub/scanUC/scanUC/obj/Debug/scanUC_MarkupCompile.cache b/Axel-hub/scanUC/scanUC/obj/Debug/scanUC_MarkupCompile.cache
index 51de4fc1..059e6146 100644
--- a/Axel-hub/scanUC/scanUC/obj/Debug/scanUC_MarkupCompile.cache
+++ b/Axel-hub/scanUC/scanUC/obj/Debug/scanUC_MarkupCompile.cache
@@ -1,20 +1,20 @@
-scanUC
-
-
-library
-C#
-.cs
-E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\
-scanNS
-none
-false
-DEBUG;TRACE
-
-1934534476
-
-51632128136
-17-1816203884
-scanUC.xaml;
-
-False
-
+scanUC
+
+
+library
+C#
+.cs
+E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\
+scanNS
+none
+false
+DEBUG;TRACE
+
+1934534476
+
+51632128136
+17-1816203884
+scanUC.xaml;
+
+False
+
diff --git a/Axel-hub/scanUC/scanUC/obj/Debug/scanUC_MarkupCompile.i.cache b/Axel-hub/scanUC/scanUC/obj/Debug/scanUC_MarkupCompile.i.cache
index 34138bf8..19c03cda 100644
--- a/Axel-hub/scanUC/scanUC/obj/Debug/scanUC_MarkupCompile.i.cache
+++ b/Axel-hub/scanUC/scanUC/obj/Debug/scanUC_MarkupCompile.i.cache
@@ -1,20 +1,20 @@
-scanUC
-
-
-library
-C#
-.cs
-E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\
-scanNS
-none
-false
-DEBUG;TRACE
-
-1934534476
-
-91521780549
-17-1816203884
-scanUC.xaml;
-
-False
-
+scanUC
+
+
+library
+C#
+.cs
+E:\VSprojects\AxelSuite\Axel-hub\scanUC\scanUC\obj\Debug\
+scanNS
+none
+false
+DEBUG;TRACE
+
+1934534476
+
+91521780549
+17-1816203884
+scanUC.xaml;
+
+False
+
diff --git a/Axel-hub/scanUC/scanUC/obj/Debug/scanhub.dll.licenses b/Axel-hub/scanUC/scanUC/obj/Debug/scanhub.dll.licenses
index 243df4f4..09126bac 100644
Binary files a/Axel-hub/scanUC/scanUC/obj/Debug/scanhub.dll.licenses and b/Axel-hub/scanUC/scanUC/obj/Debug/scanhub.dll.licenses differ
diff --git a/Axel-hub/scanUC/scanUC/scanHub.csproj b/Axel-hub/scanUC/scanUC/scanHub.csproj
index 5637f4ac..fd37688d 100644
--- a/Axel-hub/scanUC/scanUC/scanHub.csproj
+++ b/Axel-hub/scanUC/scanUC/scanHub.csproj
@@ -1,108 +1,111 @@
-
-
-
-
- Debug
- AnyCPU
- {EC092AFA-EC88-499D-9932-0A0273F4BF87}
- library
- Properties
- scanHub
- scanHub
- v4.5
- 512
- {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
- 4
-
-
- true
- full
- false
- bin\
- DEBUG;TRACE
- prompt
- 4
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 4.0
-
-
- ..\..\..\Utils\bin\UtilsLib.dll
-
-
-
-
-
-
-
- MSBuild:Compile
- Designer
-
-
-
- scanUC.xaml
-
-
-
-
- Code
-
-
- True
- True
- Resources.resx
-
-
- True
- Settings.settings
- True
-
-
-
- ResXFileCodeGenerator
- Resources.Designer.cs
-
-
- SettingsSingleFileGenerator
- Settings.Designer.cs
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ Debug
+ AnyCPU
+ {EC092AFA-EC88-499D-9932-0A0273F4BF87}
+ library
+ Properties
+ scanHub
+ scanHub
+ v4.5
+ 512
+ {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ 4
+
+
+ true
+ full
+ false
+ bin\
+ DEBUG;TRACE
+ prompt
+ 4
+ true
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 4.0
+
+
+ ..\..\..\Utils\bin\UtilsLib.dll
+
+
+
+
+
+
+
+ MSBuild:Compile
+ Designer
+
+
+ RemoteMessaging.cs
+
+
+ scanUC.xaml
+
+
+
+
+ Code
+
+
+ True
+ True
+ Resources.resx
+
+
+ True
+ Settings.settings
+ True
+
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+
+
+ SettingsSingleFileGenerator
+ Settings.Designer.cs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Axel-hub/scanUC/scanUC/scanUC.xaml b/Axel-hub/scanUC/scanUC/scanUC.xaml
index d3476fc5..db460408 100644
--- a/Axel-hub/scanUC/scanUC/scanUC.xaml
+++ b/Axel-hub/scanUC/scanUC/scanUC.xaml
@@ -1,77 +1,77 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Axel-hub/scanUC/scanUC/scanUC.xaml.cs b/Axel-hub/scanUC/scanUC/scanUC.xaml.cs
index ac628372..d0c27cf5 100644
--- a/Axel-hub/scanUC/scanUC/scanUC.xaml.cs
+++ b/Axel-hub/scanUC/scanUC/scanUC.xaml.cs
@@ -1,339 +1,285 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows.Threading;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Input;
-using System.Windows.Media;
-using System.Windows.Media.Imaging;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
-using PipesServerNS;
-using UtilsNS;
-
-namespace scanHub
-{
-
- ///
- /// Interaction logic for UserControl1.xaml
- ///
- public partial class scanClass : UserControl
- {
- public delegate void NewMessageDelegate(string NewMessage);
- private PipeServer _pipeServer;
- private string TrackPipeName = "AxelHubPipe";
- private bool Connected = false;
- public readonly double[] FixConvRate = { 102400, 51200, 34133, 25600, 20480, 17067, 14629, 12800, 11378,
- 10240, 9309, 8533, 7314, 6400, 5689, 5120, 4655, 4267, 3657, 3200, 2844, 2560, 2327, 2133, 1829,
- 1600, 1422, 1280, 1164, 1067, 914, 800, 711, 640, 582, 533, 457, 400, 356, 320, 291, 267}; // [Hz]
-
- TimeSpan totalTime, currentTime;
- DispatcherTimer dispatcherTimer;
-
- public double RealConvRate(double wantedCR)
- {
- if (wantedCR > FixConvRate[0]) return FixConvRate[0];
- int len = FixConvRate.Length;
- if (wantedCR <= FixConvRate[len-1]) return FixConvRate[len-1];
- int found = 0;
- for (int i = 0; i < len-1; i++)
- {
- if ((FixConvRate[i] >= wantedCR) && (wantedCR > FixConvRate[i + 1]))
- {
- found = i; break;
- }
- }
- groupDigit.Header = " Conversion rate (" + FixConvRate[found].ToString() + " [Hz])"; DoEvents();
- return FixConvRate[found];
- }
-
- private void Connect2Track()
- {
- try
- {
- _pipeServer.Listen(TrackPipeName);
- Connected = true;
- }
- catch (Exception)
- {
- Connected = false;
- }
- if (Connected) Status("Ready to go remote <->");
- }
-
- public scanClass()
- {
- InitializeComponent();
-
- _pipeServer = new PipeServer();
- _pipeServer.PipeMessage += new DelegateMessage(PipesMessageHandler);
-
- dispatcherTimer = new DispatcherTimer(DispatcherPriority.Send);
- dispatcherTimer.Tick += dispatcherTimer_Tick;
- dispatcherTimer.Interval = new TimeSpan(0,0,1);
-
- //if(!Connected) Connect2Track();
-
- tabControl.SelectedIndex = 0;
- //Status("Ready to go ");
- }
-
- private void dispatcherTimer_Tick(object sender, EventArgs e)
- {
- double progress = 0;
- if (totalTime.TotalSeconds > 0) // finite
- {
- if (currentTime.TotalSeconds < totalTime.TotalSeconds) currentTime = currentTime.Add(new TimeSpan(0, 0, 1));
- }
- else currentTime = currentTime.Add(new TimeSpan(0, 0, 1));
- lbTimeElapsed.Content = ((int)(currentTime.TotalSeconds)).ToString()+" [s]";
- if ((lbTimeLeft.Visibility == System.Windows.Visibility.Visible) && (totalTime.TotalSeconds > 0))
- {
- lbTimeLeft.Content = (currentTime.TotalSeconds - totalTime.TotalSeconds).ToString() + " [s]";
- progress = 100 * (currentTime.TotalSeconds / totalTime.TotalSeconds);
- }
- progressBar.Value = progress;
- DoEvents();
- }
-
- public void DoEvents()
- {
- DispatcherFrame frame = new DispatcherFrame();
- Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Background,
- new DispatcherOperationCallback(ExitFrame), frame);
- Dispatcher.PushFrame(frame);
- }
-
- public object ExitFrame(object f)
- {
- ((DispatcherFrame)f).Continue = false;
- return null;
- }
-
- private void Status(string sts)
- {
- if (Utils.isNull(lblStatus)) return;
- lblStatus.Content = "Status: " + sts;
- DoEvents();
- }
-
- public bool Running
- {
- get { return (bool)GetValue(RunningProperty); }
- set
- {
- bbtnStart.Value = value;
- if (value)
- {
- bbtnStart.Content = "Stop";
- Status("Running....");
- dispatcherTimer.Start();
- currentTime = new TimeSpan(0, 0, 0);
- }
- else
- {
- bbtnStart.Content = "Start";
- Status("Ready for another go");
- dispatcherTimer.Stop();
- lbTimeLeft.Visibility = System.Windows.Visibility.Visible;
- totalTime = new TimeSpan(0, 0, 0);
- currentTime = new TimeSpan(0, 0, 0);
- lbTimeElapsed.Content = "...[s]";
- lbTimeLeft.Content = "...[s]";
- progressBar.Value = 0;
- }
- SetValue(RunningProperty, value);
- }
- }
-
- // Using a DependencyProperty as the backing store for Running.
- public static readonly DependencyProperty RunningProperty
- = DependencyProperty.Register(
- "Running",
- typeof(bool),
- typeof(scanClass),
- new PropertyMetadata(false)
- );
-
- int TotalCycleCount = 0;
- double TotalCycleTime = 0; //[sec]
- private void PipesMessageHandler(string message)
- {
- if (!Connected)
- {
- Status("Error: no named pipe to Axel Track");
- return;
- }
- //if (tabControl.SelectedIndex != 2) tabControl.SelectedIndex = 2; // ???
- try
- {
- if (!CheckAccess())
- {
- // On a different thread
- Dispatcher.Invoke(() => PipesMessageHandler(message));
- }
- else
- {
- if ((!chkRemoteEnabled.IsChecked.Value) || (tabControl.SelectedIndex != 2)) return;
- string[] ws = message.Split('>');
- string ws0 = ws[0].ToUpper();
- if (ws0 == "ACQ") // acquisition
- {
- Status("Axel Track is moving...");
- double SamplingPeriod = GetSamplingPeriod();
- string prms = ws[1].Replace("\0", "");
- string[] wt = prms.Split(';');
- double CyclePeriod = double.Parse(wt[0]); // one cycle motion only
- double Pause = double.Parse(wt[1]); // two time gaps when it changes direction for safety
- double Distance = double.Parse(wt[2]);
- double Accel = double.Parse(wt[3]);
- int CyclesLeft = int.Parse(wt[4]);
-
- if (TotalCycleCount == 0) // first call
- {
- TotalCycleCount = CyclesLeft;
- TotalCycleTime = TotalCycleCount * (CyclePeriod + 2 * Pause);
- lbTotalTime.Content = "Time [sec]: " + (int)(TotalCycleTime);
- lbBufferSize.Content = "Buffer size: " + (int)(TotalCycleTime / SamplingPeriod);
-
- lbTimeLeft.Visibility = System.Windows.Visibility.Visible;
- totalTime = new TimeSpan(0, 0, (int)(TotalCycleTime));
- Running = true;
- }
- OnRemote(SamplingPeriod, CyclePeriod, Pause, Distance, Accel, CyclesLeft);
- if (CyclesLeft == 1)
- {
- TotalCycleCount = 0; // last turn
- Running = false;
- }
- }
- if (ws0 == "FRF") // open XPS log file for reference
- {
- Status("Axel Track sent ref. file");
- string fr = ws[1].Replace("\0", "");
- OnFileRef(fr, chkStatsEnabled.IsChecked.Value);
- Status("Ready for another go");
- }
- }
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message);
- }
- }
-
- public delegate void StartHandler(bool down, double period, bool TimeMode, bool Endless, double Limit);
- public event StartHandler Start;
-
- protected void OnStart(bool down, double period, bool TimeMode, bool Endless, double Limit)
- {
- if(Start != null) Start(down, period, TimeMode, Endless, Limit);
- }
-
- public delegate void RemoteHandler(double SamplingPeriod, double CyclePeriod, double Pause, double Distance, double Accel, int CyclesLeft);
- public event RemoteHandler Remote;
-
- protected void OnRemote(double SamplingPeriod, double CyclePeriod, double Pause, double Distance, double Accel, int CyclesLeft)
- {
- if (Remote != null) Remote(SamplingPeriod, CyclePeriod, Pause, Distance, Accel, CyclesLeft);
- }
-
- public delegate void FileRefHandler(string FN, bool stats);
- public event FileRefHandler FileRef;
-
- protected void OnFileRef(string FN, bool stats)
- {
- if (FileRef != null) FileRef(FN, stats);
- }
-
- private void Image_MouseDown(object sender, MouseButtonEventArgs e)
- {
- MessageBox.Show(" Axel Hub v1.0 \n by Teodor Krastev \nfor Imperial College, London, UK", "About");
- }
-
- private double GetSamplingPeriod()
- {
- double freq = 1; // in seconds
- double vl = 0;
- switch (cbDigitMode.SelectedIndex)
- {
- case 0: if (!double.TryParse(tbDigitValue.Text, out vl)) throw new Exception("Not number for digit. value"); // Hz
- freq = vl;
- break;
- case 1: if (!double.TryParse(tbDigitValue.Text, out vl)) throw new Exception("Not number for digit. value"); // kHz
- freq = 1000 * vl;
- break;
- case 2: if (!double.TryParse(tbDigitValue.Text, out vl)) throw new Exception("Not number for digit. value"); // s
- freq = 1 / vl;
- break;
- case 3: if (!double.TryParse(tbDigitValue.Text, out vl)) throw new Exception("Not number for digit. value"); // ms
- freq = 1000 / vl;
- break;
- case 4: throw new Exception("Not implemented yet");
-
- }
- freq = RealConvRate(freq);
- return 1 / freq;
- }
-
- private void bbtnStart_Click(object sender, RoutedEventArgs e)
- {
- if (Start == null) return;
- Running = !Running;
-
- bool down = Running;
- bool Endless = true;
- double period = GetSamplingPeriod();
- int plannedTime = 0; // [s]
-
- double Limit = 1;
- bool TimeMode = (tabControl.SelectedIndex == 0);
- if (TimeMode)
- {
- Endless = (cbTimeEndless.SelectedIndex == 1);
- if (!double.TryParse(tbTimeLimit.Text, out Limit)) throw new Exception("Not number for Time limit");
- plannedTime = (int)Limit;
- }
- else
- {
- Endless = (cbSizeEndless.SelectedIndex == 1);
- if (!double.TryParse(tbBifferSize.Text, out Limit)) throw new Exception("Not number for Buffer size");
- plannedTime = (int)(Limit * period);
- }
- if (Endless)
- {
- lbTimeLeft.Visibility = System.Windows.Visibility.Hidden;
- totalTime = new TimeSpan(0, 0, 0);
- currentTime = new TimeSpan(0, 0, 0);
- }
- else
- {
- lbTimeLeft.Visibility = System.Windows.Visibility.Visible;
- totalTime = new TimeSpan(0, 0, plannedTime);
- currentTime = new TimeSpan(0, 0, 0);
- }
- DoEvents();
- OnStart(down, period, TimeMode, Endless, Limit);
- }
-
- private void tabControl_SelectionChanged(object sender, SelectionChangedEventArgs e)
- {
- if (tabControl.SelectedIndex == 2)
- {
- if (Connected) Status("Ready to go remote <->");
- else Connect2Track();
- bbtnStart.Visibility = System.Windows.Visibility.Hidden;
- }
- else
- {
- bbtnStart.Visibility = System.Windows.Visibility.Visible;
- Status("Ready to go ");
- }
- }
- }
-}
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Threading;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using System.Diagnostics;
+using RemoteMessagingNS;
+using UtilsNS;
+
+namespace scanHub
+{
+ ///
+ /// Interaction logic for UserControl1.xaml
+ ///
+ public partial class scanClass : UserControl
+ {
+ public delegate void NewMessageDelegate(string NewMessage);
+ private RemoteMessaging mm2;
+ private double realSampling;
+
+ TimeSpan totalTime, currentTime;
+ DispatcherTimer dTimer;
+ Stopwatch sw;
+
+ public scanClass()
+ {
+ InitializeComponent();
+
+ dTimer = new DispatcherTimer(DispatcherPriority.Send);
+ dTimer.Tick += new EventHandler(dispatcherTimer_Tick);
+ dTimer.Interval = new TimeSpan(0, 0, 1);
+
+ sw = new Stopwatch();
+
+ tabControl.SelectedIndex = 0;
+ //Status("Ready to go ");
+ }
+
+ public void OnRealSampling(double _realSampling)
+ {
+ realSampling = _realSampling;
+ groupDigit.Header = " Conversion rate (" + realSampling.ToString() + " [Hz])"; DoEvents();
+ }
+
+ private void dispatcherTimer_Tick(object sender, EventArgs e)
+ {
+ double progress = 0;
+ if (totalTime.TotalSeconds > 0) // finite
+ {
+ if (currentTime.TotalSeconds < totalTime.TotalSeconds) currentTime = currentTime.Add(new TimeSpan(0, 0, 1));
+ }
+ else currentTime = currentTime.Add(new TimeSpan(0, 0, 1));
+ lbTimeElapsed.Content = ((int)(currentTime.TotalSeconds)).ToString()+" [s]";
+ if ((lbTimeLeft.Visibility == System.Windows.Visibility.Visible) && (totalTime.TotalSeconds > 0))
+ {
+ lbTimeLeft.Content = (currentTime.TotalSeconds - totalTime.TotalSeconds).ToString() + " [s]";
+ progress = 100 * (currentTime.TotalSeconds / totalTime.TotalSeconds);
+ }
+ progressBar.Value = progress;
+ DoEvents();
+ }
+
+ public void DoEvents()
+ {
+ DispatcherFrame frame = new DispatcherFrame();
+ Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Background,
+ new DispatcherOperationCallback(ExitFrame), frame);
+ Dispatcher.PushFrame(frame);
+ }
+
+ public object ExitFrame(object f)
+ {
+ ((DispatcherFrame)f).Continue = false;
+ return null;
+ }
+
+ private void Status(string sts)
+ {
+ if (Utils.isNull(lblStatus)) return;
+ lblStatus.Content = ">> " + sts;
+ DoEvents();
+ }
+
+ public bool Running
+ {
+ get { return (bool)GetValue(RunningProperty); }
+ set
+ {
+ bbtnStart.Value = value;
+ if (value)
+ {
+ bbtnStart.Content = "Stop";
+ Status("Running....");
+ dTimer.Start();
+ currentTime = new TimeSpan(0, 0, 0);
+ }
+ else
+ {
+ bbtnStart.Content = "Start";
+ Status("Ready for another go");
+ dTimer.Stop();
+ lbTimeLeft.Visibility = System.Windows.Visibility.Visible;
+ totalTime = new TimeSpan(0, 0, 0);
+ currentTime = new TimeSpan(0, 0, 0);
+ lbTimeElapsed.Content = "...[s]";
+ lbTimeLeft.Content = "...[s]";
+ progressBar.Value = 0;
+ }
+ SetValue(RunningProperty, value);
+ }
+ }
+
+ // Using a DependencyProperty as the backing store for Running.
+ public static readonly DependencyProperty RunningProperty
+ = DependencyProperty.Register(
+ "Running",
+ typeof(bool),
+ typeof(scanClass),
+ new PropertyMetadata(false)
+ );
+
+ int TotalCycleCount = 0;
+ double TotalCycleTime = 0.0; //[sec]
+
+ private bool MessageHandler(string message)
+ {
+ try
+ {
+ bool back = false;
+ OnRemote(message);
+ return back;
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show(ex.Message);
+ return false;
+ }
+ }
+
+ public delegate void StartHandler(bool down, double period, bool TimeMode, bool Endless, double Limit);
+ public event StartHandler Start;
+
+ protected void OnStart(bool down, double period, bool TimeMode, bool Endless, double Limit)
+ {
+ if(Start != null) Start(down, period, TimeMode, Endless, Limit);
+ }
+
+ public delegate void RemoteHandler(string msg);
+ public event RemoteHandler Remote;
+
+ protected void OnRemote(string msg)
+ {
+ if (Remote != null) Remote(msg);
+ }
+
+ public delegate void FileRefHandler(string FN, bool stats);
+ public event FileRefHandler FileRef;
+
+ protected void OnFileRef(string FN, bool stats)
+ {
+ if (FileRef != null) FileRef(FN, stats);
+ }
+
+ private void Image_MouseDown(object sender, MouseButtonEventArgs e)
+ {
+ MessageBox.Show(" Axel Hub v1.0 \n by Teodor Krastev \nfor Imperial College, London, UK", "About");
+ }
+
+ private double GetSamplingPeriod()
+ {
+ double freq = 1; // in seconds
+ double vl = 0;
+ switch (cbDigitMode.SelectedIndex)
+ {
+ case 0: if (!double.TryParse(tbDigitValue.Text, out vl)) throw new Exception("Not number for digit. value"); // Hz
+ freq = vl;
+ break;
+ case 1: if (!double.TryParse(tbDigitValue.Text, out vl)) throw new Exception("Not number for digit. value"); // kHz
+ freq = 1000 * vl;
+ break;
+ case 2: if (!double.TryParse(tbDigitValue.Text, out vl)) throw new Exception("Not number for digit. value"); // s
+ freq = 1 / vl;
+ break;
+ case 3: if (!double.TryParse(tbDigitValue.Text, out vl)) throw new Exception("Not number for digit. value"); // ms
+ freq = 1000 / vl;
+ break;
+ case 4: throw new Exception("Not implemented yet");
+ }
+ return 1 / freq;
+ }
+
+ private void bbtnStart_Click(object sender, RoutedEventArgs e)
+ {
+ if (Start == null) return;
+ Running = !Running;
+
+ bool down = Running;
+ bool Endless = true;
+ double period = GetSamplingPeriod(); // sampling rate in sec
+ int plannedTime = 0; // [s]
+
+ double Limit = 1;
+ bool TimeMode = (tabControl.SelectedIndex == 0);
+ if (TimeMode)
+ {
+ Endless = (cbTimeEndless.SelectedIndex == 1);
+ if (!double.TryParse(tbTimeLimit.Text, out Limit)) throw new Exception("Not number for Time limit");
+ plannedTime = (int)Limit;
+ }
+ else
+ {
+ Endless = (cbSizeEndless.SelectedIndex == 1);
+ if (!double.TryParse(tbBifferSize.Text, out Limit)) throw new Exception("Not number for Buffer size");
+ plannedTime = (int)(Limit * period);
+ }
+ if (Endless)
+ {
+ lbTimeLeft.Visibility = System.Windows.Visibility.Hidden;
+ totalTime = new TimeSpan(0, 0, 0);
+ currentTime = new TimeSpan(0, 0, 0);
+ }
+ else
+ {
+ lbTimeLeft.Visibility = System.Windows.Visibility.Visible;
+ totalTime = new TimeSpan(0, 0, plannedTime);
+ currentTime = new TimeSpan(0, 0, 0);
+ }
+ DoEvents();
+ OnStart(down, period, TimeMode, Endless, Limit);
+ }
+
+ private void tabControl_SelectionChanged(object sender, SelectionChangedEventArgs e)
+ {
+ if(mm2 != null) mm2.Enabled = (tabControl.SelectedIndex == 2);
+ if (tabControl.SelectedIndex == 2)
+ {
+ if (mm2.CheckConnection()) Status("Ready to remote<->");
+ else Status("Commun. problem");
+ bbtnStart.Visibility = System.Windows.Visibility.Hidden;
+ }
+ else
+ {
+ bbtnStart.Visibility = System.Windows.Visibility.Visible;
+ Status("Ready to go ");
+ }
+ }
+
+ private void OnActiveComm(bool active)
+ {
+ if (active) Status("Ready to remote<->");
+ else Status("Commun. problem");
+ }
+
+ private void UserControl_Loaded(object sender, RoutedEventArgs e)
+ {
+ mm2 = new RemoteMessaging("Axel Probe"); //MOTMaster2");
+ mm2.Enabled = false;
+ mm2.Remote += MessageHandler;
+ mm2.ActiveComm += OnActiveComm;
+
+ string[] args = Environment.GetCommandLineArgs();
+ if (args.Length > 1)
+ {
+ Console.WriteLine("Command line argument: " + args[1]);
+ if (args[1].Equals("-remote")) tabControl.SelectedIndex = 2;
+ }
+ }
+
+ private void btnCheckComm_Click(object sender, RoutedEventArgs e)
+ {
+ if (mm2.CheckConnection()) Status("Ready to remote<->");
+ else Status("Commun. problem");
+ }
+ }
+}
diff --git a/Axel-probe/Axel-probe.sln b/Axel-probe/Axel-probe.sln
index 19abefd0..36ac9517 100644
--- a/Axel-probe/Axel-probe.sln
+++ b/Axel-probe/Axel-probe.sln
@@ -1,22 +1,22 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2013
-VisualStudioVersion = 12.0.31101.0
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Axel-probe", "Axel-probe\Axel-probe.csproj", "{9C288394-1DE7-4F48-9D10-1DDE8827D738}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {9C288394-1DE7-4F48-9D10-1DDE8827D738}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {9C288394-1DE7-4F48-9D10-1DDE8827D738}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {9C288394-1DE7-4F48-9D10-1DDE8827D738}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {9C288394-1DE7-4F48-9D10-1DDE8827D738}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2013
+VisualStudioVersion = 12.0.31101.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Axel-probe", "Axel-probe\Axel-probe.csproj", "{9C288394-1DE7-4F48-9D10-1DDE8827D738}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {9C288394-1DE7-4F48-9D10-1DDE8827D738}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {9C288394-1DE7-4F48-9D10-1DDE8827D738}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {9C288394-1DE7-4F48-9D10-1DDE8827D738}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {9C288394-1DE7-4F48-9D10-1DDE8827D738}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/Axel-probe/Axel-probe/App.config b/Axel-probe/Axel-probe/App.config
index fad249e4..8e156463 100644
--- a/Axel-probe/Axel-probe/App.config
+++ b/Axel-probe/Axel-probe/App.config
@@ -1,6 +1,6 @@
-
-
-
-
-
+
+
+
+
+
\ No newline at end of file
diff --git a/Axel-probe/Axel-probe/App.xaml b/Axel-probe/Axel-probe/App.xaml
index 904df835..7d7a6bd4 100644
--- a/Axel-probe/Axel-probe/App.xaml
+++ b/Axel-probe/Axel-probe/App.xaml
@@ -1,8 +1,8 @@
-
-
-
-
-
+
+
+
+
+
diff --git a/Axel-probe/Axel-probe/App.xaml.cs b/Axel-probe/Axel-probe/App.xaml.cs
index 4616b359..5c43302a 100644
--- a/Axel-probe/Axel-probe/App.xaml.cs
+++ b/Axel-probe/Axel-probe/App.xaml.cs
@@ -1,17 +1,17 @@
-using System;
-using System.Collections.Generic;
-using System.Configuration;
-using System.Data;
-using System.Linq;
-using System.Threading.Tasks;
-using System.Windows;
-
-namespace Axel_probe
-{
- ///
- /// Interaction logic for App.xaml
- ///
- public partial class App : Application
- {
- }
-}
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Data;
+using System.Linq;
+using System.Threading.Tasks;
+using System.Windows;
+
+namespace Axel_probe
+{
+ ///
+ /// Interaction logic for App.xaml
+ ///
+ public partial class App : Application
+ {
+ }
+}
diff --git a/Axel-probe/Axel-probe/Axel-probe.csproj b/Axel-probe/Axel-probe/Axel-probe.csproj
index ae63a513..44251ce1 100644
--- a/Axel-probe/Axel-probe/Axel-probe.csproj
+++ b/Axel-probe/Axel-probe/Axel-probe.csproj
@@ -1,122 +1,141 @@
-
-
-
-
- Debug
- AnyCPU
- {9C288394-1DE7-4F48-9D10-1DDE8827D738}
- WinExe
- Properties
- Axel_probe
- Axel-probe
- v4.5
- 512
- {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
- 4
-
-
- AnyCPU
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
-
-
- AnyCPU
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
-
-
- dashboard_widgets_speed_fs7_icon.ico
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 4.0
-
-
-
-
-
-
-
- MSBuild:Compile
- Designer
-
-
- MSBuild:Compile
- Designer
-
-
- App.xaml
- Code
-
-
- MainWindow.xaml
- Code
-
-
-
-
- Code
-
-
- True
- True
- Resources.resx
-
-
- True
- Settings.settings
- True
-
-
-
- ResXFileCodeGenerator
- Resources.Designer.cs
-
-
- SettingsSingleFileGenerator
- Settings.Designer.cs
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ Debug
+ AnyCPU
+ {9C288394-1DE7-4F48-9D10-1DDE8827D738}
+ WinExe
+ Properties
+ Axel_probe
+ Axel-probe
+ v4.5
+ 512
+ {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ 4
+
+
+ AnyCPU
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+ true
+
+
+ AnyCPU
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+ dashboard_widgets_speed_fs7_icon.ico
+
+
+
+
+
+
+
+
+ False
+ ..\..\packages\Newtonsoft.Json.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 4.0
+
+
+ False
+ ..\..\Utils\bin\UtilsLib.dll
+
+
+
+
+
+
+
+ MSBuild:Compile
+ Designer
+
+
+ MSBuild:Compile
+ Designer
+
+
+ RemoteMessaging.cs
+
+
+ App.xaml
+ Code
+
+
+ MainWindow.xaml
+ Code
+
+
+
+
+
+ Code
+
+
+ True
+ True
+ Resources.resx
+
+
+ True
+ Settings.settings
+ True
+
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+
+
+ SettingsSingleFileGenerator
+ Settings.Designer.cs
+
+
+
+
+
+
+
+
+
+
+
+ {EC092AFA-EC88-499D-9932-0A0273F4BF87}
+ scanHub
+
+
+
+
\ No newline at end of file
diff --git a/Axel-probe/Axel-probe/MainWindow.xaml b/Axel-probe/Axel-probe/MainWindow.xaml
index 9eab30e5..7a2cf307 100644
--- a/Axel-probe/Axel-probe/MainWindow.xaml
+++ b/Axel-probe/Axel-probe/MainWindow.xaml
@@ -1,141 +1,172 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 7.85
-
-
-
-
- 4.71
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 7.85
+
+
+
+
+ 4.71
+
+
+
+
+
+
+
+
+
+
diff --git a/Axel-probe/Axel-probe/MainWindow.xaml.cs b/Axel-probe/Axel-probe/MainWindow.xaml.cs
index c4ac7965..887f7c91 100644
--- a/Axel-probe/Axel-probe/MainWindow.xaml.cs
+++ b/Axel-probe/Axel-probe/MainWindow.xaml.cs
@@ -1,309 +1,530 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Input;
-using System.Windows.Media;
-using System.Windows.Media.Imaging;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
-using System.Windows.Threading;
-using System.Diagnostics;
-using NationalInstruments.Controls;
-using NationalInstruments.Analysis.Math;
-
-
-namespace Axel_probe
-{
- ///
- /// Interaction logic for MainWindow.xaml
- ///
- public partial class MainWindow : Window
- {
- ChartCollection fringes, ramp, corr;
- List iStack, dStack, corrList;
- public MainWindow()
- {
- InitializeComponent();
-
- fringes = new ChartCollection();
- grFringes.DataSource = fringes;
-
- ramp = new ChartCollection();
- grRslt.Data[0] = ramp;
- corr = new ChartCollection();
- grRslt.Data[1] = corr;
-
- iStack = new List(); dStack = new List(); corrList = new List();
- }
-
- public void DoEvents()
- {
- DispatcherFrame frame = new DispatcherFrame(); //
- Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Background, //
- new DispatcherOperationCallback(ExitFrame), frame);
- Dispatcher.PushFrame(frame);
- }
-
- public object ExitFrame(object f)
- {
- ((DispatcherFrame)f).Continue = false;
- return null;
- }
-
- private int getIfringe(double x)
- {
- for (int i = 0; i < fringes.Count-1; i++)
- {
- if ((fringes[i].X < x) && (x <= fringes[i+1].X)) return i;
- }
- return -1;
- }
-
- private void log(string txt)
- {
- if (!chkLog.IsChecked.Value) return;
- tbLog.AppendText(txt + "\r\n");
- tbLog.Focus();
- tbLog.CaretIndex = tbLog.Text.Length;
- tbLog.ScrollToEnd();
- }
-
- Random rand = new Random();
- public double Gauss()
- {
- if ((!chkAddGauss.IsChecked.Value) || (ndGaussSigma.Value <= 0.1)) return 0;
- double u1 = 1.0 - rand.NextDouble(); //uniform(0,1] random doubles
- double u2 = 1.0 - rand.NextDouble();
- double randStdNormal = Math.Sqrt(-2.0 * Math.Log(u1)) *
- Math.Sin(2.0 * Math.PI * u2); //random normal(0,1)
- return randStdNormal * ndGaussSigma.Value / 100;
- }
-
- public double Breathing(double x)
- {
- if (!chkVaryAmpl.IsChecked.Value) return 0;
- double per = Math.Sin(Math.PI * x / ndBreathePeriod.Value);
- double norm = ndBreatheAmpl.Value / 100;
- return per * norm;
- }
-
- bool stopRequest = false;
- private void btnRun_Click(object sender, RoutedEventArgs e)
- {
- if (btnRun.Content.Equals("R U N"))
- {
- btnRun.Content = "S t o p"; btnRun.Foreground = Brushes.DarkRed;
- }
- else
- {
- btnRun.Content = "R U N"; btnRun.Foreground = Brushes.DarkGreen;
- }
- stopRequest = (btnRun.Content.Equals("R U N"));
- if (stopRequest) return;
-
- leftLvl = double.NaN; rightLvl = double.NaN;
- double step = ndStep.Value;
- double halfPrd = ndPeriod.Value / 2;
- double rng = ndRange.Value;
- ((AxisDouble)grRslt.Axes[0]).Range = new Range(0, ndPeriod.Value);
- ((AxisDouble)grRslt.Axes[1]).Range = new Range(-rng, rng);
- ((AxisDouble)grRslt.Axes[2]).Range = new Range(-0.1, 0.1);
- double slope = rng / halfPrd;
- double drift,err, pos, sp; int j;
- //tbLog.Text = "";
- do
- {
- ramp.Clear(); corr.Clear(); corrList.Clear();
- pos = 0; j = 0;
- while ((pos < (ndPeriod.Value + 0.0001)) && !stopRequest)
- {
- drift = 0;
- switch (cbDriftType.SelectedIndex )
- {
- case 0: // trapeze 1323
- if (pos < (0.8 * halfPrd) )
- {
- drift = slope * pos;
- };
- if ((pos > (0.8 * halfPrd)) && (pos < (1.2 * halfPrd)))
- {
- drift = 0.8 * rng;
- }
- if (pos > (1.2 * halfPrd) )
- {
- drift = rng - slope * (pos - halfPrd);
- }
- break;
- case 1: // sine
- drift = rng * Math.Sin(2 * Math.PI * pos / ndPeriod.Value);
- break;
- }
- ramp.Add(new Point(pos, drift));
- sp = 0; //k = 0;
- fringes.Clear();
- while ((sp < 4 * Math.PI) && !stopRequest)
- {
- fringes.Add(new Point(sp, Breathing(pos) + Math.Cos(sp + drift) + Gauss()));
- sp += Math.PI / 200;
- //if ((k % 10) == 0) { DoEvents(); k++; }
- }
- if (chkFollowPID.IsChecked.Value)
- {
- switch (tcStrobes.SelectedIndex)
- {
- case 0: err = SingleAdjust(drift);
- if (!double.IsNaN(err))
- {
- corr.Add(new Point(pos, err)); corrList.Add(err);
- }
- break;
- case 1: err = DoubleAdjust(j,drift);
- if (!double.IsNaN(err) && ((j % 2) == 1))
- {
- corr.Add(new Point(pos, err)); corrList.Add(err);
- }
- break;
- }
- }
- pos += step; j++;
- do
- {
- DoEvents();
- } while (chkPause.IsChecked.Value);
- System.Threading.Thread.Sleep((int)ndDelay.Value);
- }
- if (corrList.Count > 0)
- log("Aver=" + corrList.Average().ToString("G4") +
- "; StDev= " + Statistics.StandardDeviation(corrList.ToArray()).ToString("G4") + "\n====================");
- } while ((cbFinite.SelectedIndex == 1) && !stopRequest);
- btnRun.Content = "R U N"; btnRun.Foreground = Brushes.DarkGreen;
- }
-
- private void frmMain_Closing(object sender, System.ComponentModel.CancelEventArgs e)
- {
- stopRequest = true;
- }
-
- private void grFringes_MouseDoubleClick(object sender, MouseButtonEventArgs e)
- {
- ((Graph)sender).ResetZoomPan();
- }
-
- int iStDepth = 5; int dStDepth = 3;
- public double PID(double curr)
- {
- int hillSide = 1;
- if (cbHillPos.SelectedIndex == 0) hillSide = -1;
- double pTerm = curr;
- iStack.Add(curr); while (iStack.Count > iStDepth) iStack.RemoveAt(0);
- double iTerm = iStack.Average();
- dStack.Add(curr); while (dStack.Count > dStDepth) dStack.RemoveAt(0);
- double dTerm = 0;
- for (int i = 0; i < dStack.Count - 1; i++)
- {
- dTerm += dStack[i + 1] - dStack[i];
- }
- dTerm /= Math.Max(dStack.Count - 1, 1);
-
- double cr = hillSide * (ndKP.Value * pTerm + ndKI.Value * iTerm + ndKD.Value * dTerm);
-
- int curIdx1 = getIfringe((double)crsFringes1.AxisValue+cr);
-
- log("PID= " + pTerm.ToString("G3") + " / " + iTerm.ToString("G3") + " / " + dTerm.ToString("G3") +
- // PID X correction and Y value after the correction
- " | " + cr.ToString("G3") + " / " + fringes[curIdx1].Y.ToString("G3"));
- return cr;
- }
-
- private void tcStrobes_SelectionChanged(object sender, SelectionChangedEventArgs e)
- {
- if (tcStrobes.SelectedIndex == 0)
- {
- crsFringes2.Visibility = System.Windows.Visibility.Hidden;
- crsFringes1.AxisValue = 7.85;
- }
- else
- {
- crsFringes2.Visibility = System.Windows.Visibility.Visible;
- crsFringes1.AxisValue = 4.71;
- crsFringes1.AxisValue = 7.85;
- leftLvl = double.NaN; rightLvl = double.NaN;
- }
- }
-
- private double SingleAdjust(double drift) // return error in fringe position/phase
- {
- double curX = (double)crsFringes1.AxisValue;
- int curIdx = getIfringe(curX);
- if (curIdx == -1)
- {
- log("Error: index cannot be found"); return double.NaN;
- }
- double corr = PID(fringes[curIdx].Y);
- crsFringes1.AxisValue = curX + corr;
- curIdx = getIfringe((double)crsFringes1.AxisValue);
- if (curIdx > -1) return drift - (2.5 * Math.PI - fringes[curIdx].X);
- else return double.NaN;
- }
-
- double leftLvl = double.NaN, rightLvl = double.NaN;
- private double DoubleAdjust(int idx, double drift) // return error in fringe position/phase
- {
- int curIdx1, curIdx2; double cx, curX1, curX2;
- if ((idx % 2) == 0) // even
- {
- curX1 = (double)crsFringes1.AxisValue;
- curIdx1 = getIfringe(curX1);
- if (curIdx1 == -1)
- {
- log("Error: index cannot be found"); return double.NaN;
- }
- leftLvl = fringes[curIdx1].Y;
- if(double.IsNaN(rightLvl)) return double.NaN;
- }
- else // odd
- {
- curX2 = (double)crsFringes2.AxisValue;
- curIdx2 = getIfringe(curX2);
- if (curIdx2 == -1)
- {
- log("Error: index cannot be found"); return double.NaN;
- }
- rightLvl = fringes[curIdx2].Y;
- }
- double corr = PID(leftLvl - rightLvl);
- crsFringes1.AxisValue = (double)crsFringes1.AxisValue + corr; // adjust left
- crsFringes2.AxisValue = (double)crsFringes2.AxisValue + corr; // adjust right
-
- cx = ((double)crsFringes2.AxisValue + (double)crsFringes1.AxisValue) / 2;
- return drift - (2 * Math.PI - cx);
- }
-
- private void ndKP_KeyDown(object sender, KeyEventArgs e)
- {
- if ((e.Key == Key.L) && (Keyboard.IsKeyDown(Key.LeftCtrl) || Keyboard.IsKeyDown(Key.RightCtrl)))
- {
- log("Coeff.PID= " + ndKP.Value.ToString("G3") + " / " + ndKI.Value.ToString("G3") + " / " + ndKD.Value.ToString("G3") + " ;");
- }
- }
-
- private void ndRange_KeyDown(object sender, KeyEventArgs e)
- {
- if ((e.Key == Key.L) && (Keyboard.IsKeyDown(Key.LeftCtrl) || Keyboard.IsKeyDown(Key.RightCtrl)))
- {
- log("Accel= " + ndRange.Value.ToString("G3") + " / " + ndPeriod.Value.ToString("G3") + " / " + ndStep.Value.ToString("G3") + " ;");
- }
- }
-
- private void btnClear_Click(object sender, RoutedEventArgs e)
- {
- tbLog.Text = "";
- }
- }
-}
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using System.Windows.Threading;
+using System.Diagnostics;
+using NationalInstruments.Controls;
+using NationalInstruments.Analysis.Math;
+using PidController;
+using RemoteMessagingNS;
+using Newtonsoft.Json;
+using UtilsNS;
+
+namespace Axel_probe
+{
+ ///
+ /// Interaction logic for MainWindow.xaml
+ ///
+ public partial class MainWindow : Window
+ {
+ ChartCollection fringes, ramp, corr;
+ ChartCollection signalN, signalB;
+ List iStack, dStack, corrList;
+ RemoteMessaging remote;
+ Random rnd = new Random();
+
+ public MainWindow()
+ {
+ InitializeComponent();
+
+ fringes = new ChartCollection();
+ grFringes.DataSource = fringes;
+
+ signalN = new ChartCollection();
+ graphNs.Data[0] = signalN;
+ signalB = new ChartCollection();
+ graphNs.Data[1] = signalB;
+
+ ramp = new ChartCollection();
+ grRslt.Data[0] = ramp;
+ corr = new ChartCollection();
+ grRslt.Data[1] = corr;
+
+ iStack = new List(); dStack = new List(); corrList = new List();
+ }
+
+ public void DoEvents()
+ {
+ DispatcherFrame frame = new DispatcherFrame(); //
+ Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Background, //
+ new DispatcherOperationCallback(ExitFrame), frame);
+ Dispatcher.PushFrame(frame);
+ }
+
+ public object ExitFrame(object f)
+ {
+ ((DispatcherFrame)f).Continue = false;
+ return null;
+ }
+
+ private int getIfringe(double x)
+ {
+ for (int i = 0; i < fringes.Count-1; i++)
+ {
+ if ((fringes[i].X < x) && (x <= fringes[i+1].X)) return i;
+ }
+ return -1;
+ }
+
+ private void log(string txt)
+ {
+ if (!chkLog.IsChecked.Value) return;
+ tbLog.AppendText(txt + "\r\n");
+ tbLog.Focus();
+ tbLog.CaretIndex = tbLog.Text.Length;
+ tbLog.ScrollToEnd();
+ }
+
+ Random rand = new Random();
+ public double Gauss()
+ {
+ if ((!chkAddGauss.IsChecked.Value) || (ndGaussSigma.Value <= 0.1)) return 0;
+ double u1 = 1.0 - rand.NextDouble(); //uniform(0,1] random doubles
+ double u2 = 1.0 - rand.NextDouble();
+ double randStdNormal = Math.Sqrt(-2.0 * Math.Log(u1)) *
+ Math.Sin(2.0 * Math.PI * u2); //random normal(0,1)
+ return randStdNormal * ndGaussSigma.Value / 100;
+ }
+
+ public double Gauss01()
+ {
+ double u1 = 1.0 - rand.NextDouble(); //uniform(0,1] random doubles
+ double u2 = 1.0 - rand.NextDouble();
+ double randStdNormal = Math.Sqrt(-2.0 * Math.Log(u1)) *
+ Math.Sin(2.0 * Math.PI * u2); //random normal(0,1)
+ return randStdNormal;
+ }
+
+
+ public double Breathing(double x)
+ {
+ if (!chkVaryAmpl.IsChecked.Value) return 0;
+ double per = Math.Sin(Math.PI * x / ndBreathePeriod.Value);
+ double norm = ndBreatheAmpl.Value / 100;
+ return per * norm;
+ }
+
+ bool stopRequest = false;
+ private void btnRun_Click(object sender, RoutedEventArgs e)
+ {
+ if (btnRun.Content.Equals("R U N"))
+ {
+ btnRun.Content = "S t o p"; btnRun.Foreground = Brushes.DarkRed;
+ }
+ else
+ {
+ btnRun.Content = "R U N"; btnRun.Foreground = Brushes.DarkGreen;
+ }
+ stopRequest = (btnRun.Content.Equals("R U N"));
+ if (stopRequest) return;
+
+ leftLvl = double.NaN; rightLvl = double.NaN;
+ double step = ndStep.Value;
+ double halfPrd = ndPeriod.Value / 2;
+ double rng = ndRange.Value;
+ ((AxisDouble)grRslt.Axes[0]).Range = new Range(0, ndPeriod.Value);
+ ((AxisDouble)grRslt.Axes[1]).Range = new Range(-rng, rng);
+ ((AxisDouble)grRslt.Axes[2]).Range = new Range(-0.1, 0.1);
+ double slope = rng / halfPrd;
+ double drift,err, pos, sp; int j;
+ //tbLog.Text = "";
+ do
+ {
+ ramp.Clear(); corr.Clear(); corrList.Clear();
+ pos = 0; j = 0;
+ while ((pos < (ndPeriod.Value + 0.0001)) && !stopRequest)
+ {
+ drift = 0;
+ switch (cbDriftType.SelectedIndex )
+ {
+ case 0: // trapeze 1323
+ if (pos < (0.8 * halfPrd) )
+ {
+ drift = slope * pos;
+ };
+ if ((pos > (0.8 * halfPrd)) && (pos < (1.2 * halfPrd)))
+ {
+ drift = 0.8 * rng;
+ }
+ if (pos > (1.2 * halfPrd) )
+ {
+ drift = rng - slope * (pos - halfPrd);
+ }
+ break;
+ case 1: // sine
+ drift = rng * Math.Sin(2 * Math.PI * pos / ndPeriod.Value);
+ break;
+ }
+ ramp.Add(new Point(pos, drift));
+ sp = 0; //k = 0;
+ fringes.Clear();
+ while ((sp < 4 * Math.PI) && !stopRequest)
+ {
+ fringes.Add(new Point(sp, Breathing(pos) + Math.Cos(sp + drift) + Gauss()));
+ sp += Math.PI / 200;
+ //if ((k % 10) == 0) { DoEvents(); k++; }
+ }
+ if (chkFollowPID.IsChecked.Value)
+ {
+ if(rbSingle.IsChecked.Value)
+ {
+ err = SingleAdjust(drift);
+ if (!double.IsNaN(err))
+ {
+ corr.Add(new Point(pos, err)); corrList.Add(err);
+ }
+ }
+ if (rbDouble.IsChecked.Value)
+ {
+ err = DoubleAdjust(j, drift);
+ if (!double.IsNaN(err) && ((j % 2) == 1))
+ {
+ corr.Add(new Point(pos, err)); corrList.Add(err);
+ }
+ }
+ }
+ pos += step; j++;
+ do
+ {
+ DoEvents();
+ } while (chkPause.IsChecked.Value);
+ System.Threading.Thread.Sleep((int)ndDelay.Value);
+ }
+ if (corrList.Count > 0)
+ log("Aver=" + corrList.Average().ToString("G4") +
+ "; StDev= " + Statistics.StandardDeviation(corrList.ToArray()).ToString("G4") + "\n====================");
+ } while ((cbFinite.SelectedIndex == 1) && !stopRequest);
+ btnRun.Content = "R U N"; btnRun.Foreground = Brushes.DarkGreen;
+ }
+
+ private void frmMain_Closing(object sender, System.ComponentModel.CancelEventArgs e)
+ {
+ stopRequest = true;
+ }
+
+ private void grFringes_MouseDoubleClick(object sender, MouseButtonEventArgs e)
+ {
+ ((Graph)sender).ResetZoomPan();
+ }
+
+ int iStDepth = 5; int dStDepth = 3;
+ public double PID(double curr)
+ {
+ int hillSide = 1;
+ //if (cbHillPos.SelectedIndex == 0) hillSide = -1;
+ double pTerm = curr;
+ iStack.Add(curr); while (iStack.Count > iStDepth) iStack.RemoveAt(0);
+ double iTerm = iStack.Average();
+ dStack.Add(curr); while (dStack.Count > dStDepth) dStack.RemoveAt(0);
+ double dTerm = 0;
+ for (int i = 0; i < dStack.Count - 1; i++)
+ {
+ dTerm += dStack[i + 1] - dStack[i];
+ }
+ dTerm /= Math.Max(dStack.Count - 1, 1);
+
+ double cr = hillSide * (ndKP.Value * pTerm + ndKI.Value * iTerm + ndKD.Value * dTerm);
+
+ int curIdx1 = getIfringe((double)crsFringes1.AxisValue+cr);
+
+ log("PID= " + pTerm.ToString("G3") + " / " + iTerm.ToString("G3") + " / " + dTerm.ToString("G3") +
+ // PID X correction and Y value after the correction
+ " | " + cr.ToString("G3") + " / " + fringes[curIdx1].Y.ToString("G3"));
+ return cr;
+ }
+
+ private double SingleAdjust(double drift) // return error in fringe position/phase
+ {
+ double curX = (double)crsFringes1.AxisValue;
+ int curIdx = getIfringe(curX);
+ if (curIdx == -1)
+ {
+ log("Error: index cannot be found"); return double.NaN;
+ }
+ double corr = PID(fringes[curIdx].Y);
+ crsFringes1.AxisValue = curX + corr;
+ curIdx = getIfringe((double)crsFringes1.AxisValue);
+ if (curIdx > -1) return drift - (2.5 * Math.PI - fringes[curIdx].X);
+ else return double.NaN;
+ }
+
+ double leftLvl = double.NaN, rightLvl = double.NaN;
+ private double DoubleAdjust(int idx, double drift) // return error in fringe position/phase
+ {
+ int curIdx1, curIdx2; double cx, curX1, curX2;
+ if ((idx % 2) == 0) // even
+ {
+ curX1 = (double)crsFringes1.AxisValue;
+ curIdx1 = getIfringe(curX1);
+ if (curIdx1 == -1)
+ {
+ log("Error: index cannot be found"); return double.NaN;
+ }
+ leftLvl = fringes[curIdx1].Y;
+ if(double.IsNaN(rightLvl)) return double.NaN;
+ }
+ else // odd
+ {
+ curX2 = (double)crsFringes2.AxisValue;
+ curIdx2 = getIfringe(curX2);
+ if (curIdx2 == -1)
+ {
+ log("Error: index cannot be found"); return double.NaN;
+ }
+ rightLvl = fringes[curIdx2].Y;
+ }
+ double corr = PID(leftLvl - rightLvl);
+ crsFringes1.AxisValue = (double)crsFringes1.AxisValue + corr; // adjust left
+ crsFringes2.AxisValue = (double)crsFringes2.AxisValue + corr; // adjust right
+
+ cx = ((double)crsFringes2.AxisValue + (double)crsFringes1.AxisValue) / 2;
+ return drift - (2 * Math.PI - cx);
+ }
+
+ private void ndKP_KeyDown(object sender, KeyEventArgs e)
+ {
+ if ((e.Key == Key.L) && (Keyboard.IsKeyDown(Key.LeftCtrl) || Keyboard.IsKeyDown(Key.RightCtrl)))
+ {
+ log("Coeff.PID= " + ndKP.Value.ToString("G3") + " / " + ndKI.Value.ToString("G3") + " / " + ndKD.Value.ToString("G3") + " ;");
+ }
+ }
+
+ private void ndRange_KeyDown(object sender, KeyEventArgs e)
+ {
+ if ((e.Key == Key.L) && (Keyboard.IsKeyDown(Key.LeftCtrl) || Keyboard.IsKeyDown(Key.RightCtrl)))
+ {
+ log("Accel= " + ndRange.Value.ToString("G3") + " / " + ndPeriod.Value.ToString("G3") + " / " + ndStep.Value.ToString("G3") + " ;");
+ }
+ }
+
+ private void btnClear_Click(object sender, RoutedEventArgs e)
+ {
+ tbLog.Text = "";
+ }
+
+ private void rbSingle_Checked(object sender, RoutedEventArgs e)
+ {
+ if ((crsFringes2 == null) || (crsFringes1 == null)) return;
+ if (rbSingle.IsChecked.Value)
+ {
+ crsFringes2.Visibility = System.Windows.Visibility.Hidden;
+ crsFringes1.AxisValue = 7.85;
+ }
+ else
+ {
+ crsFringes2.Visibility = System.Windows.Visibility.Visible;
+ crsFringes1.AxisValue = 4.71;
+ crsFringes1.AxisValue = 7.85;
+ leftLvl = double.NaN; rightLvl = double.NaN;
+ }
+ }
+
+ private void frmMain_Loaded(object sender, RoutedEventArgs e)
+ {
+ remote = new RemoteMessaging("Axel Hub");
+ }
+
+ private void btnCommCheck_Click(object sender, RoutedEventArgs e)
+ {
+ Utils.ExecuteBatFile(Utils.configPath + "axel-hub.bat"); return;
+ if (remote.CheckConnection()) grpRemote.Header = "Remote - Ready<->";
+ else
+ {
+ grpRemote.Header = "Remote - not found! ...starting";
+ Utils.ExecuteBatFile(Utils.configPath + "axel-hub.bat");
+ if (remote.CheckConnection()) grpRemote.Header = "Remote - NOW is ready<->";
+ else grpRemote.Header = "Remote - Problem -X-";
+ }
+ }
+
+ /* Example base data + some noise
+ N2 NTOT B1 B2 Bg N1 N2 B1 B2 Bg
+ 2 5 1 4 0 4 5 1 4 0
+
+ NB1 NB2 NB1 NB2
+ 1 1 3 1
+
+ A A
+ 1 -1 */
+
+ private void btnScan_Click(object sender, RoutedEventArgs e)
+ {
+ // MMexec mme = JsonConvert.DeserializeObject(json);
+ double sfrom = 0;
+ double sto = 8;
+ double sstep = 0.2;
+
+ double n1 = 2; // 4
+ double n2 = 5; double b1 = 1; double b2 = 4; double bg = 0;
+ lboxNB.Items[1] = "NTot = " + (n1+n2).ToString();
+ lboxNB.Items[3] = "B2 = " + b2.ToString();
+ lboxNB.Items[2] = "BTot = " + (b1+b2).ToString();
+ lboxNB.Items[4] = "Bg = " + bg.ToString();
+
+ string msg;
+ MMexec mm = new MMexec();
+ mm.mmexec = "";
+ mm.cmd = "scan";
+ mm.sender = "Axel Probe";
+ mm.id = rnd.Next(int.MaxValue);
+ mm.prms = new Dictionary();
+ mm.prms["param"] = "change";
+ mm.prms["from"] = sfrom;
+ mm.prms["to"] = sto;
+ mm.prms["step"] = sstep;
+ mm.prms["groupID"] = DateTime.Now.ToString("yy-MM-dd_H-mm-ss");
+
+ MMexec md = new MMexec();
+ md.mmexec = "";
+ md.cmd = "shotData";
+ md.sender = "Axel Probe";
+ md.prms = new Dictionary();
+ md.prms["groupID"] = mm.prms["groupID"];
+
+ if (chkRemoteEnabled.IsChecked.Value)
+ {
+ msg = JsonConvert.SerializeObject(mm);
+ if (!remote.sendCommand(msg)) MessageBox.Show("send json problem!");
+ log(msg);
+ }
+ double d, scl = 100;
+ List srsN2 = new List();
+ List srsNTot = new List();
+ List srsB2 = new List();
+ List srsBTot = new List();
+ List srsBg = new List();
+
+ int j = 0; fringes.Clear();
+ for (double cr = sfrom; cr < sto; cr += sstep)
+ {
+ fringes.Add(new Point(cr,Math.Sin(cr)));
+ DoEvents();
+ signalN.Clear(); srsNTot.Clear(); srsN2.Clear();
+ signalB.Clear(); srsBTot.Clear(); srsB2.Clear(); srsBg.Clear();
+ for (int i = 0; i < 30; i++)
+ {
+ d = n2 + cr / 4 + Gauss01() / scl;
+ lboxNB.Items[0] = "N2 = " + d.ToString("G4");
+ srsN2.Add(d);
+ d = n2 + Gauss01() / scl;
+ srsNTot.Add(d);
+
+ d = b1 + Gauss01() / scl;
+ srsB2.Add(d);
+ d = b2 + Gauss01() / scl;
+ srsBTot.Add(d);
+
+ d = bg + Gauss01() / scl;
+ srsBg.Add(d);
+ }
+ signalN.Append(srsN2); signalN.Append(srsNTot);
+ signalB.Append(srsB2); signalB.Append(srsBTot);
+
+ if (chkRemoteEnabled.IsChecked.Value)
+ {
+ md.prms["runID"] = j++;
+ md.prms["N2"] = srsN2.ToArray(); md.prms["NTot"] = srsNTot.ToArray();
+ md.prms["B2"] = srsB2.ToArray(); md.prms["BTot"] = srsBTot.ToArray();
+ md.prms["Bg"] = srsBg.ToArray();
+ md.id = rnd.Next(int.MaxValue);
+ msg = JsonConvert.SerializeObject(md);
+ remote.sendCommand(msg);
+ log(msg.Substring(0,40)+"...");
+ }
+ }
+ }
+
+ private void btnRepeat_Click(object sender, RoutedEventArgs e)
+ {
+ double n1 = 2.5; // 4
+ double n2 = 5; double b1 = 1; double b2 = 4; double bg = 0;
+ lboxNB.Items[1] = "NTot = " + (n1 + n2).ToString();
+ lboxNB.Items[3] = "B2 = " + b2.ToString();
+ lboxNB.Items[2] = "BTot = " + (b1 + b2).ToString();
+ lboxNB.Items[4] = "Bg = " + bg.ToString();
+
+ string msg;
+ MMexec mm = new MMexec();
+ mm.id = rnd.Next(int.MaxValue);
+ mm.cmd = "repeat";
+ mm.mmexec = "";
+ mm.sender = "Axel Probe";
+ mm.prms = new Dictionary();
+ int cycles = 20;
+ mm.prms["cycles"] = cycles;
+ mm.prms["groupID"] = DateTime.Now.ToString("yy-MM-dd_H-mm-ss");
+
+ MMexec md = new MMexec();
+ md.id = rnd.Next(int.MaxValue);
+ md.cmd = "shotData";
+ md.mmexec = "";
+ md.sender = "Axel Probe";
+ md.prms = new Dictionary();
+ md.prms["groupID"] = mm.prms["groupID"];
+
+ if (chkRemoteEnabled.IsChecked.Value)
+ {
+ msg = new String('a', 1000); // JsonConvert.SerializeObject(mm);
+ if (!remote.sendCommand(msg)) MessageBox.Show("send json problem!");
+ log(msg);
+ }
+ double d, scl = 100; return;
+ List srsN2 = new List();
+ List srsNTot = new List();
+ List srsB2 = new List();
+ List srsBTot = new List();
+ List srsBg = new List();
+
+ fringes.Clear();
+
+ for (int j = 0; j < cycles; j++)
+ {
+ DoEvents();
+ signalN.Clear(); srsNTot.Clear(); srsN2.Clear();
+ signalB.Clear(); srsBTot.Clear(); srsB2.Clear(); srsBg.Clear();
+ for (int i = 0; i < 30; i++)
+ {
+ d = n2 + Gauss01() / scl;
+ lboxNB.Items[0] = "N2 = " + d.ToString("G4");
+ srsN2.Add(d);
+ d = n2 + Gauss01() / scl;
+ srsNTot.Add(d);
+
+ d = b1 + Gauss01() / scl;
+ srsB2.Add(d);
+ d = b2 + Gauss01() / scl;
+ srsBTot.Add(d);
+
+ d = bg + Gauss01() / scl;
+ srsBg.Add(d);
+ }
+ signalN.Append(srsN2); signalN.Append(srsNTot);
+ signalB.Append(srsB2); signalB.Append(srsBTot);
+
+ if (chkRemoteEnabled.IsChecked.Value)
+ {
+ md.prms["runID"] = j++;
+ md.prms["N2"] = srsN2.ToArray(); md.prms["NTot"] = srsNTot.ToArray();
+ md.prms["B2"] = srsB2.ToArray(); md.prms["BTot"] = srsBTot.ToArray();
+ md.prms["Bg"] = srsBg.ToArray();
+ md.id = rnd.Next(int.MaxValue);
+ msg = JsonConvert.SerializeObject(md);
+ remote.sendCommand(msg);
+ log(msg.Substring(0, 40) + "...");
+ }
+ }
+
+ }
+ }
+}
diff --git a/Axel-probe/Axel-probe/PID.cs b/Axel-probe/Axel-probe/PID.cs
new file mode 100644
index 00000000..fef59c18
--- /dev/null
+++ b/Axel-probe/Axel-probe/PID.cs
@@ -0,0 +1,136 @@
+using System;
+
+namespace PidController
+{
+ ///
+ /// A (P)roportional, (I)ntegral, (D)erivative Controller
+ ///
+ ///
+ /// The controller should be able to control any process with a
+ /// measureable value, a known ideal value and an input to the
+ /// process that will affect the measured value.
+ ///
+ ///
+ public sealed class PidController
+ {
+ private double processVariable = 0;
+
+ public PidController(double GainProportional, double GainIntegral, double GainDerivative, double OutputMax, double OutputMin)
+ {
+ this.GainDerivative = GainDerivative;
+ this.GainIntegral = GainIntegral;
+ this.GainProportional = GainProportional;
+ this.OutputMax = OutputMax;
+ this.OutputMin = OutputMin;
+ }
+
+ ///
+ /// The controller output
+ ///
+ /// timespan of the elapsed time
+ /// since the previous time that ControlVariable was called
+ /// Value of the variable that needs to be controlled
+ public double ControlVariable(TimeSpan timeSinceLastUpdate)
+ {
+ double error = SetPoint - ProcessVariable;
+
+ // integral term calculation
+ IntegralTerm += (GainIntegral * error * timeSinceLastUpdate.TotalSeconds);
+ IntegralTerm = Clamp(IntegralTerm);
+
+ // derivative term calculation
+ double dInput = processVariable - ProcessVariableLast;
+ double derivativeTerm = GainDerivative * (dInput / timeSinceLastUpdate.TotalSeconds);
+
+ // proportional term calcullation
+ double proportionalTerm = GainProportional * error;
+
+ double output = proportionalTerm + IntegralTerm - derivativeTerm;
+
+ output = Clamp(output);
+
+ return output;
+ }
+
+ ///
+ /// The derivative term is proportional to the rate of
+ /// change of the error
+ ///
+ public double GainDerivative { get; set; }
+
+ ///
+ /// The integral term is proportional to both the magnitude
+ /// of the error and the duration of the error
+ ///
+ public double GainIntegral { get; set; }
+
+ ///
+ /// The proportional term produces an output value that
+ /// is proportional to the current error value
+ ///
+ ///
+ /// Tuning theory and industrial practice indicate that the
+ /// proportional term should contribute the bulk of the output change.
+ ///
+ public double GainProportional { get; set; }
+
+ ///
+ /// The max output value the control device can accept.
+ ///
+ public double OutputMax { get; private set; }
+
+ ///
+ /// The minimum ouput value the control device can accept.
+ ///
+ public double OutputMin { get; private set; }
+
+ ///
+ /// Adjustment made by considering the accumulated error over time
+ ///
+ ///
+ /// An alternative formulation of the integral action, is the
+ /// proportional-summation-difference used in discrete-time systems
+ ///
+ public double IntegralTerm { get; private set; }
+
+
+ ///
+ /// The current value
+ ///
+ public double ProcessVariable
+ {
+ get { return processVariable; }
+ set
+ {
+ ProcessVariableLast = processVariable;
+ processVariable = value;
+ }
+ }
+
+ ///
+ /// The last reported value (used to calculate the rate of change)
+ ///
+ public double ProcessVariableLast { get; private set; }
+
+ ///
+ /// The desired value
+ ///
+ public double SetPoint { get; set; }
+
+ ///
+ /// Limit a variable to the set OutputMax and OutputMin properties
+ ///
+ ///
+ /// A value that is between the OutputMax and OutputMin properties
+ ///
+ ///
+ /// Inspiration from http://stackoverflow.com/questions/3176602/how-to-force-a-number-to-be-in-a-range-in-c
+ ///
+ private double Clamp(double variableToClamp)
+ {
+ if (variableToClamp <= OutputMin) { return OutputMin; }
+ if (variableToClamp >= OutputMax) { return OutputMax; }
+ return variableToClamp;
+ }
+ }
+}
\ No newline at end of file
diff --git a/Axel-probe/Axel-probe/PID_rslt.txt b/Axel-probe/Axel-probe/PID_rslt.txt
index 008fc85d..c551dee3 100644
--- a/Axel-probe/Axel-probe/PID_rslt.txt
+++ b/Axel-probe/Axel-probe/PID_rslt.txt
@@ -1,229 +1,229 @@
-Single strobe
-
-Aver=0.05956; StDev= 0.04717
-====================
-Coeff.PID= 0.6 / 0 / 0 ;
-Coeff.PID= 0.7 / 0 / 0 ;
-Coeff.PID= 0.8 / 0 / 0 ;
-Coeff.PID= 0.9 / 0 / 0 ;
-Aver=0.05978; StDev= 0.0274
-====================
-Coeff.PID= 1 / 0 / 0 ;
-Aver=0.05854; StDev= 0.02413
-====================
-Coeff.PID= 1.1 / 0 / 0 ;
-Aver=0.05667; StDev= 0.02474
-====================
-Coeff.PID= 1 / 0 / 0 ;
-Coeff.PID= 0.9 / 0 / 0 ;
-Coeff.PID= 0.9 / 0.1 / 0 ;
-Coeff.PID= 0.9 / 0.2 / 0 ;
-Coeff.PID= 0.9 / 0.3 / 0 ;
-Coeff.PID= 0.8 / 0.3 / 0 ;
-Coeff.PID= 0.7 / 0.3 / 0 ;
-Aver=0.05854; StDev= 0.02324
-====================
-Coeff.PID= 0.6 / 0.3 / 0 ;
-Coeff.PID= 0.6 / 0.4 / 0 ;
-Aver=0.05667; StDev= 0.02436
-====================
-Coeff.PID= 0.6 / 0.3 / 0 ;
-Coeff.PID= 0.7 / 0.3 / 0 ;
-Aver=0.05667; StDev= 0.02319
-====================
-Coeff.PID= 0.8 / 0.3 / 0 ;
-Aver=0.05854; StDev= 0.02374
-====================
-Coeff.PID= 0.7 / 0.3 / 0 ;
-Coeff.PID= 0.7 / 0.4 / 0 ;
-Aver=0.05854; StDev= 0.02328
-====================
-Coeff.PID= 0.7 / 0.4 / 0.1 ;
-Coeff.PID= 0.7 / 0.4 / 0.2 ;
-Aver=0.05916; StDev= 0.02396
-====================
-Coeff.PID= 0.6 / 0.4 / 0.2 ;
-Coeff.PID= 0.6 / 0.3 / 0.2 ;
-Aver=0.05978; StDev= 0.02556
-====================
-Coeff.PID= 0.6 / 0.3 / 0.1 ;
-Aver=0.05854; StDev= 0.02642
-====================
-Coeff.PID= 0.6 / 0.4 / 0.1 ;
-Aver=0.05792; StDev= 0.0232
-====================
-Coeff.PID= 0.6 / 0.5 / 0.1 ;
-Aver=0.05916; StDev= 0.02301
-=======================================================================
-
-Double strobe
-Coeff.PID= 0.6 / 0 / 0 ;
-Coeff.PID= 0.6 / 0.1 / 0 ;
-Coeff.PID= 0.6 / 0.2 / 0 ;
-Coeff.PID= 0.6 / 0.3 / 0 ;
-Coeff.PID= 0.6 / 0.4 / 0 ;
-Coeff.PID= 0.6 / 0.5 / 0 ;
-Aver=-0.0005606; StDev= 0.02799
-====================
-Coeff.PID= 0.6 / 0.5 / 0.1 ;
-Aver=0.0006836; StDev= 0.02666
-====================
-Coeff.PID= 0.6 / 0.5 / 0.2 ;
-Aver=6.15E-05; StDev= 0.02704
-====================
-Coeff.PID= 0.5 / 0.5 / 0.2 ;
-Aver=0.0006836; StDev= 0.02762
-====================
-Coeff.PID= 0.5 / 0.6 / 0.2 ;
-Aver=-0.0005606; StDev= 0.02821
-====================
-Coeff.PID= 0.6 / 0.6 / 0.2 ;
-Coeff.PID= 0.6 / 0.5 / 0.2 ;
-Coeff.PID= 0.6 / 0.5 / 0.1 ;
-Aver=0.0006836; StDev= 0.02666
-====================
-Aver=0.0585; StDev= 0.05791
-====================
-Coeff.PID= 0.5 / 0.5 / 0.1 ;
-Aver=0.0585; StDev= 0.0512
-====================
-Coeff.PID= 0.4 / 0.5 / 0.1 ;
-Aver=0.05724; StDev= 0.0529
-====================
-Coeff.PID= 0.5 / 0.5 / 0.1 ;
-Aver=0.05724; StDev= 0.054
-====================
-Aver=0.0585; StDev= 0.0579
-====================
-Aver=0.0585; StDev= 0.0579
-====================
-Aver=0.0585; StDev= 0.0579
-====================
-Aver=0.0585; StDev= 0.0579
-====================
-Coeff.PID= 0.6 / 0.5 / 0.1 ;
-Aver=0.0585; StDev= 0.06175
-====================
-Coeff.PID= 0.5 / 0.5 / 0.1 ;
-Aver=0.0585; StDev= 0.0512
-====================
-Coeff.PID= 0.5 / 0.6 / 0.1 ;
-Aver=0.05975; StDev= 0.06233
-====================
-Coeff.PID= 0.5 / 0.5 / 0.1 ;
-Coeff.PID= 0.5 / 0.5 / 0.2 ;
-Aver=0.0585; StDev= 0.05035
-====================
-Aver=0.0585; StDev= 0.05035
-====================
-Aver=0.0585; StDev= 0.05035
-====================
-Coeff.PID= 0.5 / 0.5 / 0.3 ;
-Aver=0.05598; StDev= 0.05243
-======================================================================================
-
-Noise 5%
-
-single
-
-Aver=0.004416; StDev= 0.0434
-====================
-Aver=0.01064; StDev= 0.0447
-====================
-Coeff.PID= 0.5 / 0.5 / 0.3 ;
-Coeff.PID= 0.5 / 0.5 / 0.2 ;
-Coeff.PID= 0.5 / 0.5 / 0.1 ;
-Aver=-0.003049; StDev= 0.03781
-====================
-Coeff.PID= 0.5 / 0.5 / 2.78E-17 ;
-Coeff.PID= 0.5 / 0.5 / 0.1 ;
-Coeff.PID= 0.5 / 0.5 / 0 ;
-Coeff.PID= 0.5 / 0.5 / 0.1 ;
-Coeff.PID= 0.5 / 0.5 / 0 ;
-Aver=0.006282; StDev= 0.04671
-====================
-Coeff.PID= 0.5 / 0.5 / 0.1 ;
-Aver=0.004416; StDev= 0.04847
-====================
-Aver=-0.008648; StDev= 0.05004
-====================
-Aver=-0.004915; StDev= 0.05014
-====================
-Aver=6.15E-05; StDev= 0.04635
-====================
-
-double
-====================
-Coeff.PID= 0.5 / 0.5 / 0.2 ;
-Coeff.PID= 0.5 / 0.5 / 0.1 ;
-Aver=0.05975; StDev= 0.06957
-====================
-Coeff.PID= 0.5 / 0.5 / 0.2 ;
-Aver=0.06729; StDev= 0.07065
-====================
-Coeff.PID= 0.5 / 0.5 / 0.1 ;
-Aver=0.06227; StDev= 0.06195
-====================
-Coeff.PID= 0.5 / 0.5 / 0 ;
-Aver=0.06101; StDev= 0.07828
-====================
-Coeff.PID= 0.5 / 0.6 / 0 ;
-Aver=0.06227; StDev= 0.07594
-====================
-Coeff.PID= 0.5 / 0.5 / 0 ;
-Aver=0.05598; StDev= 0.06801
-====================
-Coeff.PID= 0.6 / 0.5 / 0 ;
-Aver=0.05096; StDev= 0.08315
-====================
-Coeff.PID= 0.5 / 0.5 / 0 ;
-Aver=0.06604; StDev= 0.05809
-====================
-Aver=0.05473; StDev= 0.06414
-=========================================================================
-
-Breathing
-PID 0.5/0.5/0
-
-Single
-20%
-Aver=0.1295; StDev= 0.06917
-====================
-30%
-Aver=0.1898; StDev= 0.09511
-====================
-40%
-Aver=0.2576; StDev= 0.1319
-====================
-
-double strobe
-20%
-AAver=0.05598; StDev= 0.05328
-====================
-30%
-Aver=0.05598; StDev= 0.05792
-====================
-40%
-Aver=0.05724; StDev= 0.05905
-====================
-Coeff.PID= 0.5 / 0.5 / 0.1 ;
-Aver=0.05598; StDev= 0.05626
-====================
-Coeff.PID= 0.5 / 0.5 / 0.2 ;
-Aver=0.0585; StDev= 0.05464
-====================
-Coeff.PID= 0.5 / 0.5 / 0.1 ;
-Coeff.PID= 0.5 / 0.5 / 0.2 ;
-Coeff.PID= 0.5 / 0.5 / 0.3 ;
-Aver=0.0585; StDev= 0.05398
-====================
-Coeff.PID= 0.5 / 0.5 / 0.4 ;
-Aver=0.0585; StDev= 0.05647
-====================
-Coeff.PID= 0.5 / 0.5 / 0.3 ;
-Aver=0.0585; StDev= 0.05398
-====================
-Aver=0.0585; StDev= 0.05398
-====================
-
-
+Single strobe
+
+Aver=0.05956; StDev= 0.04717
+====================
+Coeff.PID= 0.6 / 0 / 0 ;
+Coeff.PID= 0.7 / 0 / 0 ;
+Coeff.PID= 0.8 / 0 / 0 ;
+Coeff.PID= 0.9 / 0 / 0 ;
+Aver=0.05978; StDev= 0.0274
+====================
+Coeff.PID= 1 / 0 / 0 ;
+Aver=0.05854; StDev= 0.02413
+====================
+Coeff.PID= 1.1 / 0 / 0 ;
+Aver=0.05667; StDev= 0.02474
+====================
+Coeff.PID= 1 / 0 / 0 ;
+Coeff.PID= 0.9 / 0 / 0 ;
+Coeff.PID= 0.9 / 0.1 / 0 ;
+Coeff.PID= 0.9 / 0.2 / 0 ;
+Coeff.PID= 0.9 / 0.3 / 0 ;
+Coeff.PID= 0.8 / 0.3 / 0 ;
+Coeff.PID= 0.7 / 0.3 / 0 ;
+Aver=0.05854; StDev= 0.02324
+====================
+Coeff.PID= 0.6 / 0.3 / 0 ;
+Coeff.PID= 0.6 / 0.4 / 0 ;
+Aver=0.05667; StDev= 0.02436
+====================
+Coeff.PID= 0.6 / 0.3 / 0 ;
+Coeff.PID= 0.7 / 0.3 / 0 ;
+Aver=0.05667; StDev= 0.02319
+====================
+Coeff.PID= 0.8 / 0.3 / 0 ;
+Aver=0.05854; StDev= 0.02374
+====================
+Coeff.PID= 0.7 / 0.3 / 0 ;
+Coeff.PID= 0.7 / 0.4 / 0 ;
+Aver=0.05854; StDev= 0.02328
+====================
+Coeff.PID= 0.7 / 0.4 / 0.1 ;
+Coeff.PID= 0.7 / 0.4 / 0.2 ;
+Aver=0.05916; StDev= 0.02396
+====================
+Coeff.PID= 0.6 / 0.4 / 0.2 ;
+Coeff.PID= 0.6 / 0.3 / 0.2 ;
+Aver=0.05978; StDev= 0.02556
+====================
+Coeff.PID= 0.6 / 0.3 / 0.1 ;
+Aver=0.05854; StDev= 0.02642
+====================
+Coeff.PID= 0.6 / 0.4 / 0.1 ;
+Aver=0.05792; StDev= 0.0232
+====================
+Coeff.PID= 0.6 / 0.5 / 0.1 ;
+Aver=0.05916; StDev= 0.02301
+=======================================================================
+
+Double strobe
+Coeff.PID= 0.6 / 0 / 0 ;
+Coeff.PID= 0.6 / 0.1 / 0 ;
+Coeff.PID= 0.6 / 0.2 / 0 ;
+Coeff.PID= 0.6 / 0.3 / 0 ;
+Coeff.PID= 0.6 / 0.4 / 0 ;
+Coeff.PID= 0.6 / 0.5 / 0 ;
+Aver=-0.0005606; StDev= 0.02799
+====================
+Coeff.PID= 0.6 / 0.5 / 0.1 ;
+Aver=0.0006836; StDev= 0.02666
+====================
+Coeff.PID= 0.6 / 0.5 / 0.2 ;
+Aver=6.15E-05; StDev= 0.02704
+====================
+Coeff.PID= 0.5 / 0.5 / 0.2 ;
+Aver=0.0006836; StDev= 0.02762
+====================
+Coeff.PID= 0.5 / 0.6 / 0.2 ;
+Aver=-0.0005606; StDev= 0.02821
+====================
+Coeff.PID= 0.6 / 0.6 / 0.2 ;
+Coeff.PID= 0.6 / 0.5 / 0.2 ;
+Coeff.PID= 0.6 / 0.5 / 0.1 ;
+Aver=0.0006836; StDev= 0.02666
+====================
+Aver=0.0585; StDev= 0.05791
+====================
+Coeff.PID= 0.5 / 0.5 / 0.1 ;
+Aver=0.0585; StDev= 0.0512
+====================
+Coeff.PID= 0.4 / 0.5 / 0.1 ;
+Aver=0.05724; StDev= 0.0529
+====================
+Coeff.PID= 0.5 / 0.5 / 0.1 ;
+Aver=0.05724; StDev= 0.054
+====================
+Aver=0.0585; StDev= 0.0579
+====================
+Aver=0.0585; StDev= 0.0579
+====================
+Aver=0.0585; StDev= 0.0579
+====================
+Aver=0.0585; StDev= 0.0579
+====================
+Coeff.PID= 0.6 / 0.5 / 0.1 ;
+Aver=0.0585; StDev= 0.06175
+====================
+Coeff.PID= 0.5 / 0.5 / 0.1 ;
+Aver=0.0585; StDev= 0.0512
+====================
+Coeff.PID= 0.5 / 0.6 / 0.1 ;
+Aver=0.05975; StDev= 0.06233
+====================
+Coeff.PID= 0.5 / 0.5 / 0.1 ;
+Coeff.PID= 0.5 / 0.5 / 0.2 ;
+Aver=0.0585; StDev= 0.05035
+====================
+Aver=0.0585; StDev= 0.05035
+====================
+Aver=0.0585; StDev= 0.05035
+====================
+Coeff.PID= 0.5 / 0.5 / 0.3 ;
+Aver=0.05598; StDev= 0.05243
+======================================================================================
+
+Noise 5%
+
+single
+
+Aver=0.004416; StDev= 0.0434
+====================
+Aver=0.01064; StDev= 0.0447
+====================
+Coeff.PID= 0.5 / 0.5 / 0.3 ;
+Coeff.PID= 0.5 / 0.5 / 0.2 ;
+Coeff.PID= 0.5 / 0.5 / 0.1 ;
+Aver=-0.003049; StDev= 0.03781
+====================
+Coeff.PID= 0.5 / 0.5 / 2.78E-17 ;
+Coeff.PID= 0.5 / 0.5 / 0.1 ;
+Coeff.PID= 0.5 / 0.5 / 0 ;
+Coeff.PID= 0.5 / 0.5 / 0.1 ;
+Coeff.PID= 0.5 / 0.5 / 0 ;
+Aver=0.006282; StDev= 0.04671
+====================
+Coeff.PID= 0.5 / 0.5 / 0.1 ;
+Aver=0.004416; StDev= 0.04847
+====================
+Aver=-0.008648; StDev= 0.05004
+====================
+Aver=-0.004915; StDev= 0.05014
+====================
+Aver=6.15E-05; StDev= 0.04635
+====================
+
+double
+====================
+Coeff.PID= 0.5 / 0.5 / 0.2 ;
+Coeff.PID= 0.5 / 0.5 / 0.1 ;
+Aver=0.05975; StDev= 0.06957
+====================
+Coeff.PID= 0.5 / 0.5 / 0.2 ;
+Aver=0.06729; StDev= 0.07065
+====================
+Coeff.PID= 0.5 / 0.5 / 0.1 ;
+Aver=0.06227; StDev= 0.06195
+====================
+Coeff.PID= 0.5 / 0.5 / 0 ;
+Aver=0.06101; StDev= 0.07828
+====================
+Coeff.PID= 0.5 / 0.6 / 0 ;
+Aver=0.06227; StDev= 0.07594
+====================
+Coeff.PID= 0.5 / 0.5 / 0 ;
+Aver=0.05598; StDev= 0.06801
+====================
+Coeff.PID= 0.6 / 0.5 / 0 ;
+Aver=0.05096; StDev= 0.08315
+====================
+Coeff.PID= 0.5 / 0.5 / 0 ;
+Aver=0.06604; StDev= 0.05809
+====================
+Aver=0.05473; StDev= 0.06414
+=========================================================================
+
+Breathing
+PID 0.5/0.5/0
+
+Single
+20%
+Aver=0.1295; StDev= 0.06917
+====================
+30%
+Aver=0.1898; StDev= 0.09511
+====================
+40%
+Aver=0.2576; StDev= 0.1319
+====================
+
+double strobe
+20%
+AAver=0.05598; StDev= 0.05328
+====================
+30%
+Aver=0.05598; StDev= 0.05792
+====================
+40%
+Aver=0.05724; StDev= 0.05905
+====================
+Coeff.PID= 0.5 / 0.5 / 0.1 ;
+Aver=0.05598; StDev= 0.05626
+====================
+Coeff.PID= 0.5 / 0.5 / 0.2 ;
+Aver=0.0585; StDev= 0.05464
+====================
+Coeff.PID= 0.5 / 0.5 / 0.1 ;
+Coeff.PID= 0.5 / 0.5 / 0.2 ;
+Coeff.PID= 0.5 / 0.5 / 0.3 ;
+Aver=0.0585; StDev= 0.05398
+====================
+Coeff.PID= 0.5 / 0.5 / 0.4 ;
+Aver=0.0585; StDev= 0.05647
+====================
+Coeff.PID= 0.5 / 0.5 / 0.3 ;
+Aver=0.0585; StDev= 0.05398
+====================
+Aver=0.0585; StDev= 0.05398
+====================
+
+
diff --git a/Axel-probe/Axel-probe/Properties/AssemblyInfo.cs b/Axel-probe/Axel-probe/Properties/AssemblyInfo.cs
index c0b47f1d..3ebe0dd9 100644
--- a/Axel-probe/Axel-probe/Properties/AssemblyInfo.cs
+++ b/Axel-probe/Axel-probe/Properties/AssemblyInfo.cs
@@ -1,55 +1,55 @@
-using System.Reflection;
-using System.Resources;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-using System.Windows;
-
-// 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.
-[assembly: AssemblyTitle("Axel-probe")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("HP Inc.")]
-[assembly: AssemblyProduct("Axel-probe")]
-[assembly: AssemblyCopyright("Copyright © HP Inc. 2017")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-//In order to begin building localizable applications, set
-//CultureYouAreCodingWith in your .csproj file
-//inside a . For example, if you are using US english
-//in your source files, set the to en-US. Then uncomment
-//the NeutralResourceLanguage attribute below. Update the "en-US" in
-//the line below to match the UICulture setting in the project file.
-
-//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
-
-
-[assembly: ThemeInfo(
- ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
- //(used if a resource is not found in the page,
- // or application resource dictionaries)
- ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
- //(used if a resource is not found in the page,
- // app, or any theme specific resource dictionaries)
-)]
-
-
-// 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:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+using System.Reflection;
+using System.Resources;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using System.Windows;
+
+// 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.
+[assembly: AssemblyTitle("Axel-probe")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("HP Inc.")]
+[assembly: AssemblyProduct("Axel-probe")]
+[assembly: AssemblyCopyright("Copyright © HP Inc. 2017")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+//In order to begin building localizable applications, set
+//CultureYouAreCodingWith in your .csproj file
+//inside a . For example, if you are using US english
+//in your source files, set the to en-US. Then uncomment
+//the NeutralResourceLanguage attribute below. Update the "en-US" in
+//the line below to match the UICulture setting in the project file.
+
+//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
+
+
+[assembly: ThemeInfo(
+ ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
+ //(used if a resource is not found in the page,
+ // or application resource dictionaries)
+ ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
+ //(used if a resource is not found in the page,
+ // app, or any theme specific resource dictionaries)
+)]
+
+
+// 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:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/Axel-probe/Axel-probe/Properties/Resources.Designer.cs b/Axel-probe/Axel-probe/Properties/Resources.Designer.cs
index d8fb84cf..aff0936f 100644
--- a/Axel-probe/Axel-probe/Properties/Resources.Designer.cs
+++ b/Axel-probe/Axel-probe/Properties/Resources.Designer.cs
@@ -1,71 +1,71 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-namespace Axel_probe.Properties
-{
-
-
- ///
- /// A strongly-typed resource class, for looking up localized strings, etc.
- ///
- // 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.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- internal class Resources
- {
-
- private static global::System.Resources.ResourceManager resourceMan;
-
- private static global::System.Globalization.CultureInfo resourceCulture;
-
- [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
- internal Resources()
- {
- }
-
- ///
- /// Returns the cached ResourceManager instance used by this class.
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Resources.ResourceManager ResourceManager
- {
- get
- {
- if ((resourceMan == null))
- {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Axel_probe.Properties.Resources", typeof(Resources).Assembly);
- resourceMan = temp;
- }
- return resourceMan;
- }
- }
-
- ///
- /// Overrides the current thread's CurrentUICulture property for all
- /// resource lookups using this strongly typed resource class.
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Globalization.CultureInfo Culture
- {
- get
- {
- return resourceCulture;
- }
- set
- {
- resourceCulture = value;
- }
- }
- }
-}
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace Axel_probe.Properties
+{
+
+
+ ///
+ /// A strongly-typed resource class, for looking up localized strings, etc.
+ ///
+ // 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.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Resources
+ {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources()
+ {
+ }
+
+ ///
+ /// Returns the cached ResourceManager instance used by this class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager
+ {
+ get
+ {
+ if ((resourceMan == null))
+ {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Axel_probe.Properties.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// Overrides the current thread's CurrentUICulture property for all
+ /// resource lookups using this strongly typed resource class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture
+ {
+ get
+ {
+ return resourceCulture;
+ }
+ set
+ {
+ resourceCulture = value;
+ }
+ }
+ }
+}
diff --git a/Axel-probe/Axel-probe/Properties/Resources.resx b/Axel-probe/Axel-probe/Properties/Resources.resx
index ffecec85..af7dbebb 100644
--- a/Axel-probe/Axel-probe/Properties/Resources.resx
+++ b/Axel-probe/Axel-probe/Properties/Resources.resx
@@ -1,117 +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
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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/Axel-probe/Axel-probe/Properties/Settings.Designer.cs b/Axel-probe/Axel-probe/Properties/Settings.Designer.cs
index 21af4ed5..4cf7f03a 100644
--- a/Axel-probe/Axel-probe/Properties/Settings.Designer.cs
+++ b/Axel-probe/Axel-probe/Properties/Settings.Designer.cs
@@ -1,30 +1,30 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-namespace Axel_probe.Properties
-{
-
-
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
- internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
- {
-
- private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
-
- public static Settings Default
- {
- get
- {
- return defaultInstance;
- }
- }
- }
-}
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace Axel_probe.Properties
+{
+
+
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
+ internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
+ {
+
+ private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+
+ public static Settings Default
+ {
+ get
+ {
+ return defaultInstance;
+ }
+ }
+ }
+}
diff --git a/Axel-probe/Axel-probe/Properties/Settings.settings b/Axel-probe/Axel-probe/Properties/Settings.settings
index 8f2fd95d..033d7a5e 100644
--- a/Axel-probe/Axel-probe/Properties/Settings.settings
+++ b/Axel-probe/Axel-probe/Properties/Settings.settings
@@ -1,7 +1,7 @@
-
-
-
-
-
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Axel-probe/Axel-probe/Properties/licenses.licx b/Axel-probe/Axel-probe/Properties/licenses.licx
index 2b837ad7..f5317110 100644
--- a/Axel-probe/Axel-probe/Properties/licenses.licx
+++ b/Axel-probe/Axel-probe/Properties/licenses.licx
@@ -1,8 +1,8 @@
-# The following section of this file was auto-generated by Measurement Studio. Do not edit or remove this file from the project.
-# This file is used for licensing Measurement Studio components.
-# Begin Measurement Studio licenses
-NationalInstruments.Restricted.AnalysisLicenser, NationalInstruments.Analysis.Enterprise, Version=15.0.45.49153, Culture=neutral, PublicKeyToken=4febd62461bf11a4
-NationalInstruments.Controls.Internal.WpfEnterpriseLicenser, NationalInstruments.Controls, Version=15.0.45.3898, Culture=neutral, PublicKeyToken=4febd62461bf11a4
-NationalInstruments.Controls.Internal.WpfProfessionalLicenser, NationalInstruments.Controls, Version=15.0.45.3898, Culture=neutral, PublicKeyToken=4febd62461bf11a4
-NationalInstruments.Controls.Internal.WpfStandardLicenser, NationalInstruments.Controls, Version=15.0.45.3898, Culture=neutral, PublicKeyToken=4febd62461bf11a4
-# End Measurement Studio licenses
+# The following section of this file was auto-generated by Measurement Studio. Do not edit or remove this file from the project.
+# This file is used for licensing Measurement Studio components.
+# Begin Measurement Studio licenses
+NationalInstruments.Restricted.AnalysisLicenser, NationalInstruments.Analysis.Enterprise, Version=15.0.45.49153, Culture=neutral, PublicKeyToken=4febd62461bf11a4
+NationalInstruments.Controls.Internal.WpfEnterpriseLicenser, NationalInstruments.Controls, Version=15.0.45.3898, Culture=neutral, PublicKeyToken=4febd62461bf11a4
+NationalInstruments.Controls.Internal.WpfProfessionalLicenser, NationalInstruments.Controls, Version=15.0.45.3898, Culture=neutral, PublicKeyToken=4febd62461bf11a4
+NationalInstruments.Controls.Internal.WpfStandardLicenser, NationalInstruments.Controls, Version=15.0.45.3898, Culture=neutral, PublicKeyToken=4febd62461bf11a4
+# End Measurement Studio licenses
diff --git a/Axel-probe/Axel-probe/bin/Debug/Axel-probe.exe b/Axel-probe/Axel-probe/bin/Debug/Axel-probe.exe
index bf65b8dc..5c0e4069 100644
Binary files a/Axel-probe/Axel-probe/bin/Debug/Axel-probe.exe and b/Axel-probe/Axel-probe/bin/Debug/Axel-probe.exe differ
diff --git a/Axel-probe/Axel-probe/bin/Debug/Axel-probe.exe.config b/Axel-probe/Axel-probe/bin/Debug/Axel-probe.exe.config
index fad249e4..8e156463 100644
--- a/Axel-probe/Axel-probe/bin/Debug/Axel-probe.exe.config
+++ b/Axel-probe/Axel-probe/bin/Debug/Axel-probe.exe.config
@@ -1,6 +1,6 @@
-
-
-
-
-
+
+
+
+
+
\ No newline at end of file
diff --git a/Axel-probe/Axel-probe/bin/Debug/Axel-probe.pdb b/Axel-probe/Axel-probe/bin/Debug/Axel-probe.pdb
index e96cb892..d528d40f 100644
Binary files a/Axel-probe/Axel-probe/bin/Debug/Axel-probe.pdb and b/Axel-probe/Axel-probe/bin/Debug/Axel-probe.pdb differ
diff --git a/Axel-probe/Axel-probe/bin/Debug/Axel-probe.vshost.exe.config b/Axel-probe/Axel-probe/bin/Debug/Axel-probe.vshost.exe.config
index fad249e4..8e156463 100644
--- a/Axel-probe/Axel-probe/bin/Debug/Axel-probe.vshost.exe.config
+++ b/Axel-probe/Axel-probe/bin/Debug/Axel-probe.vshost.exe.config
@@ -1,6 +1,6 @@
-
-
-
-
-
+
+
+
+
+
\ No newline at end of file
diff --git a/Axel-probe/Axel-probe/bin/Debug/Axel-probe.vshost.exe.manifest b/Axel-probe/Axel-probe/bin/Debug/Axel-probe.vshost.exe.manifest
deleted file mode 100644
index f96b1d6b..00000000
--- a/Axel-probe/Axel-probe/bin/Debug/Axel-probe.vshost.exe.manifest
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Axel-probe/Axel-probe/obj/Debug/App.g.cs b/Axel-probe/Axel-probe/obj/Debug/App.g.cs
index bce44fe9..45657f47 100644
--- a/Axel-probe/Axel-probe/obj/Debug/App.g.cs
+++ b/Axel-probe/Axel-probe/obj/Debug/App.g.cs
@@ -1,69 +1,69 @@
-#pragma checksum "..\..\App.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "24155533F5AC903D7C4F2A556E916076"
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-using System;
-using System.Diagnostics;
-using System.Windows;
-using System.Windows.Automation;
-using System.Windows.Controls;
-using System.Windows.Controls.Primitives;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Ink;
-using System.Windows.Input;
-using System.Windows.Markup;
-using System.Windows.Media;
-using System.Windows.Media.Animation;
-using System.Windows.Media.Effects;
-using System.Windows.Media.Imaging;
-using System.Windows.Media.Media3D;
-using System.Windows.Media.TextFormatting;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
-using System.Windows.Shell;
-
-
-namespace Axel_probe {
-
-
- ///
- /// App
- ///
- public partial class App : System.Windows.Application {
-
- ///
- /// InitializeComponent
- ///
- [System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
- public void InitializeComponent() {
-
- #line 4 "..\..\App.xaml"
- this.StartupUri = new System.Uri("MainWindow.xaml", System.UriKind.Relative);
-
- #line default
- #line hidden
- }
-
- ///
- /// Application Entry Point.
- ///
- [System.STAThreadAttribute()]
- [System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
- public static void Main() {
- Axel_probe.App app = new Axel_probe.App();
- app.InitializeComponent();
- app.Run();
- }
- }
-}
-
+#pragma checksum "..\..\App.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "24155533F5AC903D7C4F2A556E916076"
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using System;
+using System.Diagnostics;
+using System.Windows;
+using System.Windows.Automation;
+using System.Windows.Controls;
+using System.Windows.Controls.Primitives;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Ink;
+using System.Windows.Input;
+using System.Windows.Markup;
+using System.Windows.Media;
+using System.Windows.Media.Animation;
+using System.Windows.Media.Effects;
+using System.Windows.Media.Imaging;
+using System.Windows.Media.Media3D;
+using System.Windows.Media.TextFormatting;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using System.Windows.Shell;
+
+
+namespace Axel_probe {
+
+
+ ///
+ /// App
+ ///
+ public partial class App : System.Windows.Application {
+
+ ///
+ /// InitializeComponent
+ ///
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
+ public void InitializeComponent() {
+
+ #line 4 "..\..\App.xaml"
+ this.StartupUri = new System.Uri("MainWindow.xaml", System.UriKind.Relative);
+
+ #line default
+ #line hidden
+ }
+
+ ///
+ /// Application Entry Point.
+ ///
+ [System.STAThreadAttribute()]
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
+ public static void Main() {
+ Axel_probe.App app = new Axel_probe.App();
+ app.InitializeComponent();
+ app.Run();
+ }
+ }
+}
+
diff --git a/Axel-probe/Axel-probe/obj/Debug/App.g.i.cs b/Axel-probe/Axel-probe/obj/Debug/App.g.i.cs
index bce44fe9..45657f47 100644
--- a/Axel-probe/Axel-probe/obj/Debug/App.g.i.cs
+++ b/Axel-probe/Axel-probe/obj/Debug/App.g.i.cs
@@ -1,69 +1,69 @@
-#pragma checksum "..\..\App.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "24155533F5AC903D7C4F2A556E916076"
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-using System;
-using System.Diagnostics;
-using System.Windows;
-using System.Windows.Automation;
-using System.Windows.Controls;
-using System.Windows.Controls.Primitives;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Ink;
-using System.Windows.Input;
-using System.Windows.Markup;
-using System.Windows.Media;
-using System.Windows.Media.Animation;
-using System.Windows.Media.Effects;
-using System.Windows.Media.Imaging;
-using System.Windows.Media.Media3D;
-using System.Windows.Media.TextFormatting;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
-using System.Windows.Shell;
-
-
-namespace Axel_probe {
-
-
- ///
- /// App
- ///
- public partial class App : System.Windows.Application {
-
- ///
- /// InitializeComponent
- ///
- [System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
- public void InitializeComponent() {
-
- #line 4 "..\..\App.xaml"
- this.StartupUri = new System.Uri("MainWindow.xaml", System.UriKind.Relative);
-
- #line default
- #line hidden
- }
-
- ///
- /// Application Entry Point.
- ///
- [System.STAThreadAttribute()]
- [System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
- public static void Main() {
- Axel_probe.App app = new Axel_probe.App();
- app.InitializeComponent();
- app.Run();
- }
- }
-}
-
+#pragma checksum "..\..\App.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "24155533F5AC903D7C4F2A556E916076"
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using System;
+using System.Diagnostics;
+using System.Windows;
+using System.Windows.Automation;
+using System.Windows.Controls;
+using System.Windows.Controls.Primitives;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Ink;
+using System.Windows.Input;
+using System.Windows.Markup;
+using System.Windows.Media;
+using System.Windows.Media.Animation;
+using System.Windows.Media.Effects;
+using System.Windows.Media.Imaging;
+using System.Windows.Media.Media3D;
+using System.Windows.Media.TextFormatting;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using System.Windows.Shell;
+
+
+namespace Axel_probe {
+
+
+ ///
+ /// App
+ ///
+ public partial class App : System.Windows.Application {
+
+ ///
+ /// InitializeComponent
+ ///
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
+ public void InitializeComponent() {
+
+ #line 4 "..\..\App.xaml"
+ this.StartupUri = new System.Uri("MainWindow.xaml", System.UriKind.Relative);
+
+ #line default
+ #line hidden
+ }
+
+ ///
+ /// Application Entry Point.
+ ///
+ [System.STAThreadAttribute()]
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
+ public static void Main() {
+ Axel_probe.App app = new Axel_probe.App();
+ app.InitializeComponent();
+ app.Run();
+ }
+ }
+}
+
diff --git a/Axel-probe/Axel-probe/obj/Debug/Axel-probe.csproj.FileListAbsolute.txt b/Axel-probe/Axel-probe/obj/Debug/Axel-probe.csproj.FileListAbsolute.txt
index bf73e4dd..e850f8bd 100644
--- a/Axel-probe/Axel-probe/obj/Debug/Axel-probe.csproj.FileListAbsolute.txt
+++ b/Axel-probe/Axel-probe/obj/Debug/Axel-probe.csproj.FileListAbsolute.txt
@@ -1,28 +1,35 @@
-E:\VSprojects\Axel-probe\Axel-probe\bin\Debug\Axel-probe.exe.config
-E:\VSprojects\Axel-probe\Axel-probe\bin\Debug\Axel-probe.exe
-E:\VSprojects\Axel-probe\Axel-probe\bin\Debug\Axel-probe.pdb
-E:\VSprojects\Axel-probe\Axel-probe\obj\Debug\Axel-probe.csprojResolveAssemblyReference.cache
-E:\VSprojects\Axel-probe\Axel-probe\obj\Debug\MainWindow.baml
-E:\VSprojects\Axel-probe\Axel-probe\obj\Debug\MainWindow.g.cs
-E:\VSprojects\Axel-probe\Axel-probe\obj\Debug\App.g.cs
-E:\VSprojects\Axel-probe\Axel-probe\obj\Debug\Axel-probe_MarkupCompile.cache
-E:\VSprojects\Axel-probe\Axel-probe\obj\Debug\Axel-probe.g.resources
-E:\VSprojects\Axel-probe\Axel-probe\obj\Debug\Axel_probe.Properties.Resources.resources
-E:\VSprojects\Axel-probe\Axel-probe\obj\Debug\Axel-probe.csproj.GenerateResource.Cache
-E:\VSprojects\Axel-probe\Axel-probe\obj\Debug\Axel-probe.exe.licenses
-E:\VSprojects\Axel-probe\Axel-probe\obj\Debug\Axel-probe.exe
-E:\VSprojects\Axel-probe\Axel-probe\obj\Debug\Axel-probe.pdb
-E:\VSprojects\AxelSuite\Axel-probe\Axel-probe\bin\Debug\Axel-probe.exe.config
-E:\VSprojects\AxelSuite\Axel-probe\Axel-probe\obj\Debug\Axel-probe.exe
-E:\VSprojects\AxelSuite\Axel-probe\Axel-probe\obj\Debug\Axel-probe.pdb
-E:\VSprojects\AxelSuite\Axel-probe\Axel-probe\bin\Debug\Axel-probe.exe
-E:\VSprojects\AxelSuite\Axel-probe\Axel-probe\bin\Debug\Axel-probe.pdb
-E:\VSprojects\AxelSuite\Axel-probe\Axel-probe\obj\Debug\Axel-probe.csprojResolveAssemblyReference.cache
-E:\VSprojects\AxelSuite\Axel-probe\Axel-probe\obj\Debug\MainWindow.baml
-E:\VSprojects\AxelSuite\Axel-probe\Axel-probe\obj\Debug\MainWindow.g.cs
-E:\VSprojects\AxelSuite\Axel-probe\Axel-probe\obj\Debug\App.g.cs
-E:\VSprojects\AxelSuite\Axel-probe\Axel-probe\obj\Debug\Axel-probe_MarkupCompile.cache
-E:\VSprojects\AxelSuite\Axel-probe\Axel-probe\obj\Debug\Axel-probe.g.resources
-E:\VSprojects\AxelSuite\Axel-probe\Axel-probe\obj\Debug\Axel_probe.Properties.Resources.resources
-E:\VSprojects\AxelSuite\Axel-probe\Axel-probe\obj\Debug\Axel-probe.csproj.GenerateResource.Cache
-E:\VSprojects\AxelSuite\Axel-probe\Axel-probe\obj\Debug\Axel-probe.exe.licenses
+E:\VSprojects\Axel-probe\Axel-probe\bin\Debug\Axel-probe.exe.config
+E:\VSprojects\Axel-probe\Axel-probe\bin\Debug\Axel-probe.exe
+E:\VSprojects\Axel-probe\Axel-probe\bin\Debug\Axel-probe.pdb
+E:\VSprojects\Axel-probe\Axel-probe\obj\Debug\Axel-probe.csprojResolveAssemblyReference.cache
+E:\VSprojects\Axel-probe\Axel-probe\obj\Debug\MainWindow.baml
+E:\VSprojects\Axel-probe\Axel-probe\obj\Debug\MainWindow.g.cs
+E:\VSprojects\Axel-probe\Axel-probe\obj\Debug\App.g.cs
+E:\VSprojects\Axel-probe\Axel-probe\obj\Debug\Axel-probe_MarkupCompile.cache
+E:\VSprojects\Axel-probe\Axel-probe\obj\Debug\Axel-probe.g.resources
+E:\VSprojects\Axel-probe\Axel-probe\obj\Debug\Axel_probe.Properties.Resources.resources
+E:\VSprojects\Axel-probe\Axel-probe\obj\Debug\Axel-probe.csproj.GenerateResource.Cache
+E:\VSprojects\Axel-probe\Axel-probe\obj\Debug\Axel-probe.exe.licenses
+E:\VSprojects\Axel-probe\Axel-probe\obj\Debug\Axel-probe.exe
+E:\VSprojects\Axel-probe\Axel-probe\obj\Debug\Axel-probe.pdb
+E:\VSprojects\AxelSuite\Axel-probe\Axel-probe\bin\Debug\Axel-probe.exe.config
+E:\VSprojects\AxelSuite\Axel-probe\Axel-probe\obj\Debug\Axel-probe.exe
+E:\VSprojects\AxelSuite\Axel-probe\Axel-probe\obj\Debug\Axel-probe.pdb
+E:\VSprojects\AxelSuite\Axel-probe\Axel-probe\bin\Debug\Axel-probe.exe
+E:\VSprojects\AxelSuite\Axel-probe\Axel-probe\bin\Debug\Axel-probe.pdb
+E:\VSprojects\AxelSuite\Axel-probe\Axel-probe\obj\Debug\Axel-probe.csprojResolveAssemblyReference.cache
+E:\VSprojects\AxelSuite\Axel-probe\Axel-probe\obj\Debug\MainWindow.baml
+E:\VSprojects\AxelSuite\Axel-probe\Axel-probe\obj\Debug\MainWindow.g.cs
+E:\VSprojects\AxelSuite\Axel-probe\Axel-probe\obj\Debug\App.g.cs
+E:\VSprojects\AxelSuite\Axel-probe\Axel-probe\obj\Debug\Axel-probe_MarkupCompile.cache
+E:\VSprojects\AxelSuite\Axel-probe\Axel-probe\obj\Debug\Axel-probe.g.resources
+E:\VSprojects\AxelSuite\Axel-probe\Axel-probe\obj\Debug\Axel_probe.Properties.Resources.resources
+E:\VSprojects\AxelSuite\Axel-probe\Axel-probe\obj\Debug\Axel-probe.csproj.GenerateResource.Cache
+E:\VSprojects\AxelSuite\Axel-probe\Axel-probe\obj\Debug\Axel-probe.exe.licenses
+E:\VSprojects\AxelSuite\Axel-probe\Axel-probe\bin\Debug\scanHub.dll
+E:\VSprojects\AxelSuite\Axel-probe\Axel-probe\bin\Debug\UtilsLib.dll
+E:\VSprojects\AxelSuite\Axel-probe\Axel-probe\bin\Debug\scanHub.pdb
+E:\VSprojects\AxelSuite\Axel-probe\Axel-probe\bin\Debug\UtilsLib.pdb
+E:\VSprojects\AxelSuite\Axel-probe\Axel-probe\bin\Debug\Newtonsoft.Json.dll
+E:\VSprojects\AxelSuite\Axel-probe\Axel-probe\bin\Debug\Newtonsoft.Json.pdb
+E:\VSprojects\AxelSuite\Axel-probe\Axel-probe\bin\Debug\Newtonsoft.Json.xml
diff --git a/Axel-probe/Axel-probe/obj/Debug/Axel-probe.csprojResolveAssemblyReference.cache b/Axel-probe/Axel-probe/obj/Debug/Axel-probe.csprojResolveAssemblyReference.cache
index f627262f..bf91fe7c 100644
Binary files a/Axel-probe/Axel-probe/obj/Debug/Axel-probe.csprojResolveAssemblyReference.cache and b/Axel-probe/Axel-probe/obj/Debug/Axel-probe.csprojResolveAssemblyReference.cache differ
diff --git a/Axel-probe/Axel-probe/obj/Debug/Axel-probe.exe b/Axel-probe/Axel-probe/obj/Debug/Axel-probe.exe
index bf65b8dc..5c0e4069 100644
Binary files a/Axel-probe/Axel-probe/obj/Debug/Axel-probe.exe and b/Axel-probe/Axel-probe/obj/Debug/Axel-probe.exe differ
diff --git a/Axel-probe/Axel-probe/obj/Debug/Axel-probe.g.resources b/Axel-probe/Axel-probe/obj/Debug/Axel-probe.g.resources
index a3877710..5fe9fdb5 100644
Binary files a/Axel-probe/Axel-probe/obj/Debug/Axel-probe.g.resources and b/Axel-probe/Axel-probe/obj/Debug/Axel-probe.g.resources differ
diff --git a/Axel-probe/Axel-probe/obj/Debug/Axel-probe.pdb b/Axel-probe/Axel-probe/obj/Debug/Axel-probe.pdb
index e96cb892..d528d40f 100644
Binary files a/Axel-probe/Axel-probe/obj/Debug/Axel-probe.pdb and b/Axel-probe/Axel-probe/obj/Debug/Axel-probe.pdb differ
diff --git a/Axel-probe/Axel-probe/obj/Debug/Axel-probe_Content.g.i.cs b/Axel-probe/Axel-probe/obj/Debug/Axel-probe_Content.g.i.cs
index 1f380400..201d619e 100644
--- a/Axel-probe/Axel-probe/obj/Debug/Axel-probe_Content.g.i.cs
+++ b/Axel-probe/Axel-probe/obj/Debug/Axel-probe_Content.g.i.cs
@@ -1,13 +1,13 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-[assembly: System.Windows.Resources.AssemblyAssociatedContentFileAttribute("dashboard_widgets_speed_fs7_icon.ico")]
-
-
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+[assembly: System.Windows.Resources.AssemblyAssociatedContentFileAttribute("dashboard_widgets_speed_fs7_icon.ico")]
+
+
diff --git a/Axel-probe/Axel-probe/obj/Debug/Axel-probe_MarkupCompile.cache b/Axel-probe/Axel-probe/obj/Debug/Axel-probe_MarkupCompile.cache
index a152732a..55c6c845 100644
--- a/Axel-probe/Axel-probe/obj/Debug/Axel-probe_MarkupCompile.cache
+++ b/Axel-probe/Axel-probe/obj/Debug/Axel-probe_MarkupCompile.cache
@@ -1,20 +1,20 @@
-Axel-probe
-
-
-winexe
-C#
-.cs
-E:\VSprojects\AxelSuite\Axel-probe\Axel-probe\obj\Debug\
-Axel_probe
-none
-false
-DEBUG;TRACE
-E:\VSprojects\AxelSuite\Axel-probe\Axel-probe\App.xaml
-11151548125
-
-5-2017746502
-2328304690
-MainWindow.xaml;
-
-False
-
+Axel-probe
+
+
+winexe
+C#
+.cs
+E:\VSprojects\AxelSuite\Axel-probe\Axel-probe\obj\Debug\
+Axel_probe
+none
+false
+DEBUG;TRACE
+E:\VSprojects\AxelSuite\Axel-probe\Axel-probe\App.xaml
+11151548125
+
+740271437
+26-1165068113
+MainWindow.xaml;
+
+False
+
diff --git a/Axel-probe/Axel-probe/obj/Debug/Axel-probe_MarkupCompile.i.cache b/Axel-probe/Axel-probe/obj/Debug/Axel-probe_MarkupCompile.i.cache
index dbfb6d15..974b6d24 100644
--- a/Axel-probe/Axel-probe/obj/Debug/Axel-probe_MarkupCompile.i.cache
+++ b/Axel-probe/Axel-probe/obj/Debug/Axel-probe_MarkupCompile.i.cache
@@ -1,20 +1,20 @@
-Axel-probe
-
-
-winexe
-C#
-.cs
-E:\VSprojects\AxelSuite\Axel-probe\Axel-probe\obj\Debug\
-Axel_probe
-none
-false
-DEBUG;TRACE
-E:\VSprojects\AxelSuite\Axel-probe\Axel-probe\App.xaml
-11151548125
-
-9-2128094089
-2328304690
-MainWindow.xaml;
-
-False
-
+Axel-probe
+
+
+winexe
+C#
+.cs
+E:\VSprojects\AxelSuite\Axel-probe\Axel-probe\obj\Debug\
+Axel_probe
+none
+false
+DEBUG;TRACE
+E:\VSprojects\AxelSuite\Axel-probe\Axel-probe\App.xaml
+11151548125
+
+11-70076150
+26-1165068113
+MainWindow.xaml;
+
+False
+
diff --git a/Axel-probe/Axel-probe/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/Axel-probe/Axel-probe/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
index 4c3728d7..0562c5cd 100644
Binary files a/Axel-probe/Axel-probe/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache and b/Axel-probe/Axel-probe/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ
diff --git a/Axel-probe/Axel-probe/obj/Debug/MainWindow.baml b/Axel-probe/Axel-probe/obj/Debug/MainWindow.baml
index 22aea07b..2dd00062 100644
Binary files a/Axel-probe/Axel-probe/obj/Debug/MainWindow.baml and b/Axel-probe/Axel-probe/obj/Debug/MainWindow.baml differ
diff --git a/Axel-probe/Axel-probe/obj/Debug/MainWindow.g.cs b/Axel-probe/Axel-probe/obj/Debug/MainWindow.g.cs
index 373bc26c..4ba118c1 100644
--- a/Axel-probe/Axel-probe/obj/Debug/MainWindow.g.cs
+++ b/Axel-probe/Axel-probe/obj/Debug/MainWindow.g.cs
@@ -1,464 +1,577 @@
-#pragma checksum "..\..\MainWindow.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "0A05052568E3E3EA7670B6C03582FFC9"
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-using NationalInstruments.Controls;
-using NationalInstruments.Controls.Rendering;
-using System;
-using System.Diagnostics;
-using System.Windows;
-using System.Windows.Automation;
-using System.Windows.Controls;
-using System.Windows.Controls.Primitives;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Ink;
-using System.Windows.Input;
-using System.Windows.Markup;
-using System.Windows.Media;
-using System.Windows.Media.Animation;
-using System.Windows.Media.Effects;
-using System.Windows.Media.Imaging;
-using System.Windows.Media.Media3D;
-using System.Windows.Media.TextFormatting;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
-using System.Windows.Shell;
-
-
-namespace Axel_probe {
-
-
- ///
- /// MainWindow
- ///
- public partial class MainWindow : System.Windows.Window, System.Windows.Markup.IComponentConnector {
-
-
- #line 4 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal Axel_probe.MainWindow frmMain;
-
- #line default
- #line hidden
-
-
- #line 16 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.NumericTextBoxDouble ndRange;
-
- #line default
- #line hidden
-
-
- #line 18 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.NumericTextBoxDouble ndPeriod;
-
- #line default
- #line hidden
-
-
- #line 20 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.NumericTextBoxDouble ndStep;
-
- #line default
- #line hidden
-
-
- #line 21 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Button btnRun;
-
- #line default
- #line hidden
-
-
- #line 22 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.ComboBox cbFinite;
-
- #line default
- #line hidden
-
-
- #line 26 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.CheckBox chkPause;
-
- #line default
- #line hidden
-
-
- #line 27 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.ComboBox cbDriftType;
-
- #line default
- #line hidden
-
-
- #line 35 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.CheckBox chkAddGauss;
-
- #line default
- #line hidden
-
-
- #line 37 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.NumericTextBoxDouble ndGaussSigma;
-
- #line default
- #line hidden
-
-
- #line 42 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.CheckBox chkVaryAmpl;
-
- #line default
- #line hidden
-
-
- #line 48 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.NumericTextBoxDouble ndBreatheAmpl;
-
- #line default
- #line hidden
-
-
- #line 50 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.NumericTextBoxDouble ndBreathePeriod;
-
- #line default
- #line hidden
-
-
- #line 56 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.NumericTextBoxDouble ndDelay;
-
- #line default
- #line hidden
-
-
- #line 62 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.CheckBox chkLog;
-
- #line default
- #line hidden
-
-
- #line 63 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TextBox tbLog;
-
- #line default
- #line hidden
-
-
- #line 64 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Button btnClear;
-
- #line default
- #line hidden
-
-
- #line 76 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.Graph grFringes;
-
- #line default
- #line hidden
-
-
- #line 81 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.MultiPlotCursor crsFringes1;
-
- #line default
- #line hidden
-
-
- #line 86 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.MultiPlotCursor crsFringes2;
-
- #line default
- #line hidden
-
-
- #line 93 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TabControl tcStrobes;
-
- #line default
- #line hidden
-
-
- #line 96 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.ComboBox cbHillPos;
-
- #line default
- #line hidden
-
-
- #line 111 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.NumericTextBoxDouble ndKP;
-
- #line default
- #line hidden
-
-
- #line 113 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.NumericTextBoxDouble ndKI;
-
- #line default
- #line hidden
-
-
- #line 116 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.NumericTextBoxDouble ndKD;
-
- #line default
- #line hidden
-
-
- #line 117 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.CheckBox chkFollowPID;
-
- #line default
- #line hidden
-
-
- #line 120 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.Graph grRslt;
-
- #line default
- #line hidden
-
-
- #line 134 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.AxisDouble yAxis1;
-
- #line default
- #line hidden
-
-
- #line 135 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.AxisDouble yAxis2;
-
- #line default
- #line hidden
-
- private bool _contentLoaded;
-
- ///
- /// InitializeComponent
- ///
- [System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
- public void InitializeComponent() {
- if (_contentLoaded) {
- return;
- }
- _contentLoaded = true;
- System.Uri resourceLocater = new System.Uri("/Axel-probe;component/mainwindow.xaml", System.UriKind.Relative);
-
- #line 1 "..\..\MainWindow.xaml"
- System.Windows.Application.LoadComponent(this, resourceLocater);
-
- #line default
- #line hidden
- }
-
- [System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
- [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
- void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
- switch (connectionId)
- {
- case 1:
- this.frmMain = ((Axel_probe.MainWindow)(target));
-
- #line 5 "..\..\MainWindow.xaml"
- this.frmMain.Closing += new System.ComponentModel.CancelEventHandler(this.frmMain_Closing);
-
- #line default
- #line hidden
- return;
- case 2:
- this.ndRange = ((NationalInstruments.Controls.NumericTextBoxDouble)(target));
-
- #line 16 "..\..\MainWindow.xaml"
- this.ndRange.KeyDown += new System.Windows.Input.KeyEventHandler(this.ndRange_KeyDown);
-
- #line default
- #line hidden
- return;
- case 3:
- this.ndPeriod = ((NationalInstruments.Controls.NumericTextBoxDouble)(target));
-
- #line 18 "..\..\MainWindow.xaml"
- this.ndPeriod.KeyDown += new System.Windows.Input.KeyEventHandler(this.ndRange_KeyDown);
-
- #line default
- #line hidden
- return;
- case 4:
- this.ndStep = ((NationalInstruments.Controls.NumericTextBoxDouble)(target));
-
- #line 20 "..\..\MainWindow.xaml"
- this.ndStep.KeyDown += new System.Windows.Input.KeyEventHandler(this.ndRange_KeyDown);
-
- #line default
- #line hidden
- return;
- case 5:
- this.btnRun = ((System.Windows.Controls.Button)(target));
-
- #line 21 "..\..\MainWindow.xaml"
- this.btnRun.Click += new System.Windows.RoutedEventHandler(this.btnRun_Click);
-
- #line default
- #line hidden
- return;
- case 6:
- this.cbFinite = ((System.Windows.Controls.ComboBox)(target));
- return;
- case 7:
- this.chkPause = ((System.Windows.Controls.CheckBox)(target));
- return;
- case 8:
- this.cbDriftType = ((System.Windows.Controls.ComboBox)(target));
- return;
- case 9:
- this.chkAddGauss = ((System.Windows.Controls.CheckBox)(target));
- return;
- case 10:
- this.ndGaussSigma = ((NationalInstruments.Controls.NumericTextBoxDouble)(target));
- return;
- case 11:
- this.chkVaryAmpl = ((System.Windows.Controls.CheckBox)(target));
- return;
- case 12:
- this.ndBreatheAmpl = ((NationalInstruments.Controls.NumericTextBoxDouble)(target));
- return;
- case 13:
- this.ndBreathePeriod = ((NationalInstruments.Controls.NumericTextBoxDouble)(target));
- return;
- case 14:
- this.ndDelay = ((NationalInstruments.Controls.NumericTextBoxDouble)(target));
- return;
- case 15:
- this.chkLog = ((System.Windows.Controls.CheckBox)(target));
- return;
- case 16:
- this.tbLog = ((System.Windows.Controls.TextBox)(target));
- return;
- case 17:
- this.btnClear = ((System.Windows.Controls.Button)(target));
-
- #line 64 "..\..\MainWindow.xaml"
- this.btnClear.Click += new System.Windows.RoutedEventHandler(this.btnClear_Click);
-
- #line default
- #line hidden
- return;
- case 18:
- this.grFringes = ((NationalInstruments.Controls.Graph)(target));
-
- #line 76 "..\..\MainWindow.xaml"
- this.grFringes.MouseDoubleClick += new System.Windows.Input.MouseButtonEventHandler(this.grFringes_MouseDoubleClick);
-
- #line default
- #line hidden
- return;
- case 19:
- this.crsFringes1 = ((NationalInstruments.Controls.MultiPlotCursor)(target));
- return;
- case 20:
- this.crsFringes2 = ((NationalInstruments.Controls.MultiPlotCursor)(target));
- return;
- case 21:
- this.tcStrobes = ((System.Windows.Controls.TabControl)(target));
-
- #line 93 "..\..\MainWindow.xaml"
- this.tcStrobes.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.tcStrobes_SelectionChanged);
-
- #line default
- #line hidden
- return;
- case 22:
- this.cbHillPos = ((System.Windows.Controls.ComboBox)(target));
- return;
- case 23:
- this.ndKP = ((NationalInstruments.Controls.NumericTextBoxDouble)(target));
-
- #line 111 "..\..\MainWindow.xaml"
- this.ndKP.KeyDown += new System.Windows.Input.KeyEventHandler(this.ndKP_KeyDown);
-
- #line default
- #line hidden
- return;
- case 24:
- this.ndKI = ((NationalInstruments.Controls.NumericTextBoxDouble)(target));
-
- #line 113 "..\..\MainWindow.xaml"
- this.ndKI.KeyDown += new System.Windows.Input.KeyEventHandler(this.ndKP_KeyDown);
-
- #line default
- #line hidden
- return;
- case 25:
- this.ndKD = ((NationalInstruments.Controls.NumericTextBoxDouble)(target));
-
- #line 116 "..\..\MainWindow.xaml"
- this.ndKD.KeyDown += new System.Windows.Input.KeyEventHandler(this.ndKP_KeyDown);
-
- #line default
- #line hidden
- return;
- case 26:
- this.chkFollowPID = ((System.Windows.Controls.CheckBox)(target));
- return;
- case 27:
- this.grRslt = ((NationalInstruments.Controls.Graph)(target));
- return;
- case 28:
- this.yAxis1 = ((NationalInstruments.Controls.AxisDouble)(target));
- return;
- case 29:
- this.yAxis2 = ((NationalInstruments.Controls.AxisDouble)(target));
- return;
- }
- this._contentLoaded = true;
- }
- }
-}
-
+#pragma checksum "..\..\MainWindow.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "1AB6F3C8653323F8A7D6EB6810048CB0"
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using NationalInstruments.Controls;
+using NationalInstruments.Controls.Rendering;
+using System;
+using System.Diagnostics;
+using System.Windows;
+using System.Windows.Automation;
+using System.Windows.Controls;
+using System.Windows.Controls.Primitives;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Ink;
+using System.Windows.Input;
+using System.Windows.Markup;
+using System.Windows.Media;
+using System.Windows.Media.Animation;
+using System.Windows.Media.Effects;
+using System.Windows.Media.Imaging;
+using System.Windows.Media.Media3D;
+using System.Windows.Media.TextFormatting;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using System.Windows.Shell;
+using scanHub;
+
+
+namespace Axel_probe {
+
+
+ ///
+ /// MainWindow
+ ///
+ public partial class MainWindow : System.Windows.Window, System.Windows.Markup.IComponentConnector {
+
+
+ #line 4 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal Axel_probe.MainWindow frmMain;
+
+ #line default
+ #line hidden
+
+
+ #line 16 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.NumericTextBoxDouble ndRange;
+
+ #line default
+ #line hidden
+
+
+ #line 18 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.NumericTextBoxDouble ndPeriod;
+
+ #line default
+ #line hidden
+
+
+ #line 20 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.NumericTextBoxDouble ndStep;
+
+ #line default
+ #line hidden
+
+
+ #line 21 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Button btnRun;
+
+ #line default
+ #line hidden
+
+
+ #line 22 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.ComboBox cbFinite;
+
+ #line default
+ #line hidden
+
+
+ #line 26 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.CheckBox chkPause;
+
+ #line default
+ #line hidden
+
+
+ #line 27 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.ComboBox cbDriftType;
+
+ #line default
+ #line hidden
+
+
+ #line 35 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.CheckBox chkAddGauss;
+
+ #line default
+ #line hidden
+
+
+ #line 37 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.NumericTextBoxDouble ndGaussSigma;
+
+ #line default
+ #line hidden
+
+
+ #line 42 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.CheckBox chkVaryAmpl;
+
+ #line default
+ #line hidden
+
+
+ #line 48 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.NumericTextBoxDouble ndBreatheAmpl;
+
+ #line default
+ #line hidden
+
+
+ #line 50 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.NumericTextBoxDouble ndBreathePeriod;
+
+ #line default
+ #line hidden
+
+
+ #line 56 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.NumericTextBoxDouble ndDelay;
+
+ #line default
+ #line hidden
+
+
+ #line 59 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.GroupBox grpRemote;
+
+ #line default
+ #line hidden
+
+
+ #line 61 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Button btnCommCheck;
+
+ #line default
+ #line hidden
+
+
+ #line 62 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Button btnScan;
+
+ #line default
+ #line hidden
+
+
+ #line 63 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Button btnRepeat;
+
+ #line default
+ #line hidden
+
+
+ #line 64 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.CheckBox chkRemoteEnabled;
+
+ #line default
+ #line hidden
+
+
+ #line 71 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.CheckBox chkLog;
+
+ #line default
+ #line hidden
+
+
+ #line 72 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TextBox tbLog;
+
+ #line default
+ #line hidden
+
+
+ #line 73 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Button btnClear;
+
+ #line default
+ #line hidden
+
+
+ #line 86 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.Graph grRslt;
+
+ #line default
+ #line hidden
+
+
+ #line 100 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.AxisDouble yAxis1;
+
+ #line default
+ #line hidden
+
+
+ #line 101 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.AxisDouble yAxis2;
+
+ #line default
+ #line hidden
+
+
+ #line 104 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.Graph graphNs;
+
+ #line default
+ #line hidden
+
+
+ #line 115 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.ListBox lboxNB;
+
+ #line default
+ #line hidden
+
+
+ #line 130 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.NumericTextBoxDouble ndKP;
+
+ #line default
+ #line hidden
+
+
+ #line 132 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.NumericTextBoxDouble ndKI;
+
+ #line default
+ #line hidden
+
+
+ #line 134 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.NumericTextBoxDouble ndKD;
+
+ #line default
+ #line hidden
+
+
+ #line 135 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.CheckBox chkFollowPID;
+
+ #line default
+ #line hidden
+
+
+ #line 138 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.RadioButton rbSingle;
+
+ #line default
+ #line hidden
+
+
+ #line 139 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.RadioButton rbDouble;
+
+ #line default
+ #line hidden
+
+
+ #line 150 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.Graph grFringes;
+
+ #line default
+ #line hidden
+
+
+ #line 155 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.MultiPlotCursor crsFringes1;
+
+ #line default
+ #line hidden
+
+
+ #line 160 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.MultiPlotCursor crsFringes2;
+
+ #line default
+ #line hidden
+
+
+ #line 167 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Label lbStatus;
+
+ #line default
+ #line hidden
+
+ private bool _contentLoaded;
+
+ ///
+ /// InitializeComponent
+ ///
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
+ public void InitializeComponent() {
+ if (_contentLoaded) {
+ return;
+ }
+ _contentLoaded = true;
+ System.Uri resourceLocater = new System.Uri("/Axel-probe;component/mainwindow.xaml", System.UriKind.Relative);
+
+ #line 1 "..\..\MainWindow.xaml"
+ System.Windows.Application.LoadComponent(this, resourceLocater);
+
+ #line default
+ #line hidden
+ }
+
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
+ void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
+ switch (connectionId)
+ {
+ case 1:
+ this.frmMain = ((Axel_probe.MainWindow)(target));
+
+ #line 5 "..\..\MainWindow.xaml"
+ this.frmMain.Closing += new System.ComponentModel.CancelEventHandler(this.frmMain_Closing);
+
+ #line default
+ #line hidden
+
+ #line 5 "..\..\MainWindow.xaml"
+ this.frmMain.Loaded += new System.Windows.RoutedEventHandler(this.frmMain_Loaded);
+
+ #line default
+ #line hidden
+ return;
+ case 2:
+ this.ndRange = ((NationalInstruments.Controls.NumericTextBoxDouble)(target));
+
+ #line 16 "..\..\MainWindow.xaml"
+ this.ndRange.KeyDown += new System.Windows.Input.KeyEventHandler(this.ndRange_KeyDown);
+
+ #line default
+ #line hidden
+ return;
+ case 3:
+ this.ndPeriod = ((NationalInstruments.Controls.NumericTextBoxDouble)(target));
+
+ #line 18 "..\..\MainWindow.xaml"
+ this.ndPeriod.KeyDown += new System.Windows.Input.KeyEventHandler(this.ndRange_KeyDown);
+
+ #line default
+ #line hidden
+ return;
+ case 4:
+ this.ndStep = ((NationalInstruments.Controls.NumericTextBoxDouble)(target));
+
+ #line 20 "..\..\MainWindow.xaml"
+ this.ndStep.KeyDown += new System.Windows.Input.KeyEventHandler(this.ndRange_KeyDown);
+
+ #line default
+ #line hidden
+ return;
+ case 5:
+ this.btnRun = ((System.Windows.Controls.Button)(target));
+
+ #line 21 "..\..\MainWindow.xaml"
+ this.btnRun.Click += new System.Windows.RoutedEventHandler(this.btnRun_Click);
+
+ #line default
+ #line hidden
+ return;
+ case 6:
+ this.cbFinite = ((System.Windows.Controls.ComboBox)(target));
+ return;
+ case 7:
+ this.chkPause = ((System.Windows.Controls.CheckBox)(target));
+ return;
+ case 8:
+ this.cbDriftType = ((System.Windows.Controls.ComboBox)(target));
+ return;
+ case 9:
+ this.chkAddGauss = ((System.Windows.Controls.CheckBox)(target));
+ return;
+ case 10:
+ this.ndGaussSigma = ((NationalInstruments.Controls.NumericTextBoxDouble)(target));
+ return;
+ case 11:
+ this.chkVaryAmpl = ((System.Windows.Controls.CheckBox)(target));
+ return;
+ case 12:
+ this.ndBreatheAmpl = ((NationalInstruments.Controls.NumericTextBoxDouble)(target));
+ return;
+ case 13:
+ this.ndBreathePeriod = ((NationalInstruments.Controls.NumericTextBoxDouble)(target));
+ return;
+ case 14:
+ this.ndDelay = ((NationalInstruments.Controls.NumericTextBoxDouble)(target));
+ return;
+ case 15:
+ this.grpRemote = ((System.Windows.Controls.GroupBox)(target));
+ return;
+ case 16:
+ this.btnCommCheck = ((System.Windows.Controls.Button)(target));
+
+ #line 61 "..\..\MainWindow.xaml"
+ this.btnCommCheck.Click += new System.Windows.RoutedEventHandler(this.btnCommCheck_Click);
+
+ #line default
+ #line hidden
+ return;
+ case 17:
+ this.btnScan = ((System.Windows.Controls.Button)(target));
+
+ #line 62 "..\..\MainWindow.xaml"
+ this.btnScan.Click += new System.Windows.RoutedEventHandler(this.btnScan_Click);
+
+ #line default
+ #line hidden
+ return;
+ case 18:
+ this.btnRepeat = ((System.Windows.Controls.Button)(target));
+
+ #line 63 "..\..\MainWindow.xaml"
+ this.btnRepeat.Click += new System.Windows.RoutedEventHandler(this.btnRepeat_Click);
+
+ #line default
+ #line hidden
+ return;
+ case 19:
+ this.chkRemoteEnabled = ((System.Windows.Controls.CheckBox)(target));
+ return;
+ case 20:
+ this.chkLog = ((System.Windows.Controls.CheckBox)(target));
+ return;
+ case 21:
+ this.tbLog = ((System.Windows.Controls.TextBox)(target));
+ return;
+ case 22:
+ this.btnClear = ((System.Windows.Controls.Button)(target));
+
+ #line 73 "..\..\MainWindow.xaml"
+ this.btnClear.Click += new System.Windows.RoutedEventHandler(this.btnClear_Click);
+
+ #line default
+ #line hidden
+ return;
+ case 23:
+ this.grRslt = ((NationalInstruments.Controls.Graph)(target));
+ return;
+ case 24:
+ this.yAxis1 = ((NationalInstruments.Controls.AxisDouble)(target));
+ return;
+ case 25:
+ this.yAxis2 = ((NationalInstruments.Controls.AxisDouble)(target));
+ return;
+ case 26:
+ this.graphNs = ((NationalInstruments.Controls.Graph)(target));
+ return;
+ case 27:
+ this.lboxNB = ((System.Windows.Controls.ListBox)(target));
+ return;
+ case 28:
+ this.ndKP = ((NationalInstruments.Controls.NumericTextBoxDouble)(target));
+
+ #line 130 "..\..\MainWindow.xaml"
+ this.ndKP.KeyDown += new System.Windows.Input.KeyEventHandler(this.ndKP_KeyDown);
+
+ #line default
+ #line hidden
+ return;
+ case 29:
+ this.ndKI = ((NationalInstruments.Controls.NumericTextBoxDouble)(target));
+
+ #line 132 "..\..\MainWindow.xaml"
+ this.ndKI.KeyDown += new System.Windows.Input.KeyEventHandler(this.ndKP_KeyDown);
+
+ #line default
+ #line hidden
+ return;
+ case 30:
+ this.ndKD = ((NationalInstruments.Controls.NumericTextBoxDouble)(target));
+
+ #line 134 "..\..\MainWindow.xaml"
+ this.ndKD.KeyDown += new System.Windows.Input.KeyEventHandler(this.ndKP_KeyDown);
+
+ #line default
+ #line hidden
+ return;
+ case 31:
+ this.chkFollowPID = ((System.Windows.Controls.CheckBox)(target));
+ return;
+ case 32:
+ this.rbSingle = ((System.Windows.Controls.RadioButton)(target));
+
+ #line 138 "..\..\MainWindow.xaml"
+ this.rbSingle.Checked += new System.Windows.RoutedEventHandler(this.rbSingle_Checked);
+
+ #line default
+ #line hidden
+ return;
+ case 33:
+ this.rbDouble = ((System.Windows.Controls.RadioButton)(target));
+ return;
+ case 34:
+ this.grFringes = ((NationalInstruments.Controls.Graph)(target));
+
+ #line 150 "..\..\MainWindow.xaml"
+ this.grFringes.MouseDoubleClick += new System.Windows.Input.MouseButtonEventHandler(this.grFringes_MouseDoubleClick);
+
+ #line default
+ #line hidden
+ return;
+ case 35:
+ this.crsFringes1 = ((NationalInstruments.Controls.MultiPlotCursor)(target));
+ return;
+ case 36:
+ this.crsFringes2 = ((NationalInstruments.Controls.MultiPlotCursor)(target));
+ return;
+ case 37:
+ this.lbStatus = ((System.Windows.Controls.Label)(target));
+ return;
+ }
+ this._contentLoaded = true;
+ }
+ }
+}
+
diff --git a/Axel-probe/Axel-probe/obj/Debug/MainWindow.g.i.cs b/Axel-probe/Axel-probe/obj/Debug/MainWindow.g.i.cs
index 373bc26c..4ba118c1 100644
--- a/Axel-probe/Axel-probe/obj/Debug/MainWindow.g.i.cs
+++ b/Axel-probe/Axel-probe/obj/Debug/MainWindow.g.i.cs
@@ -1,464 +1,577 @@
-#pragma checksum "..\..\MainWindow.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "0A05052568E3E3EA7670B6C03582FFC9"
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-using NationalInstruments.Controls;
-using NationalInstruments.Controls.Rendering;
-using System;
-using System.Diagnostics;
-using System.Windows;
-using System.Windows.Automation;
-using System.Windows.Controls;
-using System.Windows.Controls.Primitives;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Ink;
-using System.Windows.Input;
-using System.Windows.Markup;
-using System.Windows.Media;
-using System.Windows.Media.Animation;
-using System.Windows.Media.Effects;
-using System.Windows.Media.Imaging;
-using System.Windows.Media.Media3D;
-using System.Windows.Media.TextFormatting;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
-using System.Windows.Shell;
-
-
-namespace Axel_probe {
-
-
- ///
- /// MainWindow
- ///
- public partial class MainWindow : System.Windows.Window, System.Windows.Markup.IComponentConnector {
-
-
- #line 4 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal Axel_probe.MainWindow frmMain;
-
- #line default
- #line hidden
-
-
- #line 16 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.NumericTextBoxDouble ndRange;
-
- #line default
- #line hidden
-
-
- #line 18 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.NumericTextBoxDouble ndPeriod;
-
- #line default
- #line hidden
-
-
- #line 20 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.NumericTextBoxDouble ndStep;
-
- #line default
- #line hidden
-
-
- #line 21 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Button btnRun;
-
- #line default
- #line hidden
-
-
- #line 22 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.ComboBox cbFinite;
-
- #line default
- #line hidden
-
-
- #line 26 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.CheckBox chkPause;
-
- #line default
- #line hidden
-
-
- #line 27 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.ComboBox cbDriftType;
-
- #line default
- #line hidden
-
-
- #line 35 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.CheckBox chkAddGauss;
-
- #line default
- #line hidden
-
-
- #line 37 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.NumericTextBoxDouble ndGaussSigma;
-
- #line default
- #line hidden
-
-
- #line 42 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.CheckBox chkVaryAmpl;
-
- #line default
- #line hidden
-
-
- #line 48 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.NumericTextBoxDouble ndBreatheAmpl;
-
- #line default
- #line hidden
-
-
- #line 50 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.NumericTextBoxDouble ndBreathePeriod;
-
- #line default
- #line hidden
-
-
- #line 56 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.NumericTextBoxDouble ndDelay;
-
- #line default
- #line hidden
-
-
- #line 62 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.CheckBox chkLog;
-
- #line default
- #line hidden
-
-
- #line 63 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TextBox tbLog;
-
- #line default
- #line hidden
-
-
- #line 64 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.Button btnClear;
-
- #line default
- #line hidden
-
-
- #line 76 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.Graph grFringes;
-
- #line default
- #line hidden
-
-
- #line 81 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.MultiPlotCursor crsFringes1;
-
- #line default
- #line hidden
-
-
- #line 86 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.MultiPlotCursor crsFringes2;
-
- #line default
- #line hidden
-
-
- #line 93 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.TabControl tcStrobes;
-
- #line default
- #line hidden
-
-
- #line 96 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.ComboBox cbHillPos;
-
- #line default
- #line hidden
-
-
- #line 111 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.NumericTextBoxDouble ndKP;
-
- #line default
- #line hidden
-
-
- #line 113 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.NumericTextBoxDouble ndKI;
-
- #line default
- #line hidden
-
-
- #line 116 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.NumericTextBoxDouble ndKD;
-
- #line default
- #line hidden
-
-
- #line 117 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal System.Windows.Controls.CheckBox chkFollowPID;
-
- #line default
- #line hidden
-
-
- #line 120 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.Graph grRslt;
-
- #line default
- #line hidden
-
-
- #line 134 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.AxisDouble yAxis1;
-
- #line default
- #line hidden
-
-
- #line 135 "..\..\MainWindow.xaml"
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
- internal NationalInstruments.Controls.AxisDouble yAxis2;
-
- #line default
- #line hidden
-
- private bool _contentLoaded;
-
- ///
- /// InitializeComponent
- ///
- [System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
- public void InitializeComponent() {
- if (_contentLoaded) {
- return;
- }
- _contentLoaded = true;
- System.Uri resourceLocater = new System.Uri("/Axel-probe;component/mainwindow.xaml", System.UriKind.Relative);
-
- #line 1 "..\..\MainWindow.xaml"
- System.Windows.Application.LoadComponent(this, resourceLocater);
-
- #line default
- #line hidden
- }
-
- [System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
- [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
- void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
- switch (connectionId)
- {
- case 1:
- this.frmMain = ((Axel_probe.MainWindow)(target));
-
- #line 5 "..\..\MainWindow.xaml"
- this.frmMain.Closing += new System.ComponentModel.CancelEventHandler(this.frmMain_Closing);
-
- #line default
- #line hidden
- return;
- case 2:
- this.ndRange = ((NationalInstruments.Controls.NumericTextBoxDouble)(target));
-
- #line 16 "..\..\MainWindow.xaml"
- this.ndRange.KeyDown += new System.Windows.Input.KeyEventHandler(this.ndRange_KeyDown);
-
- #line default
- #line hidden
- return;
- case 3:
- this.ndPeriod = ((NationalInstruments.Controls.NumericTextBoxDouble)(target));
-
- #line 18 "..\..\MainWindow.xaml"
- this.ndPeriod.KeyDown += new System.Windows.Input.KeyEventHandler(this.ndRange_KeyDown);
-
- #line default
- #line hidden
- return;
- case 4:
- this.ndStep = ((NationalInstruments.Controls.NumericTextBoxDouble)(target));
-
- #line 20 "..\..\MainWindow.xaml"
- this.ndStep.KeyDown += new System.Windows.Input.KeyEventHandler(this.ndRange_KeyDown);
-
- #line default
- #line hidden
- return;
- case 5:
- this.btnRun = ((System.Windows.Controls.Button)(target));
-
- #line 21 "..\..\MainWindow.xaml"
- this.btnRun.Click += new System.Windows.RoutedEventHandler(this.btnRun_Click);
-
- #line default
- #line hidden
- return;
- case 6:
- this.cbFinite = ((System.Windows.Controls.ComboBox)(target));
- return;
- case 7:
- this.chkPause = ((System.Windows.Controls.CheckBox)(target));
- return;
- case 8:
- this.cbDriftType = ((System.Windows.Controls.ComboBox)(target));
- return;
- case 9:
- this.chkAddGauss = ((System.Windows.Controls.CheckBox)(target));
- return;
- case 10:
- this.ndGaussSigma = ((NationalInstruments.Controls.NumericTextBoxDouble)(target));
- return;
- case 11:
- this.chkVaryAmpl = ((System.Windows.Controls.CheckBox)(target));
- return;
- case 12:
- this.ndBreatheAmpl = ((NationalInstruments.Controls.NumericTextBoxDouble)(target));
- return;
- case 13:
- this.ndBreathePeriod = ((NationalInstruments.Controls.NumericTextBoxDouble)(target));
- return;
- case 14:
- this.ndDelay = ((NationalInstruments.Controls.NumericTextBoxDouble)(target));
- return;
- case 15:
- this.chkLog = ((System.Windows.Controls.CheckBox)(target));
- return;
- case 16:
- this.tbLog = ((System.Windows.Controls.TextBox)(target));
- return;
- case 17:
- this.btnClear = ((System.Windows.Controls.Button)(target));
-
- #line 64 "..\..\MainWindow.xaml"
- this.btnClear.Click += new System.Windows.RoutedEventHandler(this.btnClear_Click);
-
- #line default
- #line hidden
- return;
- case 18:
- this.grFringes = ((NationalInstruments.Controls.Graph)(target));
-
- #line 76 "..\..\MainWindow.xaml"
- this.grFringes.MouseDoubleClick += new System.Windows.Input.MouseButtonEventHandler(this.grFringes_MouseDoubleClick);
-
- #line default
- #line hidden
- return;
- case 19:
- this.crsFringes1 = ((NationalInstruments.Controls.MultiPlotCursor)(target));
- return;
- case 20:
- this.crsFringes2 = ((NationalInstruments.Controls.MultiPlotCursor)(target));
- return;
- case 21:
- this.tcStrobes = ((System.Windows.Controls.TabControl)(target));
-
- #line 93 "..\..\MainWindow.xaml"
- this.tcStrobes.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.tcStrobes_SelectionChanged);
-
- #line default
- #line hidden
- return;
- case 22:
- this.cbHillPos = ((System.Windows.Controls.ComboBox)(target));
- return;
- case 23:
- this.ndKP = ((NationalInstruments.Controls.NumericTextBoxDouble)(target));
-
- #line 111 "..\..\MainWindow.xaml"
- this.ndKP.KeyDown += new System.Windows.Input.KeyEventHandler(this.ndKP_KeyDown);
-
- #line default
- #line hidden
- return;
- case 24:
- this.ndKI = ((NationalInstruments.Controls.NumericTextBoxDouble)(target));
-
- #line 113 "..\..\MainWindow.xaml"
- this.ndKI.KeyDown += new System.Windows.Input.KeyEventHandler(this.ndKP_KeyDown);
-
- #line default
- #line hidden
- return;
- case 25:
- this.ndKD = ((NationalInstruments.Controls.NumericTextBoxDouble)(target));
-
- #line 116 "..\..\MainWindow.xaml"
- this.ndKD.KeyDown += new System.Windows.Input.KeyEventHandler(this.ndKP_KeyDown);
-
- #line default
- #line hidden
- return;
- case 26:
- this.chkFollowPID = ((System.Windows.Controls.CheckBox)(target));
- return;
- case 27:
- this.grRslt = ((NationalInstruments.Controls.Graph)(target));
- return;
- case 28:
- this.yAxis1 = ((NationalInstruments.Controls.AxisDouble)(target));
- return;
- case 29:
- this.yAxis2 = ((NationalInstruments.Controls.AxisDouble)(target));
- return;
- }
- this._contentLoaded = true;
- }
- }
-}
-
+#pragma checksum "..\..\MainWindow.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "1AB6F3C8653323F8A7D6EB6810048CB0"
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using NationalInstruments.Controls;
+using NationalInstruments.Controls.Rendering;
+using System;
+using System.Diagnostics;
+using System.Windows;
+using System.Windows.Automation;
+using System.Windows.Controls;
+using System.Windows.Controls.Primitives;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Ink;
+using System.Windows.Input;
+using System.Windows.Markup;
+using System.Windows.Media;
+using System.Windows.Media.Animation;
+using System.Windows.Media.Effects;
+using System.Windows.Media.Imaging;
+using System.Windows.Media.Media3D;
+using System.Windows.Media.TextFormatting;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using System.Windows.Shell;
+using scanHub;
+
+
+namespace Axel_probe {
+
+
+ ///
+ /// MainWindow
+ ///
+ public partial class MainWindow : System.Windows.Window, System.Windows.Markup.IComponentConnector {
+
+
+ #line 4 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal Axel_probe.MainWindow frmMain;
+
+ #line default
+ #line hidden
+
+
+ #line 16 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.NumericTextBoxDouble ndRange;
+
+ #line default
+ #line hidden
+
+
+ #line 18 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.NumericTextBoxDouble ndPeriod;
+
+ #line default
+ #line hidden
+
+
+ #line 20 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.NumericTextBoxDouble ndStep;
+
+ #line default
+ #line hidden
+
+
+ #line 21 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Button btnRun;
+
+ #line default
+ #line hidden
+
+
+ #line 22 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.ComboBox cbFinite;
+
+ #line default
+ #line hidden
+
+
+ #line 26 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.CheckBox chkPause;
+
+ #line default
+ #line hidden
+
+
+ #line 27 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.ComboBox cbDriftType;
+
+ #line default
+ #line hidden
+
+
+ #line 35 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.CheckBox chkAddGauss;
+
+ #line default
+ #line hidden
+
+
+ #line 37 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.NumericTextBoxDouble ndGaussSigma;
+
+ #line default
+ #line hidden
+
+
+ #line 42 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.CheckBox chkVaryAmpl;
+
+ #line default
+ #line hidden
+
+
+ #line 48 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.NumericTextBoxDouble ndBreatheAmpl;
+
+ #line default
+ #line hidden
+
+
+ #line 50 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.NumericTextBoxDouble ndBreathePeriod;
+
+ #line default
+ #line hidden
+
+
+ #line 56 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.NumericTextBoxDouble ndDelay;
+
+ #line default
+ #line hidden
+
+
+ #line 59 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.GroupBox grpRemote;
+
+ #line default
+ #line hidden
+
+
+ #line 61 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Button btnCommCheck;
+
+ #line default
+ #line hidden
+
+
+ #line 62 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Button btnScan;
+
+ #line default
+ #line hidden
+
+
+ #line 63 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Button btnRepeat;
+
+ #line default
+ #line hidden
+
+
+ #line 64 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.CheckBox chkRemoteEnabled;
+
+ #line default
+ #line hidden
+
+
+ #line 71 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.CheckBox chkLog;
+
+ #line default
+ #line hidden
+
+
+ #line 72 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.TextBox tbLog;
+
+ #line default
+ #line hidden
+
+
+ #line 73 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Button btnClear;
+
+ #line default
+ #line hidden
+
+
+ #line 86 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.Graph grRslt;
+
+ #line default
+ #line hidden
+
+
+ #line 100 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.AxisDouble yAxis1;
+
+ #line default
+ #line hidden
+
+
+ #line 101 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.AxisDouble yAxis2;
+
+ #line default
+ #line hidden
+
+
+ #line 104 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.Graph graphNs;
+
+ #line default
+ #line hidden
+
+
+ #line 115 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.ListBox lboxNB;
+
+ #line default
+ #line hidden
+
+
+ #line 130 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.NumericTextBoxDouble ndKP;
+
+ #line default
+ #line hidden
+
+
+ #line 132 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.NumericTextBoxDouble ndKI;
+
+ #line default
+ #line hidden
+
+
+ #line 134 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.NumericTextBoxDouble ndKD;
+
+ #line default
+ #line hidden
+
+
+ #line 135 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.CheckBox chkFollowPID;
+
+ #line default
+ #line hidden
+
+
+ #line 138 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.RadioButton rbSingle;
+
+ #line default
+ #line hidden
+
+
+ #line 139 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.RadioButton rbDouble;
+
+ #line default
+ #line hidden
+
+
+ #line 150 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.Graph grFringes;
+
+ #line default
+ #line hidden
+
+
+ #line 155 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.MultiPlotCursor crsFringes1;
+
+ #line default
+ #line hidden
+
+
+ #line 160 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal NationalInstruments.Controls.MultiPlotCursor crsFringes2;
+
+ #line default
+ #line hidden
+
+
+ #line 167 "..\..\MainWindow.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal System.Windows.Controls.Label lbStatus;
+
+ #line default
+ #line hidden
+
+ private bool _contentLoaded;
+
+ ///
+ /// InitializeComponent
+ ///
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
+ public void InitializeComponent() {
+ if (_contentLoaded) {
+ return;
+ }
+ _contentLoaded = true;
+ System.Uri resourceLocater = new System.Uri("/Axel-probe;component/mainwindow.xaml", System.UriKind.Relative);
+
+ #line 1 "..\..\MainWindow.xaml"
+ System.Windows.Application.LoadComponent(this, resourceLocater);
+
+ #line default
+ #line hidden
+ }
+
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
+ void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
+ switch (connectionId)
+ {
+ case 1:
+ this.frmMain = ((Axel_probe.MainWindow)(target));
+
+ #line 5 "..\..\MainWindow.xaml"
+ this.frmMain.Closing += new System.ComponentModel.CancelEventHandler(this.frmMain_Closing);
+
+ #line default
+ #line hidden
+
+ #line 5 "..\..\MainWindow.xaml"
+ this.frmMain.Loaded += new System.Windows.RoutedEventHandler(this.frmMain_Loaded);
+
+ #line default
+ #line hidden
+ return;
+ case 2:
+ this.ndRange = ((NationalInstruments.Controls.NumericTextBoxDouble)(target));
+
+ #line 16 "..\..\MainWindow.xaml"
+ this.ndRange.KeyDown += new System.Windows.Input.KeyEventHandler(this.ndRange_KeyDown);
+
+ #line default
+ #line hidden
+ return;
+ case 3:
+ this.ndPeriod = ((NationalInstruments.Controls.NumericTextBoxDouble)(target));
+
+ #line 18 "..\..\MainWindow.xaml"
+ this.ndPeriod.KeyDown += new System.Windows.Input.KeyEventHandler(this.ndRange_KeyDown);
+
+ #line default
+ #line hidden
+ return;
+ case 4:
+ this.ndStep = ((NationalInstruments.Controls.NumericTextBoxDouble)(target));
+
+ #line 20 "..\..\MainWindow.xaml"
+ this.ndStep.KeyDown += new System.Windows.Input.KeyEventHandler(this.ndRange_KeyDown);
+
+ #line default
+ #line hidden
+ return;
+ case 5:
+ this.btnRun = ((System.Windows.Controls.Button)(target));
+
+ #line 21 "..\..\MainWindow.xaml"
+ this.btnRun.Click += new System.Windows.RoutedEventHandler(this.btnRun_Click);
+
+ #line default
+ #line hidden
+ return;
+ case 6:
+ this.cbFinite = ((System.Windows.Controls.ComboBox)(target));
+ return;
+ case 7:
+ this.chkPause = ((System.Windows.Controls.CheckBox)(target));
+ return;
+ case 8:
+ this.cbDriftType = ((System.Windows.Controls.ComboBox)(target));
+ return;
+ case 9:
+ this.chkAddGauss = ((System.Windows.Controls.CheckBox)(target));
+ return;
+ case 10:
+ this.ndGaussSigma = ((NationalInstruments.Controls.NumericTextBoxDouble)(target));
+ return;
+ case 11:
+ this.chkVaryAmpl = ((System.Windows.Controls.CheckBox)(target));
+ return;
+ case 12:
+ this.ndBreatheAmpl = ((NationalInstruments.Controls.NumericTextBoxDouble)(target));
+ return;
+ case 13:
+ this.ndBreathePeriod = ((NationalInstruments.Controls.NumericTextBoxDouble)(target));
+ return;
+ case 14:
+ this.ndDelay = ((NationalInstruments.Controls.NumericTextBoxDouble)(target));
+ return;
+ case 15:
+ this.grpRemote = ((System.Windows.Controls.GroupBox)(target));
+ return;
+ case 16:
+ this.btnCommCheck = ((System.Windows.Controls.Button)(target));
+
+ #line 61 "..\..\MainWindow.xaml"
+ this.btnCommCheck.Click += new System.Windows.RoutedEventHandler(this.btnCommCheck_Click);
+
+ #line default
+ #line hidden
+ return;
+ case 17:
+ this.btnScan = ((System.Windows.Controls.Button)(target));
+
+ #line 62 "..\..\MainWindow.xaml"
+ this.btnScan.Click += new System.Windows.RoutedEventHandler(this.btnScan_Click);
+
+ #line default
+ #line hidden
+ return;
+ case 18:
+ this.btnRepeat = ((System.Windows.Controls.Button)(target));
+
+ #line 63 "..\..\MainWindow.xaml"
+ this.btnRepeat.Click += new System.Windows.RoutedEventHandler(this.btnRepeat_Click);
+
+ #line default
+ #line hidden
+ return;
+ case 19:
+ this.chkRemoteEnabled = ((System.Windows.Controls.CheckBox)(target));
+ return;
+ case 20:
+ this.chkLog = ((System.Windows.Controls.CheckBox)(target));
+ return;
+ case 21:
+ this.tbLog = ((System.Windows.Controls.TextBox)(target));
+ return;
+ case 22:
+ this.btnClear = ((System.Windows.Controls.Button)(target));
+
+ #line 73 "..\..\MainWindow.xaml"
+ this.btnClear.Click += new System.Windows.RoutedEventHandler(this.btnClear_Click);
+
+ #line default
+ #line hidden
+ return;
+ case 23:
+ this.grRslt = ((NationalInstruments.Controls.Graph)(target));
+ return;
+ case 24:
+ this.yAxis1 = ((NationalInstruments.Controls.AxisDouble)(target));
+ return;
+ case 25:
+ this.yAxis2 = ((NationalInstruments.Controls.AxisDouble)(target));
+ return;
+ case 26:
+ this.graphNs = ((NationalInstruments.Controls.Graph)(target));
+ return;
+ case 27:
+ this.lboxNB = ((System.Windows.Controls.ListBox)(target));
+ return;
+ case 28:
+ this.ndKP = ((NationalInstruments.Controls.NumericTextBoxDouble)(target));
+
+ #line 130 "..\..\MainWindow.xaml"
+ this.ndKP.KeyDown += new System.Windows.Input.KeyEventHandler(this.ndKP_KeyDown);
+
+ #line default
+ #line hidden
+ return;
+ case 29:
+ this.ndKI = ((NationalInstruments.Controls.NumericTextBoxDouble)(target));
+
+ #line 132 "..\..\MainWindow.xaml"
+ this.ndKI.KeyDown += new System.Windows.Input.KeyEventHandler(this.ndKP_KeyDown);
+
+ #line default
+ #line hidden
+ return;
+ case 30:
+ this.ndKD = ((NationalInstruments.Controls.NumericTextBoxDouble)(target));
+
+ #line 134 "..\..\MainWindow.xaml"
+ this.ndKD.KeyDown += new System.Windows.Input.KeyEventHandler(this.ndKP_KeyDown);
+
+ #line default
+ #line hidden
+ return;
+ case 31:
+ this.chkFollowPID = ((System.Windows.Controls.CheckBox)(target));
+ return;
+ case 32:
+ this.rbSingle = ((System.Windows.Controls.RadioButton)(target));
+
+ #line 138 "..\..\MainWindow.xaml"
+ this.rbSingle.Checked += new System.Windows.RoutedEventHandler(this.rbSingle_Checked);
+
+ #line default
+ #line hidden
+ return;
+ case 33:
+ this.rbDouble = ((System.Windows.Controls.RadioButton)(target));
+ return;
+ case 34:
+ this.grFringes = ((NationalInstruments.Controls.Graph)(target));
+
+ #line 150 "..\..\MainWindow.xaml"
+ this.grFringes.MouseDoubleClick += new System.Windows.Input.MouseButtonEventHandler(this.grFringes_MouseDoubleClick);
+
+ #line default
+ #line hidden
+ return;
+ case 35:
+ this.crsFringes1 = ((NationalInstruments.Controls.MultiPlotCursor)(target));
+ return;
+ case 36:
+ this.crsFringes2 = ((NationalInstruments.Controls.MultiPlotCursor)(target));
+ return;
+ case 37:
+ this.lbStatus = ((System.Windows.Controls.Label)(target));
+ return;
+ }
+ this._contentLoaded = true;
+ }
+ }
+}
+
diff --git a/Axel-track/Axel-track.csproj b/Axel-track/Axel-track.csproj
index 84c39582..e287b8a8 100644
--- a/Axel-track/Axel-track.csproj
+++ b/Axel-track/Axel-track.csproj
@@ -1,160 +1,161 @@
-
-
-
-
- Debug
- AnyCPU
- {B2C1540F-C2E8-49F2-9C56-CB1AAEED3FD7}
- WinExe
- Properties
- AxelTrack
- Axel-track
- v4.5
- 512
- false
-
- publish\
- true
- Disk
- false
- Foreground
- 7
- Days
- false
- false
- true
- 9
- 1.2.0.%2a
- false
- true
-
-
- AnyCPU
- true
- full
- false
- bin\
- DEBUG;TRACE
- prompt
- 4
- false
-
-
- AnyCPU
- pdbonly
- false
- bin\AnyCPU\Release\
-
-
- prompt
- 4
- false
-
-
- x86
- bin\x86\Debug\
- false
-
-
- x86
- bin\x86\Release\
- false
- false
-
-
- x64
- bin\x64\Debug\
- false
-
-
- x64
- bin\x64\Release\
- false
-
-
- false
-
-
-
-
-
-
- Properties\train1.ico
-
-
-
-
-
- Newport.XPS.CommandInterface\v4.0_1.0.9.0__9a267756cf640dcf\Newport.XPS.CommandInterface.dll
-
-
-
-
-
-
-
-
-
-
-
-
-
- Form
-
-
- Form1.cs
-
-
-
-
- Form1.cs
-
-
-
- ResXFileCodeGenerator
- Resources.Designer.cs
- Designer
-
-
- True
- Resources.resx
- True
-
-
-
- SettingsSingleFileGenerator
- Settings.Designer.cs
-
-
- True
- Settings.settings
- True
-
-
-
-
- False
- .NET Framework 3.5 SP1 Client Profile
- false
-
-
- False
- .NET Framework 3.5 SP1
- true
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ Debug
+ AnyCPU
+ {B2C1540F-C2E8-49F2-9C56-CB1AAEED3FD7}
+ WinExe
+ Properties
+ AxelTrack
+ Axel-track
+ v4.5
+ 512
+ false
+
+ publish\
+ true
+ Disk
+ false
+ Foreground
+ 7
+ Days
+ false
+ false
+ true
+ 9
+ 1.2.0.%2a
+ false
+ true
+
+
+ AnyCPU
+ true
+ full
+ false
+ bin\
+ DEBUG;TRACE
+ prompt
+ 4
+ false
+ true
+
+
+ AnyCPU
+ pdbonly
+ false
+ bin\AnyCPU\Release\
+
+
+ prompt
+ 4
+ false
+
+
+ x86
+ bin\x86\Debug\
+ false
+
+
+ x86
+ bin\x86\Release\
+ false
+ false
+
+
+ x64
+ bin\x64\Debug\
+ false
+
+
+ x64
+ bin\x64\Release\
+ false
+
+
+ false
+
+
+
+
+
+
+ Properties\train1.ico
+
+
+
+
+
+ Newport.XPS.CommandInterface\v4.0_1.0.9.0__9a267756cf640dcf\Newport.XPS.CommandInterface.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Form
+
+
+ Form1.cs
+
+
+
+
+ Form1.cs
+
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+ Designer
+
+
+ True
+ Resources.resx
+ True
+
+
+
+ SettingsSingleFileGenerator
+ Settings.Designer.cs
+
+
+ True
+ Settings.settings
+ True
+
+
+
+
+ False
+ .NET Framework 3.5 SP1 Client Profile
+ false
+
+
+ False
+ .NET Framework 3.5 SP1
+ true
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Axel-track/Axel-track.csproj.user b/Axel-track/Axel-track.csproj.user
index e990f239..82213335 100644
--- a/Axel-track/Axel-track.csproj.user
+++ b/Axel-track/Axel-track.csproj.user
@@ -1,13 +1,13 @@
-
-
-
- publish\
-
-
-
-
-
- en-US
- false
-
+
+
+
+ publish\
+
+
+
+
+
+ en-US
+ false
+
\ No newline at end of file
diff --git a/Axel-track/Axel-track.sln b/Axel-track/Axel-track.sln
index de2ab74b..310cd5ea 100644
--- a/Axel-track/Axel-track.sln
+++ b/Axel-track/Axel-track.sln
@@ -1,34 +1,34 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2013
-VisualStudioVersion = 12.0.31101.0
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Axel-track", "Axel-track.csproj", "{B2C1540F-C2E8-49F2-9C56-CB1AAEED3FD7}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Debug|x64 = Debug|x64
- Debug|x86 = Debug|x86
- Release|Any CPU = Release|Any CPU
- Release|x64 = Release|x64
- Release|x86 = Release|x86
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {B2C1540F-C2E8-49F2-9C56-CB1AAEED3FD7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {B2C1540F-C2E8-49F2-9C56-CB1AAEED3FD7}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {B2C1540F-C2E8-49F2-9C56-CB1AAEED3FD7}.Debug|x64.ActiveCfg = Debug|x64
- {B2C1540F-C2E8-49F2-9C56-CB1AAEED3FD7}.Debug|x64.Build.0 = Debug|x64
- {B2C1540F-C2E8-49F2-9C56-CB1AAEED3FD7}.Debug|x86.ActiveCfg = Debug|x86
- {B2C1540F-C2E8-49F2-9C56-CB1AAEED3FD7}.Debug|x86.Build.0 = Debug|x86
- {B2C1540F-C2E8-49F2-9C56-CB1AAEED3FD7}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {B2C1540F-C2E8-49F2-9C56-CB1AAEED3FD7}.Release|Any CPU.Build.0 = Release|Any CPU
- {B2C1540F-C2E8-49F2-9C56-CB1AAEED3FD7}.Release|x64.ActiveCfg = Release|x64
- {B2C1540F-C2E8-49F2-9C56-CB1AAEED3FD7}.Release|x64.Build.0 = Release|x64
- {B2C1540F-C2E8-49F2-9C56-CB1AAEED3FD7}.Release|x86.ActiveCfg = Release|x86
- {B2C1540F-C2E8-49F2-9C56-CB1AAEED3FD7}.Release|x86.Build.0 = Release|x86
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2013
+VisualStudioVersion = 12.0.31101.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Axel-track", "Axel-track.csproj", "{B2C1540F-C2E8-49F2-9C56-CB1AAEED3FD7}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|Any CPU = Release|Any CPU
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {B2C1540F-C2E8-49F2-9C56-CB1AAEED3FD7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B2C1540F-C2E8-49F2-9C56-CB1AAEED3FD7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B2C1540F-C2E8-49F2-9C56-CB1AAEED3FD7}.Debug|x64.ActiveCfg = Debug|x64
+ {B2C1540F-C2E8-49F2-9C56-CB1AAEED3FD7}.Debug|x64.Build.0 = Debug|x64
+ {B2C1540F-C2E8-49F2-9C56-CB1AAEED3FD7}.Debug|x86.ActiveCfg = Debug|x86
+ {B2C1540F-C2E8-49F2-9C56-CB1AAEED3FD7}.Debug|x86.Build.0 = Debug|x86
+ {B2C1540F-C2E8-49F2-9C56-CB1AAEED3FD7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B2C1540F-C2E8-49F2-9C56-CB1AAEED3FD7}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B2C1540F-C2E8-49F2-9C56-CB1AAEED3FD7}.Release|x64.ActiveCfg = Release|x64
+ {B2C1540F-C2E8-49F2-9C56-CB1AAEED3FD7}.Release|x64.Build.0 = Release|x64
+ {B2C1540F-C2E8-49F2-9C56-CB1AAEED3FD7}.Release|x86.ActiveCfg = Release|x86
+ {B2C1540F-C2E8-49F2-9C56-CB1AAEED3FD7}.Release|x86.Build.0 = Release|x86
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/Axel-track/Form1.Designer.cs b/Axel-track/Form1.Designer.cs
index a2dbf3d0..7f8748d2 100644
--- a/Axel-track/Form1.Designer.cs
+++ b/Axel-track/Form1.Designer.cs
@@ -1,690 +1,690 @@
-namespace AxelTrackNS
-{
- partial class FormAxelTrack
- {
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Windows Form Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormAxelTrack));
- this.label_MessageCommunication = new System.Windows.Forms.Label();
- this.label_ErrorMessage = new System.Windows.Forms.Label();
- this.buttonMoveTo = new System.Windows.Forms.Button();
- this.groupBox1 = new System.Windows.Forms.GroupBox();
- this.label4 = new System.Windows.Forms.Label();
- this.textBoxAcceleration = new System.Windows.Forms.TextBox();
- this.label3 = new System.Windows.Forms.Label();
- this.textBoxVelocity = new System.Windows.Forms.TextBox();
- this.label_GroupStatusDescription = new System.Windows.Forms.Label();
- this.labelPosition = new System.Windows.Forms.Label();
- this.labelStatus = new System.Windows.Forms.Label();
- this.textBoxTarget = new System.Windows.Forms.TextBox();
- this.textBoxPosition = new System.Windows.Forms.TextBox();
- this.textBoxStatus = new System.Windows.Forms.TextBox();
- this.groupBoxShuttle = new System.Windows.Forms.GroupBox();
- this.label_progressText = new System.Windows.Forms.Label();
- this.textBoxSweepCount = new System.Windows.Forms.TextBox();
- this.label6 = new System.Windows.Forms.Label();
- this.progressBar1 = new System.Windows.Forms.ProgressBar();
- this.label2 = new System.Windows.Forms.Label();
- this.label1 = new System.Windows.Forms.Label();
- this.buttonStopShuttle = new System.Windows.Forms.Button();
- this.textBoxShuttleAcceleration = new System.Windows.Forms.TextBox();
- this.buttonStartShuttle = new System.Windows.Forms.Button();
- this.textBoxShuttleRange = new System.Windows.Forms.TextBox();
- this.tabControl = new System.Windows.Forms.TabControl();
- this.tabSimple = new System.Windows.Forms.TabPage();
- this.buttonAbort = new System.Windows.Forms.Button();
- this.buttonInitiate = new System.Windows.Forms.Button();
- this.tabComplicated = new System.Windows.Forms.TabPage();
- this.labelGroup = new System.Windows.Forms.Label();
- this.TextBox_Group = new System.Windows.Forms.TextBox();
- this.checkBoxLog = new System.Windows.Forms.CheckBox();
- this.buttonKill = new System.Windows.Forms.Button();
- this.buttonHome = new System.Windows.Forms.Button();
- this.buttonInitialize = new System.Windows.Forms.Button();
- this.groupBox2 = new System.Windows.Forms.GroupBox();
- this.buttonDisconnect = new System.Windows.Forms.Button();
- this.buttonConnect = new System.Windows.Forms.Button();
- this.labelIpPort = new System.Windows.Forms.Label();
- this.labelIpAddress = new System.Windows.Forms.Label();
- this.textBox_IPPort = new System.Windows.Forms.TextBox();
- this.textBox_IPAddress = new System.Windows.Forms.TextBox();
- this.picTrain = new System.Windows.Forms.PictureBox();
- this.groupBox1.SuspendLayout();
- this.groupBoxShuttle.SuspendLayout();
- this.tabControl.SuspendLayout();
- this.tabSimple.SuspendLayout();
- this.tabComplicated.SuspendLayout();
- this.groupBox2.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.picTrain)).BeginInit();
- this.SuspendLayout();
- //
- // label_MessageCommunication
- //
- this.label_MessageCommunication.AutoSize = true;
- this.label_MessageCommunication.Location = new System.Drawing.Point(11, 285);
- this.label_MessageCommunication.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
- this.label_MessageCommunication.Name = "label_MessageCommunication";
- this.label_MessageCommunication.Size = new System.Drawing.Size(0, 13);
- this.label_MessageCommunication.TabIndex = 1;
- //
- // label_ErrorMessage
- //
- this.label_ErrorMessage.AutoSize = true;
- this.label_ErrorMessage.ForeColor = System.Drawing.Color.Red;
- this.label_ErrorMessage.Location = new System.Drawing.Point(135, 366);
- this.label_ErrorMessage.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
- this.label_ErrorMessage.Name = "label_ErrorMessage";
- this.label_ErrorMessage.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
- this.label_ErrorMessage.Size = new System.Drawing.Size(0, 13);
- this.label_ErrorMessage.TabIndex = 1;
- //
- // buttonMoveTo
- //
- this.buttonMoveTo.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(224)))), ((int)(((byte)(192)))));
- this.buttonMoveTo.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.buttonMoveTo.Location = new System.Drawing.Point(106, 108);
- this.buttonMoveTo.Name = "buttonMoveTo";
- this.buttonMoveTo.Size = new System.Drawing.Size(75, 32);
- this.buttonMoveTo.TabIndex = 5;
- this.buttonMoveTo.Text = "Move to";
- this.buttonMoveTo.UseVisualStyleBackColor = false;
- this.buttonMoveTo.Click += new System.EventHandler(this.buttonMoveTo_Click);
- //
- // groupBox1
- //
- this.groupBox1.Controls.Add(this.label4);
- this.groupBox1.Controls.Add(this.textBoxAcceleration);
- this.groupBox1.Controls.Add(this.label3);
- this.groupBox1.Controls.Add(this.textBoxVelocity);
- this.groupBox1.Controls.Add(this.label_GroupStatusDescription);
- this.groupBox1.Controls.Add(this.buttonMoveTo);
- this.groupBox1.Controls.Add(this.labelPosition);
- this.groupBox1.Controls.Add(this.labelStatus);
- this.groupBox1.Controls.Add(this.textBoxTarget);
- this.groupBox1.Controls.Add(this.textBoxPosition);
- this.groupBox1.Controls.Add(this.textBoxStatus);
- this.groupBox1.Location = new System.Drawing.Point(229, 12);
- this.groupBox1.Name = "groupBox1";
- this.groupBox1.Size = new System.Drawing.Size(300, 180);
- this.groupBox1.TabIndex = 6;
- this.groupBox1.TabStop = false;
- this.groupBox1.Text = "XPS status ";
- //
- // label4
- //
- this.label4.AutoSize = true;
- this.label4.Location = new System.Drawing.Point(189, 54);
- this.label4.Name = "label4";
- this.label4.Size = new System.Drawing.Size(102, 13);
- this.label4.TabIndex = 11;
- this.label4.Text = "Acceleration (estim.)";
- //
- // textBoxAcceleration
- //
- this.textBoxAcceleration.BackColor = System.Drawing.Color.LightGoldenrodYellow;
- this.textBoxAcceleration.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
- this.textBoxAcceleration.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.textBoxAcceleration.Location = new System.Drawing.Point(199, 71);
- this.textBoxAcceleration.Name = "textBoxAcceleration";
- this.textBoxAcceleration.ReadOnly = true;
- this.textBoxAcceleration.Size = new System.Drawing.Size(75, 21);
- this.textBoxAcceleration.TabIndex = 10;
- this.textBoxAcceleration.Text = "0";
- this.textBoxAcceleration.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
- //
- // label3
- //
- this.label3.AutoSize = true;
- this.label3.Location = new System.Drawing.Point(100, 54);
- this.label3.Name = "label3";
- this.label3.Size = new System.Drawing.Size(44, 13);
- this.label3.TabIndex = 9;
- this.label3.Text = "Velocity";
- //
- // textBoxVelocity
- //
- this.textBoxVelocity.BackColor = System.Drawing.Color.AliceBlue;
- this.textBoxVelocity.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
- this.textBoxVelocity.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.textBoxVelocity.Location = new System.Drawing.Point(106, 71);
- this.textBoxVelocity.Name = "textBoxVelocity";
- this.textBoxVelocity.ReadOnly = true;
- this.textBoxVelocity.Size = new System.Drawing.Size(75, 21);
- this.textBoxVelocity.TabIndex = 8;
- this.textBoxVelocity.Text = "0";
- this.textBoxVelocity.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
- //
- // label_GroupStatusDescription
- //
- this.label_GroupStatusDescription.AutoSize = true;
- this.label_GroupStatusDescription.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.label_GroupStatusDescription.ForeColor = System.Drawing.Color.DimGray;
- this.label_GroupStatusDescription.Location = new System.Drawing.Point(15, 153);
- this.label_GroupStatusDescription.Name = "label_GroupStatusDescription";
- this.label_GroupStatusDescription.Size = new System.Drawing.Size(37, 13);
- this.label_GroupStatusDescription.TabIndex = 7;
- this.label_GroupStatusDescription.Text = "Status";
- //
- // labelPosition
- //
- this.labelPosition.AutoSize = true;
- this.labelPosition.Location = new System.Drawing.Point(10, 54);
- this.labelPosition.Name = "labelPosition";
- this.labelPosition.Size = new System.Drawing.Size(44, 13);
- this.labelPosition.TabIndex = 4;
- this.labelPosition.Text = "Position";
- //
- // labelStatus
- //
- this.labelStatus.AutoSize = true;
- this.labelStatus.Location = new System.Drawing.Point(141, 22);
- this.labelStatus.Name = "labelStatus";
- this.labelStatus.Size = new System.Drawing.Size(37, 13);
- this.labelStatus.TabIndex = 4;
- this.labelStatus.Text = "Status";
- //
- // textBoxTarget
- //
- this.textBoxTarget.BackColor = System.Drawing.Color.White;
- this.textBoxTarget.Font = new System.Drawing.Font("Microsoft Sans Serif", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.textBoxTarget.Location = new System.Drawing.Point(200, 115);
- this.textBoxTarget.Name = "textBoxTarget";
- this.textBoxTarget.Size = new System.Drawing.Size(75, 24);
- this.textBoxTarget.TabIndex = 3;
- this.textBoxTarget.Text = "-100";
- this.textBoxTarget.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
- //
- // textBoxPosition
- //
- this.textBoxPosition.BackColor = System.Drawing.Color.LemonChiffon;
- this.textBoxPosition.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
- this.textBoxPosition.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.textBoxPosition.Location = new System.Drawing.Point(12, 71);
- this.textBoxPosition.Name = "textBoxPosition";
- this.textBoxPosition.ReadOnly = true;
- this.textBoxPosition.Size = new System.Drawing.Size(75, 21);
- this.textBoxPosition.TabIndex = 3;
- this.textBoxPosition.Text = "0";
- this.textBoxPosition.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
- //
- // textBoxStatus
- //
- this.textBoxStatus.BackColor = System.Drawing.SystemColors.Control;
- this.textBoxStatus.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
- this.textBoxStatus.Location = new System.Drawing.Point(191, 20);
- this.textBoxStatus.Name = "textBoxStatus";
- this.textBoxStatus.ReadOnly = true;
- this.textBoxStatus.Size = new System.Drawing.Size(75, 20);
- this.textBoxStatus.TabIndex = 3;
- this.textBoxStatus.Text = "0";
- this.textBoxStatus.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
- //
- // groupBoxShuttle
- //
- this.groupBoxShuttle.Controls.Add(this.label_progressText);
- this.groupBoxShuttle.Controls.Add(this.textBoxSweepCount);
- this.groupBoxShuttle.Controls.Add(this.label6);
- this.groupBoxShuttle.Controls.Add(this.progressBar1);
- this.groupBoxShuttle.Controls.Add(this.label2);
- this.groupBoxShuttle.Controls.Add(this.label1);
- this.groupBoxShuttle.Controls.Add(this.buttonStopShuttle);
- this.groupBoxShuttle.Controls.Add(this.textBoxShuttleAcceleration);
- this.groupBoxShuttle.Controls.Add(this.buttonStartShuttle);
- this.groupBoxShuttle.Controls.Add(this.textBoxShuttleRange);
- this.groupBoxShuttle.Location = new System.Drawing.Point(229, 203);
- this.groupBoxShuttle.Margin = new System.Windows.Forms.Padding(2);
- this.groupBoxShuttle.Name = "groupBoxShuttle";
- this.groupBoxShuttle.Padding = new System.Windows.Forms.Padding(2);
- this.groupBoxShuttle.Size = new System.Drawing.Size(300, 151);
- this.groupBoxShuttle.TabIndex = 8;
- this.groupBoxShuttle.TabStop = false;
- this.groupBoxShuttle.Text = " Jogging ";
- //
- // label_progressText
- //
- this.label_progressText.AutoSize = true;
- this.label_progressText.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.label_progressText.Location = new System.Drawing.Point(170, 105);
- this.label_progressText.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
- this.label_progressText.Name = "label_progressText";
- this.label_progressText.Size = new System.Drawing.Size(20, 17);
- this.label_progressText.TabIndex = 25;
- this.label_progressText.Text = "[ ]";
- //
- // textBoxSweepCount
- //
- this.textBoxSweepCount.Font = new System.Drawing.Font("Microsoft Sans Serif", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.textBoxSweepCount.Location = new System.Drawing.Point(129, 105);
- this.textBoxSweepCount.Margin = new System.Windows.Forms.Padding(2);
- this.textBoxSweepCount.Name = "textBoxSweepCount";
- this.textBoxSweepCount.Size = new System.Drawing.Size(37, 24);
- this.textBoxSweepCount.TabIndex = 24;
- this.textBoxSweepCount.Text = "3";
- //
- // label6
- //
- this.label6.AutoSize = true;
- this.label6.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.label6.Location = new System.Drawing.Point(33, 108);
- this.label6.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
- this.label6.Name = "label6";
- this.label6.Size = new System.Drawing.Size(94, 15);
- this.label6.TabIndex = 23;
- this.label6.Text = "numb. of cycles:";
- //
- // progressBar1
- //
- this.progressBar1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.progressBar1.Location = new System.Drawing.Point(0, 137);
- this.progressBar1.Margin = new System.Windows.Forms.Padding(2);
- this.progressBar1.Name = "progressBar1";
- this.progressBar1.Size = new System.Drawing.Size(300, 14);
- this.progressBar1.TabIndex = 19;
- //
- // label2
- //
- this.label2.AutoSize = true;
- this.label2.ForeColor = System.Drawing.Color.Maroon;
- this.label2.Location = new System.Drawing.Point(122, 60);
- this.label2.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
- this.label2.Name = "label2";
- this.label2.Size = new System.Drawing.Size(66, 13);
- this.label2.TabIndex = 18;
- this.label2.Text = "Acceleration";
- //
- // label1
- //
- this.label1.AutoSize = true;
- this.label1.ForeColor = System.Drawing.Color.Blue;
- this.label1.Location = new System.Drawing.Point(122, 15);
- this.label1.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
- this.label1.Name = "label1";
- this.label1.Size = new System.Drawing.Size(64, 13);
- this.label1.TabIndex = 17;
- this.label1.Text = "Range [mm]";
- //
- // buttonStopShuttle
- //
- this.buttonStopShuttle.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
- this.buttonStopShuttle.Enabled = false;
- this.buttonStopShuttle.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.buttonStopShuttle.Location = new System.Drawing.Point(200, 42);
- this.buttonStopShuttle.Name = "buttonStopShuttle";
- this.buttonStopShuttle.Size = new System.Drawing.Size(94, 37);
- this.buttonStopShuttle.TabIndex = 16;
- this.buttonStopShuttle.Text = "Stop Shuttle";
- this.buttonStopShuttle.UseVisualStyleBackColor = false;
- this.buttonStopShuttle.Click += new System.EventHandler(this.buttonStopShuttle_Click);
- //
- // textBoxShuttleAcceleration
- //
- this.textBoxShuttleAcceleration.Font = new System.Drawing.Font("Microsoft Sans Serif", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.textBoxShuttleAcceleration.ForeColor = System.Drawing.Color.Maroon;
- this.textBoxShuttleAcceleration.Location = new System.Drawing.Point(115, 75);
- this.textBoxShuttleAcceleration.Name = "textBoxShuttleAcceleration";
- this.textBoxShuttleAcceleration.Size = new System.Drawing.Size(75, 24);
- this.textBoxShuttleAcceleration.TabIndex = 15;
- this.textBoxShuttleAcceleration.Text = "500";
- this.textBoxShuttleAcceleration.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
- //
- // buttonStartShuttle
- //
- this.buttonStartShuttle.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
- this.buttonStartShuttle.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.buttonStartShuttle.Location = new System.Drawing.Point(10, 42);
- this.buttonStartShuttle.Name = "buttonStartShuttle";
- this.buttonStartShuttle.Size = new System.Drawing.Size(95, 37);
- this.buttonStartShuttle.TabIndex = 14;
- this.buttonStartShuttle.Text = "Start Shuttle";
- this.buttonStartShuttle.UseVisualStyleBackColor = false;
- this.buttonStartShuttle.Click += new System.EventHandler(this.buttonStartShuttle_Click);
- //
- // textBoxShuttleRange
- //
- this.textBoxShuttleRange.BackColor = System.Drawing.Color.White;
- this.textBoxShuttleRange.Font = new System.Drawing.Font("Microsoft Sans Serif", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.textBoxShuttleRange.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));
- this.textBoxShuttleRange.Location = new System.Drawing.Point(115, 32);
- this.textBoxShuttleRange.Name = "textBoxShuttleRange";
- this.textBoxShuttleRange.Size = new System.Drawing.Size(75, 24);
- this.textBoxShuttleRange.TabIndex = 13;
- this.textBoxShuttleRange.Text = "300";
- this.textBoxShuttleRange.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
- //
- // tabControl
- //
- this.tabControl.Controls.Add(this.tabSimple);
- this.tabControl.Controls.Add(this.tabComplicated);
- this.tabControl.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.tabControl.Location = new System.Drawing.Point(7, 12);
- this.tabControl.Margin = new System.Windows.Forms.Padding(2);
- this.tabControl.Name = "tabControl";
- this.tabControl.SelectedIndex = 0;
- this.tabControl.Size = new System.Drawing.Size(212, 264);
- this.tabControl.TabIndex = 9;
- //
- // tabSimple
- //
- this.tabSimple.Controls.Add(this.buttonAbort);
- this.tabSimple.Controls.Add(this.buttonInitiate);
- this.tabSimple.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.tabSimple.Location = new System.Drawing.Point(4, 25);
- this.tabSimple.Margin = new System.Windows.Forms.Padding(2);
- this.tabSimple.Name = "tabSimple";
- this.tabSimple.Padding = new System.Windows.Forms.Padding(2);
- this.tabSimple.Size = new System.Drawing.Size(204, 235);
- this.tabSimple.TabIndex = 0;
- this.tabSimple.Text = " Simple ";
- this.tabSimple.UseVisualStyleBackColor = true;
- //
- // buttonAbort
- //
- this.buttonAbort.Font = new System.Drawing.Font("Microsoft Sans Serif", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.buttonAbort.ForeColor = System.Drawing.Color.Gray;
- this.buttonAbort.Location = new System.Drawing.Point(28, 159);
- this.buttonAbort.Margin = new System.Windows.Forms.Padding(2);
- this.buttonAbort.Name = "buttonAbort";
- this.buttonAbort.Size = new System.Drawing.Size(154, 48);
- this.buttonAbort.TabIndex = 1;
- this.buttonAbort.Text = "Abort";
- this.buttonAbort.UseVisualStyleBackColor = true;
- this.buttonAbort.Visible = false;
- this.buttonAbort.Click += new System.EventHandler(this.buttonAbort_Click);
- //
- // buttonInitiate
- //
- this.buttonInitiate.Font = new System.Drawing.Font("Microsoft Sans Serif", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.buttonInitiate.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));
- this.buttonInitiate.Location = new System.Drawing.Point(28, 50);
- this.buttonInitiate.Margin = new System.Windows.Forms.Padding(2);
- this.buttonInitiate.Name = "buttonInitiate";
- this.buttonInitiate.Size = new System.Drawing.Size(154, 50);
- this.buttonInitiate.TabIndex = 0;
- this.buttonInitiate.Text = "Get ready";
- this.buttonInitiate.UseVisualStyleBackColor = true;
- this.buttonInitiate.Click += new System.EventHandler(this.buttonInitiate_Click);
- //
- // tabComplicated
- //
- this.tabComplicated.Controls.Add(this.labelGroup);
- this.tabComplicated.Controls.Add(this.TextBox_Group);
- this.tabComplicated.Controls.Add(this.checkBoxLog);
- this.tabComplicated.Controls.Add(this.buttonKill);
- this.tabComplicated.Controls.Add(this.buttonHome);
- this.tabComplicated.Controls.Add(this.buttonInitialize);
- this.tabComplicated.Controls.Add(this.groupBox2);
- this.tabComplicated.Location = new System.Drawing.Point(4, 25);
- this.tabComplicated.Margin = new System.Windows.Forms.Padding(2);
- this.tabComplicated.Name = "tabComplicated";
- this.tabComplicated.Padding = new System.Windows.Forms.Padding(2);
- this.tabComplicated.Size = new System.Drawing.Size(204, 235);
- this.tabComplicated.TabIndex = 1;
- this.tabComplicated.Text = "Complicated";
- this.tabComplicated.UseVisualStyleBackColor = true;
- //
- // labelGroup
- //
- this.labelGroup.AutoSize = true;
- this.labelGroup.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.labelGroup.Location = new System.Drawing.Point(5, 132);
- this.labelGroup.Name = "labelGroup";
- this.labelGroup.Size = new System.Drawing.Size(97, 15);
- this.labelGroup.TabIndex = 14;
- this.labelGroup.Text = "Positioner name";
- //
- // TextBox_Group
- //
- this.TextBox_Group.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.TextBox_Group.Location = new System.Drawing.Point(103, 129);
- this.TextBox_Group.Name = "TextBox_Group";
- this.TextBox_Group.Size = new System.Drawing.Size(91, 21);
- this.TextBox_Group.TabIndex = 13;
- this.TextBox_Group.Text = "Group1.Pos";
- //
- // checkBoxLog
- //
- this.checkBoxLog.AutoSize = true;
- this.checkBoxLog.Checked = true;
- this.checkBoxLog.CheckState = System.Windows.Forms.CheckState.Checked;
- this.checkBoxLog.Location = new System.Drawing.Point(107, 196);
- this.checkBoxLog.Name = "checkBoxLog";
- this.checkBoxLog.Size = new System.Drawing.Size(87, 21);
- this.checkBoxLog.TabIndex = 12;
- this.checkBoxLog.Text = "Save Log";
- this.checkBoxLog.UseVisualStyleBackColor = true;
- //
- // buttonKill
- //
- this.buttonKill.BackColor = System.Drawing.SystemColors.Control;
- this.buttonKill.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.buttonKill.Location = new System.Drawing.Point(109, 159);
- this.buttonKill.Name = "buttonKill";
- this.buttonKill.Size = new System.Drawing.Size(75, 23);
- this.buttonKill.TabIndex = 9;
- this.buttonKill.Text = "Kill";
- this.buttonKill.UseVisualStyleBackColor = false;
- this.buttonKill.Click += new System.EventHandler(this.buttonKill_Click);
- //
- // buttonHome
- //
- this.buttonHome.BackColor = System.Drawing.SystemColors.Control;
- this.buttonHome.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.buttonHome.Location = new System.Drawing.Point(14, 196);
- this.buttonHome.Name = "buttonHome";
- this.buttonHome.Size = new System.Drawing.Size(75, 23);
- this.buttonHome.TabIndex = 10;
- this.buttonHome.Text = "Home";
- this.buttonHome.UseVisualStyleBackColor = false;
- this.buttonHome.Click += new System.EventHandler(this.buttonHome_Click);
- //
- // buttonInitialize
- //
- this.buttonInitialize.BackColor = System.Drawing.SystemColors.Control;
- this.buttonInitialize.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.buttonInitialize.Location = new System.Drawing.Point(14, 159);
- this.buttonInitialize.Name = "buttonInitialize";
- this.buttonInitialize.Size = new System.Drawing.Size(75, 23);
- this.buttonInitialize.TabIndex = 11;
- this.buttonInitialize.Text = "Initialize";
- this.buttonInitialize.UseVisualStyleBackColor = false;
- this.buttonInitialize.Click += new System.EventHandler(this.buttonInitialize_Click);
- //
- // groupBox2
- //
- this.groupBox2.Controls.Add(this.buttonDisconnect);
- this.groupBox2.Controls.Add(this.buttonConnect);
- this.groupBox2.Controls.Add(this.labelIpPort);
- this.groupBox2.Controls.Add(this.labelIpAddress);
- this.groupBox2.Controls.Add(this.textBox_IPPort);
- this.groupBox2.Controls.Add(this.textBox_IPAddress);
- this.groupBox2.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.groupBox2.Location = new System.Drawing.Point(3, 5);
- this.groupBox2.Name = "groupBox2";
- this.groupBox2.Size = new System.Drawing.Size(197, 115);
- this.groupBox2.TabIndex = 8;
- this.groupBox2.TabStop = false;
- this.groupBox2.Text = "TCP IP";
- //
- // buttonDisconnect
- //
- this.buttonDisconnect.Location = new System.Drawing.Point(105, 76);
- this.buttonDisconnect.Margin = new System.Windows.Forms.Padding(2);
- this.buttonDisconnect.Name = "buttonDisconnect";
- this.buttonDisconnect.Size = new System.Drawing.Size(75, 23);
- this.buttonDisconnect.TabIndex = 2;
- this.buttonDisconnect.Text = "Disconnect";
- this.buttonDisconnect.UseVisualStyleBackColor = true;
- this.buttonDisconnect.Click += new System.EventHandler(this.buttonDisconnect_Click);
- //
- // buttonConnect
- //
- this.buttonConnect.Location = new System.Drawing.Point(11, 76);
- this.buttonConnect.Margin = new System.Windows.Forms.Padding(2);
- this.buttonConnect.Name = "buttonConnect";
- this.buttonConnect.Size = new System.Drawing.Size(75, 23);
- this.buttonConnect.TabIndex = 2;
- this.buttonConnect.Text = "Connect";
- this.buttonConnect.UseVisualStyleBackColor = true;
- this.buttonConnect.Click += new System.EventHandler(this.ConnectButton);
- //
- // labelIpPort
- //
- this.labelIpPort.AutoSize = true;
- this.labelIpPort.Location = new System.Drawing.Point(20, 49);
- this.labelIpPort.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
- this.labelIpPort.Name = "labelIpPort";
- this.labelIpPort.Size = new System.Drawing.Size(43, 15);
- this.labelIpPort.TabIndex = 1;
- this.labelIpPort.Text = "IP Port";
- //
- // labelIpAddress
- //
- this.labelIpAddress.AutoSize = true;
- this.labelIpAddress.Location = new System.Drawing.Point(20, 23);
- this.labelIpAddress.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
- this.labelIpAddress.Name = "labelIpAddress";
- this.labelIpAddress.Size = new System.Drawing.Size(65, 15);
- this.labelIpAddress.TabIndex = 1;
- this.labelIpAddress.Text = "IP address";
- //
- // textBox_IPPort
- //
- this.textBox_IPPort.Location = new System.Drawing.Point(90, 46);
- this.textBox_IPPort.Margin = new System.Windows.Forms.Padding(2);
- this.textBox_IPPort.Name = "textBox_IPPort";
- this.textBox_IPPort.Size = new System.Drawing.Size(39, 21);
- this.textBox_IPPort.TabIndex = 0;
- this.textBox_IPPort.Text = "5001";
- //
- // textBox_IPAddress
- //
- this.textBox_IPAddress.Location = new System.Drawing.Point(90, 21);
- this.textBox_IPAddress.Margin = new System.Windows.Forms.Padding(2);
- this.textBox_IPAddress.Name = "textBox_IPAddress";
- this.textBox_IPAddress.Size = new System.Drawing.Size(92, 21);
- this.textBox_IPAddress.TabIndex = 0;
- this.textBox_IPAddress.Text = "192.168.0.254";
- //
- // picTrain
- //
- this.picTrain.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
- this.picTrain.Image = ((System.Drawing.Image)(resources.GetObject("picTrain.Image")));
- this.picTrain.ImageLocation = "";
- this.picTrain.InitialImage = ((System.Drawing.Image)(resources.GetObject("picTrain.InitialImage")));
- this.picTrain.Location = new System.Drawing.Point(7, 308);
- this.picTrain.Margin = new System.Windows.Forms.Padding(2);
- this.picTrain.Name = "picTrain";
- this.picTrain.Size = new System.Drawing.Size(119, 67);
- this.picTrain.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
- this.picTrain.TabIndex = 10;
- this.picTrain.TabStop = false;
- this.picTrain.Click += new System.EventHandler(this.picTrain_Click);
- //
- // FormAxelTrack
- //
- this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.BackColor = System.Drawing.Color.White;
- this.ClientSize = new System.Drawing.Size(542, 394);
- this.Controls.Add(this.picTrain);
- this.Controls.Add(this.tabControl);
- this.Controls.Add(this.groupBoxShuttle);
- this.Controls.Add(this.groupBox1);
- this.Controls.Add(this.label_MessageCommunication);
- this.Controls.Add(this.label_ErrorMessage);
- this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
- this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
- this.Margin = new System.Windows.Forms.Padding(2);
- this.Name = "FormAxelTrack";
- this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
- this.Text = "Axel Track v1.2";
- this.groupBox1.ResumeLayout(false);
- this.groupBox1.PerformLayout();
- this.groupBoxShuttle.ResumeLayout(false);
- this.groupBoxShuttle.PerformLayout();
- this.tabControl.ResumeLayout(false);
- this.tabSimple.ResumeLayout(false);
- this.tabComplicated.ResumeLayout(false);
- this.tabComplicated.PerformLayout();
- this.groupBox2.ResumeLayout(false);
- this.groupBox2.PerformLayout();
- ((System.ComponentModel.ISupportInitialize)(this.picTrain)).EndInit();
- this.ResumeLayout(false);
- this.PerformLayout();
-
- }
-
- #endregion
-
- private System.Windows.Forms.Label label_MessageCommunication;
- private System.Windows.Forms.Label label_ErrorMessage;
- private System.Windows.Forms.Button buttonMoveTo;
- private System.Windows.Forms.GroupBox groupBox1;
- private System.Windows.Forms.Label labelPosition;
- private System.Windows.Forms.Label labelStatus;
- private System.Windows.Forms.TextBox textBoxTarget;
- private System.Windows.Forms.TextBox textBoxPosition;
- private System.Windows.Forms.TextBox textBoxStatus;
- private System.Windows.Forms.Label label4;
- private System.Windows.Forms.TextBox textBoxAcceleration;
- private System.Windows.Forms.Label label3;
- private System.Windows.Forms.TextBox textBoxVelocity;
- private System.Windows.Forms.Label label_GroupStatusDescription;
- private System.Windows.Forms.GroupBox groupBoxShuttle;
- private System.Windows.Forms.Label label2;
- private System.Windows.Forms.Label label1;
- private System.Windows.Forms.Button buttonStopShuttle;
- private System.Windows.Forms.TextBox textBoxShuttleAcceleration;
- private System.Windows.Forms.Button buttonStartShuttle;
- private System.Windows.Forms.TextBox textBoxShuttleRange;
- private System.Windows.Forms.TabControl tabControl;
- private System.Windows.Forms.TabPage tabSimple;
- private System.Windows.Forms.Button buttonAbort;
- private System.Windows.Forms.Button buttonInitiate;
- private System.Windows.Forms.TabPage tabComplicated;
- private System.Windows.Forms.Button buttonKill;
- private System.Windows.Forms.Button buttonHome;
- private System.Windows.Forms.Button buttonInitialize;
- private System.Windows.Forms.GroupBox groupBox2;
- private System.Windows.Forms.Button buttonDisconnect;
- private System.Windows.Forms.Button buttonConnect;
- private System.Windows.Forms.Label labelIpPort;
- private System.Windows.Forms.Label labelIpAddress;
- private System.Windows.Forms.TextBox textBox_IPPort;
- private System.Windows.Forms.TextBox textBox_IPAddress;
- private System.Windows.Forms.CheckBox checkBoxLog;
- private System.Windows.Forms.TextBox textBoxSweepCount;
- private System.Windows.Forms.Label label6;
- private System.Windows.Forms.ProgressBar progressBar1;
- private System.Windows.Forms.Label labelGroup;
- private System.Windows.Forms.TextBox TextBox_Group;
- private System.Windows.Forms.Label label_progressText;
- private System.Windows.Forms.PictureBox picTrain;
- }
-}
-
+namespace AxelTrackNS
+{
+ partial class FormAxelTrack
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormAxelTrack));
+ this.label_MessageCommunication = new System.Windows.Forms.Label();
+ this.label_ErrorMessage = new System.Windows.Forms.Label();
+ this.buttonMoveTo = new System.Windows.Forms.Button();
+ this.groupBox1 = new System.Windows.Forms.GroupBox();
+ this.label4 = new System.Windows.Forms.Label();
+ this.textBoxAcceleration = new System.Windows.Forms.TextBox();
+ this.label3 = new System.Windows.Forms.Label();
+ this.textBoxVelocity = new System.Windows.Forms.TextBox();
+ this.label_GroupStatusDescription = new System.Windows.Forms.Label();
+ this.labelPosition = new System.Windows.Forms.Label();
+ this.labelStatus = new System.Windows.Forms.Label();
+ this.textBoxTarget = new System.Windows.Forms.TextBox();
+ this.textBoxPosition = new System.Windows.Forms.TextBox();
+ this.textBoxStatus = new System.Windows.Forms.TextBox();
+ this.groupBoxShuttle = new System.Windows.Forms.GroupBox();
+ this.label_progressText = new System.Windows.Forms.Label();
+ this.textBoxSweepCount = new System.Windows.Forms.TextBox();
+ this.label6 = new System.Windows.Forms.Label();
+ this.progressBar1 = new System.Windows.Forms.ProgressBar();
+ this.label2 = new System.Windows.Forms.Label();
+ this.label1 = new System.Windows.Forms.Label();
+ this.buttonStopShuttle = new System.Windows.Forms.Button();
+ this.textBoxShuttleAcceleration = new System.Windows.Forms.TextBox();
+ this.buttonStartShuttle = new System.Windows.Forms.Button();
+ this.textBoxShuttleRange = new System.Windows.Forms.TextBox();
+ this.tabControl = new System.Windows.Forms.TabControl();
+ this.tabSimple = new System.Windows.Forms.TabPage();
+ this.buttonAbort = new System.Windows.Forms.Button();
+ this.buttonInitiate = new System.Windows.Forms.Button();
+ this.tabComplicated = new System.Windows.Forms.TabPage();
+ this.labelGroup = new System.Windows.Forms.Label();
+ this.TextBox_Group = new System.Windows.Forms.TextBox();
+ this.checkBoxLog = new System.Windows.Forms.CheckBox();
+ this.buttonKill = new System.Windows.Forms.Button();
+ this.buttonHome = new System.Windows.Forms.Button();
+ this.buttonInitialize = new System.Windows.Forms.Button();
+ this.groupBox2 = new System.Windows.Forms.GroupBox();
+ this.buttonDisconnect = new System.Windows.Forms.Button();
+ this.buttonConnect = new System.Windows.Forms.Button();
+ this.labelIpPort = new System.Windows.Forms.Label();
+ this.labelIpAddress = new System.Windows.Forms.Label();
+ this.textBox_IPPort = new System.Windows.Forms.TextBox();
+ this.textBox_IPAddress = new System.Windows.Forms.TextBox();
+ this.picTrain = new System.Windows.Forms.PictureBox();
+ this.groupBox1.SuspendLayout();
+ this.groupBoxShuttle.SuspendLayout();
+ this.tabControl.SuspendLayout();
+ this.tabSimple.SuspendLayout();
+ this.tabComplicated.SuspendLayout();
+ this.groupBox2.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.picTrain)).BeginInit();
+ this.SuspendLayout();
+ //
+ // label_MessageCommunication
+ //
+ this.label_MessageCommunication.AutoSize = true;
+ this.label_MessageCommunication.Location = new System.Drawing.Point(11, 285);
+ this.label_MessageCommunication.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
+ this.label_MessageCommunication.Name = "label_MessageCommunication";
+ this.label_MessageCommunication.Size = new System.Drawing.Size(0, 13);
+ this.label_MessageCommunication.TabIndex = 1;
+ //
+ // label_ErrorMessage
+ //
+ this.label_ErrorMessage.AutoSize = true;
+ this.label_ErrorMessage.ForeColor = System.Drawing.Color.Red;
+ this.label_ErrorMessage.Location = new System.Drawing.Point(135, 366);
+ this.label_ErrorMessage.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
+ this.label_ErrorMessage.Name = "label_ErrorMessage";
+ this.label_ErrorMessage.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
+ this.label_ErrorMessage.Size = new System.Drawing.Size(0, 13);
+ this.label_ErrorMessage.TabIndex = 1;
+ //
+ // buttonMoveTo
+ //
+ this.buttonMoveTo.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(224)))), ((int)(((byte)(192)))));
+ this.buttonMoveTo.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.buttonMoveTo.Location = new System.Drawing.Point(106, 108);
+ this.buttonMoveTo.Name = "buttonMoveTo";
+ this.buttonMoveTo.Size = new System.Drawing.Size(75, 32);
+ this.buttonMoveTo.TabIndex = 5;
+ this.buttonMoveTo.Text = "Move to";
+ this.buttonMoveTo.UseVisualStyleBackColor = false;
+ this.buttonMoveTo.Click += new System.EventHandler(this.buttonMoveTo_Click);
+ //
+ // groupBox1
+ //
+ this.groupBox1.Controls.Add(this.label4);
+ this.groupBox1.Controls.Add(this.textBoxAcceleration);
+ this.groupBox1.Controls.Add(this.label3);
+ this.groupBox1.Controls.Add(this.textBoxVelocity);
+ this.groupBox1.Controls.Add(this.label_GroupStatusDescription);
+ this.groupBox1.Controls.Add(this.buttonMoveTo);
+ this.groupBox1.Controls.Add(this.labelPosition);
+ this.groupBox1.Controls.Add(this.labelStatus);
+ this.groupBox1.Controls.Add(this.textBoxTarget);
+ this.groupBox1.Controls.Add(this.textBoxPosition);
+ this.groupBox1.Controls.Add(this.textBoxStatus);
+ this.groupBox1.Location = new System.Drawing.Point(229, 12);
+ this.groupBox1.Name = "groupBox1";
+ this.groupBox1.Size = new System.Drawing.Size(300, 180);
+ this.groupBox1.TabIndex = 6;
+ this.groupBox1.TabStop = false;
+ this.groupBox1.Text = "XPS status ";
+ //
+ // label4
+ //
+ this.label4.AutoSize = true;
+ this.label4.Location = new System.Drawing.Point(189, 54);
+ this.label4.Name = "label4";
+ this.label4.Size = new System.Drawing.Size(102, 13);
+ this.label4.TabIndex = 11;
+ this.label4.Text = "Acceleration (estim.)";
+ //
+ // textBoxAcceleration
+ //
+ this.textBoxAcceleration.BackColor = System.Drawing.Color.LightGoldenrodYellow;
+ this.textBoxAcceleration.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.textBoxAcceleration.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.textBoxAcceleration.Location = new System.Drawing.Point(199, 71);
+ this.textBoxAcceleration.Name = "textBoxAcceleration";
+ this.textBoxAcceleration.ReadOnly = true;
+ this.textBoxAcceleration.Size = new System.Drawing.Size(75, 21);
+ this.textBoxAcceleration.TabIndex = 10;
+ this.textBoxAcceleration.Text = "0";
+ this.textBoxAcceleration.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
+ //
+ // label3
+ //
+ this.label3.AutoSize = true;
+ this.label3.Location = new System.Drawing.Point(100, 54);
+ this.label3.Name = "label3";
+ this.label3.Size = new System.Drawing.Size(44, 13);
+ this.label3.TabIndex = 9;
+ this.label3.Text = "Velocity";
+ //
+ // textBoxVelocity
+ //
+ this.textBoxVelocity.BackColor = System.Drawing.Color.AliceBlue;
+ this.textBoxVelocity.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.textBoxVelocity.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.textBoxVelocity.Location = new System.Drawing.Point(106, 71);
+ this.textBoxVelocity.Name = "textBoxVelocity";
+ this.textBoxVelocity.ReadOnly = true;
+ this.textBoxVelocity.Size = new System.Drawing.Size(75, 21);
+ this.textBoxVelocity.TabIndex = 8;
+ this.textBoxVelocity.Text = "0";
+ this.textBoxVelocity.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
+ //
+ // label_GroupStatusDescription
+ //
+ this.label_GroupStatusDescription.AutoSize = true;
+ this.label_GroupStatusDescription.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.label_GroupStatusDescription.ForeColor = System.Drawing.Color.DimGray;
+ this.label_GroupStatusDescription.Location = new System.Drawing.Point(15, 153);
+ this.label_GroupStatusDescription.Name = "label_GroupStatusDescription";
+ this.label_GroupStatusDescription.Size = new System.Drawing.Size(37, 13);
+ this.label_GroupStatusDescription.TabIndex = 7;
+ this.label_GroupStatusDescription.Text = "Status";
+ //
+ // labelPosition
+ //
+ this.labelPosition.AutoSize = true;
+ this.labelPosition.Location = new System.Drawing.Point(10, 54);
+ this.labelPosition.Name = "labelPosition";
+ this.labelPosition.Size = new System.Drawing.Size(44, 13);
+ this.labelPosition.TabIndex = 4;
+ this.labelPosition.Text = "Position";
+ //
+ // labelStatus
+ //
+ this.labelStatus.AutoSize = true;
+ this.labelStatus.Location = new System.Drawing.Point(141, 22);
+ this.labelStatus.Name = "labelStatus";
+ this.labelStatus.Size = new System.Drawing.Size(37, 13);
+ this.labelStatus.TabIndex = 4;
+ this.labelStatus.Text = "Status";
+ //
+ // textBoxTarget
+ //
+ this.textBoxTarget.BackColor = System.Drawing.Color.White;
+ this.textBoxTarget.Font = new System.Drawing.Font("Microsoft Sans Serif", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.textBoxTarget.Location = new System.Drawing.Point(200, 115);
+ this.textBoxTarget.Name = "textBoxTarget";
+ this.textBoxTarget.Size = new System.Drawing.Size(75, 24);
+ this.textBoxTarget.TabIndex = 3;
+ this.textBoxTarget.Text = "-100";
+ this.textBoxTarget.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
+ //
+ // textBoxPosition
+ //
+ this.textBoxPosition.BackColor = System.Drawing.Color.LemonChiffon;
+ this.textBoxPosition.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.textBoxPosition.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.textBoxPosition.Location = new System.Drawing.Point(12, 71);
+ this.textBoxPosition.Name = "textBoxPosition";
+ this.textBoxPosition.ReadOnly = true;
+ this.textBoxPosition.Size = new System.Drawing.Size(75, 21);
+ this.textBoxPosition.TabIndex = 3;
+ this.textBoxPosition.Text = "0";
+ this.textBoxPosition.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
+ //
+ // textBoxStatus
+ //
+ this.textBoxStatus.BackColor = System.Drawing.SystemColors.Control;
+ this.textBoxStatus.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.textBoxStatus.Location = new System.Drawing.Point(191, 20);
+ this.textBoxStatus.Name = "textBoxStatus";
+ this.textBoxStatus.ReadOnly = true;
+ this.textBoxStatus.Size = new System.Drawing.Size(75, 20);
+ this.textBoxStatus.TabIndex = 3;
+ this.textBoxStatus.Text = "0";
+ this.textBoxStatus.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+ //
+ // groupBoxShuttle
+ //
+ this.groupBoxShuttle.Controls.Add(this.label_progressText);
+ this.groupBoxShuttle.Controls.Add(this.textBoxSweepCount);
+ this.groupBoxShuttle.Controls.Add(this.label6);
+ this.groupBoxShuttle.Controls.Add(this.progressBar1);
+ this.groupBoxShuttle.Controls.Add(this.label2);
+ this.groupBoxShuttle.Controls.Add(this.label1);
+ this.groupBoxShuttle.Controls.Add(this.buttonStopShuttle);
+ this.groupBoxShuttle.Controls.Add(this.textBoxShuttleAcceleration);
+ this.groupBoxShuttle.Controls.Add(this.buttonStartShuttle);
+ this.groupBoxShuttle.Controls.Add(this.textBoxShuttleRange);
+ this.groupBoxShuttle.Location = new System.Drawing.Point(229, 203);
+ this.groupBoxShuttle.Margin = new System.Windows.Forms.Padding(2);
+ this.groupBoxShuttle.Name = "groupBoxShuttle";
+ this.groupBoxShuttle.Padding = new System.Windows.Forms.Padding(2);
+ this.groupBoxShuttle.Size = new System.Drawing.Size(300, 151);
+ this.groupBoxShuttle.TabIndex = 8;
+ this.groupBoxShuttle.TabStop = false;
+ this.groupBoxShuttle.Text = " Jogging ";
+ //
+ // label_progressText
+ //
+ this.label_progressText.AutoSize = true;
+ this.label_progressText.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.label_progressText.Location = new System.Drawing.Point(170, 105);
+ this.label_progressText.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
+ this.label_progressText.Name = "label_progressText";
+ this.label_progressText.Size = new System.Drawing.Size(20, 17);
+ this.label_progressText.TabIndex = 25;
+ this.label_progressText.Text = "[ ]";
+ //
+ // textBoxSweepCount
+ //
+ this.textBoxSweepCount.Font = new System.Drawing.Font("Microsoft Sans Serif", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.textBoxSweepCount.Location = new System.Drawing.Point(129, 105);
+ this.textBoxSweepCount.Margin = new System.Windows.Forms.Padding(2);
+ this.textBoxSweepCount.Name = "textBoxSweepCount";
+ this.textBoxSweepCount.Size = new System.Drawing.Size(37, 24);
+ this.textBoxSweepCount.TabIndex = 24;
+ this.textBoxSweepCount.Text = "3";
+ //
+ // label6
+ //
+ this.label6.AutoSize = true;
+ this.label6.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.label6.Location = new System.Drawing.Point(33, 108);
+ this.label6.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
+ this.label6.Name = "label6";
+ this.label6.Size = new System.Drawing.Size(94, 15);
+ this.label6.TabIndex = 23;
+ this.label6.Text = "numb. of cycles:";
+ //
+ // progressBar1
+ //
+ this.progressBar1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.progressBar1.Location = new System.Drawing.Point(0, 137);
+ this.progressBar1.Margin = new System.Windows.Forms.Padding(2);
+ this.progressBar1.Name = "progressBar1";
+ this.progressBar1.Size = new System.Drawing.Size(300, 14);
+ this.progressBar1.TabIndex = 19;
+ //
+ // label2
+ //
+ this.label2.AutoSize = true;
+ this.label2.ForeColor = System.Drawing.Color.Maroon;
+ this.label2.Location = new System.Drawing.Point(122, 60);
+ this.label2.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(66, 13);
+ this.label2.TabIndex = 18;
+ this.label2.Text = "Acceleration";
+ //
+ // label1
+ //
+ this.label1.AutoSize = true;
+ this.label1.ForeColor = System.Drawing.Color.Blue;
+ this.label1.Location = new System.Drawing.Point(122, 15);
+ this.label1.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(64, 13);
+ this.label1.TabIndex = 17;
+ this.label1.Text = "Range [mm]";
+ //
+ // buttonStopShuttle
+ //
+ this.buttonStopShuttle.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
+ this.buttonStopShuttle.Enabled = false;
+ this.buttonStopShuttle.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.buttonStopShuttle.Location = new System.Drawing.Point(200, 42);
+ this.buttonStopShuttle.Name = "buttonStopShuttle";
+ this.buttonStopShuttle.Size = new System.Drawing.Size(94, 37);
+ this.buttonStopShuttle.TabIndex = 16;
+ this.buttonStopShuttle.Text = "Stop Shuttle";
+ this.buttonStopShuttle.UseVisualStyleBackColor = false;
+ this.buttonStopShuttle.Click += new System.EventHandler(this.buttonStopShuttle_Click);
+ //
+ // textBoxShuttleAcceleration
+ //
+ this.textBoxShuttleAcceleration.Font = new System.Drawing.Font("Microsoft Sans Serif", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.textBoxShuttleAcceleration.ForeColor = System.Drawing.Color.Maroon;
+ this.textBoxShuttleAcceleration.Location = new System.Drawing.Point(115, 75);
+ this.textBoxShuttleAcceleration.Name = "textBoxShuttleAcceleration";
+ this.textBoxShuttleAcceleration.Size = new System.Drawing.Size(75, 24);
+ this.textBoxShuttleAcceleration.TabIndex = 15;
+ this.textBoxShuttleAcceleration.Text = "500";
+ this.textBoxShuttleAcceleration.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
+ //
+ // buttonStartShuttle
+ //
+ this.buttonStartShuttle.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
+ this.buttonStartShuttle.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.buttonStartShuttle.Location = new System.Drawing.Point(10, 42);
+ this.buttonStartShuttle.Name = "buttonStartShuttle";
+ this.buttonStartShuttle.Size = new System.Drawing.Size(95, 37);
+ this.buttonStartShuttle.TabIndex = 14;
+ this.buttonStartShuttle.Text = "Start Shuttle";
+ this.buttonStartShuttle.UseVisualStyleBackColor = false;
+ this.buttonStartShuttle.Click += new System.EventHandler(this.buttonStartShuttle_Click);
+ //
+ // textBoxShuttleRange
+ //
+ this.textBoxShuttleRange.BackColor = System.Drawing.Color.White;
+ this.textBoxShuttleRange.Font = new System.Drawing.Font("Microsoft Sans Serif", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.textBoxShuttleRange.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));
+ this.textBoxShuttleRange.Location = new System.Drawing.Point(115, 32);
+ this.textBoxShuttleRange.Name = "textBoxShuttleRange";
+ this.textBoxShuttleRange.Size = new System.Drawing.Size(75, 24);
+ this.textBoxShuttleRange.TabIndex = 13;
+ this.textBoxShuttleRange.Text = "300";
+ this.textBoxShuttleRange.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
+ //
+ // tabControl
+ //
+ this.tabControl.Controls.Add(this.tabSimple);
+ this.tabControl.Controls.Add(this.tabComplicated);
+ this.tabControl.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.tabControl.Location = new System.Drawing.Point(7, 12);
+ this.tabControl.Margin = new System.Windows.Forms.Padding(2);
+ this.tabControl.Name = "tabControl";
+ this.tabControl.SelectedIndex = 0;
+ this.tabControl.Size = new System.Drawing.Size(212, 264);
+ this.tabControl.TabIndex = 9;
+ //
+ // tabSimple
+ //
+ this.tabSimple.Controls.Add(this.buttonAbort);
+ this.tabSimple.Controls.Add(this.buttonInitiate);
+ this.tabSimple.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.tabSimple.Location = new System.Drawing.Point(4, 25);
+ this.tabSimple.Margin = new System.Windows.Forms.Padding(2);
+ this.tabSimple.Name = "tabSimple";
+ this.tabSimple.Padding = new System.Windows.Forms.Padding(2);
+ this.tabSimple.Size = new System.Drawing.Size(204, 235);
+ this.tabSimple.TabIndex = 0;
+ this.tabSimple.Text = " Simple ";
+ this.tabSimple.UseVisualStyleBackColor = true;
+ //
+ // buttonAbort
+ //
+ this.buttonAbort.Font = new System.Drawing.Font("Microsoft Sans Serif", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.buttonAbort.ForeColor = System.Drawing.Color.Gray;
+ this.buttonAbort.Location = new System.Drawing.Point(28, 159);
+ this.buttonAbort.Margin = new System.Windows.Forms.Padding(2);
+ this.buttonAbort.Name = "buttonAbort";
+ this.buttonAbort.Size = new System.Drawing.Size(154, 48);
+ this.buttonAbort.TabIndex = 1;
+ this.buttonAbort.Text = "Abort";
+ this.buttonAbort.UseVisualStyleBackColor = true;
+ this.buttonAbort.Visible = false;
+ this.buttonAbort.Click += new System.EventHandler(this.buttonAbort_Click);
+ //
+ // buttonInitiate
+ //
+ this.buttonInitiate.Font = new System.Drawing.Font("Microsoft Sans Serif", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.buttonInitiate.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));
+ this.buttonInitiate.Location = new System.Drawing.Point(28, 50);
+ this.buttonInitiate.Margin = new System.Windows.Forms.Padding(2);
+ this.buttonInitiate.Name = "buttonInitiate";
+ this.buttonInitiate.Size = new System.Drawing.Size(154, 50);
+ this.buttonInitiate.TabIndex = 0;
+ this.buttonInitiate.Text = "Get ready";
+ this.buttonInitiate.UseVisualStyleBackColor = true;
+ this.buttonInitiate.Click += new System.EventHandler(this.buttonInitiate_Click);
+ //
+ // tabComplicated
+ //
+ this.tabComplicated.Controls.Add(this.labelGroup);
+ this.tabComplicated.Controls.Add(this.TextBox_Group);
+ this.tabComplicated.Controls.Add(this.checkBoxLog);
+ this.tabComplicated.Controls.Add(this.buttonKill);
+ this.tabComplicated.Controls.Add(this.buttonHome);
+ this.tabComplicated.Controls.Add(this.buttonInitialize);
+ this.tabComplicated.Controls.Add(this.groupBox2);
+ this.tabComplicated.Location = new System.Drawing.Point(4, 25);
+ this.tabComplicated.Margin = new System.Windows.Forms.Padding(2);
+ this.tabComplicated.Name = "tabComplicated";
+ this.tabComplicated.Padding = new System.Windows.Forms.Padding(2);
+ this.tabComplicated.Size = new System.Drawing.Size(204, 235);
+ this.tabComplicated.TabIndex = 1;
+ this.tabComplicated.Text = "Complicated";
+ this.tabComplicated.UseVisualStyleBackColor = true;
+ //
+ // labelGroup
+ //
+ this.labelGroup.AutoSize = true;
+ this.labelGroup.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.labelGroup.Location = new System.Drawing.Point(5, 132);
+ this.labelGroup.Name = "labelGroup";
+ this.labelGroup.Size = new System.Drawing.Size(97, 15);
+ this.labelGroup.TabIndex = 14;
+ this.labelGroup.Text = "Positioner name";
+ //
+ // TextBox_Group
+ //
+ this.TextBox_Group.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.TextBox_Group.Location = new System.Drawing.Point(103, 129);
+ this.TextBox_Group.Name = "TextBox_Group";
+ this.TextBox_Group.Size = new System.Drawing.Size(91, 21);
+ this.TextBox_Group.TabIndex = 13;
+ this.TextBox_Group.Text = "Group1.Pos";
+ //
+ // checkBoxLog
+ //
+ this.checkBoxLog.AutoSize = true;
+ this.checkBoxLog.Checked = true;
+ this.checkBoxLog.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.checkBoxLog.Location = new System.Drawing.Point(107, 196);
+ this.checkBoxLog.Name = "checkBoxLog";
+ this.checkBoxLog.Size = new System.Drawing.Size(87, 21);
+ this.checkBoxLog.TabIndex = 12;
+ this.checkBoxLog.Text = "Save Log";
+ this.checkBoxLog.UseVisualStyleBackColor = true;
+ //
+ // buttonKill
+ //
+ this.buttonKill.BackColor = System.Drawing.SystemColors.Control;
+ this.buttonKill.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.buttonKill.Location = new System.Drawing.Point(109, 159);
+ this.buttonKill.Name = "buttonKill";
+ this.buttonKill.Size = new System.Drawing.Size(75, 23);
+ this.buttonKill.TabIndex = 9;
+ this.buttonKill.Text = "Kill";
+ this.buttonKill.UseVisualStyleBackColor = false;
+ this.buttonKill.Click += new System.EventHandler(this.buttonKill_Click);
+ //
+ // buttonHome
+ //
+ this.buttonHome.BackColor = System.Drawing.SystemColors.Control;
+ this.buttonHome.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.buttonHome.Location = new System.Drawing.Point(14, 196);
+ this.buttonHome.Name = "buttonHome";
+ this.buttonHome.Size = new System.Drawing.Size(75, 23);
+ this.buttonHome.TabIndex = 10;
+ this.buttonHome.Text = "Home";
+ this.buttonHome.UseVisualStyleBackColor = false;
+ this.buttonHome.Click += new System.EventHandler(this.buttonHome_Click);
+ //
+ // buttonInitialize
+ //
+ this.buttonInitialize.BackColor = System.Drawing.SystemColors.Control;
+ this.buttonInitialize.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.buttonInitialize.Location = new System.Drawing.Point(14, 159);
+ this.buttonInitialize.Name = "buttonInitialize";
+ this.buttonInitialize.Size = new System.Drawing.Size(75, 23);
+ this.buttonInitialize.TabIndex = 11;
+ this.buttonInitialize.Text = "Initialize";
+ this.buttonInitialize.UseVisualStyleBackColor = false;
+ this.buttonInitialize.Click += new System.EventHandler(this.buttonInitialize_Click);
+ //
+ // groupBox2
+ //
+ this.groupBox2.Controls.Add(this.buttonDisconnect);
+ this.groupBox2.Controls.Add(this.buttonConnect);
+ this.groupBox2.Controls.Add(this.labelIpPort);
+ this.groupBox2.Controls.Add(this.labelIpAddress);
+ this.groupBox2.Controls.Add(this.textBox_IPPort);
+ this.groupBox2.Controls.Add(this.textBox_IPAddress);
+ this.groupBox2.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.groupBox2.Location = new System.Drawing.Point(3, 5);
+ this.groupBox2.Name = "groupBox2";
+ this.groupBox2.Size = new System.Drawing.Size(197, 115);
+ this.groupBox2.TabIndex = 8;
+ this.groupBox2.TabStop = false;
+ this.groupBox2.Text = "TCP IP";
+ //
+ // buttonDisconnect
+ //
+ this.buttonDisconnect.Location = new System.Drawing.Point(105, 76);
+ this.buttonDisconnect.Margin = new System.Windows.Forms.Padding(2);
+ this.buttonDisconnect.Name = "buttonDisconnect";
+ this.buttonDisconnect.Size = new System.Drawing.Size(75, 23);
+ this.buttonDisconnect.TabIndex = 2;
+ this.buttonDisconnect.Text = "Disconnect";
+ this.buttonDisconnect.UseVisualStyleBackColor = true;
+ this.buttonDisconnect.Click += new System.EventHandler(this.buttonDisconnect_Click);
+ //
+ // buttonConnect
+ //
+ this.buttonConnect.Location = new System.Drawing.Point(11, 76);
+ this.buttonConnect.Margin = new System.Windows.Forms.Padding(2);
+ this.buttonConnect.Name = "buttonConnect";
+ this.buttonConnect.Size = new System.Drawing.Size(75, 23);
+ this.buttonConnect.TabIndex = 2;
+ this.buttonConnect.Text = "Connect";
+ this.buttonConnect.UseVisualStyleBackColor = true;
+ this.buttonConnect.Click += new System.EventHandler(this.ConnectButton);
+ //
+ // labelIpPort
+ //
+ this.labelIpPort.AutoSize = true;
+ this.labelIpPort.Location = new System.Drawing.Point(20, 49);
+ this.labelIpPort.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
+ this.labelIpPort.Name = "labelIpPort";
+ this.labelIpPort.Size = new System.Drawing.Size(43, 15);
+ this.labelIpPort.TabIndex = 1;
+ this.labelIpPort.Text = "IP Port";
+ //
+ // labelIpAddress
+ //
+ this.labelIpAddress.AutoSize = true;
+ this.labelIpAddress.Location = new System.Drawing.Point(20, 23);
+ this.labelIpAddress.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
+ this.labelIpAddress.Name = "labelIpAddress";
+ this.labelIpAddress.Size = new System.Drawing.Size(65, 15);
+ this.labelIpAddress.TabIndex = 1;
+ this.labelIpAddress.Text = "IP address";
+ //
+ // textBox_IPPort
+ //
+ this.textBox_IPPort.Location = new System.Drawing.Point(90, 46);
+ this.textBox_IPPort.Margin = new System.Windows.Forms.Padding(2);
+ this.textBox_IPPort.Name = "textBox_IPPort";
+ this.textBox_IPPort.Size = new System.Drawing.Size(39, 21);
+ this.textBox_IPPort.TabIndex = 0;
+ this.textBox_IPPort.Text = "5001";
+ //
+ // textBox_IPAddress
+ //
+ this.textBox_IPAddress.Location = new System.Drawing.Point(90, 21);
+ this.textBox_IPAddress.Margin = new System.Windows.Forms.Padding(2);
+ this.textBox_IPAddress.Name = "textBox_IPAddress";
+ this.textBox_IPAddress.Size = new System.Drawing.Size(92, 21);
+ this.textBox_IPAddress.TabIndex = 0;
+ this.textBox_IPAddress.Text = "192.168.0.254";
+ //
+ // picTrain
+ //
+ this.picTrain.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
+ this.picTrain.Image = ((System.Drawing.Image)(resources.GetObject("picTrain.Image")));
+ this.picTrain.ImageLocation = "";
+ this.picTrain.InitialImage = ((System.Drawing.Image)(resources.GetObject("picTrain.InitialImage")));
+ this.picTrain.Location = new System.Drawing.Point(7, 308);
+ this.picTrain.Margin = new System.Windows.Forms.Padding(2);
+ this.picTrain.Name = "picTrain";
+ this.picTrain.Size = new System.Drawing.Size(119, 67);
+ this.picTrain.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
+ this.picTrain.TabIndex = 10;
+ this.picTrain.TabStop = false;
+ this.picTrain.Click += new System.EventHandler(this.picTrain_Click);
+ //
+ // FormAxelTrack
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.BackColor = System.Drawing.Color.White;
+ this.ClientSize = new System.Drawing.Size(542, 394);
+ this.Controls.Add(this.picTrain);
+ this.Controls.Add(this.tabControl);
+ this.Controls.Add(this.groupBoxShuttle);
+ this.Controls.Add(this.groupBox1);
+ this.Controls.Add(this.label_MessageCommunication);
+ this.Controls.Add(this.label_ErrorMessage);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.Margin = new System.Windows.Forms.Padding(2);
+ this.Name = "FormAxelTrack";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
+ this.Text = "Axel Track v1.2";
+ this.groupBox1.ResumeLayout(false);
+ this.groupBox1.PerformLayout();
+ this.groupBoxShuttle.ResumeLayout(false);
+ this.groupBoxShuttle.PerformLayout();
+ this.tabControl.ResumeLayout(false);
+ this.tabSimple.ResumeLayout(false);
+ this.tabComplicated.ResumeLayout(false);
+ this.tabComplicated.PerformLayout();
+ this.groupBox2.ResumeLayout(false);
+ this.groupBox2.PerformLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.picTrain)).EndInit();
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.Label label_MessageCommunication;
+ private System.Windows.Forms.Label label_ErrorMessage;
+ private System.Windows.Forms.Button buttonMoveTo;
+ private System.Windows.Forms.GroupBox groupBox1;
+ private System.Windows.Forms.Label labelPosition;
+ private System.Windows.Forms.Label labelStatus;
+ private System.Windows.Forms.TextBox textBoxTarget;
+ private System.Windows.Forms.TextBox textBoxPosition;
+ private System.Windows.Forms.TextBox textBoxStatus;
+ private System.Windows.Forms.Label label4;
+ private System.Windows.Forms.TextBox textBoxAcceleration;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.TextBox textBoxVelocity;
+ private System.Windows.Forms.Label label_GroupStatusDescription;
+ private System.Windows.Forms.GroupBox groupBoxShuttle;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.Button buttonStopShuttle;
+ private System.Windows.Forms.TextBox textBoxShuttleAcceleration;
+ private System.Windows.Forms.Button buttonStartShuttle;
+ private System.Windows.Forms.TextBox textBoxShuttleRange;
+ private System.Windows.Forms.TabControl tabControl;
+ private System.Windows.Forms.TabPage tabSimple;
+ private System.Windows.Forms.Button buttonAbort;
+ private System.Windows.Forms.Button buttonInitiate;
+ private System.Windows.Forms.TabPage tabComplicated;
+ private System.Windows.Forms.Button buttonKill;
+ private System.Windows.Forms.Button buttonHome;
+ private System.Windows.Forms.Button buttonInitialize;
+ private System.Windows.Forms.GroupBox groupBox2;
+ private System.Windows.Forms.Button buttonDisconnect;
+ private System.Windows.Forms.Button buttonConnect;
+ private System.Windows.Forms.Label labelIpPort;
+ private System.Windows.Forms.Label labelIpAddress;
+ private System.Windows.Forms.TextBox textBox_IPPort;
+ private System.Windows.Forms.TextBox textBox_IPAddress;
+ private System.Windows.Forms.CheckBox checkBoxLog;
+ private System.Windows.Forms.TextBox textBoxSweepCount;
+ private System.Windows.Forms.Label label6;
+ private System.Windows.Forms.ProgressBar progressBar1;
+ private System.Windows.Forms.Label labelGroup;
+ private System.Windows.Forms.TextBox TextBox_Group;
+ private System.Windows.Forms.Label label_progressText;
+ private System.Windows.Forms.PictureBox picTrain;
+ }
+}
+
diff --git a/Axel-track/Form1.cs b/Axel-track/Form1.cs
index e6a6108e..5968be94 100644
--- a/Axel-track/Form1.cs
+++ b/Axel-track/Form1.cs
@@ -1,1077 +1,1077 @@
-using System;
-using System.IO;
-using System.Collections.Generic;
-using System.Globalization;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Linq;
-using System.Text;
-using System.Threading;
-using System.Windows.Forms;
-using System.IO.Pipes;
-using System.Diagnostics;
-using CommandInterfaceXPS; // Newport Assembly .Net access
-using NationalInstruments.Analysis;
-
-namespace AxelTrackNS
-{
-
- public partial class FormAxelTrack : Form
- {
- class PipeClient
- {
- public void Send(string SendStr, string PipeName, int TimeOut = 1000)
- {
- try
- {
- NamedPipeClientStream pipeStream = new NamedPipeClientStream(".", PipeName, PipeDirection.Out, PipeOptions.Asynchronous);
-
- // The connect function will indefinitely wait for the pipe to become available
- // If that is not acceptable specify a maximum waiting time (in ms)
- pipeStream.Connect(TimeOut);
- Debug.WriteLine("[Client] Pipe connection established > " + SendStr);
-
- byte[] _buffer = Encoding.UTF8.GetBytes(SendStr);
- pipeStream.BeginWrite(_buffer, 0, _buffer.Length, AsyncSend, pipeStream);
- }
- catch (TimeoutException oEX)
- {
- Debug.WriteLine(oEX.Message);
- }
- }
-
- private void AsyncSend(IAsyncResult iar)
- {
- try
- {
- // Get the pipe
- NamedPipeClientStream pipeStream = (NamedPipeClientStream)iar.AsyncState;
-
- // End the write
- pipeStream.EndWrite(iar);
- pipeStream.Flush();
- pipeStream.Close();
- pipeStream.Dispose();
- }
- catch (Exception oEX)
- {
- Debug.WriteLine(oEX.Message);
- }
- }
- }
-
- private PipeClient _pipeClient = null;
- private bool PipeConnected = false;
-
- const int DEFAULT_TIMEOUT = 10000;
- const int POLLING_INTERVALLE_MS = 100; // Milliseconds
- const int NB_POSITIONERS = 1;
-
- string strAssemblyPath = string.Empty;
- string logINIPath = string.Empty;
- string LogINIFullPath = string.Empty;
-
- List log = new List();
- bool logFlag = true;
-
- CommandInterfaceXPS.XPS m_xpsInterface = null; // Socket #1 (order)
- CommandInterfaceXPS.XPS m_xpsInterfaceForPolling = null; // Socket #2 (polling)
-
- string m_IPAddress;
- int m_IPPort;
- bool m_CommunicationOK;
- string m_GroupName;
- string m_PositionerName;
- bool m_IsPositioner;
- double[] m_TargetPosition = new double[NB_POSITIONERS];
- double[] m_CurrentPosition = new double[NB_POSITIONERS];
- double[] m_CurrentVelocity = new double[NB_POSITIONERS];
- double[] m_CurrentAcceleration = new double[NB_POSITIONERS];
- int m_CurrentGroupStatus;
- int sweep, sweepCount;
- string m_CurrentGroupStatusDescription;
- string m_XPSControllerVersion;
- string m_errorDescription;
-
- int m_PollingInterval;
- bool m_pollingFlag;
- private Thread m_PollingThread;
- // status
- public delegate void ChangedCurrentGroupStateHandler(int currentGroupStatus, string description);
- private event ChangedCurrentGroupStateHandler m_CurrentGroupStateChanged;
- public event ChangedCurrentGroupStateHandler GroupStatusChanged
- {
- add { m_CurrentGroupStateChanged += value; }
- remove { m_CurrentGroupStateChanged -= value; }
- }
- // position
- public delegate void ChangedCurrentPositionHandler(double[] currentPositions);
- private event ChangedCurrentPositionHandler m_CurrentPositionChanged;
- public event ChangedCurrentPositionHandler PositionChanged
- {
- add { m_CurrentPositionChanged += value; }
- remove { m_CurrentPositionChanged -= value; }
- }
- // velocity
- public delegate void ChangedCurrentVelocityHandler(double[] currentVelocities);
- private event ChangedCurrentVelocityHandler m_CurrentVelocityChanged;
- public event ChangedCurrentVelocityHandler VelocityChanged
- {
- add { m_CurrentVelocityChanged += value; }
- remove { m_CurrentVelocityChanged -= value; }
- }
- // Acceleration
- public delegate void ChangedCurrentAccelerationHandler(double[] currentAccelerations);
- private event ChangedCurrentAccelerationHandler m_CurrentAccelerationChanged;
- public event ChangedCurrentAccelerationHandler AccelerationChanged
- {
- add { m_CurrentAccelerationChanged += value; }
- remove { m_CurrentAccelerationChanged -= value; }
- }
- // errorMessage
- public delegate void ChangedLabelErrorMessageHandler(string currentErrorMessage);
- private event ChangedLabelErrorMessageHandler m_ErrorMessageChanged;
- public event ChangedLabelErrorMessageHandler ErrorMessageChanged
- {
- add { m_ErrorMessageChanged += value; }
- remove { m_ErrorMessageChanged -= value; }
- }
- // ProgressBar
- public delegate void ChangedProgressBarHandler(int currentProgressBar);
- private event ChangedProgressBarHandler m_ProgressBarChanged;
- public event ChangedProgressBarHandler ProgressBarChanged
- {
- add { m_ProgressBarChanged += value; }
- remove { m_ProgressBarChanged -= value; }
- }
- // ProgressText
- public delegate void ChangedProgressTextHandler(int currentProgressText);
- private event ChangedProgressTextHandler m_ProgressTextChanged;
- public event ChangedProgressTextHandler ProgressTextChanged
- {
- add { m_ProgressTextChanged += value; }
- remove { m_ProgressTextChanged -= value; }
- }
- // UpdateButtons
- public delegate void ChangedUpdateButtonsHandler(bool currentUpdateButtons);
- private event ChangedUpdateButtonsHandler m_UpdateButtonsChanged;
- public event ChangedUpdateButtonsHandler UpdateButtonsChanged
- {
- add { m_UpdateButtonsChanged += value; }
- remove { m_UpdateButtonsChanged -= value; }
- }
-
- ///
- /// Constructor
- ///
- public FormAxelTrack()
- {
- InitializeComponent();
- // pipe client
- _pipeClient = new PipeClient(); // commment this line to disable pipe comm.
- PipeConnected = (_pipeClient != null);
-
- //log
- strAssemblyPath = System.IO.Directory.GetParent(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location)).FullName;
- logINIPath = "\\data\\";
- LogINIFullPath = strAssemblyPath + logINIPath;
-
- // Initialization
- label_MessageCommunication.ForeColor = Color.Red;
- label_MessageCommunication.Text = string.Format("Disconnected from XPS");
- m_IsPositioner = false;
- m_CommunicationOK = false;
- m_pollingFlag = false;
- m_PollingInterval = POLLING_INTERVALLE_MS; // milliseconds
- m_CurrentGroupStatus = 0;
- for (int i = 0; i < NB_POSITIONERS; i++)
- m_TargetPosition[i] = 0;
-
- // Events
- if (this != null)
- {
- this.PositionChanged += new ChangedCurrentPositionHandler(CurrentPositionHandlerChanged);
- this.VelocityChanged += new ChangedCurrentVelocityHandler(CurrentVelocityHandlerChanged);
- this.AccelerationChanged += new ChangedCurrentAccelerationHandler(CurrentAccelerationHandlerChanged);
-
- this.GroupStatusChanged += new ChangedCurrentGroupStateHandler(CurrentGroupStateHandlerChanged);
- this.ErrorMessageChanged += new ChangedLabelErrorMessageHandler(ErrorMessageHandlerChanged);
- this.ProgressBarChanged += new ChangedProgressBarHandler(ProgressBarHandlerChanged);
- this.ProgressTextChanged += new ChangedProgressTextHandler(ProgressTextHandlerChanged);
- this.UpdateButtonsChanged += new ChangedUpdateButtonsHandler(UpdateButtonsHandlerChanged);
- }
- }
-
- private void CurrentPositionHandlerChanged(double[] currentValues)
- {
- string strPosition = currentValues[0].ToString("F2", CultureInfo.CurrentCulture.NumberFormat);
- textBoxPosition.BeginInvoke(
- new Action(() =>
- {
- textBoxPosition.Text = strPosition;
- }
- ));
- }
-
- private void CurrentVelocityHandlerChanged(double[] currentValues)
- {
- string strVelocity = currentValues[0].ToString("F2", CultureInfo.CurrentCulture.NumberFormat);
- textBoxVelocity.BeginInvoke(
- new Action(() =>
- {
- textBoxVelocity.Text = strVelocity;
- }
- ));
- }
-
- private void CurrentAccelerationHandlerChanged(double[] currentValues)
- {
- string strAcceleration = currentValues[0].ToString("F2", CultureInfo.CurrentCulture.NumberFormat);
- textBoxAcceleration.BeginInvoke(
- new Action(() =>
- {
- textBoxAcceleration.Text = strAcceleration;
- }
- ));
- }
-
- private void CurrentGroupStateHandlerChanged(int currentGroupStatus, string strGroupStatusDescription)
- {
- try
- {
- string strStatus = currentGroupStatus.ToString("F0", CultureInfo.CurrentCulture.NumberFormat);
- textBoxStatus.BeginInvoke(
- new Action(() =>
- {
- textBoxStatus.Text = strStatus;
- }
- ));
- label_GroupStatusDescription.BeginInvoke(
- new Action(() =>
- {
- label_GroupStatusDescription.Text = strGroupStatusDescription;
- }
- ));
- }
- catch (Exception ex)
- {
- label_GroupStatusDescription.Text = "Exception in CurrentGroupStateHandlerChanged: " + ex.Message; // DEBUG
- }
- }
-
- private void ErrorMessageHandlerChanged(string Message)
- {
- label_ErrorMessage.BeginInvoke(
- new Action(() =>
- {
- label_ErrorMessage.Text = Message;
- }
- ));
- }
-
- private void ProgressBarHandlerChanged(int currentProgressBar)
- {
- progressBar1.BeginInvoke(
- new Action(() =>
- {
- progressBar1.Value = currentProgressBar;
- }
- ));
- }
- private void ProgressTextHandlerChanged(int currentProgressText)
- {
- label_progressText.BeginInvoke(
- new Action(() =>
- {
- label_progressText.Text = "[" + currentProgressText.ToString() + "]";
- }
- ));
- }
-
- private void UpdateButtonsHandlerChanged(bool currentUpdateButtons)
- {
- buttonStartShuttle.BeginInvoke(
- new Action(() =>
- {
- buttonStartShuttle.Enabled = !currentUpdateButtons;
- }
- ));
- buttonStopShuttle.BeginInvoke(
- new Action(() =>
- {
- buttonStopShuttle.Enabled = currentUpdateButtons;
- }
- ));
- buttonMoveTo.BeginInvoke(
- new Action(() =>
- {
- buttonMoveTo.Enabled = !currentUpdateButtons;
- }
- ));
- textBoxSweepCount.BeginInvoke(
- new Action(() =>
- {
- textBoxSweepCount.Enabled = !currentUpdateButtons;
- }
- ));
- }
- // end of events handlers
-
- public void UpdateGroupStatus()
- {
- try
- {
- int lastGroupState = m_CurrentGroupStatus;
- if (m_xpsInterfaceForPolling != null)
- {
- string errorString = string.Empty;
- int result = m_xpsInterfaceForPolling.GroupStatusGet(m_GroupName, out m_CurrentGroupStatus, out errorString);
- if (result == CommandInterfaceXPS.XPS.FAILURE) // Communication failure with XPS
- {
- m_CurrentGroupStatus = 0;
- if (errorString.Length > 0)
- {
- int errorCode = 0;
- int.TryParse(errorString, out errorCode);
- m_xpsInterface.ErrorStringGet(errorCode, out m_errorDescription, out errorString);
- m_ErrorMessageChanged(string.Format("GroupStatusGet ERROR {0}: {1}", result, m_errorDescription));
- }
- else
- m_ErrorMessageChanged(string.Format("Communication failure with XPS after GroupStatusGet "));
- }
- else
- result = m_xpsInterfaceForPolling.GroupStatusStringGet(m_CurrentGroupStatus, out m_CurrentGroupStatusDescription, out errorString);
-
- if ((m_CurrentGroupStatus != lastGroupState) && m_CurrentGroupStateChanged != null)
- m_CurrentGroupStateChanged(m_CurrentGroupStatus, m_CurrentGroupStatusDescription);
- }
- }
- catch (Exception ex)
- {
- m_ErrorMessageChanged("Exception in UpdateGroupStatus: " + ex.Message);
- }
- }
-
- public void UpdateCurrentPosition()
- {
- try
- {
- double lastCurrentPosition = m_CurrentPosition[0];
- if (m_xpsInterfaceForPolling != null)
- {
- if (m_IsPositioner == true)
- {
- string errorString = string.Empty;
- int result = m_xpsInterfaceForPolling.GroupPositionCurrentGet(m_PositionerName, out m_CurrentPosition, NB_POSITIONERS, out errorString);
- if (result == CommandInterfaceXPS.XPS.FAILURE) // Communication failure with XPS
- {
- m_CurrentPosition[0] = 0;
- if (errorString.Length > 0)
- {
- int errorCode = 0;
- int.TryParse(errorString, out errorCode);
- m_xpsInterface.ErrorStringGet(errorCode, out m_errorDescription, out errorString);
- m_ErrorMessageChanged(string.Format("GroupPositionCurrentGet ERROR {0}: {1}", result, m_errorDescription));
- }
- else
- m_ErrorMessageChanged(string.Format("Communication failure with XPS after GroupPositionCurrentGet "));
- }
- }
- if ((m_CurrentPosition[0] != lastCurrentPosition) && m_CurrentPositionChanged != null)
- m_CurrentPositionChanged(m_CurrentPosition);
- }
- }
- catch (Exception ex)
- {
- m_ErrorMessageChanged("Exception in UpdateCurrentPosition: " + ex.Message);
- }
- }
- private double LastVelocity, EstimAcceleration, tm;
- public void UpdateCurrentVelocity()
- {
- try
- {
- double lastCurrentVelocity = m_CurrentVelocity[0];
- if (m_xpsInterfaceForPolling != null)
- {
- if (m_IsPositioner == true)
- {
- string errorString = string.Empty;
- int result = m_xpsInterfaceForPolling.GroupVelocityCurrentGet(m_PositionerName, out m_CurrentVelocity, NB_POSITIONERS, out errorString);
- if (result == CommandInterfaceXPS.XPS.FAILURE) // Communication failure with XPS
- {
- m_CurrentVelocity[0] = 0;
- if (errorString.Length > 0)
- {
- int errorCode = 0;
- int.TryParse(errorString, out errorCode);
- m_xpsInterface.ErrorStringGet(errorCode, out m_errorDescription, out errorString);
- m_ErrorMessageChanged(string.Format("GroupVelocityCurrentGet ERROR {0}: {1}", result, m_errorDescription));
- }
- else
- m_ErrorMessageChanged(string.Format("Communication failure with XPS after GroupVelocityCurrentGet "));
- }
- }
-
- if ((m_CurrentVelocity[0] != lastCurrentVelocity) && m_CurrentVelocityChanged != null)
- {
- m_CurrentVelocityChanged(m_CurrentVelocity);
- if (DateTime.Now.TimeOfDay.TotalMilliseconds != tm)
- EstimAcceleration = 1000 * (m_CurrentVelocity[0] - LastVelocity)/(DateTime.Now.TimeOfDay.TotalMilliseconds - tm);
- LastVelocity = m_CurrentVelocity[0];
- tm = DateTime.Now.TimeOfDay.TotalMilliseconds;
- }
- }
- }
- catch (Exception ex)
- {
- m_ErrorMessageChanged("Exception in UpdateCurrentVelocity: " + ex.Message);
- }
- }
-
- public void UpdateCurrentAcceleration()
- {
- try
- {
- if (m_xpsInterfaceForPolling != null)
- {
- if (m_IsPositioner == true)
- {
- m_CurrentAcceleration[0] = EstimAcceleration;
- }
-
- if (m_CurrentAccelerationChanged != null)
- m_CurrentAccelerationChanged(m_CurrentAcceleration);
- }
- }
- catch (Exception ex)
- {
- m_ErrorMessageChanged("Exception in UpdateCurrentAcceleration: " + ex.Message);
- }
- }
-
- public void UpdateCurrentAll()
- {
- UpdateGroupStatus();
- UpdateCurrentPosition();
- UpdateCurrentVelocity();
- UpdateCurrentAcceleration();
- }
-
- #region POLLING
- public void StartPolling()
- {
- try
- {
- if (m_pollingFlag == false)
- {
- m_pollingFlag = true; // Start polling
-
- // Create thread and start it
- m_PollingThread = new Thread(new ParameterizedThreadStart(poll));
- m_PollingThread.IsBackground = true;
- m_PollingThread.Start();
- }
- }
- catch (Exception ex)
- {
- m_ErrorMessageChanged("Exception in StartPolling: " + ex.Message);
- }
- }
-
- public void StopPolling()
- {
- try
- {
- m_pollingFlag = false; // Stop the polling
- if (m_PollingThread != null)
- m_PollingThread.Abort();
- }
- catch (Exception ex)
- {
- m_ErrorMessageChanged("Exception in StopPolling: " + ex.Message);
- }
- }
-
- private bool AdjustShuttleFlag = false;
- private const double maxSpeed = 700;
- private const double tol = 5;
- private void AdjustShuttleVelAccel()
- {
- if (AdjustShuttleFlag) return; // already ON
- if (sweep >= sweepCount) // the end of sweeps
- {
- StopShuttle();
- return;
- }
-
- AdjustShuttleFlag = true; sweep++;
-
- m_ProgressBarChanged((int)(100 * sweep / sweepCount));
- m_ProgressTextChanged(sweep);
- string errorString = string.Empty;
- double OffPosition = 0;
-
- double swing;
- double.TryParse(textBoxShuttleRange.Text, out swing);
-
- double accel;
- double.TryParse(textBoxShuttleAcceleration.Text, out accel);
-
- double maxVelo = Math.Sqrt(2 * (swing / 2) * accel);
- double phaseDuration = maxVelo / accel;
- if (maxVelo > maxSpeed)
- {
- MessageBox.Show("Exceeded Maximum Speed of " + maxSpeed.ToString());
- StopShuttle();
- return;
- }
- // call to Axel Boss
- int cyclesLeft = sweepCount - (sweep - 1);
- double d_PollingInterval = m_PollingInterval/1000.0;
- string prms = (4 * phaseDuration).ToString() + ';' + d_PollingInterval.ToString() + ';' + swing.ToString() + ';' + accel.ToString() + ';' + cyclesLeft.ToString();
- if ((cyclesLeft == sweepCount) && (PipeConnected)) // init the acquisition
- {
- _pipeClient.Send("ACQ>" + prms, "XPStrackPipe", 1000);
- //Thread.Sleep(500); // time to reset ADC
- //if (logFlag) m_xpsInterface.GatheringRun(50000, 10, out errorString);
- }
-
- if (PipeConnected) _pipeClient.Send("ACQ>" + prms, "XPStrackPipe", 2000);
-
- for (int ph = 1; ph < 5; ph++)
- {
- UpdateCurrentAll();
- double pst = m_CurrentPosition[0];
-
- double[] velos = new double[NB_POSITIONERS];
- double[] accels = new double[NB_POSITIONERS];
-
- switch (ph)
- {
- case 1:
- velos[0] = maxVelo;
- OffPosition = Math.Abs(initPos - pst); // at the beginning
- break;
- case 2:
- velos[0] = 0;
- OffPosition = Math.Abs(initPos + (swing / 2) - pst); // in the middle
- break;
- case 3:
- Thread.Sleep(m_PollingInterval); // for symmetry with the start
- velos[0] = - maxVelo;
- OffPosition = Math.Abs(initPos + swing - pst); // at the end of shuttle move
- break;
- case 4:
- velos[0] = 0;
- OffPosition = Math.Abs(initPos + (swing / 2) - pst); // in the middle on its way back
- break;
- }
- if (OffPosition > tol) // Communication failure with XPS
- {
- m_ErrorMessageChanged(string.Format("Off position ERROR -> pos {0}: off {1}", pst, OffPosition));
- emergency = true;
- StopShuttle();
- }
-
- int result;
- accels[0] = accel;
- result = m_xpsInterface.GroupJogParametersSet(m_GroupName, velos, accels, NB_POSITIONERS, out errorString);
- if (result == CommandInterfaceXPS.XPS.FAILURE) // Communication failure with XPS
- {
- if (errorString.Length > 0)
- {
- int errorCode = 0;
- int.TryParse(errorString, out errorCode);
- m_xpsInterface.ErrorStringGet(errorCode, out m_errorDescription, out errorString);
- m_ErrorMessageChanged(string.Format("GroupJogParametersSet ERROR {0}: {1} with {2} m/s {3} m/s^2", result, m_errorDescription, velos[0], accels[0]));
- }
- else
- m_ErrorMessageChanged(string.Format("Communication failure with XPS after GroupJogParametersSet"));
- }
- /* if (!ShuttleFlag && (ph == 4))
- {
- UpdateCurrentAll();
- break;
- } */
- } // ph loop
- // double CyclePeriod, double Distance, double Accel, int CyclesLeft
- AdjustShuttleFlag = false;
- }
-
- public void poll(object obj)
- {
- try
- {
- while ((m_pollingFlag == true) && (m_CommunicationOK == true))
- {
- if (ShuttleFlag) AdjustShuttleVelAccel();
- else UpdateCurrentAll();
-
- // Tempo in relation to the polling frequency
- Thread.Sleep(m_PollingInterval);
- }
- }
- catch (Exception ex)
- {
- m_ErrorMessageChanged("Exception in poll: " + ex.Message);
- }
- }
- #endregion
-
- #region Communication/Initiation
- ///
- /// Socket opening and start polling
- ///
- ///
- ///
- private void ConnectButton(object sender, EventArgs e)
- {
- // Get IP address and Ip port from form front panel
- m_IPAddress = textBox_IPAddress.Text;
- int.TryParse(textBox_IPPort.Text, out m_IPPort);
-
- m_PositionerName = TextBox_Group.Text;
- int index = m_PositionerName.LastIndexOf('.');
- if (index != -1)
- {
- m_IsPositioner = true;
- m_GroupName = m_PositionerName.Substring(0, index);
- label_ErrorMessage.Text = string.Empty;
- }
- else
- {
- m_IsPositioner = false;
- m_GroupName = m_PositionerName;
- label_ErrorMessage.Text = "Must be a positioner name not a group name";
- }
-
- label_GroupStatusDescription.Text = string.Empty;
- m_XPSControllerVersion = string.Empty;
- m_errorDescription = string.Empty;
-
- try
- {
- // Open socket #1 to order
- if (m_xpsInterface == null)
- m_xpsInterface = new CommandInterfaceXPS.XPS();
- if (m_xpsInterface != null)
- {
- // Open socket
- int returnValue = m_xpsInterface.OpenInstrument(m_IPAddress, m_IPPort, DEFAULT_TIMEOUT);
- if (returnValue == 0)
- {
- string errorString = string.Empty;
- int result = m_xpsInterface.FirmwareVersionGet(out m_XPSControllerVersion, out errorString);
- if (result == CommandInterfaceXPS.XPS.FAILURE) // Communication failure with XPS
- {
- if (errorString.Length > 0)
- {
- int errorCode = 0;
- int.TryParse(errorString, out errorCode);
- m_xpsInterface.ErrorStringGet(errorCode, out m_errorDescription, out errorString);
- m_XPSControllerVersion = string.Format("FirmwareVersionGet ERROR {0}: {1}", result, m_errorDescription);
- }
- else
- m_XPSControllerVersion = string.Format("Communication failure with XPS after FirmwareVersionGet ");
- }
- else
- {
- label_MessageCommunication.ForeColor = Color.Green;
- label_MessageCommunication.Text = string.Format("Connected to XPS");
- m_CommunicationOK = true;
- }
- }
- }
- else
- m_XPSControllerVersion = "XPS instance is NULL";
-
- // Open socket #2 for polling
- if (m_xpsInterfaceForPolling == null)
- m_xpsInterfaceForPolling = new CommandInterfaceXPS.XPS();
- if (m_xpsInterfaceForPolling != null)
- {
- // Open socket
- int returnValue = m_xpsInterfaceForPolling.OpenInstrument(m_IPAddress, m_IPPort, DEFAULT_TIMEOUT);
- if (returnValue == 0)
- {
- string errorString = string.Empty;
- int result = m_xpsInterfaceForPolling.FirmwareVersionGet(out m_XPSControllerVersion, out errorString);
- if (result != CommandInterfaceXPS.XPS.FAILURE) // Communication failure with XPS
- StartPolling();
- }
- }
-
- if (m_XPSControllerVersion.Length <= 0)
- m_XPSControllerVersion = "No detected XPS";
-
- this.Text = string.Format("Axel Track v1.2 - {0}", m_XPSControllerVersion);
- }
- catch (Exception ex)
- {
- label_ErrorMessage.Text = "Exception in ConnectButton: " + ex.Message;
- }
- }
-
- ///
- /// Stop polling and Close socket
- ///
- ///
- ///
- private void buttonDisconnect_Click(object sender, EventArgs e)
- {
- try
- {
- m_CommunicationOK = false;
- m_pollingFlag = false;
-
- if (m_xpsInterfaceForPolling != null)
- m_xpsInterfaceForPolling.CloseInstrument();
-
- if (m_xpsInterface != null)
- m_xpsInterface.CloseInstrument();
-
- label_MessageCommunication.ForeColor = Color.Red;
- label_MessageCommunication.Text = string.Format("Disconnected from XPS");
- label_ErrorMessage.Text = string.Empty;
- label_GroupStatusDescription.Text = string.Empty;
- m_XPSControllerVersion = string.Empty;
- m_errorDescription = string.Empty;
- this.Text = "XPS Application";
- }
- catch (Exception ex)
- {
- label_ErrorMessage.Text = "Exception in buttonDisconnect_Click: " + ex.Message;
- }
- }
-
- ///
- /// Button to perform a GroupInitialize
- ///
- ///
- ///
- private void buttonInitialize_Click(object sender, EventArgs e)
- {
- try
- {
- label_ErrorMessage.Text = string.Empty;
- if (m_CommunicationOK == false)
- label_ErrorMessage.Text = string.Format("Not connected to XPS");
-
- if (m_xpsInterface != null)
- {
- string errorString = string.Empty;
- int result = m_xpsInterface.GroupInitialize(m_GroupName, out errorString);
- if (result == CommandInterfaceXPS.XPS.FAILURE) // Communication failure with XPS
- {
- if (errorString.Length > 0)
- {
- int errorCode = 0;
- int.TryParse(errorString, out errorCode);
- m_xpsInterface.ErrorStringGet(errorCode, out m_errorDescription, out errorString);
- label_ErrorMessage.Text = string.Format("GroupInitialize ERROR {0}: {1}", result, m_errorDescription);
- }
- else
- label_ErrorMessage.Text = string.Format("Communication failure with XPS after GroupInitialize ");
- }
- }
- }
- catch (Exception ex)
- {
- label_ErrorMessage.Text = "Exception in buttonInitialize_Click: " + ex.Message;
- }
- }
-
- ///
- /// Button to perform a group home search
- ///
- ///
- ///
- private void buttonHome_Click(object sender, EventArgs e)
- {
- try
- {
- label_ErrorMessage.Text = string.Empty;
- if (m_CommunicationOK == false)
- label_ErrorMessage.Text = string.Format("Not connected to XPS");
-
- if (m_xpsInterface != null)
- {
- string errorString = string.Empty;
- int result = m_xpsInterface.GroupHomeSearch(m_GroupName, out errorString);
-
- //int result = m_xpsInterface.GroupReferencingStart(m_GroupName, out errorString); // arbitrary home (manual position)
- //result = m_xpsInterface.GroupReferencingStop(m_GroupName, out errorString);
-
- if (result == CommandInterfaceXPS.XPS.FAILURE) // Communication failure with XPS
- {
- if (errorString.Length > 0)
- {
- int errorCode = 0;
- int.TryParse(errorString, out errorCode);
- m_xpsInterface.ErrorStringGet(errorCode, out m_errorDescription, out errorString);
- label_ErrorMessage.Text = string.Format("GroupHomeSearch ERROR {0}: {1}", result, m_errorDescription);
- }
- else
- label_ErrorMessage.Text = string.Format("Communication failure with XPS after GroupHomeSearch ");
- }
- }
- }
- catch (Exception ex)
- {
- label_ErrorMessage.Text = "Exception in buttonHome_Click: " + ex.Message;
- }
- }
-
- ///
- /// Button to perform a group kill
- ///
- ///
- ///
- private void buttonKill_Click(object sender, EventArgs e)
- {
- try
- {
- label_ErrorMessage.Text = string.Empty;
- if (m_CommunicationOK == false)
- label_ErrorMessage.Text = string.Format("Not connected to XPS");
-
- if (m_xpsInterface != null)
- {
- string errorString = string.Empty;
- int result = m_xpsInterface.GroupKill(m_GroupName, out errorString);
- if (result == CommandInterfaceXPS.XPS.FAILURE) // Communication failure with XPS
- {
- if (errorString.Length > 0)
- {
- int errorCode = 0;
- int.TryParse(errorString, out errorCode);
- m_xpsInterface.ErrorStringGet(errorCode, out m_errorDescription, out errorString);
- label_ErrorMessage.Text = string.Format("GroupKill ERROR {0}: {1}", result, m_errorDescription);
- }
- else
- label_ErrorMessage.Text = string.Format("Communication failure with XPS after GroupKill ");
- }
- }
- }
- catch (Exception ex)
- {
- label_ErrorMessage.Text = "Exception in buttonKill_Click: " + ex.Message;
- }
- }
-
- private void buttonInitiate_Click(object sender, EventArgs e)
- {
- buttonInitiate.Text = "Doing it...";
- buttonInitiate.ForeColor = System.Drawing.Color.DarkGray;
- Application.DoEvents();
- if (m_CommunicationOK) buttonDisconnect_Click(null, null);
- ConnectButton(null, null);
- buttonKill_Click(null, null);
- buttonInitialize_Click(null, null);
- buttonHome_Click(null, null);
-
- buttonInitiate.Text = "Reset";
- buttonInitiate.ForeColor = System.Drawing.Color.DarkOrange;
-
- buttonAbort.ForeColor = System.Drawing.Color.Red;
- buttonAbort.Enabled = true;
- }
-
- private void buttonAbort_Click(object sender, EventArgs e)
- {
- string errorString = string.Empty;
- int result = m_xpsInterface.GroupMoveAbort(m_GroupName, out errorString);
- if (result == CommandInterfaceXPS.XPS.FAILURE) // Communication failure with XPS
- {
- if (errorString.Length > 0)
- {
- int errorCode = 0;
- int.TryParse(errorString, out errorCode);
- m_xpsInterface.ErrorStringGet(errorCode, out m_errorDescription, out errorString);
- label_ErrorMessage.Text = string.Format("GroupMoveAbortFast ERROR {0}: {1}", result, m_errorDescription);
- }
- else
- label_ErrorMessage.Text = string.Format("Communication failure with XPS after GroupMoveAbortFaste ");
- }
- }
- #endregion
-
- ///
- /// Button to perform an absolute motion
- ///
- ///
- ///
- private void buttonMoveTo_Click(object sender, EventArgs e)
- {
- try
- {
- label_ErrorMessage.Text = string.Empty;
- if (m_CommunicationOK == false)
- label_ErrorMessage.Text = string.Format("Not connected to XPS");
-
- if (m_IsPositioner == true)
- {
- double.TryParse(textBoxTarget.Text, out m_TargetPosition[0]);
- if ((m_xpsInterface != null) && (m_CommunicationOK == true))
- {
- string errorString = string.Empty; int result = 0;
- double vel, accel, minJerk, maxJerk;
- result = m_xpsInterface.PositionerSGammaParametersGet(m_PositionerName, out vel, out accel, out minJerk, out maxJerk, out errorString);
- result += m_xpsInterface.PositionerSGammaParametersSet(m_PositionerName, 10, 100, minJerk, maxJerk, out errorString);
- Thread.Sleep(500);
- result += m_xpsInterface.GroupMoveAbsolute(m_PositionerName, m_TargetPosition, 1, out errorString);
- if (result == CommandInterfaceXPS.XPS.FAILURE) // Communication failure with XPS
- {
- if (errorString.Length > 0)
- {
- int errorCode = 0;
- int.TryParse(errorString, out errorCode);
- m_xpsInterface.ErrorStringGet(errorCode, out m_errorDescription, out errorString);
- m_ErrorMessageChanged(string.Format("GroupMoveAbsolute ERROR {0}: {1}", result, m_errorDescription));
- }
- else
- m_ErrorMessageChanged(string.Format("Communication failure with XPS after GroupMoveAbsolute "));
- }
- result += m_xpsInterface.PositionerSGammaParametersSet(m_PositionerName, vel, accel, minJerk, maxJerk, out errorString);
- }
- }
- }
- catch (Exception ex)
- {
- m_ErrorMessageChanged("Exception in buttonMoveTo_Click: " + ex.Message);
- }
- }
-
- private bool fShuttleFlag = false;
- private double initPos = 0;
- public bool ShuttleFlag
- {
- get
- {
- return fShuttleFlag;
- }
- set
- {
- fShuttleFlag = value;
-
- string errorString = string.Empty;
- int result;
- if (value) // switching ON
- {
- UpdateCurrentAll();
- initPos = m_CurrentPosition[0];
-
- result = m_xpsInterface.GroupJogModeEnable(m_GroupName, out errorString);
- }
- else // going OFF
- {
- if (!emergency)
- {
- /* double[] velos = new double[NB_POSITIONERS];
- double[] accels = new double[NB_POSITIONERS];
- velos[0] = 0;
- accels[0] = 100;*/
- Thread.Sleep(1000);
- result = m_xpsInterface.GroupJogModeDisable(m_GroupName, out errorString);
- if (result == CommandInterfaceXPS.XPS.FAILURE) // Communication failure with XP
- {
- if (errorString.Length > 0)
- {
- int errorCode = 0;
- int.TryParse(errorString, out errorCode);
- m_xpsInterface.ErrorStringGet(errorCode, out m_errorDescription, out errorString);
- m_ErrorMessageChanged(string.Format("GroupJogMode ERROR {0}: {1}", result, m_errorDescription));
- }
- else
- m_ErrorMessageChanged(string.Format("Communication failure with XPS after GroupJogMode "));
- }
- }
- }
- m_UpdateButtonsChanged(value);
- }
- }
-
- private void buttonStartShuttle_Click(object sender, EventArgs e)
- {
- // some useful funcs: GroupAccelerationCurrentGet, GroupVelocityCurrentGet, GroupJogParametersSet, PositionerAccelerationAutoScaling,
- // PositionerAnalogTrackingPositionParametersSet, PositionerAnalogTrackingVelocityParametersSet,
- // PositionerJogMaximumVelocityAndAccelerationGet, XYZSplineExecution, SetJogAcceleration
- logFlag = checkBoxLog.Checked;
- string errorString = string.Empty;
-
- // JOG - ON
- int i; sweepCount = 2;
- if(int.TryParse(textBoxSweepCount.Text, out i)) sweepCount = i;
- sweep = 0;
- ShuttleFlag = true;
-
- if (logFlag)
- {
- string[] tp = new string[] {
- m_PositionerName + ".CurrentPosition", m_PositionerName + ".CurrentVelocity", m_PositionerName + ".CurrentAcceleration",
- m_PositionerName + ".SetpointPosition", m_PositionerName + ".SetpointVelocity", m_PositionerName + ".SetpointAcceleration",
- m_PositionerName + ".FollowingError" };
- int result = m_xpsInterface.GatheringConfigurationSet(tp, out errorString);
- m_xpsInterface.GatheringRun(100000, 10, out errorString);
- }
- }
-
- bool emergency = false;
- private void StopShuttle()
- {
- int result;
- string errorString = string.Empty;
- if (logFlag)
- {
- result = m_xpsInterface.GatheringStop(out errorString);
- result = m_xpsInterface.GatheringStopAndSave(out errorString);
-
- ftp ftpClient = new ftp(@"ftp://192.168.0.254", "Administrator", "Administrator");
- LogINIFullPath = strAssemblyPath + logINIPath + DateTime.Now.ToString("yy-MM-dd_H-mm-ss");
- LogINIFullPath += ".log";
- ftpClient.download("Public/Gathering.dat", LogINIFullPath);
- Thread.Sleep(500);
- if (PipeConnected) _pipeClient.Send("FRF>" + LogINIFullPath, "XPStrackPipe", 1000);
-
- ftpClient = null;
- }
- if (emergency)
- {
- result = m_xpsInterface.GroupKill(m_GroupName, out errorString); // GroupMoveAbortFast, GroupMoveAbort
- if (result == CommandInterfaceXPS.XPS.FAILURE) // Communication failure with XP
- {
- if (errorString.Length > 0)
- {
- int errorCode = 0;
- int.TryParse(errorString, out errorCode);
- m_xpsInterface.ErrorStringGet(errorCode, out m_errorDescription, out errorString);
- m_ErrorMessageChanged(string.Format("GroupKill ERROR {0}: {1}", result, m_errorDescription));
- }
- else
- m_ErrorMessageChanged(string.Format("Communication failure with XPS after GroupKill "));
- }
- AdjustShuttleFlag = false;
- }
- do
- {
- Application.DoEvents(); // wait for current cycle to end if in the middle of it
- } while (AdjustShuttleFlag);
-
- ShuttleFlag = false; // go off jog
- emergency = false;
- }
-
- private void buttonStopShuttle_Click(object sender, EventArgs e)
- {
- sweep = sweepCount;
- }
-
- private void picTrain_Click(object sender, EventArgs e)
- {
- MessageBox.Show(" Axel Track v1.2 \n by Teodor Krastev \nfor Imperial College, London", "About");
- }
- }
-}
-
+using System;
+using System.IO;
+using System.Collections.Generic;
+using System.Globalization;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Threading;
+using System.Windows.Forms;
+using System.IO.Pipes;
+using System.Diagnostics;
+using CommandInterfaceXPS; // Newport Assembly .Net access
+using NationalInstruments.Analysis;
+
+namespace AxelTrackNS
+{
+
+ public partial class FormAxelTrack : Form
+ {
+ class PipeClient
+ {
+ public void Send(string SendStr, string PipeName, int TimeOut = 1000)
+ {
+ try
+ {
+ NamedPipeClientStream pipeStream = new NamedPipeClientStream(".", PipeName, PipeDirection.Out, PipeOptions.Asynchronous);
+
+ // The connect function will indefinitely wait for the pipe to become available
+ // If that is not acceptable specify a maximum waiting time (in ms)
+ pipeStream.Connect(TimeOut);
+ Debug.WriteLine("[Client] Pipe connection established > " + SendStr);
+
+ byte[] _buffer = Encoding.UTF8.GetBytes(SendStr);
+ pipeStream.BeginWrite(_buffer, 0, _buffer.Length, AsyncSend, pipeStream);
+ }
+ catch (TimeoutException oEX)
+ {
+ Debug.WriteLine(oEX.Message);
+ }
+ }
+
+ private void AsyncSend(IAsyncResult iar)
+ {
+ try
+ {
+ // Get the pipe
+ NamedPipeClientStream pipeStream = (NamedPipeClientStream)iar.AsyncState;
+
+ // End the write
+ pipeStream.EndWrite(iar);
+ pipeStream.Flush();
+ pipeStream.Close();
+ pipeStream.Dispose();
+ }
+ catch (Exception oEX)
+ {
+ Debug.WriteLine(oEX.Message);
+ }
+ }
+ }
+
+ private PipeClient _pipeClient = null;
+ private bool PipeConnected = false;
+
+ const int DEFAULT_TIMEOUT = 10000;
+ const int POLLING_INTERVALLE_MS = 100; // Milliseconds
+ const int NB_POSITIONERS = 1;
+
+ string strAssemblyPath = string.Empty;
+ string logINIPath = string.Empty;
+ string LogINIFullPath = string.Empty;
+
+ List log = new List();
+ bool logFlag = true;
+
+ CommandInterfaceXPS.XPS m_xpsInterface = null; // Socket #1 (order)
+ CommandInterfaceXPS.XPS m_xpsInterfaceForPolling = null; // Socket #2 (polling)
+
+ string m_IPAddress;
+ int m_IPPort;
+ bool m_CommunicationOK;
+ string m_GroupName;
+ string m_PositionerName;
+ bool m_IsPositioner;
+ double[] m_TargetPosition = new double[NB_POSITIONERS];
+ double[] m_CurrentPosition = new double[NB_POSITIONERS];
+ double[] m_CurrentVelocity = new double[NB_POSITIONERS];
+ double[] m_CurrentAcceleration = new double[NB_POSITIONERS];
+ int m_CurrentGroupStatus;
+ int sweep, sweepCount;
+ string m_CurrentGroupStatusDescription;
+ string m_XPSControllerVersion;
+ string m_errorDescription;
+
+ int m_PollingInterval;
+ bool m_pollingFlag;
+ private Thread m_PollingThread;
+ // status
+ public delegate void ChangedCurrentGroupStateHandler(int currentGroupStatus, string description);
+ private event ChangedCurrentGroupStateHandler m_CurrentGroupStateChanged;
+ public event ChangedCurrentGroupStateHandler GroupStatusChanged
+ {
+ add { m_CurrentGroupStateChanged += value; }
+ remove { m_CurrentGroupStateChanged -= value; }
+ }
+ // position
+ public delegate void ChangedCurrentPositionHandler(double[] currentPositions);
+ private event ChangedCurrentPositionHandler m_CurrentPositionChanged;
+ public event ChangedCurrentPositionHandler PositionChanged
+ {
+ add { m_CurrentPositionChanged += value; }
+ remove { m_CurrentPositionChanged -= value; }
+ }
+ // velocity
+ public delegate void ChangedCurrentVelocityHandler(double[] currentVelocities);
+ private event ChangedCurrentVelocityHandler m_CurrentVelocityChanged;
+ public event ChangedCurrentVelocityHandler VelocityChanged
+ {
+ add { m_CurrentVelocityChanged += value; }
+ remove { m_CurrentVelocityChanged -= value; }
+ }
+ // Acceleration
+ public delegate void ChangedCurrentAccelerationHandler(double[] currentAccelerations);
+ private event ChangedCurrentAccelerationHandler m_CurrentAccelerationChanged;
+ public event ChangedCurrentAccelerationHandler AccelerationChanged
+ {
+ add { m_CurrentAccelerationChanged += value; }
+ remove { m_CurrentAccelerationChanged -= value; }
+ }
+ // errorMessage
+ public delegate void ChangedLabelErrorMessageHandler(string currentErrorMessage);
+ private event ChangedLabelErrorMessageHandler m_ErrorMessageChanged;
+ public event ChangedLabelErrorMessageHandler ErrorMessageChanged
+ {
+ add { m_ErrorMessageChanged += value; }
+ remove { m_ErrorMessageChanged -= value; }
+ }
+ // ProgressBar
+ public delegate void ChangedProgressBarHandler(int currentProgressBar);
+ private event ChangedProgressBarHandler m_ProgressBarChanged;
+ public event ChangedProgressBarHandler ProgressBarChanged
+ {
+ add { m_ProgressBarChanged += value; }
+ remove { m_ProgressBarChanged -= value; }
+ }
+ // ProgressText
+ public delegate void ChangedProgressTextHandler(int currentProgressText);
+ private event ChangedProgressTextHandler m_ProgressTextChanged;
+ public event ChangedProgressTextHandler ProgressTextChanged
+ {
+ add { m_ProgressTextChanged += value; }
+ remove { m_ProgressTextChanged -= value; }
+ }
+ // UpdateButtons
+ public delegate void ChangedUpdateButtonsHandler(bool currentUpdateButtons);
+ private event ChangedUpdateButtonsHandler m_UpdateButtonsChanged;
+ public event ChangedUpdateButtonsHandler UpdateButtonsChanged
+ {
+ add { m_UpdateButtonsChanged += value; }
+ remove { m_UpdateButtonsChanged -= value; }
+ }
+
+ ///
+ /// Constructor
+ ///
+ public FormAxelTrack()
+ {
+ InitializeComponent();
+ // pipe client
+ _pipeClient = new PipeClient(); // commment this line to disable pipe comm.
+ PipeConnected = (_pipeClient != null);
+
+ //log
+ strAssemblyPath = System.IO.Directory.GetParent(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location)).FullName;
+ logINIPath = "\\data\\";
+ LogINIFullPath = strAssemblyPath + logINIPath;
+
+ // Initialization
+ label_MessageCommunication.ForeColor = Color.Red;
+ label_MessageCommunication.Text = string.Format("Disconnected from XPS");
+ m_IsPositioner = false;
+ m_CommunicationOK = false;
+ m_pollingFlag = false;
+ m_PollingInterval = POLLING_INTERVALLE_MS; // milliseconds
+ m_CurrentGroupStatus = 0;
+ for (int i = 0; i < NB_POSITIONERS; i++)
+ m_TargetPosition[i] = 0;
+
+ // Events
+ if (this != null)
+ {
+ this.PositionChanged += new ChangedCurrentPositionHandler(CurrentPositionHandlerChanged);
+ this.VelocityChanged += new ChangedCurrentVelocityHandler(CurrentVelocityHandlerChanged);
+ this.AccelerationChanged += new ChangedCurrentAccelerationHandler(CurrentAccelerationHandlerChanged);
+
+ this.GroupStatusChanged += new ChangedCurrentGroupStateHandler(CurrentGroupStateHandlerChanged);
+ this.ErrorMessageChanged += new ChangedLabelErrorMessageHandler(ErrorMessageHandlerChanged);
+ this.ProgressBarChanged += new ChangedProgressBarHandler(ProgressBarHandlerChanged);
+ this.ProgressTextChanged += new ChangedProgressTextHandler(ProgressTextHandlerChanged);
+ this.UpdateButtonsChanged += new ChangedUpdateButtonsHandler(UpdateButtonsHandlerChanged);
+ }
+ }
+
+ private void CurrentPositionHandlerChanged(double[] currentValues)
+ {
+ string strPosition = currentValues[0].ToString("F2", CultureInfo.CurrentCulture.NumberFormat);
+ textBoxPosition.BeginInvoke(
+ new Action(() =>
+ {
+ textBoxPosition.Text = strPosition;
+ }
+ ));
+ }
+
+ private void CurrentVelocityHandlerChanged(double[] currentValues)
+ {
+ string strVelocity = currentValues[0].ToString("F2", CultureInfo.CurrentCulture.NumberFormat);
+ textBoxVelocity.BeginInvoke(
+ new Action(() =>
+ {
+ textBoxVelocity.Text = strVelocity;
+ }
+ ));
+ }
+
+ private void CurrentAccelerationHandlerChanged(double[] currentValues)
+ {
+ string strAcceleration = currentValues[0].ToString("F2", CultureInfo.CurrentCulture.NumberFormat);
+ textBoxAcceleration.BeginInvoke(
+ new Action(() =>
+ {
+ textBoxAcceleration.Text = strAcceleration;
+ }
+ ));
+ }
+
+ private void CurrentGroupStateHandlerChanged(int currentGroupStatus, string strGroupStatusDescription)
+ {
+ try
+ {
+ string strStatus = currentGroupStatus.ToString("F0", CultureInfo.CurrentCulture.NumberFormat);
+ textBoxStatus.BeginInvoke(
+ new Action(() =>
+ {
+ textBoxStatus.Text = strStatus;
+ }
+ ));
+ label_GroupStatusDescription.BeginInvoke(
+ new Action(() =>
+ {
+ label_GroupStatusDescription.Text = strGroupStatusDescription;
+ }
+ ));
+ }
+ catch (Exception ex)
+ {
+ label_GroupStatusDescription.Text = "Exception in CurrentGroupStateHandlerChanged: " + ex.Message; // DEBUG
+ }
+ }
+
+ private void ErrorMessageHandlerChanged(string Message)
+ {
+ label_ErrorMessage.BeginInvoke(
+ new Action(() =>
+ {
+ label_ErrorMessage.Text = Message;
+ }
+ ));
+ }
+
+ private void ProgressBarHandlerChanged(int currentProgressBar)
+ {
+ progressBar1.BeginInvoke(
+ new Action(() =>
+ {
+ progressBar1.Value = currentProgressBar;
+ }
+ ));
+ }
+ private void ProgressTextHandlerChanged(int currentProgressText)
+ {
+ label_progressText.BeginInvoke(
+ new Action(() =>
+ {
+ label_progressText.Text = "[" + currentProgressText.ToString() + "]";
+ }
+ ));
+ }
+
+ private void UpdateButtonsHandlerChanged(bool currentUpdateButtons)
+ {
+ buttonStartShuttle.BeginInvoke(
+ new Action(() =>
+ {
+ buttonStartShuttle.Enabled = !currentUpdateButtons;
+ }
+ ));
+ buttonStopShuttle.BeginInvoke(
+ new Action(() =>
+ {
+ buttonStopShuttle.Enabled = currentUpdateButtons;
+ }
+ ));
+ buttonMoveTo.BeginInvoke(
+ new Action(() =>
+ {
+ buttonMoveTo.Enabled = !currentUpdateButtons;
+ }
+ ));
+ textBoxSweepCount.BeginInvoke(
+ new Action(() =>
+ {
+ textBoxSweepCount.Enabled = !currentUpdateButtons;
+ }
+ ));
+ }
+ // end of events handlers
+
+ public void UpdateGroupStatus()
+ {
+ try
+ {
+ int lastGroupState = m_CurrentGroupStatus;
+ if (m_xpsInterfaceForPolling != null)
+ {
+ string errorString = string.Empty;
+ int result = m_xpsInterfaceForPolling.GroupStatusGet(m_GroupName, out m_CurrentGroupStatus, out errorString);
+ if (result == CommandInterfaceXPS.XPS.FAILURE) // Communication failure with XPS
+ {
+ m_CurrentGroupStatus = 0;
+ if (errorString.Length > 0)
+ {
+ int errorCode = 0;
+ int.TryParse(errorString, out errorCode);
+ m_xpsInterface.ErrorStringGet(errorCode, out m_errorDescription, out errorString);
+ m_ErrorMessageChanged(string.Format("GroupStatusGet ERROR {0}: {1}", result, m_errorDescription));
+ }
+ else
+ m_ErrorMessageChanged(string.Format("Communication failure with XPS after GroupStatusGet "));
+ }
+ else
+ result = m_xpsInterfaceForPolling.GroupStatusStringGet(m_CurrentGroupStatus, out m_CurrentGroupStatusDescription, out errorString);
+
+ if ((m_CurrentGroupStatus != lastGroupState) && m_CurrentGroupStateChanged != null)
+ m_CurrentGroupStateChanged(m_CurrentGroupStatus, m_CurrentGroupStatusDescription);
+ }
+ }
+ catch (Exception ex)
+ {
+ m_ErrorMessageChanged("Exception in UpdateGroupStatus: " + ex.Message);
+ }
+ }
+
+ public void UpdateCurrentPosition()
+ {
+ try
+ {
+ double lastCurrentPosition = m_CurrentPosition[0];
+ if (m_xpsInterfaceForPolling != null)
+ {
+ if (m_IsPositioner == true)
+ {
+ string errorString = string.Empty;
+ int result = m_xpsInterfaceForPolling.GroupPositionCurrentGet(m_PositionerName, out m_CurrentPosition, NB_POSITIONERS, out errorString);
+ if (result == CommandInterfaceXPS.XPS.FAILURE) // Communication failure with XPS
+ {
+ m_CurrentPosition[0] = 0;
+ if (errorString.Length > 0)
+ {
+ int errorCode = 0;
+ int.TryParse(errorString, out errorCode);
+ m_xpsInterface.ErrorStringGet(errorCode, out m_errorDescription, out errorString);
+ m_ErrorMessageChanged(string.Format("GroupPositionCurrentGet ERROR {0}: {1}", result, m_errorDescription));
+ }
+ else
+ m_ErrorMessageChanged(string.Format("Communication failure with XPS after GroupPositionCurrentGet "));
+ }
+ }
+ if ((m_CurrentPosition[0] != lastCurrentPosition) && m_CurrentPositionChanged != null)
+ m_CurrentPositionChanged(m_CurrentPosition);
+ }
+ }
+ catch (Exception ex)
+ {
+ m_ErrorMessageChanged("Exception in UpdateCurrentPosition: " + ex.Message);
+ }
+ }
+ private double LastVelocity, EstimAcceleration, tm;
+ public void UpdateCurrentVelocity()
+ {
+ try
+ {
+ double lastCurrentVelocity = m_CurrentVelocity[0];
+ if (m_xpsInterfaceForPolling != null)
+ {
+ if (m_IsPositioner == true)
+ {
+ string errorString = string.Empty;
+ int result = m_xpsInterfaceForPolling.GroupVelocityCurrentGet(m_PositionerName, out m_CurrentVelocity, NB_POSITIONERS, out errorString);
+ if (result == CommandInterfaceXPS.XPS.FAILURE) // Communication failure with XPS
+ {
+ m_CurrentVelocity[0] = 0;
+ if (errorString.Length > 0)
+ {
+ int errorCode = 0;
+ int.TryParse(errorString, out errorCode);
+ m_xpsInterface.ErrorStringGet(errorCode, out m_errorDescription, out errorString);
+ m_ErrorMessageChanged(string.Format("GroupVelocityCurrentGet ERROR {0}: {1}", result, m_errorDescription));
+ }
+ else
+ m_ErrorMessageChanged(string.Format("Communication failure with XPS after GroupVelocityCurrentGet "));
+ }
+ }
+
+ if ((m_CurrentVelocity[0] != lastCurrentVelocity) && m_CurrentVelocityChanged != null)
+ {
+ m_CurrentVelocityChanged(m_CurrentVelocity);
+ if (DateTime.Now.TimeOfDay.TotalMilliseconds != tm)
+ EstimAcceleration = 1000 * (m_CurrentVelocity[0] - LastVelocity)/(DateTime.Now.TimeOfDay.TotalMilliseconds - tm);
+ LastVelocity = m_CurrentVelocity[0];
+ tm = DateTime.Now.TimeOfDay.TotalMilliseconds;
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ m_ErrorMessageChanged("Exception in UpdateCurrentVelocity: " + ex.Message);
+ }
+ }
+
+ public void UpdateCurrentAcceleration()
+ {
+ try
+ {
+ if (m_xpsInterfaceForPolling != null)
+ {
+ if (m_IsPositioner == true)
+ {
+ m_CurrentAcceleration[0] = EstimAcceleration;
+ }
+
+ if (m_CurrentAccelerationChanged != null)
+ m_CurrentAccelerationChanged(m_CurrentAcceleration);
+ }
+ }
+ catch (Exception ex)
+ {
+ m_ErrorMessageChanged("Exception in UpdateCurrentAcceleration: " + ex.Message);
+ }
+ }
+
+ public void UpdateCurrentAll()
+ {
+ UpdateGroupStatus();
+ UpdateCurrentPosition();
+ UpdateCurrentVelocity();
+ UpdateCurrentAcceleration();
+ }
+
+ #region POLLING
+ public void StartPolling()
+ {
+ try
+ {
+ if (m_pollingFlag == false)
+ {
+ m_pollingFlag = true; // Start polling
+
+ // Create thread and start it
+ m_PollingThread = new Thread(new ParameterizedThreadStart(poll));
+ m_PollingThread.IsBackground = true;
+ m_PollingThread.Start();
+ }
+ }
+ catch (Exception ex)
+ {
+ m_ErrorMessageChanged("Exception in StartPolling: " + ex.Message);
+ }
+ }
+
+ public void StopPolling()
+ {
+ try
+ {
+ m_pollingFlag = false; // Stop the polling
+ if (m_PollingThread != null)
+ m_PollingThread.Abort();
+ }
+ catch (Exception ex)
+ {
+ m_ErrorMessageChanged("Exception in StopPolling: " + ex.Message);
+ }
+ }
+
+ private bool AdjustShuttleFlag = false;
+ private const double maxSpeed = 700;
+ private const double tol = 5;
+ private void AdjustShuttleVelAccel()
+ {
+ if (AdjustShuttleFlag) return; // already ON
+ if (sweep >= sweepCount) // the end of sweeps
+ {
+ StopShuttle();
+ return;
+ }
+
+ AdjustShuttleFlag = true; sweep++;
+
+ m_ProgressBarChanged((int)(100 * sweep / sweepCount));
+ m_ProgressTextChanged(sweep);
+ string errorString = string.Empty;
+ double OffPosition = 0;
+
+ double swing;
+ double.TryParse(textBoxShuttleRange.Text, out swing);
+
+ double accel;
+ double.TryParse(textBoxShuttleAcceleration.Text, out accel);
+
+ double maxVelo = Math.Sqrt(2 * (swing / 2) * accel);
+ double phaseDuration = maxVelo / accel;
+ if (maxVelo > maxSpeed)
+ {
+ MessageBox.Show("Exceeded Maximum Speed of " + maxSpeed.ToString());
+ StopShuttle();
+ return;
+ }
+ // call to Axel Boss
+ int cyclesLeft = sweepCount - (sweep - 1);
+ double d_PollingInterval = m_PollingInterval/1000.0;
+ string prms = (4 * phaseDuration).ToString() + ';' + d_PollingInterval.ToString() + ';' + swing.ToString() + ';' + accel.ToString() + ';' + cyclesLeft.ToString();
+ if ((cyclesLeft == sweepCount) && (PipeConnected)) // init the acquisition
+ {
+ _pipeClient.Send("ACQ>" + prms, "XPStrackPipe", 1000);
+ //Thread.Sleep(500); // time to reset ADC
+ //if (logFlag) m_xpsInterface.GatheringRun(50000, 10, out errorString);
+ }
+
+ if (PipeConnected) _pipeClient.Send("ACQ>" + prms, "XPStrackPipe", 2000);
+
+ for (int ph = 1; ph < 5; ph++)
+ {
+ UpdateCurrentAll();
+ double pst = m_CurrentPosition[0];
+
+ double[] velos = new double[NB_POSITIONERS];
+ double[] accels = new double[NB_POSITIONERS];
+
+ switch (ph)
+ {
+ case 1:
+ velos[0] = maxVelo;
+ OffPosition = Math.Abs(initPos - pst); // at the beginning
+ break;
+ case 2:
+ velos[0] = 0;
+ OffPosition = Math.Abs(initPos + (swing / 2) - pst); // in the middle
+ break;
+ case 3:
+ Thread.Sleep(m_PollingInterval); // for symmetry with the start
+ velos[0] = - maxVelo;
+ OffPosition = Math.Abs(initPos + swing - pst); // at the end of shuttle move
+ break;
+ case 4:
+ velos[0] = 0;
+ OffPosition = Math.Abs(initPos + (swing / 2) - pst); // in the middle on its way back
+ break;
+ }
+ if (OffPosition > tol) // Communication failure with XPS
+ {
+ m_ErrorMessageChanged(string.Format("Off position ERROR -> pos {0}: off {1}", pst, OffPosition));
+ emergency = true;
+ StopShuttle();
+ }
+
+ int result;
+ accels[0] = accel;
+ result = m_xpsInterface.GroupJogParametersSet(m_GroupName, velos, accels, NB_POSITIONERS, out errorString);
+ if (result == CommandInterfaceXPS.XPS.FAILURE) // Communication failure with XPS
+ {
+ if (errorString.Length > 0)
+ {
+ int errorCode = 0;
+ int.TryParse(errorString, out errorCode);
+ m_xpsInterface.ErrorStringGet(errorCode, out m_errorDescription, out errorString);
+ m_ErrorMessageChanged(string.Format("GroupJogParametersSet ERROR {0}: {1} with {2} m/s {3} m/s^2", result, m_errorDescription, velos[0], accels[0]));
+ }
+ else
+ m_ErrorMessageChanged(string.Format("Communication failure with XPS after GroupJogParametersSet"));
+ }
+ /* if (!ShuttleFlag && (ph == 4))
+ {
+ UpdateCurrentAll();
+ break;
+ } */
+ } // ph loop
+ // double CyclePeriod, double Distance, double Accel, int CyclesLeft
+ AdjustShuttleFlag = false;
+ }
+
+ public void poll(object obj)
+ {
+ try
+ {
+ while ((m_pollingFlag == true) && (m_CommunicationOK == true))
+ {
+ if (ShuttleFlag) AdjustShuttleVelAccel();
+ else UpdateCurrentAll();
+
+ // Tempo in relation to the polling frequency
+ Thread.Sleep(m_PollingInterval);
+ }
+ }
+ catch (Exception ex)
+ {
+ m_ErrorMessageChanged("Exception in poll: " + ex.Message);
+ }
+ }
+ #endregion
+
+ #region Communication/Initiation
+ ///
+ /// Socket opening and start polling
+ ///
+ ///
+ ///
+ private void ConnectButton(object sender, EventArgs e)
+ {
+ // Get IP address and Ip port from form front panel
+ m_IPAddress = textBox_IPAddress.Text;
+ int.TryParse(textBox_IPPort.Text, out m_IPPort);
+
+ m_PositionerName = TextBox_Group.Text;
+ int index = m_PositionerName.LastIndexOf('.');
+ if (index != -1)
+ {
+ m_IsPositioner = true;
+ m_GroupName = m_PositionerName.Substring(0, index);
+ label_ErrorMessage.Text = string.Empty;
+ }
+ else
+ {
+ m_IsPositioner = false;
+ m_GroupName = m_PositionerName;
+ label_ErrorMessage.Text = "Must be a positioner name not a group name";
+ }
+
+ label_GroupStatusDescription.Text = string.Empty;
+ m_XPSControllerVersion = string.Empty;
+ m_errorDescription = string.Empty;
+
+ try
+ {
+ // Open socket #1 to order
+ if (m_xpsInterface == null)
+ m_xpsInterface = new CommandInterfaceXPS.XPS();
+ if (m_xpsInterface != null)
+ {
+ // Open socket
+ int returnValue = m_xpsInterface.OpenInstrument(m_IPAddress, m_IPPort, DEFAULT_TIMEOUT);
+ if (returnValue == 0)
+ {
+ string errorString = string.Empty;
+ int result = m_xpsInterface.FirmwareVersionGet(out m_XPSControllerVersion, out errorString);
+ if (result == CommandInterfaceXPS.XPS.FAILURE) // Communication failure with XPS
+ {
+ if (errorString.Length > 0)
+ {
+ int errorCode = 0;
+ int.TryParse(errorString, out errorCode);
+ m_xpsInterface.ErrorStringGet(errorCode, out m_errorDescription, out errorString);
+ m_XPSControllerVersion = string.Format("FirmwareVersionGet ERROR {0}: {1}", result, m_errorDescription);
+ }
+ else
+ m_XPSControllerVersion = string.Format("Communication failure with XPS after FirmwareVersionGet ");
+ }
+ else
+ {
+ label_MessageCommunication.ForeColor = Color.Green;
+ label_MessageCommunication.Text = string.Format("Connected to XPS");
+ m_CommunicationOK = true;
+ }
+ }
+ }
+ else
+ m_XPSControllerVersion = "XPS instance is NULL";
+
+ // Open socket #2 for polling
+ if (m_xpsInterfaceForPolling == null)
+ m_xpsInterfaceForPolling = new CommandInterfaceXPS.XPS();
+ if (m_xpsInterfaceForPolling != null)
+ {
+ // Open socket
+ int returnValue = m_xpsInterfaceForPolling.OpenInstrument(m_IPAddress, m_IPPort, DEFAULT_TIMEOUT);
+ if (returnValue == 0)
+ {
+ string errorString = string.Empty;
+ int result = m_xpsInterfaceForPolling.FirmwareVersionGet(out m_XPSControllerVersion, out errorString);
+ if (result != CommandInterfaceXPS.XPS.FAILURE) // Communication failure with XPS
+ StartPolling();
+ }
+ }
+
+ if (m_XPSControllerVersion.Length <= 0)
+ m_XPSControllerVersion = "No detected XPS";
+
+ this.Text = string.Format("Axel Track v1.2 - {0}", m_XPSControllerVersion);
+ }
+ catch (Exception ex)
+ {
+ label_ErrorMessage.Text = "Exception in ConnectButton: " + ex.Message;
+ }
+ }
+
+ ///
+ /// Stop polling and Close socket
+ ///
+ ///
+ ///
+ private void buttonDisconnect_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ m_CommunicationOK = false;
+ m_pollingFlag = false;
+
+ if (m_xpsInterfaceForPolling != null)
+ m_xpsInterfaceForPolling.CloseInstrument();
+
+ if (m_xpsInterface != null)
+ m_xpsInterface.CloseInstrument();
+
+ label_MessageCommunication.ForeColor = Color.Red;
+ label_MessageCommunication.Text = string.Format("Disconnected from XPS");
+ label_ErrorMessage.Text = string.Empty;
+ label_GroupStatusDescription.Text = string.Empty;
+ m_XPSControllerVersion = string.Empty;
+ m_errorDescription = string.Empty;
+ this.Text = "XPS Application";
+ }
+ catch (Exception ex)
+ {
+ label_ErrorMessage.Text = "Exception in buttonDisconnect_Click: " + ex.Message;
+ }
+ }
+
+ ///
+ /// Button to perform a GroupInitialize
+ ///
+ ///
+ ///
+ private void buttonInitialize_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ label_ErrorMessage.Text = string.Empty;
+ if (m_CommunicationOK == false)
+ label_ErrorMessage.Text = string.Format("Not connected to XPS");
+
+ if (m_xpsInterface != null)
+ {
+ string errorString = string.Empty;
+ int result = m_xpsInterface.GroupInitialize(m_GroupName, out errorString);
+ if (result == CommandInterfaceXPS.XPS.FAILURE) // Communication failure with XPS
+ {
+ if (errorString.Length > 0)
+ {
+ int errorCode = 0;
+ int.TryParse(errorString, out errorCode);
+ m_xpsInterface.ErrorStringGet(errorCode, out m_errorDescription, out errorString);
+ label_ErrorMessage.Text = string.Format("GroupInitialize ERROR {0}: {1}", result, m_errorDescription);
+ }
+ else
+ label_ErrorMessage.Text = string.Format("Communication failure with XPS after GroupInitialize ");
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ label_ErrorMessage.Text = "Exception in buttonInitialize_Click: " + ex.Message;
+ }
+ }
+
+ ///
+ /// Button to perform a group home search
+ ///
+ ///
+ ///
+ private void buttonHome_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ label_ErrorMessage.Text = string.Empty;
+ if (m_CommunicationOK == false)
+ label_ErrorMessage.Text = string.Format("Not connected to XPS");
+
+ if (m_xpsInterface != null)
+ {
+ string errorString = string.Empty;
+ int result = m_xpsInterface.GroupHomeSearch(m_GroupName, out errorString);
+
+ //int result = m_xpsInterface.GroupReferencingStart(m_GroupName, out errorString); // arbitrary home (manual position)
+ //result = m_xpsInterface.GroupReferencingStop(m_GroupName, out errorString);
+
+ if (result == CommandInterfaceXPS.XPS.FAILURE) // Communication failure with XPS
+ {
+ if (errorString.Length > 0)
+ {
+ int errorCode = 0;
+ int.TryParse(errorString, out errorCode);
+ m_xpsInterface.ErrorStringGet(errorCode, out m_errorDescription, out errorString);
+ label_ErrorMessage.Text = string.Format("GroupHomeSearch ERROR {0}: {1}", result, m_errorDescription);
+ }
+ else
+ label_ErrorMessage.Text = string.Format("Communication failure with XPS after GroupHomeSearch ");
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ label_ErrorMessage.Text = "Exception in buttonHome_Click: " + ex.Message;
+ }
+ }
+
+ ///
+ /// Button to perform a group kill
+ ///
+ ///
+ ///
+ private void buttonKill_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ label_ErrorMessage.Text = string.Empty;
+ if (m_CommunicationOK == false)
+ label_ErrorMessage.Text = string.Format("Not connected to XPS");
+
+ if (m_xpsInterface != null)
+ {
+ string errorString = string.Empty;
+ int result = m_xpsInterface.GroupKill(m_GroupName, out errorString);
+ if (result == CommandInterfaceXPS.XPS.FAILURE) // Communication failure with XPS
+ {
+ if (errorString.Length > 0)
+ {
+ int errorCode = 0;
+ int.TryParse(errorString, out errorCode);
+ m_xpsInterface.ErrorStringGet(errorCode, out m_errorDescription, out errorString);
+ label_ErrorMessage.Text = string.Format("GroupKill ERROR {0}: {1}", result, m_errorDescription);
+ }
+ else
+ label_ErrorMessage.Text = string.Format("Communication failure with XPS after GroupKill ");
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ label_ErrorMessage.Text = "Exception in buttonKill_Click: " + ex.Message;
+ }
+ }
+
+ private void buttonInitiate_Click(object sender, EventArgs e)
+ {
+ buttonInitiate.Text = "Doing it...";
+ buttonInitiate.ForeColor = System.Drawing.Color.DarkGray;
+ Application.DoEvents();
+ if (m_CommunicationOK) buttonDisconnect_Click(null, null);
+ ConnectButton(null, null);
+ buttonKill_Click(null, null);
+ buttonInitialize_Click(null, null);
+ buttonHome_Click(null, null);
+
+ buttonInitiate.Text = "Reset";
+ buttonInitiate.ForeColor = System.Drawing.Color.DarkOrange;
+
+ buttonAbort.ForeColor = System.Drawing.Color.Red;
+ buttonAbort.Enabled = true;
+ }
+
+ private void buttonAbort_Click(object sender, EventArgs e)
+ {
+ string errorString = string.Empty;
+ int result = m_xpsInterface.GroupMoveAbort(m_GroupName, out errorString);
+ if (result == CommandInterfaceXPS.XPS.FAILURE) // Communication failure with XPS
+ {
+ if (errorString.Length > 0)
+ {
+ int errorCode = 0;
+ int.TryParse(errorString, out errorCode);
+ m_xpsInterface.ErrorStringGet(errorCode, out m_errorDescription, out errorString);
+ label_ErrorMessage.Text = string.Format("GroupMoveAbortFast ERROR {0}: {1}", result, m_errorDescription);
+ }
+ else
+ label_ErrorMessage.Text = string.Format("Communication failure with XPS after GroupMoveAbortFaste ");
+ }
+ }
+ #endregion
+
+ ///
+ /// Button to perform an absolute motion
+ ///
+ ///
+ ///
+ private void buttonMoveTo_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ label_ErrorMessage.Text = string.Empty;
+ if (m_CommunicationOK == false)
+ label_ErrorMessage.Text = string.Format("Not connected to XPS");
+
+ if (m_IsPositioner == true)
+ {
+ double.TryParse(textBoxTarget.Text, out m_TargetPosition[0]);
+ if ((m_xpsInterface != null) && (m_CommunicationOK == true))
+ {
+ string errorString = string.Empty; int result = 0;
+ double vel, accel, minJerk, maxJerk;
+ result = m_xpsInterface.PositionerSGammaParametersGet(m_PositionerName, out vel, out accel, out minJerk, out maxJerk, out errorString);
+ result += m_xpsInterface.PositionerSGammaParametersSet(m_PositionerName, 10, 100, minJerk, maxJerk, out errorString);
+ Thread.Sleep(500);
+ result += m_xpsInterface.GroupMoveAbsolute(m_PositionerName, m_TargetPosition, 1, out errorString);
+ if (result == CommandInterfaceXPS.XPS.FAILURE) // Communication failure with XPS
+ {
+ if (errorString.Length > 0)
+ {
+ int errorCode = 0;
+ int.TryParse(errorString, out errorCode);
+ m_xpsInterface.ErrorStringGet(errorCode, out m_errorDescription, out errorString);
+ m_ErrorMessageChanged(string.Format("GroupMoveAbsolute ERROR {0}: {1}", result, m_errorDescription));
+ }
+ else
+ m_ErrorMessageChanged(string.Format("Communication failure with XPS after GroupMoveAbsolute "));
+ }
+ result += m_xpsInterface.PositionerSGammaParametersSet(m_PositionerName, vel, accel, minJerk, maxJerk, out errorString);
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ m_ErrorMessageChanged("Exception in buttonMoveTo_Click: " + ex.Message);
+ }
+ }
+
+ private bool fShuttleFlag = false;
+ private double initPos = 0;
+ public bool ShuttleFlag
+ {
+ get
+ {
+ return fShuttleFlag;
+ }
+ set
+ {
+ fShuttleFlag = value;
+
+ string errorString = string.Empty;
+ int result;
+ if (value) // switching ON
+ {
+ UpdateCurrentAll();
+ initPos = m_CurrentPosition[0];
+
+ result = m_xpsInterface.GroupJogModeEnable(m_GroupName, out errorString);
+ }
+ else // going OFF
+ {
+ if (!emergency)
+ {
+ /* double[] velos = new double[NB_POSITIONERS];
+ double[] accels = new double[NB_POSITIONERS];
+ velos[0] = 0;
+ accels[0] = 100;*/
+ Thread.Sleep(1000);
+ result = m_xpsInterface.GroupJogModeDisable(m_GroupName, out errorString);
+ if (result == CommandInterfaceXPS.XPS.FAILURE) // Communication failure with XP
+ {
+ if (errorString.Length > 0)
+ {
+ int errorCode = 0;
+ int.TryParse(errorString, out errorCode);
+ m_xpsInterface.ErrorStringGet(errorCode, out m_errorDescription, out errorString);
+ m_ErrorMessageChanged(string.Format("GroupJogMode ERROR {0}: {1}", result, m_errorDescription));
+ }
+ else
+ m_ErrorMessageChanged(string.Format("Communication failure with XPS after GroupJogMode "));
+ }
+ }
+ }
+ m_UpdateButtonsChanged(value);
+ }
+ }
+
+ private void buttonStartShuttle_Click(object sender, EventArgs e)
+ {
+ // some useful funcs: GroupAccelerationCurrentGet, GroupVelocityCurrentGet, GroupJogParametersSet, PositionerAccelerationAutoScaling,
+ // PositionerAnalogTrackingPositionParametersSet, PositionerAnalogTrackingVelocityParametersSet,
+ // PositionerJogMaximumVelocityAndAccelerationGet, XYZSplineExecution, SetJogAcceleration
+ logFlag = checkBoxLog.Checked;
+ string errorString = string.Empty;
+
+ // JOG - ON
+ int i; sweepCount = 2;
+ if(int.TryParse(textBoxSweepCount.Text, out i)) sweepCount = i;
+ sweep = 0;
+ ShuttleFlag = true;
+
+ if (logFlag)
+ {
+ string[] tp = new string[] {
+ m_PositionerName + ".CurrentPosition", m_PositionerName + ".CurrentVelocity", m_PositionerName + ".CurrentAcceleration",
+ m_PositionerName + ".SetpointPosition", m_PositionerName + ".SetpointVelocity", m_PositionerName + ".SetpointAcceleration",
+ m_PositionerName + ".FollowingError" };
+ int result = m_xpsInterface.GatheringConfigurationSet(tp, out errorString);
+ m_xpsInterface.GatheringRun(100000, 10, out errorString);
+ }
+ }
+
+ bool emergency = false;
+ private void StopShuttle()
+ {
+ int result;
+ string errorString = string.Empty;
+ if (logFlag)
+ {
+ result = m_xpsInterface.GatheringStop(out errorString);
+ result = m_xpsInterface.GatheringStopAndSave(out errorString);
+
+ ftp ftpClient = new ftp(@"ftp://192.168.0.254", "Administrator", "Administrator");
+ LogINIFullPath = strAssemblyPath + logINIPath + DateTime.Now.ToString("yy-MM-dd_H-mm-ss");
+ LogINIFullPath += ".log";
+ ftpClient.download("Public/Gathering.dat", LogINIFullPath);
+ Thread.Sleep(500);
+ if (PipeConnected) _pipeClient.Send("FRF>" + LogINIFullPath, "XPStrackPipe", 1000);
+
+ ftpClient = null;
+ }
+ if (emergency)
+ {
+ result = m_xpsInterface.GroupKill(m_GroupName, out errorString); // GroupMoveAbortFast, GroupMoveAbort
+ if (result == CommandInterfaceXPS.XPS.FAILURE) // Communication failure with XP
+ {
+ if (errorString.Length > 0)
+ {
+ int errorCode = 0;
+ int.TryParse(errorString, out errorCode);
+ m_xpsInterface.ErrorStringGet(errorCode, out m_errorDescription, out errorString);
+ m_ErrorMessageChanged(string.Format("GroupKill ERROR {0}: {1}", result, m_errorDescription));
+ }
+ else
+ m_ErrorMessageChanged(string.Format("Communication failure with XPS after GroupKill "));
+ }
+ AdjustShuttleFlag = false;
+ }
+ do
+ {
+ Application.DoEvents(); // wait for current cycle to end if in the middle of it
+ } while (AdjustShuttleFlag);
+
+ ShuttleFlag = false; // go off jog
+ emergency = false;
+ }
+
+ private void buttonStopShuttle_Click(object sender, EventArgs e)
+ {
+ sweep = sweepCount;
+ }
+
+ private void picTrain_Click(object sender, EventArgs e)
+ {
+ MessageBox.Show(" Axel Track v1.2 \n by Teodor Krastev \nfor Imperial College, London", "About");
+ }
+ }
+}
+
diff --git a/Axel-track/Form1.resx b/Axel-track/Form1.resx
index 326d1a89..dbc33f03 100644
--- a/Axel-track/Form1.resx
+++ b/Axel-track/Form1.resx
@@ -1,1581 +1,1581 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
-
- iVBORw0KGgoAAAANSUhEUgAAAOAAAACdCAMAAACaT4TMAAAABGdBTUEAALGPC/xhBQAAAwBQTFRF////
- AAAA+Pj4/Pz82dnZU1NTh4eHnp6exsbG9/f3DAwMCQkJBgYG8fHxdXV1Li4uQ0NDUVFRysrKp6en5+fn
- b29v1NTUmZmZioqKe3t7Ly8vW1tbYmJiSkpKv7+/QEBAtLS0ODg4FhYWra2tIiIiGhoaJCQkt7e34eHh
- eHh4Z2dnkZGRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKLYiuAAAAAd0SU1FB+EF
- Dw45OzRetDUAABBbSURBVHhe7Z0HV+O8EoaTmAWcQg2EGthlYfng//+/O03SjJptSCj38JyzRJZc5tXI
- apa9oy9IM5lMGglHFBMAOExCX5xm0hZVVDSAvrL4r0TN0IqTvo2+aikspoG876Kv4qQoDUWhLoB+Jfqr
- U7HU3Jwiz/Fd5NWqkYnW50WhA5vvIw8NlxBCpY/Mj0qh2bB8bbWgQ0JAuRTCloRSKkmfj5FBopBJ27bG
- YSYbImppn4S/hdBjWl+xvS+Xz3raZ+CKofxKLGA2LDUnVQ77DMDUFnXRH65NBNiUUErFSbXDPgMohWwr
- 3moUEGpOgntSQjFYDCT4Rah4opgUpYFc9j4Xcon98hSdFJVCVMXlG7BV7UeDhdAhUWXKJdSUQtiQMt7v
- tNuDrq+R+BJRKQQhdAwXQ4klfcUiaa7QrPe3ydqR3Yw52VkuFrqAkqhAsLw2MG5M0mL8xZgenb2eLMk2
- kkdO5wBFMtbNFpu2VYHz2XQ6nc3nsinM57NZFJVw97pDAgsyIEVCKVHaFgWyOtmImceyBThoxqHHFfsx
- R8WBca5sSyA6r8NPKNHKnM8hT1TMAbgxS6WCibVvSWC3PEeQGHt8Ph2Pr8/FTkOxhEJC7NutCARH9JSH
- SJFMSi078yYtqNZL0o3xdZFEO7ZaybyLubsZL8RUx7DpmXa1t0lWq77ngz1l33DM6uK/lyNWhSXWOfTw
- RIwlEn3UfoD7wIUc+VUomLN4Pj1DWVO4BR2XZD8kUjEMB2J3TYIxW1FbuZ6FCpaEeUuCQrN+EWnC0w6c
- XJB9ANgoXq+vKUOoXU8DglqryJiNOzSjdu9QxAFQWB84V7RjIKJ4PUiT0OboqY/tlA0HREmId8D05uEv
- y8P2A4oppypq1+tnyyBq/V8FWJ/bzxuk9U9Woo+qm9tonFhzks6wDQGX66HPeSfBH27Ps7yG2sY1lNNn
- iWWwIBfQmYgTjzkkeaMU5ZWAO+7+j8hD9iWeKJ7LXmb36TDL3cta9vDsvF7/KnIsv1mud6Epw+uGCzfr
- A0kUjo9/Xd9cnp4sZAcEnbT8JeqQe0kA4GQSQujkcHrp10gs8p8cmuFWX2vU3kj027h7hkuHfN3XjrHc
- 7fneGR9xIQnIHidE+kSew3j2Uo7M8agK6rJsETHzt0oJ3R85lbgId47bNdkIdtPe+xxLvFIMKgqFwYvC
- DqlRB9QEjl9kJ0C1Sjmgfy2hItPQbdYWa3AAwVz9g928iOcriQZeuTsT/GfEplQFjv2AbE8iSphxXAbM
- gDM516gp5tYsFIO7ExAoB4wmtxILnGLxVIq02Ax1gbuy16ij/HUUUBr+jsfunl5LtMdnzlzn05mqAxro
- n85nPNfxz3RjO/TVKhngl+y1I9sl5nV9JA8tY3YpVhFUzXRJf3S3Ld6Mr3CHzmDMCBr1KBiTqrz+Psoh
- 17mSo0s3jaNDnwxlT/lkI2i9CY4Fv2RvYLwheSwIIsBn6i5Rg+Dq/VemkWHZYSRwj+5vS7tYSCgGUhaL
- dtK4o51Aadn+LGEHP/kOtIuTPS+ep2eO0QAREarev6F6r0z0VykIdCZqSl2mULudREeLwOkie+j9HaS5
- Dij2z3wpDAp/S0x3CS0xQGC+kJCrJaFDIFb7sif02OHvvqozx+P1yF8g3LzXHBGOHEp/gfk8VPKqAt3j
- XbezBO55D+aBUogwDj7ATTyY4oczRGCah3hhFVsQ+GdB+cDIreTOZjqGK4oigm+hS/MOfQMEGilEJC8V
- eIwbszkIpF1xX3cERNDvaPRAhzBhYq39LVF4tvTS/RkiUAIC2hxdOOdBaDumqiH3h4Rjn11/B9pGUQg9
- TdUnXpefEnfTW2DIciIjLy8QrFYC4SAf8kdPyNPYYMihcPIW+xzUn4F/pZn9PgwQqOWgvjRbg0Du7LMH
- vUAzF2jOh/1I0Id6oBeEeQeRcDbotNE8TfnxTCc1gTKoZEO0oLy8IJC7CQ1XMjMW2MgyEt6TziG/GFo5
- fWPon7m9QhX7pAr5QMoCWR0UFk4KtkFCNBvoUAJRDwucyz2IR+lcEYGou22gqmF5wLMf6oVO260+chBF
- gagvYw/rLlzOC4Qw+oUEUjOBEdFBLpNk6Brc9RjcFUYI0uAPpygwVsECa/L0PQg0E2gmyC0sMMblmCP0
- z+5CStTgv4GSQFunsENYX1FeJBDq9uMxjR76CfRTMjPlroYrWITnMAZTFBjpQIHwr3DzEQ2OJmjA5Opg
- EIibuh0MpFkl7tJzAqM2TAqontwAypWMhcpm1X3gcziaBrJKIA4gcwKzZYHcRc1h6NKoB5vm6VpfCgL9
- rJ2DBFbk4Q7NCQxqUVIkMC2inF3J6SY4gOLmIuSwmmR4S4M/wIM1eZx+go+nwTyXPSUPoj5oZNMTLh+h
- CPCsQZiOdjZBTr2hwR8gUEJ5KF03ExBVEAi74hMFt1DJT3Gi5B3s+TDBXaE7fjV8WF8QqG5ouXyHQHJw
- ENhiLwjaQbLWCETvke/khNLDEUbndAIiuOtVYmCELzH96RKI9lCgJFDyn3YLAtnaa24HlUAvLwikXQHo
- 52DCPzoD8pv3Q8Kc543E9CYrcOYFhv5VXqDyhxJInW2IlYmlIBB3d2abE7piCoT+mRr/hmGxn8HtiRO4
- 4EvQVC3U03wPWnu8CQHJfkiBEFYyjLuDpavmBOrT4YaEYoK7wh3XYP3KJBV8HS8QDW0bEAjt0ExMhCj6
- RUKl503D+wzyhffCv1WBuJ/SVBYY+meqJpiE8a96tNYDEQjVExoAAnmakkw0NgSBuB/8kMESgB/8WxHo
- 93bkWgnB98/UM6HRkm5nYlCDjwKh9xFmtnltFplo5lqDWqnfyWSKANfTtkz8Ov9rgbE8PKgocPTMx43n
- sk2o+nVAg98ccZHMtYNRHoduKERjCnuOA5hGfVHqacUCl4k8FCiBHG7GSTaZ8ChnQIPfHnHXKCcwMkpt
- ijedB71U6KrhSsKMwFieO0UBV6XIphAafGduJw0KxDKZERiboBwqgpwuL5W6anw04QXKtqJyC0K2u/tN
- th2hwb+VmC6ayRE/MMoIjByIERLwgmIXFiqZ3Hgwyj2Lm7l3D/U8B5IwVgMqh+kRCe1ikW3oobFpFsmz
- JPWESJ4W4VMljqBA/unSbP4H70ELHCmhlCWt0UPceQLumVTa4JfWi0rfPfd8UD1mdugYCbvSpPd2hoE5
- VIVlKURrMkU7THhHDX5BoHuUjJME2JtXdbG22K3Rdb+EpGcMpSe8zQSKGreqOerPioncNMziURLDc2Qm
- L5BGz8gr3kZA4y7rn9sh/slsWB0BiGsyjpaGHbsNBXnhyhWyjYFrIwHTHGYFwlXEgCUZBN3RFY1ZqbL3
- eH1eFCFqzXoC4oxzqxk1alVIRNGzgWQFFhMK2V9deeUEBn2r0IxfYbEyS811ZhsXku/CSTycW3gyfUsb
- 9DkLpDWMEBp8XZVmBIZSeBaerY6WyZXN0hFzZ9LxJjOQE9DnTldY6dTDgQX/IeGkqldaqGSIU6UP2pP3
- rVX7/WzauMpatRqXmaYz4Bv8R4kAFnfH+XWCL/fQFVb6AL3aENcGSpCoLjb8dX25D/efOVuy2rDrHHCS
- dVUe4H0QBlRWgqXaqxhItQu2MVp3H/k5GnVbJFRsSpcvw4kklMJVZxd99unEVzRyF9b0la/oK0NCQhDH
- gRi7d5Hi8cOIxsQd+S4hhGYgsEGkgLLY+RKiczKivYsUDh+M69fLvE1S0gJwRQkBZGZAHQRbEsqZ2Fce
- 7Fi2ZBhuyMhlNEzKxRjDyEyEAxKL6GxIFPaWlx76duhNBCD3VI00cEBbZjYiTMZHbsC56dJxlg3q889k
- kjEjuycg0YDZsMAxEiK0obVsidhc+QQm8rpMPOonUSCSxq7uKxMEbEsoJW5JUJUPlA+z4PUkuAlkqG4F
- 6uyO7ktIklBKmsYnInk9jdaX3ghuelj3evAiEkyoXT6XhvYOsLl26bfhZvj1e0C1i1STVJqXRO6TcBew
- 70aLJ+JmppRAuIyEUsppJu/1BoZ7ebD3joNwa2iUwNpVbBq3HwQaJ7GRWNrs/vzJduSFCTb1CKqyBsQY
- TiYFgnGQEFnK1lfM35a87PR+8UJohQRpgx62svOM8TlTaa+8RmlytyJvtJCphSfZTsHyxwG0gkIIbhVM
- giQJGUQHFmmJoZNz5Jbkhd52YYmXu7ygLKuYVE7ycixZv24IV8dk56bIHMxkmn/XZtf0gUAJZMESgWfj
- f9qd26B1E8D2dVgG9bnLR2bU9MFhEhK2rKGKW315lbGh5qWKk+xhGe9/KK6rHX8AA6jpS5wUMIfBhiuM
- EvPB+LUmmRJaK4XlNKMPpMlW+VRbZSny0tFg1UlRGleNWHdwQKJJ3ycJc/j3YjILLiq9XuMlEqWQaMDs
- 9in4pdy5J9lN/7uMnEdCtaCNjsvfRHg3LddGWEgCh6DKCIabDcun+88/4c5VoRbyTkDrK6v4rIpT2AmL
- uO86chp9BkK4wjeKIE5CKbW07bPQL5N3FFBfOFNqXZRP7L40J2EZCWBr0OZ8x3J+Hsd4KknVtG1yst67
- DusPkGjRYe0B6LckfgKcCiwuYAEqT9C7P9bxEUyTFj4RWDO0skRg2r164AOwH4ghEoE1Q4tLBGY1t38c
- uUFuLLC2jsOowC9n0Lcl5vQV0a7FER/Arl6n60mLaNHUeBEQqUNx3d9D3T5Xpa+RppXMN+T363mxFW4v
- d3txcXEhIcRsfCYXq4d/73kX+/8W6FgWfV5J+jbU9H1up3pD1Jz0MUuWtkt9VJRtbb4X9lvqhlrh/T6U
- p2e+LRcHTG4yQ6ZnVph+dnC2W/Xg4ozOc3BWXrfaXsouD6PRvdu9fNK17PLStZSyilseFK1YB6BMImER
- csd7+W4RR/lDIX7u61yts04//yr4ntaRRLyN0GGzdqG8Fj1IU8bQ8ZyVDWd8RpResvELHmkHnx+ll//8
- VG6S9cPwi4HNC1zoOyo8i0PsXWNvu5jVDv9KZmb2HPCrAfljqGGpfL5M+3ci7yTizch5QGH4rp6TN9p5
- ggR++aOzkQgmH2f2Dd8Wke9ShIXg6rVOh1omnpmLH0ZYk+/fjfFNgloi3+M10jCB92S+WAu06kOKUlL8
- 45Lx+CCuRk4wX5n0navBqIlF+rann8ldh9eCzLulJSbBrPG17uk3+hOePqf0F9RWujLdUav8H8u1bH/M
- 1+h21/RZwsW+/vxs55Qxo5yCA9HzRTtpF8v7MLMOqFvZXOHsYUm7n++pbH3f16k8bfS+zezpMHq3oe8X
- lEJFwvw5dM9dHaYkGOXA3/i69uPMbweqygg7E9H/DdlYYUxU0mOFMe+uYBxNeM2QsFMt8YfKazxX32tJ
- PloQXlHNMN3kiN33aFI6H0kZKu8BTTNN9ro86Xjzri5awo6pagJ32f97pcY/+8TAkzQGxEI1IJrpsM8b
- 9GHfVF/MU+WVryKmVXCYdsOgWwXPaivjmvNL1ZJBpfbfYO851jfmXizOXTKLlcnbP9dvydae7Nxfvvy6
- vf11c/nwvlu8PT89uDm+vb1+2V13PzgfPa8vXq5vb49vDvbON3vv/fDDDz/88MMPP/zwww8/9GY0+h8z
- W7rQVG+bDwAAAABJRU5ErkJggg==
-
-
-
-
- iVBORw0KGgoAAAANSUhEUgAAAOEAAADhCAMAAAAJbSJIAAAABGdBTUEAALGPC/xhBQAAAIRQTFRF////
- AAAA+Pj4/Pz82dnZU1NTh4eHnp6exsbG9/f3DAwMCQkJBgYG8fHxdXV1Li4uQ0NDUVFRysrKp6en5+fn
- b29v1NTUmZmZioqKe3t7Ly8vW1tbYmJiSkpKv7+/QEBAtLS0ODg4FhYWra2tIiIiGhoaJCQkt7e34eHh
- eHh4Z2dnkZGRDnkTzQAAEStJREFUeF7tnYlW4zoMhtuGLV1YC2UtMAwMF97//a4ky5a8Jikt0J585zB1
- bCfxb3mPkxn09PT09PT09PT09PT09PT09PT09PT09PT09PT07AwV/+4so3rHJVajEbt2ldGoN+F2M9px
- E4IBd1AgqkJhAP6y7+7A+iw7Z0DSV4EsNCD8sffuUKp2uyEXBLIroqprdm0zBYFg3h2wIZRRdsVUOzE4
- LZlpN1rVQitTKr/bQ76Q7oxAXdPMeMYObHZigghCRIaRJ+yIQCmIVY3WQwdhPLcRLIAsxCuInjkDtklu
- UBK1wHy126IaSfqwCBp5Kt1QRPMqRlszdENhGR2FIoqnseu3UyyIeREgMK/+V1FKacFM2yOwWBCzYaBv
- awQWzBSEoSoUxi3StggsmdCroKzPsjX6Sm2J1/E7VWjCrRrZQMLZhVABNCMb31Degc8vlwtC2AXkCyIc
- sSumEPQL8HSQKmRU1/5QxsuHgFLYT+GqEdpMC8x2/PkiWg77EWxJ5F/2BbwDn5KZCqf9CJBWmO3xP94Q
- Gw7ZFVMwU+m0HwEKokksVjdyMCUzQb1kVwgWBHb+Fgq2yAYFYaDX2N+Uc/b9/RSmep4MlGWKOFCaO34D
- WA4t7JUnX0i9gggHXMzbXXaDUAI07J8jKIighM4xJZF9SWC2VPp3qJZHm2RpSR6GnO/NZzNdRkmVIEkv
- zZQrP2g2/GWMTy8/z+eUNtJHZjcO8jT4hvYJwjaqcDoZj8eT6ZQPmel0Mgm8Ih4/90hhRgeEsCsmDNug
- QiOPD0KmoW4GTpoY1+vCWDJFwYRRtmxKIZqvwVKo0dc5nUKmKJ9jMGSSQisTid+QwmZ9FtEY2nw6Hg7v
- rjidHtlCCgGRdTeiEEzRUh/CpTIquMac93FZ9e3EAxrXILG3Y6MtzZeY2gp5zUm1dFyyqReH62SxaHs9
- iMlx5ZzF9X8fp0YWFlpr0pNzTiwRCaRuBAwIRjSev4ZMembvF5eoawzV0HJDAiCQSqKciCM3doZsRm7h
- hj5UtthtjtjJVMsP1sa87cHFGY4DwEH2fm2T0onSDTWgqPYleenGCNWgPjxhdQCU1xeTLdo04JG9H4Sx
- a420FGgSygcW8GKXiYDh1ctfow+7ESipJlRRul+7tHSjNBhWQPJT8VyKdAaMFiyQ2pyHYN5YMpPOsXUB
- 92sh0Nonwp3uX2d+B02O7TDH7+xrKOwj8nIRFyRTcPBayerLAbXu6Q/rQ47Yn8heK7jNwdtJksePJcdw
- 7H3e7Wc5498kdwfQpeGN5c7V8pgDmbOz/bv7m4vzGUdA0EzzfZaHPHEAABdjF0IXh8vzCId9if/43AQP
- +maD+p69V+PxHe4tOXukTePzeOgGauaMaw5ADk1AIJD1WXzb3vCpKV5VWZ3nk0RMXHXJoUcmF+wXYK/x
- sKREQsIp9pHxJT7JByVJcXCqcHDqywNKCocfHAlQvVMKGGyzK8tYxtA6yRqcThhu/0E0p+L9lr2BTzOw
- EQt6ahMUFQ7dBO2QPXJ487oEmAOXfK1Blc2uiRSEx3NQyCcMRg/sC1xgCVWStNoUZYUHHGvQUAQbyijN
- h4dDW6+X7O1wuTPVGXWp2oEKxqrTiVn++OcNaZsElloaYJ9j7fFxjmlZIOnDpBkOyFchsia6sL/aqosV
- 8hNq6QTmkCBST4sxqMzn82kKvtEtn56rOJYGgTy3vTAXG0A3ThhfsEyyEmOlNHNDUAFWUxVFzYrLdTBP
- xdO0k0DhIVVyn3o2Y1cIhMxm9aiyZ1uF3MP9mUMEty4P1LPzQ6feLNmcYQJYhTTAf6WRX3m7V0ahTaMm
- N3qSNu48OJsVjmfJU58eIcwORnGo5gqiSHxmnxaFNEcHhelyQsbmgAaF2PpzTBi+w79HquUcDpcDdwOp
- wHfGQ87sTHuF6VxU+ooK7QNgG5kdTyaG4YVCCJkYH+Mhnkz+K9BFYZyLeGflm1H4Z0YZYeDqZK/mjREX
- 5EWIdWFw8xWBHRR6WohAX6zwDA8mU1BIUTGuPQM86HcweKFTDLLcVj+zF14tvnUHuihkB4OJDu6csiF0
- IWPVo7tT5Nx3O/KBPpIlwqhTjY+XX9r63FqhZDqR0JdWCMlWCuEk53Jnj8jW2G/wqXDxGgcfNLKBv9yi
- fys6KNR6UGCcsaLQDP2NDZ1Cb4nQux4OKUEgCoLxEGYeeMLVYPxGazf5ZzfNlBTyLNOkRCtK6xOFZrxQ
- mZZmYhTiCwb6NIjCv+haWIFDGKrZWNLQvqly3pW8QiMPyosJksRBQLBIaFEKUZBROOV6iGfpbGGFKLyu
- oL0x+oB3N/WT8duDPrMbWYUoMJEgIzxzP6cQ3GgZUki9BXoEJ9lc4rmsGOxVDCbTBe75VyCrMJRhFJb0
- 6XoIVCPoLcgwRmGIzTKLDNUeJSTo+Vchp9BvWIxJjMCsvkAhNPFnQ5pLtFPolmkmymCVaWYRs6zRnazC
- QAgqhL9MBSQqnFvQ/Mm2xKAQD3V/KMR5xQbTqwSDWpYJ1KCuC/mWxoeKZ9GAYHU4m2a2SiFOKFMKk6WB
- DEbdogxu1INP7+FbazIK3WKehRQW9GGE6hxmuagpUBiXUpNf0eVGOJ8yvYZksVp2WKnn72DDkj4Tfo5P
- sCF9Nn9yNkSB0NnGF5y/QiEw6wiyTm3TBFm1Ss/fQSG70lC47i3AK6MQouLTBrulyS19ouY9HAMZxGAy
- Nr9dYaKfUahqNd+/QSGZWBTWOB6C/pCS6ylE+5H1+II81mEGV3QBQgz2yT4w52efDjQpxASRI6eQLUDR
- RKFJ7p3pD5VCp08UUlQARjwY8I+ugDybeIgshd6zT3uSCidOoQy10gqVRZRCGnmDL682iUKMbtPtXdCW
- VECGampCLPNkt7LbFqtwZu5Ba7jQXJt66CfIpUFgA0AIuLClMdhazKM2q1BfDg/YFSIGk1pXYStriJr5
- BpxCTGldgULojyacRvCiX0SaPpc2rGuQMSYW/ltUiPGUqLxCGaqp1mAkE2L15K0NrBAaKUwBKDTLl5RG
- LxGiEOPBD6WYHfCD/xYUutiWVGfBuKGaemA0mFOVJrr1/KgQxiGy5m22cVEavUVYkcvNPKWZPMD4dMwr
- wrYEaIWhPjwpq3Dwbs4bTvmYUK1sl56/OjWlMtUfBrksQ1LwxhBjO+PAMBqX0qArVDiP9KFCdqSwy1B8
- aJDnPF16/vrUjJJSCoNUqUO2p7Wh0wqjNtx3mFAY6rOXyGDbFT5kpOe3yW2mQoVYLBMKwzQok7IiK8xp
- pVGbOZtwCvlYUaiGkO+2zvGxRXr+B/ZppBqdmsdJCYWBCdGDHU5RaMRMS5OaHwbZ52MX9e0zP8cxBwzV
- /MrhDY6YejZL9vjQ6VSz6EmTen7Ez5LwmZPxIEf62dNk+gfroQ+cya6YOW3oQ+x1BPvEKtHz5/aX8kg+
- 9fxQPYm2aB922wKlY9uUQXqoHUuS8dYkSrcshYc9f0ahfdqM6wY4tldNsk6y3dVrfwkOT6SUngFXIyht
- pndNUX6aTKSWZmavHChPmpm0QppPI59YlYDK3tc910Pcs1vZQwGwcRKm5h4exw8ZfXLnAsk+wfaVgN8t
- JhXCbTgFc0oRDE0XNImlNt/hBDpVBMv1Nh0Qlya7qkGlNo8EZG0rRHu1DFLM/notWEqhCFxIf36LJcvb
- n66z2zMiWU8u4jDZhRfT1dpDXzND3Mww0vN7DWpCoRTES3n6OphHt/Z2mHi1k873cgM5B4H2cpk9US1M
- mLEgIhfVI9RMS0NcKIHQrXxtX9vzu9fXFfa1lbhJdKGC6/lf2QOZPZ6ldxV+PMG4WAkE9N5E3EnITqK4
- NXH/7uYI6qB3tWhvYtM14CLLoj7AGUGvtvBviuL4oiPF0djaqG1VknUbVTUiComKdzzDhdgVYxrQJtrE
- acS1Nmo3Vf6y2TDXJBLsAj/jCPFjZ8me341wktyQ8+xCaFECO0ZyqCRba4J3SkcQO0vm9M7YQb5dy4kK
- mwC3ZBdA6RTUSXDErlQa2+qDiPmUdMNOIbmYylpdiJcySidiHOyL6HyIJLbWF5+6OvQCA5B86EYijEMn
- zTsI8LI+MAR9ApDdZdYo0D2wieaQXL8E9ga8Ax84h12ETmkpXwLWV0SBEb9oE64DUEGEAjiiyaz9YgUB
- x+yKCTsUlOUc+dN88H7sXAc8dw8U6gwP6iYEsSsmDjMXIn0tU61vvRbsurE3/sG7sDOidP9UGCa4Q6JL
- t14Nu/jvvUJUuksxSIU5TWRAdjcBcddaQhG7XKUVwn3YFZMP83JfH6C7lQ1bR+yE3WujFZZu44eZboTA
- 1LFvoJYOm7+mshl9suymHj1Av8WuGC/llCZBUgcBQVJN8gvp35S+9Mp/9k6YDHbSAT2ONebzUp9KK8VK
- i+SudyP6BjNebHjj4wRYBI0Dk0EuBI8yaYIgdnmwECzV7EMXN54b0idD79xuMHt/RiWtkKZ8kNPjk7Ts
- mrANTXrBitKD2UxL8zrdJYGgkB1JsEzg1cyfNugmqO3KsP9GLYMC7f2DdJQEwmnsYjYsoojdrHmbSkPJ
- TgUz+acl7P+t2HF3+DENpCQwMpPgnQYHtjyyzzfjtqSkCmmpIObDPIGgjY/yl9ooc9aXmB0WzRSEmQYS
- GxDjYG8S+EPKLO6NmtS2jMIQ2LMTqVKwN+BF+xHc9u/kw+6qfU0j85FSrWitM/WVkDfbkl2FD2kwLmg3
- JOXegc+PW9A9BE82pD5kH0ELzMv4qeaT2ZON349NWY1WAyWm3fckgR+7Ykphm2emX0lvKqOufMaUBis/
- OJCpzmW3CRC0o9XVns/VVejjKAQVwzbJ+fLwTjYpIOEWxdIT0q0kekYcK8xudAEKT9mbv/zxHYzjrj5S
- WEppYR/BuHmLwTfgf2/GECkspTS7j2BSMvz3kZz1hgpL2z08GfgZDvpOxZS+Utq0heIbONAbe4W4lGbT
- Gu4WInmorvmDq5vnNvu107il2UKeP6/yvXF9c9CK6+trdiHewU9yvXj596U3uncXGGRmzV4I2h5KAn92
- hL0uSmb6ns1NG6Y8SUr3OttF8Nl2Tan8bhH5JZvt5frYkFwpNlPiBYZfHl8eFG04u6TrHF/mN7rWNxzl
- ZTB4stHzF11ylI+mnZdl7EaicJ87FUtE9i03vOBv93rkPzviVsSu1N7s+AOzjBtznbLHisjYzU8Y6qvR
- hrSYDIPQST7lBpcTufdz3P5IiuAyJPfyoFvjjfK+I27/sPf6F1qPys/sBIfaOPTOZrbFvdSZWlhXewfN
- 11Zlg326WLuXKh/ZY3X4QiBRPtln9Q323iDAvDXS2FdIms8SceVLJfyNC9k8rjYuW9TW8tQyfTdkK797
- rcb1DGpjfYs3UWVd7837KC5Qq480cllxz1KGw+OwLTnHjDUkXtjqjFpwpG+HuiXepbxS5L2emmMk6Rre
- 6XF/pb8Q6rJKf5ltoZvUPfVuwGu+re2A9527gyV98nB2pL9w27yYTCiz4Mz0alaP6tn8SRbdAVWdvTtc
- vswp+tWhytcvfvLKUQev6kzeToJ3Itp+lUlaE8OfE/tk1uKVBU868De8r/8J6C8ADWaAvzjR/i3bUGJI
- UNhDiSFfb2UslbynSPjLL+En0Uu8F9+IiV6ClLdcE4zXOod3Y5uY5idWmsIrRONE373Mr0Xef220FrHn
- tTfCY/L/eynxz3+a4Ij6BGKm+hHNuOOHEtpw5DVihrfCC2NZvM7B4nUfHrpzcCw2M8u5ulE9GjRt/3W2
- n2V579XH/JomMVt4mfvnbpV8bcve083H/sPD/v3Ny9fqeX11cXx/9vBw93GwbPFw/X15/XH38HB2f3x4
- teb619PT09PT09PT09PT09PT09PT09PT09PzixkM/gePxb1MMSxLGwAAAABJRU5ErkJggg==
-
-
-
-
- AAABAAUAEBAAAAEAIABoBAAAVgAAABgYAAABACAAiAkAAL4EAAAgIAAAAQAgAKgQAABGDgAAMDAAAAEA
- IACoJQAA7h4AAOHhAAABAAgArOgAAJZEAAAoAAAAEAAAACAAAAABACAAAAAAAAAEAAAAAAAAAAAAAAAA
- AAAAAAAA////////////////////////////////////////////////////////////////////////
- ///////////////////p6en/3d3d//r6+v////////////Hx8f/a2tr/9PT0//r6+v/c3Nz/6urq////
- ///////////////////e3t7/jY2N/42Njf+2trb///////T09P+Xl5f/kJCQ/5+fn/+tra3/jo6O/46O
- jv/l5eX/////////////////qqqq/5WVlf+fn5//kJCQ/6SkpP+enp7/kJCQ/6Ojo/+Ojo7/jIyM/6Gh
- of+UlJT/mZmZ/6SkpP+7u7v/9fX1/9bW1v/Jycn/ycnJ/8rKyv/Jycn/ysrK/8rKyv/Jycn/y8vL/8vL
- y//Kysr/y8vL/8vLy//Kysr/nJyc/5ubm//+/v7//v7+///////+/v7//f39//7+/v/9/f3//v7+////
- ///+/v7//////////////////////+np6f94eHj/paWl/4WFhf+1tbX/lZWV/4uLi/+MjIz/i4uL/5KS
- kv+3t7f/hoaG/42Njf+MjIz/kpKS/+vr6/+ysrL/lpaW//Dw8P/Dw8P/fHx8/4uLi//n5+f/6Ojo/+jo
- 6P+NjY3/fHx8/729vf/s7Oz/3d3d/3p6ev+enp7/jo6O//Hx8f/z8/P/xsbG/319ff+Li4v/6Ojo/+np
- 6f/p6en/jo6O/3x8fP++vr7/4eHh/5SUlP+EhIT/hYWF/+rq6v//////oKCg/3l5ef+oqKj/iYmJ/35+
- fv+AgID/fn5+/4eHh/+qqqr/eXl5/35+fv+BgYH/g4OD/+Hh4f///////v7+/6Ghof+Ghob/i4uL/4qK
- iv+Hh4f/h4eH/4iIiP+Kior/i4uL/4iIiP+IiIj/oaGh/+jo6P///////v7+//7+/v/39/f/9fX1//X1
- 9f/19fX/9fX1//X19f/19fX/9fX1//X19f/09PT/9vb2//7+/v/+/v7//v7+//7+/v//////////////
- ///////////////////////////////////////////////////+/v7//v7+//7+/v/+/v7/////////
- //////////////////////////////////////////////////////////////7+/v/+/v7/////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAoAAAAGAAAADAAAAABACAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAA////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////7+/v/k5OT/1NTU//Hx8f///////////////////////Pz8/9/f3//W1tb/9fX1////
- ///8/Pz/3t7e/9bW1v/29vb//////////////////////////////////v7+/6enp/9TU1P/W1tb/19f
- X//Y2Nj////////////7+/v/kpKS/1RUVP9ZWVn/ampq/+Dg4P+Pj4//VFRU/1lZWf9tbW3/6Ojo////
- ////////////////////////9PT0/56env/U1NT/9vb2/7CwsP+9vb3////////////t7e3/mZmZ/+Hh
- 4f/09PT/pqam/7i4uP+bm5v/4+Pj//Pz8/+ioqL/0NDQ////////////////////////////oqKi/3Fx
- cf9ycnL/cHBw/3Nzc/9xcXH/cXFx/3Jycv9xcXH/cnJy/3Fxcf9xcXH/c3Nz/3BwcP9ycnL/cXFx/3Fx
- cf9zc3P/cHBw/3BwcP9wcHD/hoaG/9nZ2f//////09PT/7q6uv+6urr/ubm5/7q6uv+6urr/urq6/7q6
- uv+6urr/urq6/7u7u/+7u7v/u7u7/7u7u/+7u7v/u7u7/7u7u/+7u7v/u7u7/7u7u/+6urr/kJCQ/1VV
- Vf/X19f/////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////46Ojv97e3v//////////////////v7+//7+
- /v//////////////////////////////////////////////////////////////////////////////
- /////////////62trf9lZWX/sLCw/4WFhf+Ghob/xMTE/97e3v+MjIz/hoaG/4aGhv+Ghob/h4eH/4SE
- hP+pqan/7Ozs/5ycnP+FhYX/hoaG/4aGhv+Ghob/jIyM/9jY2P//////8/Pz/2dnZ/+fn5//wMDA/5+f
- n/9/f3//ZmZm/4+Pj/9gYGD/oaGh/56env+enp7/np6e/5SUlP9NTU3/q6ur/0tLS/+cnJz/np6e/56e
- nv+hoaH/dnZ2/2pqav/39/f/f39//3d3d//19fX////////////Ozs7/Z2dn/4iIiP+bm5v/////////
- //////////////Ly8v9hYWH/oKCg/2xsbP/+/v7////////////19fX/c3Nz/4+Pj/+SkpL/ZmZm/+7u
- 7v/////////////////Ozs7/aGho/4iIiP+bm5v///////////////////////Ly8v9gYGD/oKCg/21t
- bf/+/v7///////Hx8f97e3v/dnZ2/5ubm/9bW1v/5OTk////////////ycnJ/6ampv+Dg4P/ZmZm/4+P
- j/9gYGD/oaGh/56env+fn5//np6e/5SUlP9OTk7/q6ur/0tLS/+cnJz/l5eX/2BgYP97e3v/oaGh/1RU
- VP/Y2Nj/////////////////tLS0/4CAgP+AgID/v7+//9zc3P+Kior/g4OD/4ODg/+Dg4P/g4OD/4KC
- gv+np6f/6enp/5iYmP+CgoL/h4eH/6SkpP+Li4v/VlZW/87Ozv///////v7+//7+/v/+/v7/n5+f/2lp
- af9ra2v/ampq/2lpaf9ra2v/a2tr/2tra/9qamr/bGxs/2xsbP9qamr/aGho/2tra/9ra2v/aWlp/1pa
- Wv97e3v/4ODg///////+/v7//v7+//7+/v/+/v7/29vb/8fHx//IyMj/yMjI/8jIyP/IyMj/yMjI/8jI
- yP/IyMj/yMjI/8jIyP/Hx8f/x8fH/8fHx//Gxsb/ysrK/+Hh4f/8/Pz///////7+/v/+/v7//v7+//7+
- /v//////////////////////////////////////////////////////////////////////////////
- ///////////////////+/v7//v7+//7+/v/+/v7//v7+//7+/v//////////////////////////////
- /////////////////////////////////////////////////////////v7+//7+/v/+/v7//v7+//7+
- /v/+/v7//v7+////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////f39//39/f/+/v7//v7+////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////+/v7/////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAACAA
- AABAAAAAAQAgAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAP//////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////Pz8/+Dg4P/Ozs7/5+fn//7+/v/////////////////////////////////x8fH/0tLS/9fX
- 1//39/f////////////9/f3/5OTk/87Ozv/j4+P//f39////////////////////////////////////
- //////////////Pz8/+BgYH/MTEx/zIyMv82Njb/mZmZ//v7+///////////////////////w8PD/0dH
- R/8xMTH/Ly8v/1paWv/c3Nz/+vr6/4+Pj/8zMzP/MjIy/zIyMv+Kior/9vb2////////////////////
- ////////////////////////o6Oj/z8/P/+5ubn/4eHh/6SkpP88PDz/wsLC/////////////////+rq
- 6v9NTU3/enp6/9zc3P/S0tL/Xl5e/25ubv+vr6//PDw8/66urv/j4+P/srKy/zw8PP+wsLD/////////
- //////////////////////////////n5+f/a2tr/3Nzc//b29v/29vb/9fX1/9fX1//f39//9PT0//T0
- 9P/09PT/6+vr/9HR0f/v7+//9/f3//f39//o6Oj/09PT/9ra2v/Z2dn/9vb2//b29v/29vb/2tra/93d
- 3f/09PT/9PT0//T09P/7+/v/////////////////n5+f/0NDQ/9ERET/Q0ND/0JCQv9CQkL/RUVF/0RE
- RP9DQ0P/RERE/0RERP9DQ0P/RERE/0JCQv9CQkL/QkJC/0NDQ/9ERET/Q0ND/0RERP9CQkL/QkJC/0JC
- Qv9ERET/Q0ND/0JCQv9CQkL/QkJC/1RUVP+np6f/+Pj4///////W1tb/rq6u/66urv+tra3/rKys/62t
- rf+urq7/ra2t/62trf+urq7/rq6u/62trf+urq7/rq6u/66urv+urq7/rq6u/66urv+urq7/rq6u/66u
- rv+urq7/rq6u/66urv+urq7/rq6u/66urv+tra3/h4eH/y4uLv+Ghob//Pz8////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////vr6+/y8vL//Gxsb///////7+
- /v/+/v7//v7+//39/f/+/v7//f39//39/f/9/f3//v7+//39/f/+/v7//f39//39/f/+/v7//v7+//7+
- /v/9/f3//f39///////////////////////////////////////////////////////6+vr/UVFR/4WF
- hf////////////////////////////39/f//////////////////////////////////////////////
- //////////////////////////////////////////////////////////////////////////////v7
- +/9UVFT/gYGB/9LS0v+oqKj/qKio/6mpqf/T09P//////9bW1v+pqan/qKio/6ioqP+oqKj/qKio/6mp
- qf+oqKj/p6en/9HR0f//////2tra/6qqqv+np6f/qKio/6mpqf+oqKj/qKio/6qqqv/W1tb/////////
- ////////x8fH/zAwMP+/v7//oKCg/0JCQv9ERET/NjY2/0NDQ//g4OD/SEhI/zQ0NP9ERET/RERE/0RE
- RP9DQ0P/RERE/0RERP81NTX/PT09/+Dg4P9PT0//MDAw/0RERP9ERET/RERE/0NDQ/9DQ0P/PT09/zc3
- N//W1tb//////9zc3P89PT3/eXl5//v7+//6+vr/9vb2//n5+f/Dw8P/Nzc3/87Ozv86Ojr/vLy8//j4
- +P/09PT/9fX1//T09P/z8/P/9vb2/8bGxv83Nzf/z8/P/zs7O/+zs7P/+Pj4//X19f/09PT/9fX1//j4
- +P/b29v/Ly8v/7S0tP/r6+v/TExM/19fX//x8fH//////////////////////8vLy/83Nzf/z8/P/zs7
- O//ExMT///////39/f/+/v7/////////////////zs7O/zc3N//Ozs7/PT09/7y8vP///////f39//39
- /f//////8/Pz/2hoaP9MTEz/3Nzc/19fX/9OTk7/6enp////////////////////////////y8vL/zc3
- N//Pz8//Ojo6/8PDw////////f39//39/f/+/v7////////////Pz8//Nzc3/87Ozv88PDz/vLy8////
- /////////v7+//X19f94eHj/Ozs7/9LS0v91dXX/Pj4+/93d3f/////////////////8/Pz/+Pj4//v7
- +//FxcX/NjY2/8/Pz/86Ojr/vLy8//n5+f/19fX/9fX1//X19f/09PT/9/f3/8jIyP82Njb/z8/P/zs7
- O/+zs7P/9vb2//Pz8//T09P/YGBg/zo6Ov/Kysr/iIiI/zQ0NP/Pz8///////////////////////7Cw
- sP9LS0v/S0tL/zk5Of9AQED/4eHh/0hISP8yMjL/RERE/0NDQ/9ERET/RERE/0NDQ/9DQ0P/NjY2/z8/
- P//h4eH/Tk5O/zAwMP9ERET/QkJC/zAwMP9gYGD/0dHR/4uLi/8uLi7/vr6+///////9/f3//v7+//7+
- /v//////2NjY/6ampv+lpaX/paWl/9HR0f//////2dnZ/6urq/+qqqr/qqqq/6qqqv+pqan/qqqq/6qq
- qv+rq6v/1NTU///////a2tr/rKys/6mpqf+srKz/xsbG/8vLy/9iYmL/NDQ0/7y8vP///////f39//7+
- /v/9/f3//f39//39/f+2trb/b29v/3BwcP9wcHD/bm5u/2tra/9ubm7/cHBw/3BwcP9wcHD/cHBw/29v
- b/9wcHD/cXFx/3BwcP9ubm7/a2tr/21tbf9wcHD/b29v/29vb/9TU1P/MDAw/2FhYf/X19f///////7+
- /v/+/v7//f39//39/f/+/v7//v7+/7u7u/95eXn/enp6/3p6ev96enr/enp6/3p6ev96enr/enp6/3p6
- ev96enr/enp6/3p6ev97e3v/enp6/3l5ef95eXn/enp6/3p6ev96enr/fHx8/5OTk//Kysr/+Pj4////
- ///+/v7//f39//7+/v/+/v7//v7+//7+/v//////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///+/v7//v7+//39/f/+/v7//v7+//7+/v/9/f3/////////////////////////////////////////
- //////////////////////////////////////////////////////////////////////////////39
- /f/+/v7//v7+//7+/v/9/f3//v7+//39/f/9/f3//f39//7+/v//////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////39/f/9/f3//f39//7+/v/9/f3//v7+//7+/v/+/v7//v7+////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////+/v7//f39//7+/v/+/v7//v7+//7+/v//////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////+/v7//f39//39/f/+/v7/////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////////////////////////7+
- /v//////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////////////8AAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgA
- AAAwAAAAYAAAAAEAIAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////9/f3/9jY
- 2P/ExMT/0NDQ//Hx8f////////////////////////////////////////////////////////////Dw
- 8P/Q0ND/xcXF/9nZ2f/4+Pj////////////////////////////u7u7/zs7O/8XFxf/b29v/+fn5////
- ////////////////////////////////////////////////////////////////////////////////
- ///Ly8v/VVVV/xYWFv8KCgr/EBAQ/z8/P/+vr6//+/v7////////////////////////////////////
- ///6+vr/q6ur/zs7O/8QEBD/CgoK/xcXF/9ZWVn/zs7O////////////+fn5/6Kiov83Nzf/Dg4O/woK
- Cv8ZGRn/X19f/9XV1f//////////////////////////////////////////////////////////////
- /////////////8XFxf8kJCT/Dw8P/1xcXP+Hh4f/bGxs/x4eHv8PDw//np6e////////////////////
- //////////////////+Wlpb/DAwM/yEhIf9vb2//h4eH/1lZWf8ODg7/KSkp/8rKyv//////i4uL/woK
- Cv8mJib/c3Nz/4eHh/9VVVX/CwsL/y8vL//T09P/////////////////////////////////////////
- ////////////////////////9vb2/1tbW/8gICD/rKys//z8/P///////f39/8vLy/85OTn/OTk5/+Dg
- 4P///////////////////////////9zc3P8yMjL/PDw8/9HR0f////////////v7+/+np6f/Hx8f/2Zm
- Zv/MzMz/Kysr/0VFRf/Y2Nj////////////6+vr/nZ2d/xoaGv9wcHD//Pz8////////////////////
- ////////////////////////////////////////+vr6/9zc3P/g4OD//f39////////////////////
- ///n5+f/19fX//Pz8/////////////////////////////Pz8//X19f/6enp////////////////////
- ///8/Pz/39/f/93d3f/t7e3/19fX/+vr6///////////////////////+/v7/93d3f/e3t7//Pz8////
- ///////////////////////////////////////////////////u7u7/v7+//729vf+9vb3/u7u7/7m5
- uf+6urr/u7u7/7u7u/+9vb3/vr6+/7q6uv+7u7v/vLy8/7y8vP+7u7v/u7u7/7y8vP+9vb3/vLy8/7u7
- u/+7u7v/u7u7/7u7u/+7u7v/vb29/729vf+8vLz/vb29/7y8vP+7u7v/u7u7/7u7u/+7u7v/u7u7/729
- vf+9vb3/u7u7/7u7u/+7u7v/u7u7/729vf/Ozs7/8PDw///////////////////////CwsL/FRUV/wcH
- B/8ICAj/CwsL/wgICP8HBwf/BwcH/wcHB/8ICAj/CwsL/wgICP8ICAj/CgoK/woKCv8LCwv/CgoK/wcH
- B/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcH
- B/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcHB/8HBwf/BwcH/wgICP8PDw//Ozs7/6SkpP/4+Pj/////////
- ///k5OT/mpqa/5SUlP+UlJT/lZWV/5OTk/+Tk5P/k5OT/5SUlP+UlJT/lJSU/5SUlP+UlJT/lJSU/5SU
- lP+UlJT/lJSU/5SUlP+UlJT/lJSU/5SUlP+UlJT/lJSU/5SUlP+UlJT/lJSU/5SUlP+UlJT/lJSU/5SU
- lP+UlJT/lJSU/5SUlP+UlJT/lJSU/5SUlP+UlJT/lJSU/5SUlP+UlJT/lJSU/5KSkv9wcHD/JCQk/wkJ
- Cf+AgID/+fn5////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////2tra/0tLS/8LCwv/ra2t//////////////////7+/v/8/Pz//v7+//7+/v/+/v7///////7+
- /v/9/f3///////7+/v/+/v7//v7+//39/f/9/f3///////39/f/8/Pz//f39///////+/v7//v7+//7+
- /v/+/v7/////////////////////////////////////////////////////////////////////////
- /////////////////////////////9PT0/8eHh7/SEhI//T09P///////v7+///////+/v7//f39//39
- /f/8/Pz//f39///////9/f3//Pz8//39/f/9/f3//v7+///////8/Pz//v7+///////+/v7//f39//z8
- /P/8/Pz//f39//39/f/9/f3//Pz8//z8/P/+/v7/////////////////////////////////////////
- //////////////////////////////////////////////7+/v9kZGT/FxcX/9HR0f///////f39//39
- /f/+/v7//v7+/////////////f39//39/f///////v7+//7+/v/+/v7//Pz8//7+/v/+/v7//f39//7+
- /v/8/Pz/+/v7//7+/v////////////////////////////7+/v/8/Pz//Pz8////////////////////
- //////////////////////////////////////////////////////////////////+FhYX/DAwM/7+/
- v//+/v7////////////+/v7//v7+//7+/v/+/v7//v7+//z8/P/9/f3///////////////////////7+
- /v////////////7+/v////////////7+/v////////////////////////////////////////////7+
- /v//////////////////////////////////////////////////////////////////////////////
- //9sbGz/ExMT/8zMzP/29vb/5+fn/+fn5//m5ub/5+fn/+bm5v/y8vL////////////8/Pz/6urq/+Tk
- 5P/k5OT/5ubm/+Xl5f/m5ub/5OTk/+bm5v/n5+f/5+fn/+bm5v/k5OT/6Ojo//z8/P////////////f3
- 9//n5+f/5+fn/+Xl5f/l5eX/5+fn/+fn5//n5+f/5+fn/+fn5//m5ub/7u7u//7+/v//////////////
- /////////////9zc3P8mJib/Pj4+/+/v7//IyMj/Ly8v/yMjI/8jIyP/JCQk/ycnJ/9SUlL/3d3d////
- //+ioqL/MjIy/yQkJP8jIyP/JiYm/yQkJP8kJCT/JCQk/yMjI/8lJSX/JSUl/yUlJf8jIyP/Kysr/4+P
- j//8/Pz/6enp/2BgYP8kJCT/IyMj/yMjI/8jIyP/JiYm/yQkJP8jIyP/IyMj/yMjI/8jIyP/MTEx/5WV
- lf/6+vr/////////////////7+/v/11dXf8ICAj/oaGh///////U1NT/W1tb/1BQUP9RUVH/UlJS/z8/
- P/8FBQX/mZmZ//T09P85OTn/FRUV/1BQUP9RUVH/U1NT/1JSUv9SUlL/UlJS/1BQUP9SUlL/UVFR/1JS
- Uv9QUFD/HBwc/yoqKv/r6+v/sLCw/wcHB/81NTX/UlJS/1FRUf9RUVH/UlJS/1FRUf9RUVH/UVFR/1FR
- Uf9SUlL/LCws/xAQEP+9vb3////////////29vb/cnJy/wUFBf9ubm7/9vb2///////+/v7//f39//39
- /f/9/f3//////7+/v/8NDQ3/jo6O//Ly8v8wMDD/SEhI//T09P/8/Pz//f39//v7+//7+/v//Pz8//r6
- +v/5+fn/+vr6//r6+v/5+fn/XV1d/yMjI//o6Oj/pqam/wUFBf+mpqb///////z8/P/9/f3/+vr6//z8
- /P/9/f3//f39//39/f//////ra2t/wMDA/+Ojo7///////r6+v+Ghob/BwcH/1hYWP/u7u7/////////
- /////////////////////////////8LCwv8KCgr/jo6O//Dw8P8wMDD/S0tL//j4+P/9/f3//v7+//39
- /f/+/v7//v7+//7+/v/+/v7//Pz8//z8/P/7+/v/XV1d/yAgIP/m5ub/pqam/wUFBf+pqan///////z8
- /P/+/v7//f39//7+/v/+/v7//f39///////p6en/T09P/w0NDf+6urr//////5ubm/8LCwv/R0dH/+Pj
- 4////////////////////////////////////////////8LCwv8KCgr/jo6O//Pz8/8vLy//SUlJ//n5
- +f///////v7+//z8/P/9/f3////////////////////////////7+/v/Xl5e/yEhIf/m5ub/p6en/wcH
- B/+qqqr///////7+/v/9/f3/+/v7//39/f/+/v7//v7+//Hx8f9jY2P/BwcH/3x8fP/6+vr/rq6u/xQU
- FP80NDT/2NjY/////////////////////////////////////////////////8LCwv8KCgr/jo6O//Pz
- 8/8vLy//SEhI//f39//+/v7///////z8/P/8/Pz//Pz8//7+/v/////////////////+/v7/Xl5e/yEh
- If/n5+f/pqam/wcHB/+rq6v///////7+/v///////f39//39/f//////9vb2/3h4eP8GBgb/ampq//X1
- 9f/CwsL/Hx8f/yYmJv/Jycn//////////////////////////////////////////////////////8LC
- wv8KCgr/jo6O//Pz8/8vLy//SUlJ//j4+P/9/f3//v7+//39/f/+/v7//v7+//39/f/9/f3//v7+////
- ///+/v7/XV1d/yAgIP/m5ub/paWl/wcHB/+rq6v///////z8/P/+/v7//f39///////s7Oz/c3Nz/wgI
- CP9VVVX/7Ozs/9DQ0P8tLS3/Ghoa/7i4uP//////////////////////////////////////////////
- /////////////8HBwf8JCQn/jo6O//Ly8v8vLy//SEhI//f39//9/f3//f39//v7+//7+/v//f39//39
- /f/7+/v/+vr6//v7+//8/Pz/XV1d/yAgIP/o6Oj/pqam/wUFBf+np6f//f39//n5+f/8/Pz/8vLy/8HB
- wf9MTEz/BQUF/1ZWVv/n5+f/39/f/zw8PP8RERH/p6en//7+/v/+/v7/////////////////////////
- ///j4+P/cHBw/15eXv9fX1//YGBg/0dHR/8EBAT/mZmZ//b29v85OTn/FBQU/09PT/9RUVH/UVFR/1FR
- Uf9RUVH/U1NT/1FRUf9RUVH/UVFR/1BQUP9QUFD/HR0d/yoqKv/s7Oz/sbGx/wYGBv81NTX/U1NT/1JS
- Uv9RUVH/Pj4+/w4ODv8TExP/fHx8/+/v7//c3Nz/SUlJ/woKCv+RkZH//f39//7+/v/8/Pz/////////
- ///////////////////Y2Nj/NjY2/xwcHP8eHh7/Hh4e/x4eHv9HR0f/29vb//////+ioqL/Ly8v/yMj
- I/8jIyP/IyMj/yMjI/8kJCT/JiYm/yMjI/8jIyP/IyMj/yMjI/8jIyP/LCws/5GRkf/9/f3/6urq/19f
- X/8kJCT/IyMj/yMjI/8kJCT/MzMz/2hoaP/FxcX/+/v7/8TExP81NTX/CgoK/4eHh//4+Pj//f39////
- ///9/f3//Pz8//39/f/9/f3//v7+///////7+/v/6enp/+bm5v/m5ub/5ubm/+bm5v/09PT/////////
- ///+/v7/8PDw/+rq6v/r6+v/6+vr/+vr6//r6+v/6enp/+np6f/r6+v/6+vr/+vr6//q6ur/7+/v//39
- /f////////////n5+f/s7Oz/6+vr/+np6f/q6ur/8vLy//v7+//j4+P/hISE/xkZGf8WFhb/l5eX//n5
- +f///////f39//39/f///////v7+//7+/v/+/v7//Pz8//39/f/n5+f/paWl/5+fn/+goKD/oKCg/6Cg
- oP+fn5//np6e/56env+enp7/n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/56env+fn5//oaGh/6Cg
- oP+fn5//n5+f/56env+enp7/nZ2d/52dnf+fn5//n5+f/56env+goKD/kJCQ/2FhYf8lJSX/BQUF/0BA
- QP++vr7//f39//39/f/9/f3//v7+//z8/P/9/f3//f39//39/f/+/v7//v7+//7+/v/BwcH/FBQU/wUF
- Bf8GBgb/BgYG/wYGBv8GBgb/BgYG/wYGBv8GBgb/BgYG/wYGBv8GBgb/BgYG/wYGBv8GBgb/BgYG/wYG
- Bv8GBgb/CQkJ/woKCv8ICAj/BgYG/wYGBv8GBgb/BwcH/wcHB/8HBwf/BwcH/wYGBv8ICAj/CwsL/xYW
- Fv9FRUX/nZ2d/+zs7P/////////////////8/Pz//v7+///////+/v7//v7+//39/f/8/Pz//v7+////
- ///s7Oz/t7e3/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Oz
- s/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7S0tP+zs7P/sbGx/7Kysv+xsbH/srKy/7Ozs/+zs7P/s7Oz/7Oz
- s/+0tLT/vb29/9bW1v/19fX///////39/f/9/f3//Pz8//7+/v/+/v7//Pz8//39/f/9/f3//v7+////
- ///+/v7//v7+////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////7+/v///////////////////////v7+//z8/P///////v7+//39
- /f/9/f3//f39//39/f//////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////+/v7//v7+//7+/v/8/Pz//v7+//7+/v/8/Pz//Pz8//z8/P/9/f3///////39
- /f/9/f3//v7+//7+/v/+/v7///////39/f/+/v7/////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////+/v7//Pz8////////////////////
- ///9/f3//f39///////+/v7//f39//39/f/8/Pz//f39////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////////f39//z8
- /P/8/Pz//Pz8//39/f///////Pz8//39/f/+/v7//v7+/////////////f39////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////z8/P/+/v7///////39/f/9/f3//f39//z8/P/+/v7/////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////7+/v/8/Pz//v7+//////////////////7+
- /v/9/f3/////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////+/v7//Pz8//z8
- /P/8/Pz//f39////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////f39//39/f//////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAA4QAAAMIBAAABAAgAAAAAAGTI
- AAAAAAAAAAAAAAABAAAAAQAAAAAAAAEBAQACAgIAAwMDAAQEBAAFBQUABgYGAAcHBwAICAgACQkJAAoK
- CgALCwsADAwMAA0NDQAODg4ADw8PABAQEAAREREAEhISABMTEwAUFBQAFRUVABYWFgAXFxcAGBgYABkZ
- GQAaGhoAGxsbABwcHAAdHR0AHh4eAB8fHwAgICAAISEhACIiIgAjIyMAJCQkACUlJQAmJiYAJycnACgo
- KAApKSkAKioqACsrKwAsLCwALS0tAC4uLgAvLy8AMDAwADExMQAyMjIAMzMzADQ0NAA1NTUANjY2ADc3
- NwA4ODgAOTk5ADo6OgA7OzsAPDw8AD09PQA+Pj4APz8/AEBAQABBQUEAQkJCAENDQwBEREQARUVFAEZG
- RgBHR0cASEhIAElJSQBKSkoAS0tLAExMTABNTU0ATk5OAE9PTwBQUFAAUVFRAFJSUgBTU1MAVFRUAFVV
- VQBWVlYAV1dXAFhYWABZWVkAWlpaAFtbWwBcXFwAXV1dAF5eXgBfX18AYGBgAGFhYQBiYmIAY2NjAGRk
- ZABlZWUAZmZmAGdnZwBoaGgAaWlpAGpqagBra2sAbGxsAG1tbQBubm4Ab29vAHBwcABxcXEAcnJyAHNz
- cwB0dHQAdXV1AHZ2dgB3d3cAeHh4AHl5eQB6enoAe3t7AHx8fAB9fX0Afn5+AH9/fwCAgIAAgYGBAIKC
- ggCDg4MAhISEAIWFhQCGhoYAh4eHAIiIiACJiYkAioqKAIuLiwCMjIwAjY2NAI6OjgCPj48AkJCQAJGR
- kQCSkpIAk5OTAJSUlACVlZUAlpaWAJeXlwCYmJgAmZmZAJqamgCbm5sAnJycAJ2dnQCenp4An5+fAKCg
- oAChoaEAoqKiAKOjowCkpKQApaWlAKampgCnp6cAqKioAKmpqQCqqqoAq6urAKysrACtra0Arq6uAK+v
- rwCwsLAAsbGxALKysgCzs7MAtLS0ALW1tQC2trYAt7e3ALi4uAC5ubkAurq6ALu7uwC8vLwAvb29AL6+
- vgC/v78AwMDAAMHBwQDCwsIAw8PDAMTExADFxcUAxsbGAMfHxwDIyMgAycnJAMrKygDLy8sAzMzMAM3N
- zQDOzs4Az8/PANDQ0ADR0dEA0tLSANPT0wDU1NQA1dXVANbW1gDX19cA2NjYANnZ2QDa2toA29vbANzc
- 3ADd3d0A3t7eAN/f3wDg4OAA4eHhAOLi4gDj4+MA5OTkAOXl5QDm5uYA5+fnAOjo6ADp6ekA6urqAOvr
- 6wDs7OwA7e3tAO7u7gDv7+8A8PDwAPHx8QDy8vIA8/PzAPT09AD19fUA9vb2APf39wD4+PgA+fn5APr6
- +gD7+/sA/Pz8AP39/QD+/v4A////AP//////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////wAAAP//////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////////wAAAP//
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////wAAAP//////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////wAAAP//////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////wAAAP//////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////wAAAP//////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////////wAAAP//
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////wAAAP//////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////wAAAP//////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////wAAAP//////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////wAAAP//////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////////wAAAP//
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////wAAAP//////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////wAAAP//////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////wAAAP//////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////wAAAP//////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////////wAAAP//
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////wAAAP//////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////wAAAP//////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////wAAAP//////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////wAAAP//////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////////wAAAP//
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////wAAAP//////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////wAAAP//////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////wAAAP//////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////wAAAP//////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////////wAAAP//
- ///////////////////////////////ZtHtnU0pKU2J7rdn/////////////////////////////////
- ////////////////////////////////////////////////99SndWJRSkpbZ4e/4f//////////////
- ///////////////////////////////hv4pnW0pKUWJ1ntTx////////////////////////////////
- /////////////////////////////////////////////////////////wAAAP//////////////////
- ///////////UeyQAAAAAAAAAAAAAAAAieNT/////////////////////////////////////////////
- /////////////////////////////79iFgAAAAAAAAAAAAAAAC+Z5///////////////////////////
- ///////////xmTgAAAAAAAAAAAAAAAAWW7//////////////////////////////////////////////
- /////////////////////////////////////////wAAAP//////////////////////////xjgAAAAA
- AAAAAAAAAAAAAAAAAAAkv///////////////////////////////////////////////////////////
- //////////yeAAAAAAAAAAAAAAAAAAAAAAAAAFvZ////////////////////////////////2WIAAAAA
- AAAAAAAAAAAAAAAAAAAAmfj/////////////////////////////////////////////////////////
- /////////////////////////wAAAP///////////////////////9lKAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAEDU////////////////////////////////////////////////////////////////txoAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAdfH///////////////////////////F4AAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAy0////////////////////////////////////////////////////////////////////////
- /////////wAAAP//////////////////////mQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiv//////
- //////////////////////////////////////////////////////diAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAy3////////////////////////vwkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYvH/////
- /////////////////////////////////////////////////////////////////////////wAAAP//
- //////////////////xbAAAAAAAAAAAAAAAAAAAJBgAAAAAAAAAAAAAAAEr3////////////////////
- ////////////////////////////////////4RYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAh///
- //////////////////+RAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzZ////////////////////
- /////////////////////////////////////////////////////////wAAAP//////////////////
- 8S4AAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAW5///////////////////////////////////
- ///////////////////KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGf/////////////////
- /28AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyv//////////////////////////////////
- /////////////////////////////////////////wAAAP/////////////////3LwAAAAAAAAAAAAAA
- AAAACSQuFgAAAAAAAAAAAAAAAAAAJPH/////////////////////////////////////////////////
- /8oAAAAAAAAAAAAAAAAAAAAWLiIAAAAAAAAAAAAAAAAAAABn////////////////bwAAAAAAAAAAAAAA
- AAAAACIuFgAAAAAAAAAAAAAAAAAAAMb/////////////////////////////////////////////////
- /////////////////////////wAAAP////////////////9KAAAAAAAAAAAAAAAAh7/x8fHx9/HGigAA
- AAAAAAAAAAAAAED8////////////////////////////////////////////////5wAAAAAAAAAAAAAA
- AC+Z1PH3+Pfx57RvAAAAAAAAAAAAAAAAe/////////////+KAAAAAAAAAAAAAAAAb63n8ff49/HUnjgA
- AAAAAAAAAAAAAADZ////////////////////////////////////////////////////////////////
- /////////wAAAP///////////////3sAAAAAAAAAAAAAL7f///////j4//////+/OAAAAAAAAAAAAABn
- ///////////////////////////////////////////////4JAAAAAAAAAAAAABb2f//////////////
- /J4AAAAAAAAAAAAAALT//////////7QAAAAAAAAAAAAAAJn8///////////////ZYgAAAAAAAAAAAAAa
- /P///////////////////////////////////////////////////////////////////////wAAAP//
- ////////////vwAAAAAAAAAAAACe//////////z4+Pz//////6cAAAAAAAAAAAAAtP//////////////
- //////////////////////////////97AAAAAAAAAAAAJMb////////////////////3eAAAAAAAAAAA
- AADn////////5wAAAAAAAAAAAAB18f///////////////////8okAAAAAAAAAAAAb///////////////
- /////////////////////////////////////////////////////////wAAAP//////////////AAAA
- AAAAAAAAFtT////////////4+Pj8///////ZJAAAAAYGAAAAAPf/////////////////////////////
- /////////////9QAAAAAAAAAAABR9////////////////////////7QAAAAAAAAAAABb////////YgAA
- AAAAAAAAAK3////////////////////////3YgAAAAAAAAAAAMr/////////////////////////////
- /////////////////////////////////////////wAAAP////////////+RAAAAAAAAAAAW5///////
- ////////+Pj4+Pz/////8S4ACQwMDAwJAHv//////////////////////////////////////////0AA
- AAAAAAAAAFP////////////////////////////KAAAAAAAAAAAAxv/////UAAAAAAAAAAAAv///////
- /////////////////////2cAAAAAAAAAAED/////////////////////////////////////////////
- /////////////////////////wAAAP////////////EAAAAAAAAAAADn//////////////////z4+Pj3
- /Pz8/OcAAAAABgkMCQDn////////////////////////////////////////xgAAAAAAAAAASv//////
- ////////////////////////vwAAAAAAAAAASv////9DAAAAAAAAAAC0////////////////////////
- //////9KAAAAAAAAAAC3////////////////////////////////////////////////////////////
- /////////wAAAP///////////5kAAAAAAAAAALf//////////////////////Pj4+Pj4+P/GAAAAAAAA
- AACR////////////////////////////////////////QwAAAAAAAAAA5///////////////////////
- /////////4cAAAAAAAAAANT//9QAAAAAAAAAAHv////////////////////////////////xAAAAAAAA
- AABD/////////////////////////////////////////////////////////////////////wAAAP//
- /////////4p1dXV1dXV1iv/////////////////////////8/Pz8/P//mXV1dXVvdW+H/P//////////
- ///////////////////////////xb3V1dXV1dW+///////////////////////////////////d7dXV1
- dXV1b63//7RvdXV1dXV1b/z/////////////////////////////////v291dXV1dXVn8f//////////
- /////////////////////////////////////////////////////////wAAAP//////////////////
- /////////////Pj/////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////wAAAP///////////////////////////////Pf8
- /////////////////////////////////Pj4/P//////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////wAAAP///////////////////////////////Pj4////////////////
- //////////////////z49///////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////wAAAP////////////////////////////////j4/P//////////////////////////////
- ///8+Pz/////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////////wAAAP//
- //////////////////////////////z4+Pz////////////////////////////////8+Pj/////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////wAAAP//////////////////
- ///////////////8+Pj8////////////////////////////////+Pj8////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////wAAAP//////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////wAAAP////d7h4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eH
- h4eHh4eKioqHh4eHh4eHh4eHh4qKh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eH
- h4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eH
- h4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHipmtt9n/////////////////////////
- /////////wAAAP////EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOJHU/P///////////////////////////wAAAP//
- //EAAAAAAAAAAAAAAAAAAAAACQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAkAAAAAAAAAAAAACQwM
- CQYGBgYJDAwMCQkGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAL5nn/////////////////////////wAAAP////EAAAAAAAAAAAAA
- AAAAAAAGDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwJAAAAAAAAAAAAAAYJCQkJCQYGBgYGCQwM
- DAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAh/f//////////////////////wAAAP////EAAAAAAAAAAAAAAAAAAAAADAwAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJDAwJAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AACn/////////////////////wAAAP////EAAAAAAAAAAAAAAAAAAAAACQwJAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAYMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASvH/////////
- /////////wAAAP////EAAAAAAAAAAAAAAAAAAAAAAAwMCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM
- DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJDAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzK/////////////////wAAAP//
- //EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv////////////////wAAAP////zU2dnZ2dnZ2dnZ
- 2dnZ2dnZ1NTU2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ1NTU2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ
- 2dTU1NnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ
- 2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ
- 2cq/nlsaAAAAAAAAAAAAAAAAALT//////////////wAAAP////////////////////////////z8/Pz/
- //////////////////////////////z8///////////////////////////////////8/P//////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////8ynUAAAAA
- AAAAAAAAAADK/////////////wAAAP/////////////////////////////8+Pj3+Pj8+Pj3+Pj4+Pj8
- //////////////z4+P/////////////////////////////////8+Pj/////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////xewAAAAAAAAAAAAAA4f//
- /////////wAAAP////////////////////////////////z4+Pj4+Pj4+Pj4+Pj4+Pz////////////4
- +Pj8////////////////////////////////+Pj/////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////9kuAAAAAAAAAAAAQPz//////////wAAAP//
- /////////////////////////////////Pz8/Pz///////z4+Pf8////////////+Pj3/P//////////
- ////////////////////+Pj8////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////bwAAAAAAAAAAAIr//////////wAAAP////////////////z4
- /////////////////////////////////Pj4/P////////////z4+Pj8/Pz8/Pz4+Pj4/P//////////
- /////Pj3/P//////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////4cAAAAAAAAAAADh/////////wAAAP////////////////j3/P//////////////
- //////////////////z4+Pz////////////8+Pj4+Pj4+Pj4+Pj4+Pj4//////////////z4+Pz/////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //94AAAAAAAAAABK/////////wAAAP////////////////z4+P//////////////////////////////
- ///8+Pj///////////////z8+Pj4+Pz8/Pz8+Pj4+Pz////////////4+Pj8////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////SgAAAAAAAAAA
- yv///////wAAAP/////////////////4+Pz/////////////////////////////////+Pj8////////
- ///////////////////////8+Pj8////////////+Pj4+Pz///////z/////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////5wAAAAAAAAAAU////////wAAAP//
- ///////////////8+Pj8/////////////////////////////////Pj4////////////////////////
- /////////Pj4/P////////////z4+Pj3+Pj49/j4////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////54AAAAAAAAAAOH//////wAAAP//////////////////
- /Pj4/P////////////////////////////////j4//////////////////////////////////z4+Pz/
- /////////////Pj3+Pj49/j8////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////8iAAAAAAAAAIr//////wAAAP////////////////////z4+Pj8////////
- //z///////////////////j4/P/////////////////////////////////8+Pj/////////////////
- //z8////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////+0AAAAAAAAAC/8/////wAAAP/////////////////////8+Pj4+Pz8/Pj3+Pj49/j8////////
- //////z4+Pz/////////////////////////////////+Pj/////////////////////////////////
- /////Pz8/Pj49/j4+Pf4+Pj8/Pz/////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////3GgAAAAAA
- AADh/////wAAAP////////////////////////z4+Pj4+Pj4+Pj4+Pj4+Pz////////////8+Pj8////
- ////////////////////////////+Pj8///////////////////////////////8/Pj4+Pj4+Pj4+Pj4
- +Pj4+Pj4+Pj4+Pz8////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////eAAAAAAAAACn/////wAAAP//
- //////////////////////////z8/Pz///////z4+Pj4/////////////Pj4+Pz/////////////////
- /////////////Pj4///////////////////////////8/Pj4+Pj4+Pz8/P////////////z8/Pj4+Pj4
- +Pj8////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////ygAAAAAAAAB1/////wAAAP/////////4/P//////
- /////////////////////////Pj4+P////////////z4+Pf4/Pz//Pz4+Pj4/Pz///////////////j4
- /P///////////////////////Pj4+Pj4/Pz//////////////////////////Pz4+Pj4+Pz/////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////8QkAAAAAAAAk/////wAAAP////////z3+P//////////////////////
- ///////////4+Pj//////////////Pj4+Pj4+Pj4+Pj4+Pj4/P////////////z4+Pz/////////////
- //////z4+Pj4/Pz///////////////////////////////////z4+Pj4/P//////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////zgAAAAAAAAA/////wAAAP/////////4+Pz/////////////////////////////////+Pj8
- ///////////////8/Pj4+Pz8/Pz8/Pj4+Pj////////////8+Pj4///////////////8+Pj3+Pz/////
- /////////////////////////////////////Pj4+Pj8////////////////////////////////////
- /////////////////////////////////////////////////////////////////////////1sAAAAA
- AAAA9////wAAAP/////////8+Pj//////////////////////////////////Pj4////////////////
- ///////////////8+Pj4/////////////Pj4+P///////////Pj4+Pj8////////////////////////
- ///////////////////////8+Pj4+Pz/////////////////////////////////////////////////
- /////////////////////////////////////////////////////////3gAAAAAAAAA4f///wAAAP//
- ////////+Pj4//////////////////////////////////j4////////////////////////////////
- //j4+P/////////////4/P/////////8+Pj4+P//////////////////////////////////////////
- //////////z4+Pf8////////////////////////////////////////////////////////////////
- /////////////////////////////////////////4cAAAAAAAAA4f///wAAAP///////////Pj4+P//
- //////////////////////////////j4/P/////////////////////////////////4+Pz/////////
- //////////////j4+Pz4+Pj8/////////////////////////////////////////////////////Pj4
- +P//////////////////////////////////////////////////////////////////////////////
- /////////////////////////3sAAAAAAAAA4f///wAAAP////////////z4+Pj8//////////z8////
- //////////////z4+P/////////////////////////////////8+Pj////////////////////8+Pj4
- /P/8+Pj4+Pz///////////////////////////////////////////////////z4+Pj8////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////2cAAAAAAAAA8f///wAAAP//////////////+Pj4+Pj8/Pj3+Pj4+Pf8/P/////////////4
- +Pj//////////////////////////////////Pj8//////////////////z4+Pj///////z4+Pj4////
- ////////////////////////////////////////////////+Pj3/P//////////////////////////
- /////////////////////////////////////////////////////////////////////////0MAAAAA
- AAAA/////wAAAP////////////////z8+Pj4+Pj4+Pj4+Pj4+Pj/////////////+Pj4////////////
- /////////////////////Pj4/////////////////Pj4/P///////////Pj4+Pz/////////////////
- //////////////////////////////////z49/z/////////////////////////////////////////
- ////////////////////////////////////////////////////////+CIAAAAAAAAA/////wAAAP//
- //////////////////z8/Pz8//////z8+Pj4/P///////////Pj4+Pz/////////////////////////
- //////j3/P/////////////8+Pf8///////////////89/j4/P//////////////////////////////
- ///////////////////8+Pj8////////////////////////////////////////////////////////
- ////////////////////////////////////////2QAAAAAAAABT/////wAAAP/8/P//////////////
- //////////////////j4+Pz////////////4+Pj4/Pz8/Pz4+Pj4/Pz///////////////z4+P//////
- //////z4+Pz//////////////////Pj4+Pj8////////////////////////////////////////////
- /////Pj4/P//////////////////////////////////////////////////////////////////////
- ////////////////////////mQAAAAAAAACR/////wAAAP/49/z/////////////////////////////
- ///8+Pj//////////////Pj4+Pj4+Pj4+Pj4+Pj4/P/////////////4+Pj//////////Pj4/P//////
- ///////////////8+Pj4+Pz///////////////////////////////////////////////z49/z/////
- ////////////////////////////////////////////////////////////////////////////////
- ////////QAAAAAAAAADK/////wAAAP/8+Pj/////////////////////////////////+Pj4////////
- ///////8/Pj4+Pz8/P/8/Pj4+Pj8////////////+Pf8///////8+Pj8////////////////////////
- //z4+Pj4/P/////////////////////////////////////////////8+Pj8////////////////////
- ///////////////////////////////////////////////////////////////////////KAAAAAAAA
- AAD3/////wAAAP/8+Pj8//////////////////////////////////j4/P//////////////////////
- ///////8+Pj4/P////////////z////////4+Pj//////////////////////////////Pj4+Pz/////
- ////////////////////////////////////////+Pj4////////////////////////////////////
- //////////////////////////////////////////////////////9RAAAAAAAAAGf//////wAAAP//
- /Pj4/P////////////////////////////////z4/P////////////////////////////////z49/z/
- //////////////////z4+P/////////////////////////////////4+Pj4/P//////////////////
- //////////////////////////j4/P//////////////////////////////////////////////////
- /////////////////////////////////////78AAAAAAAAAAMr//////wAAAP////z/////////////
- ///////////////////////4+P//////////////////////////////////////////////////////
- /////////////////////////////////////////////Pj8////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////9wwAAAAAAAAAOP///////wAAAP////FAUVFTU1NTU1NTU1NTU1NTU1NTU1NT
- U1NntPH/+Pz/////////////////2ZFbU1NTU1NTU1NTUVFTW1NTU1NTU1NTU1NTU1FTU1NTU1NTU1NT
- U1NTU1NTU1NTU1NTU1NTU1NTU1t7xv/8+Pz////////////////8v3VTU1NTU1NTU1NTU1NTU1NTUVNT
- U1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1t7v/H/////////////////////////////////////
- ////YgAAAAAAAAAArf///////wAAAP////EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACn//j8////
- //////////diAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAADjh//j4/////////////8YWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAB78f////////////////////////////////////+RAAAAAAAAAAAa
- /////////wAAAP////EAAAAAAAAAAAAAAAAAAAAAAAAJDAwGAAAAAAAAb//4/P//////////5wwAAAAA
- AAAAAAAAAAAAAAAACQwJAAAAAAAAAAAAAAkJAAAAAAAAAAAAAAYMBgAAAAkGAAAAAAAAAAAAAAAAAAAA
- yvz4+Pz/////////pwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwGAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAL///////////////////////////////////6cAAAAAAAAAAADK/////////wAAAP//
- //EAAAAAAAAAAAAAAAAAAAAAAAAABgwMBgAAAAAAAJn/9/j/////////LwAMDAwJBgAAAAAAAAAAAAAA
- BgwMAAAAAAAAAAAABgwAAAAAAAAAAAAAAAkJAAAABgwMBgAAAAAAAAAAAAAAAAAAAOf8+Pj4/P/////G
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACn
- ////////////////////////////////vwAAAAAAAAAAAG///////////wAAAP////EAAAAAAAAAAAAA
- AAAAAAAAAAAAAAYMDAYAAAAAAADn/Pj4+Pz8/P+ZAAYGBgYMDAwJAAAAAAAAAAAAAAkMDAAAAAAAAAAA
- DAkAAAAAAAAAAAAABgwAAAAAAAYMBgAAAAAAAAAAAAAAAAAAAG///Pj4+Pj8//wvAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAwMBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv///////////////
- ///////////////UAAAAAAAAAAAAIvH//////////wAAAP////EAAAAAAAAAAAAAAAAAAAAAAAAAAAAG
- DAwAAAAAAACR//z4+Pj4+PwJAAAAAAAAAAkMDAYAAAAAAAAAAAAJDAwAAAAAAAAGDAAAAAAAAAAAAAAA
- DAkAAAAAAAkJAAAAAAAAAAAAAAAAAAAAAADx///8+Pj4/L8ADAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAYMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOf//////////////////////////+EA
- AAAAAAAAAAAA2f///////////wAAAP////EAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgwGAAAAAABb////
- /Pz4/NQAAAAAAAAAAAAACQkAAAAAAAAAAAAABgYAAAAAAAAGBgAAAAAAAAAAAAAACQAAAAAAAAkAAAAA
- AAAAAAAAAAAAAAAAAAC3//////z4/4cADAwMBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGCQAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHX/////////////////////////8RoAAAAAAAAAAAC3////
- /////////wAAAP////EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwJAAAAAAAv+P///////8YAAAAAAAAA
- AAAAAAkJAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAAJAAAAAAAABgAAAAAAAAAJCQAAAAAAAAAA
- AACn/////////1sAAAYMDAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAADn////////////////////////OAAAAAAAAAAAAJ7//////////////wAAAP//
- ///3+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pfx8UMAAAAAAAAu+P///////8YAAAAAAAAAnvzx8fH4+Pj4+Pj4
- +Pj4+Pj4+Pjx8ff4+Pj4+Pj4+Pfx8ff4+Pj38fHx+Pj4+Pj48fHx+Pj8xgAAAAAAAACn/////////1MA
- AAAACQYW5/j4+Pj4+Pj4+Pj4+Pj4+Pj49/Hx+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+OdvAAAAAAAA
- AACn//////////////////////9bAAAAAAAAAAAAh////////////////wAAAP//////////////////
- ///////////////8+EMACQAAAAAu+P///////8YAAAAAAAAAp///+Pj8///////////////////4+P//
- //////////j4+P/////4+Pj////////8+Pj8////ygAAAAAAAACn/////////1MAAAAAAAAW8f//////
- //////////////////j4////////////////////////////////////hwAAAAAAAABT////////////
- /////////3UAAAAAAAAAAABv/////////////////wAAAP/////////////////////////////////8
- 90MADAYAAAAu+P///////8YAAAAAAAAAp////Pj4//////////////////z4/P///////////Pj4/P//
- //z4+Pz////////4+Pj/////ygAGBgYAAACn/////////1MAAAAAAAAM5///////////////////////
- //z4/P//////////////////////////////////9wYAAAAAAAAA////////////////////kQAAAAAA
- AAAAAEr//////////////////wAAAP//////////////////////////////////90MADAwGAAAu+P//
- /////8YAAAAAAAAAp/////j4/P////////////////j4/P///////////Pj4//////j4+P////////z4
- +Pz/////ygAJDAwMCQCn/////////1MAAAAAAAAM5/j8//////////////////////z4+P//////////
- /////////////////////////0AAAAAAAAAA//////////////////+tAAAAAAAAAAAALvj/////////
- /////////wAAAP///////////////////////////////////EMABgwMCQAu+P///////8YAAAAAAAAA
- p/////z4/P////////////////f4///////////8///8/////Pj4/P///////Pj4+P////z8xgAAAAYM
- DACn/////////1MAAAAAAAAM5/j4+Pz////////////////////4+P//////////////////////////
- /////////zgAAAAAAAAA/////////////////78AAAAAAAAAAAAW5////////////////////wAAAP//
- /////////////////////////////////0MAAAAJDAAv+P///////8YACQYAAAAAp//////49///////
- /////////Pj4//////////z3/P/////8+Pj4+P//////+Pj3/////Pj8xgAAAAAACQCn/////////1MA
- AAAAAAAM8f/4+Pj4/P/////////////////4+Pz/////////////////////////////////4QAAAAAA
- AAAG////////////////1AAAAAAAAAAAAADZ/////////////////////wAAAP//////////////////
- /////////////////0MAAAAAAAAv9//8+Pj4/L8ADAwMBgAAp//////8+Pj//////////////Pj8////
- //////j4+Pz////8+Pj4+Pz////8+Pj8///8+Pj8ygAAAAAAAACn/////////1MAAAAAAAAM8f///Pj4
- +Pj8///////////////8+Pz////////////////////////////////8UQAAAAAAAABn////////////
- ///nBgAAAAAAAAAAAMr//////////////////////wAAAP//////////////////////////////////
- /0MAAAAAAAAu8fj4+Pj3/L8AAAYMDAkAp///////+Pj4/////////////Pj8//////////z4+P//////
- //z8+Pj8/Pz4+Pj////4+Pj/ygAAAAAAAACn/////////1MAAAAAAAAM8f/////8+Pj4+P//////////
- ///8+Pj///////////////////////////////9nAAAAAAAAAACt//////////////gWAAAAAAAAAAAA
- tP///////////////////////wAAAP///////////////////////////////////0MAAAAAAAAu8fz8
- /P///78AAAAADAwAp////////Pj4+Pz/////////+Pj8/////////////////////////Pj4+Pj4+Pz/
- //z4+Pz/ygAAAAAAAACn/////////1MAAAAAAAAM8f////////z4+Pj8///////////8+Pj/////////
- /////////////////////3sAAAAAAAAAAAD3/////////////EAAAAAAAAAAAACe////////////////
- /////////wAAAP///////////////////////////////////0MAAAAAAAAu+P///////8YAAAAAAAkA
- rf/////////4+Pf4/P//////+Pj///////////////////////////z4+Pj4/P////j4+P//ygAAAAAA
- AACn//z8/Pz//1sAAAAAAAAM8f///////////Pj4+Pz/////////+Pj///////////////z8/P//////
- ////ngAAAAAAAAAAAJn/////////////YgAAAAAAAAAAAIf//////////////////////////wAAAP//
- /////////////////////////////////0MAAAAAAAAu+P///////8YAAAAAAAAArf///////////Pj4
- +P//////+Pj//////////////////////////////Pz8//////j4+P//ygAAAAAAAACe//j4+Pj4/1sA
- BgAAAAAM8f////////////z4+Pj4/P//////+Pj///////z4+Pj4+Pj4+Pf4/Pz///+3AAAAAAAAAAAA
- OPz///////////97AAAAAAAAAAAAYv///////////////////////////wAAAP//////////////////
- /////////////////0MAAAAAAAAu+P///////8YAAAAAAAAArf/////////////8/P//////+Pj/////
- //////////////////////////////////j4/P//ygAAAAAAAACe//f8/Pj4/1MADAAAAAAM8f//////
- /////////Pj4+Pj8////+Pj///////z3+Pj4+Pj4+Pj4+Pj4/9QAAAAAAAAAAAAA5////////////5EA
- AAAAAAAAAAA4/////////////////////////////wAAAP//////////////////////////////////
- /0MAAAAAAAAu+P///////8YAAAAAAAAAp//////////////////////8+Pj/////////////////////
- //////////////////z4+P//ygAAAAAAAACe///////8/1EADAkAAAAM8f/////////////////8+Pj3
- /P///Pf8///////8/Pz8///////8/Pj82QAGDAAAAAAAAADZ////////////rQAAAAAAAAAAAC/3////
- /////////////////////////wAAAP///////////////////////////////////0MAAAAAAAAu+P//
- /////8YAAAAAAAAAp//////////////////////8+Pj8////////////////////////////////////
- //z4+Pz/ygAGBgYGAACe/////////1EADAkAAAAM8f////////////////////z4+Pj8/Pj8////////
- ///////////////nGgAJDAkAAAAAAL/////////////GAAAAAAAAAAAAFuf/////////////////////
- /////////wAAAP///////////////////////////////////0MAAAAAAAAu+P///////8YAAAAAAAAA
- nv/////////////////////8+Pj4+Pz////////////////////////////////////8+Pj8ygAJCQwJ
- AACn/////////1EADAkAAAAW8f/////////////////////8+Pj4+Pj8//////////////////////hA
- AAAADAwGAAAAp////////////9kAAAAAAAAAAAAA2f///////////////////////////////wAAAP//
- /////////////////////////////////0MAAAAAAAAu+P///////8YAAAAAAAAAp///////////////
- ///////8+Pj4+Pj4/P///////////////////////////////////Pj8xgAACQwAAACn/////////1EA
- DAkAAAAM8f////////////////////////z4+Pj8/////////////////////1EAAAAABgwMAACK////
- ////////8QAAAAAAAAAAAADK/////////////////////////////////wAAAP//////////////////
- /////////////////0MAAAAAAAAu+P///////8YAAAAAAAAAp/z8///////////////////8+Pj//Pj4
- 9/j///////////////////////////////////z8xgAABgYAAACn/////////1EADAYAAAAM8f//////
- ////////////////////+Pj8////////////////////ZwAAAAAAAAwMAG/////////////3LgAAAAAA
- AAAAAK3//////////////////////////////////wAAAP//////////////////////////////////
- /0MAAAAAAAAu+P///////8YAAAAAAAAAp/z4/P/////////////////8+Pj////8+Pj4/P//////////
- ////////////////////////ygAAAAAAAACn///////8/1EADAAAAAAW8f//////////////////////
- ////+Pj///////////////////+KAAAAAAAAAAkAW/////////////xRAAAAAAAAAAAAkf//////////
- /////////////////////////wAAAP///////////////////////////////////0MAAAAAAAAu+P//
- /////8YAAAAAAAAAp//4+Pz/////////////////+Pj//////Pj4+Pj8////////////////////////
- ////////ygAAAAAAAACn//////z4/1EABgAAAAAW8f//////////////////////////+Pj/////////
- /////////6cAAAAAAAAAAABA+P///////////2cAAAAAAAAAAAB1////////////////////////////
- /////////wAAAP///////////////////////////////////0MAAAAAAAAu+P///////8YAAAAAAAAA
- p//8+Pj4/P//////////////+Pj////////8+Pj4+Pz/////////////////////////////ygAAAAAA
- AACe/////Pj4/1MAAAAAAAAW8f/////8/P//////////////////9/j////////8/Pz/////tAAAAAAA
- AAAAABrx////////////eAAAAAAAAAAAAFv//////////////////////////////////////wAAAP//
- /////////////////////////////////0MAAAAAAAAu+P///////8YAAAAAAAAAp////Pj4+Pj4+Pj3
- +P//////+Pj8//////////z4+Pf4////////////////////////////ygAAAAAAAACe/Pj89/j4/1MA
- AAAABgYM8f/////4+Pf4/P//////////////+Pj///////f4+Pj3/P+tAAYAAAAAAAAAAOH8/P//////
- //+eAAAAAAAAAAAASvz//////////////////////////////////////wAAAP//////////////////
- /////////////////0MAAAAAAAAu+P///////8YAAAAAAAAAp//////8/Pj4+Pj4/P//////+Pj8////
- /////////Pj4+Pz/////////////////////////ygAAAAAAAACe/Pj4+Pj8/1MAAAAACQAM8f////z3
- +Pj4+Pj8///////////8+Pj///////z4/Pj4/5kABgwMBgAAAAAA1P/4+Pz//////7QAAAAAAAAAAAAk
- 8f///////////////////////////////////////wAAAP//////////////////////////////////
- /0MAAAAAAAAu+P///////8YAAAAAAAAAp////////////////////////Pj8///////////////8+Pj4
- /P//////////////////////ygAAAAAAAACn//z8/P///1MAAAAGDAAM8f////////z8+Pj4/P//////
- ///8+Pz/////////////ewAAAAYMDAYAAAC3///4+Pj4////ygAABgkJDAwMAADn////////////////
- /////////////////////////wAAAP///////////////////////////////////0MAAAAAAAAu+P//
- /////8YAAAAAAAAAp////////////////////////Pj4/////////////////Pj4+Pj8////////////
- ////////ygAAAAAAAACn/////////1MAAAAJDAAM8f////////////j4+P/////////4+Pz/////////
- //hRAAAAAAAGDAwAAKf//////Pj49//ZAAAJBgAAAAYAANn/////////////////////////////////
- /////////wAAAP///////////////////////////////////0MAAAAAAAAu+P///////8YAAAAAAAAA
- p/////////////////////////j4///////////////////8+Pj4+Pz/////////////////ygAAAAAA
- AACn/////////1MAAAAGDAYM8f/////////////4+Pz////////4+Pz/////////4S4AAAAAAAAACQwA
- iv////////z8/OcWAAAAAAAAAAAAv//8/////////////////////////////////////////wAAAP//
- /////////////////////////////////0MAAAAAAAAu+P///////8YAAAAAAAAAp///////////////
- //////////j4/P////////////////////z4+Pj8////////////////ygAAAAAAAACn/////////1EA
- AAAACQYW8f/8+Pj4/Pz////4+Pz///////z4+P////////+tAAAAAAAAAAAAAACK////////////9zgA
- AAAAAAAAAACn//j4/P///////////////////////////////////////wAAAP//////////////////
- /////////////////0MAAAAAAAAu+P///////8YAAAAAAAAAp/////////////////////////z4/P//
- /////////////////////Pj4+Pz/////////////ygAAAAAAAACn/////////1MAAAAAAAAW8f/4+Pj4
- +Pj4+Pj49/////////z4/P//////92IAAAAAAAAAAAAAAJn/////////////SgAAAAAAAAAAAJH///z4
- +Pj//////////////////////////////////////wAAAP//////////////////////////////////
- /0MAAAAAAAAu+P///////8YAAAAAAAAAp/////////////////////////z4+P//////////////////
- ///////4+Pj4/P//////////ygAAAAAAAACn/////////1MAAAAAAAAM8fz4+Pz4+Pj4+Pj4/P//////
- //j4/P////+0AAAAAAAAAAAAAAAArf////////////9nAAAAAAAAAAAAdf/////8+Pj4////////////
- /////////////////////////wAAAP///////////////////////////////////0MAAAAAAAAu+P//
- /////8YAAAAAAAAAp//////////////////////////4+Pz//////////////////////////Pj4+Pj8
- ////////ygAAAAAAAACn/////////1MAAAAAAAAM8fz4/P////z8+Pj8/////////Pj3////xkoAAAAA
- AAAAAAAAAAC///j8/////////4cAAAAAAAAAAABb/////////Pj4/P//////////////////////////
- /////////wAAAP///////////////////////////////////0MAAAAAAAAu+P///////8YAAAAAAAAA
- p//////////////////////////8+Pz////////////////////////////8+Pj4/P//////ygAAAAAA
- AACn/////////1MAAAAAAAAM8fz4/P///////////////////////7RAAAAACQwMBgAAAAAADOH//Pj4
- ////////pwAAAAAAAAAAADj4//////////z4+P///////////////////////////////////wAAAP//
- /////////////////////////////////EMAAAAAAAAu+P///////8YAAAAAAAAAnvz4+Pj4+Pj4+Pj4
- +Pj4+Pj4+Pj38fH4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pfx8fHx9/j8xgAAAAAAAACn/////////1MA
- AAAAAAAW5/fx8ff4+Pj4+Pj4+Pj4+Pfxyp5bAAAAAAAAAAYMDAwGAABR+P////j4/P////+nAAAAAAAA
- AAAAIvf////////////49////////////////////////////////////wAAAP////+ROENDQ0NDQ0ND
- Q0NDQ0NDQ0NDQ0NDQwwAAAAAAAAv+P///////8YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- CQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGDAYGAAAAAACn/////////1sAAAAAAAAABgAAAAAA
- CQkJDAwAAAAAAAAAAAAAAAAAAAAAAAAABgwAAIr///////z4+Pz//54AAAAAAAAAAAAA5///////////
- ///4+Pz//////////////////////////////////wAAAP////94AAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAABT/////////9kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgkAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAABgwMCQAAAAC3/////////4cAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAA
- AAkMAAAAAAAAAAAAAAAayv/////////8+Pj/kQAMCQkGBgYJBgDU///////////////8+Pj/////////
- /////////////////////////wAAAP////97AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH////
- //////8JAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQwJAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAYJDAwJAADx/////////78AAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAABgwGAAAAAAAAAAAA
- AG/x//////////////xvAAAGCQkJBgAAALf//P//////////////+Pj4////////////////////////
- /////////wAAAP////97AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ//////////+eAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgwM
- AG////////////wuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQkAAAAAAAAAAABAyv/4+P//////////
- +EoAAAAAAAAAAAAAp//4+Pj8//////////////j4+P///////////////////////////////wAAAP//
- //97AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGf/////////////LgAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAYMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADOf////////////G
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGDAAAAAAAAAAAL7f////4+Pz////////hLwAAAAAAAAAAAACR
- //z8+Pj4+P////////////z4+Pj8/////////////////////////////wAAAP////97AAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAGvf/////////////5xYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAJDAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyv//////////////pwAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAMCQAAAAAAAEq//P/////8+Pj//////8YAAAAAAAAAAAAAAJH///////z4+Pj8////
- ///////8+Pj4+Pz//////Pz8/Pz//////////////wAAAP////94AAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAABK8f////////////////diAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEDh/Pj4/P///////////8YWAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAECe5///////////+Pj8////igAAAAAAAAAAAAAAnv//////////+Pj4//////////////z4+Pj4
- +Pj4+Pj4+Pj4+Pz//////////wAAAP////+HJC4uLi4uLi4uLi4uLi4uLi4uLi4uLi5AZ7//////////
- ////////////2ZFbU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NRU1NTU1NTU1NTU1NTU1NTU1NTU1NT
- U1NTU1NTU1uHyv///Pj4+Pj8///////////8v3VTU1NTU1NTU1NTU1NTU1FRU1tie6fK8f//////////
- /////Pj8/+dTAAAAAAAAAAAAAAC0//////////////j4+P///////////////Pj4+Pj4+Pz8/Pj4+Pj4
- /////////wAAAP/////49/f39/f39/f39/f39/f39/f39/f39/f/////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///8+Pj4/P///////////////////////////////////////////////////////////Pz/tBYAAAAA
- AAAAAAAAAMb////////////////4+Pz//////////////////////////////Pj4+Pz//////wAAAP//
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////8+Pj8//////////////////////////////////////////////z4+Pj8////
- ///////////////////////8+Pj8///////8+Pj8/////////////+dbAAAMCQAAAAAAAAAM4f//////
- ///////////8+Pz////////////////////////////////4+Pf8/////wAAAP//////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////Pj3/P//////////////////////////////////////////////+Pj49/z/////////////////
- ///////4+Pz////////8+Pj4+Pz////////4mQAAAAAJDAwGAAAAAEr3///////////////////8+Pj/
- ////////////////////////////////+Pj4/////wAAAP//////////////////////////////////
- //////////////////////////////////////////////////////////////////////j4+Pz/////
- //////////////////////////////////////////z4+Pj4/P////////////////////j4+P//////
- //////z4+Pj8/////K0iAAAAAAAACQwMDAAAe///////////////////////+Pj8////////////////
- //////////////////j4/P///wAAAP//////////////////////////////////////////////////
- ///////////////////////////////////////////////////////4+Pj8////////////////////
- /////////////////////////////Pj49/j/////////////////+Pj4/////////////////Pj8//ee
- LgAAAAAAAAAAAAAGAACt//z4+Pj4/Pz//////////////Pj4/P//////////////////////////////
- //z4+P///wAAAP//////////////////////////////////////////////////////////////////
- ////////////////////////////////////////+Pj3/P//////////////////////////////////
- ///////////////8+Pj4+P////////////z4+Pj///////////////////y/ZwAAAAAAAAAAAAAAAAAA
- JNn/+Pj4+Pj4+Pj4//////////////j4+Pz////////////////////////////////49/z//wAAAP//
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////z/////////////////////////////8eGnbwAAAAAMDAAAAAAAAAAAAAB7/Pz4/Pz////8/Pj4
- +Pz////////////4+Pf8///////////////////////////////8/P///wAAAP////eZnp6enp6enp6e
- np6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6e
- np6enp6enp6ZmZmenp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6ZmZmZmZ6enp6e
- mZmZnp6enp6enpmKeGdDAAAAAAAAAAAJDAYAAAAAAAAALsr////////////////8+Pf8////////////
- /Pj4+Pz8/////Pz4/Pz8/////////////////////wAAAP////EAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAGDAkAAAAAAACK/////////////////////Pj3/P////////////z4+Pj4+Pj4+Pj4
- +Pj4+Pz//////////////////wAAAP////EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGDAwJBgAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAAAGBgYAAAAAAAAAAAAAAAAA
- DAwGAAAAYuf///////////////////////z4+Pz//////////////Pz4+Pj4+Pz8/Pz4+Pj4/P//////
- /////////wAAAP////EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkMDAkGAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYGAAAAAAAAAAAJDAwMCQYAAAAAAAAAAAAABgwAAFvU////////
- ///////////////////8+Pj//////////////////////////////Pj4+Pz//////////////wAAAP//
- //EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGCQwMCQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAYGAAAGBgAAAAAAAAAAAAAAAAYGDAwMBgAAAAAAAAAAAAB12f//////////////////////////
- ////+Pj////////////////////////////////8+Pj8/////////////wAAAP////EAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAJDAwMCQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYGBgAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAkMDAkAAAAAAAAamef/////////////////////////////////+Pj8////////
- /////////////////////////Pj4/P///////////wAAAP////EAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAYJDAwMCQYGAAAAAAAAAAAAAAAAAAAGBgkJBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAABAkdn///z4+Pz//////////////////////////////Pj4////////////////////////
- //////////z4+P///////////wAAAP////EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMQ2+Ryuf/////
- //z4+Pj4/Pz8/Pz4+Pj4/Pz///////////////j4/P/////////////////////////////////4+Pz/
- /////////wAAAP////y/xsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbG
- xsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGv7+/v7+/v7+/xsbG
- xsbGv7+/v7+/v7+/xsbGxsbGxsbGxsbGxsbGxsbGxsbGxsrZ5/Hx9////////////////Pj4+Pj4+Pj4
- +Pj4+Pj4/P////////////z49/z////////////////////////////////89/z//////////wAAAP//
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////Pz8/Pz8/Pz8/Pz8/Pz8/Pz/////
- ////////////////////////////////////+Pj8///////////////8/Pj4/Pz8///8/Pj4+Pj/////
- ///////8+Pj4/////////////////////////////////P///////////wAAAP//////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////Pz8/Pz8/Pz8/Pz8////////////////////////
- /////////////////////Pj4///////////////////////////////8+Pj4/////////////Pj49/z8
- //////z8/Pz8/////////////////////////////wAAAP//////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////j3//////////////////////////////////j4+P/////////////8+Pj49/j4+Pj4+Pj49/j8
- /////////////////////////wAAAP//////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////P////////////////////////////////j4/P//////
- ///////////////////////////4+Pz///////////////z49/j4+Pj8/Pz4+Pj4+P//////////////
- /////////wAAAP//////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////+Pf8/P///////Pz8/P////////////////z4+P//////////////////////
- ///////////8+Pf///////////////////////////////z4+Pj//////////////////////wAAAP//
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////Pj49/j4+Pj3+Pj4+Pj8/P/////////////4+Pj/////////////////////////////////+Pj8
- ////////////////////////////////+Pj4/////////////////////wAAAP//////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////8+Pj4+Pj4
- +Pz4+Pj4+Pj/////////////+Pj4/////////////////////////////////Pj4////////////////
- //////////////////j4+P///////////////////wAAAP//////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////8/Pz////////8+Pj4/P//
- //////////j49/z///////////////////////////////j4/P//////////////////////////////
- ///4+Pz//////////////////wAAAP//////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////j4+Pz////////////4+Pj4
- /Pz8/Pz49/f3+Pz///////////////z4+P/////////////////////////////////8+Pj/////////
- /////////wAAAP//////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////8+Pj//////////////Pj4+Pj4+Pj4+Pj4+Pj4
- /P/////////////4+Pj/////////////////////////////////+Pj//////////////////wAAAP//
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////+Pj4///////////////8/Pz4+Pz8/////Pj4+Pj8////////////
- +Pj4/P///////////////////////////////Pz//////////////////wAAAP//////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////j4////////////////////////////////+Pj3/P////////////j4+Pj8//////z8
- /Pz8/P///////////////////////////////////wAAAP//////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////////////////////////j4
- /P////////////////////////////////z49/z////////////8+Pj4+Pj4+Pj4+Pj4+Pj8////////
- /////////////////////////wAAAP//////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////////z4+P//////////////
- ///////////////////8+Pj///////////////z4+Pj4+Pj8/Pz8+Pj4+Pz/////////////////////
- /////////wAAAP//////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////4+Pz/////////////////////////////
- ////+Pj8//////////////////////////////z4+Pj8/////////////////////////////wAAAP//
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////8+Pj8/////////////////////////////////Pj4////////
- /////////////////////////Pj4/P///////////////////////////wAAAP//////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////Pj3/P////////////////////////////////j4////////////////////////
- //////////z4+Pz//////////////////////////wAAAP//////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //z4+Pj8//////////////////////////////j4/P/////////////////////////////////8+Pj/
- /////////////////////////wAAAP//////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////8+Pj4+Pz8/Pz4
- +Pj4+Pz8//////////////z3+Pz/////////////////////////////////+Pf/////////////////
- /////////wAAAP//////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////z4+Pj4+Pj4+Pj4+Pj4+Pz/////
- ///////8+Pf8////////////////////////////////+Pf8/////////////////////////wAAAP//
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////Pz4+Pz8/////Pz4+Pf8/////////////Pj4/P//
- //////////////////////////////z//////////////////////////wAAAP//////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////Pj4+P////////////z3+Pj8/P////z8/Pz8/P//
- /////////////////////////////////////////wAAAP//////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////z4+Pz////////////8+Pj4+Pj4+Pj4+Pj4+Pj4/P//////////////
- /////////////////////////wAAAP//////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////8+Pf8//////////////z8+Pj4+Pj8/Pz8+Pj49/z/////////////////////////////
- /////////wAAAP//////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////////////Pj4
- ///////////////////////////////8+Pj4/////////////////////////////////////wAAAP//
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////////j4/P//////////////
- /////////////////Pj4+P///////////////////////////////////wAAAP//////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////z4/P//////////////////////////////
- ///4+Pz//////////////////////////////////wAAAP//////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////z4+P/////////////////////////////////8+Pf8////////
- /////////////////////////wAAAP//////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////4+Pj//////////////////////////////////Pj8////////////////////////
- /////////wAAAP//////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- +Pj4/////////////////////////////////Pf3/////////////////////////////////wAAAP//
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////Pj4+Pz/////////
- //////////////////////z8/////////////////////////////////wAAAP//////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////z4+Pj4/Pz///z8/Pj8/Pz/////////
- /////////////////////////////////////////wAAAP//////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////Pj4+Pj4+Pj4+Pj4+Pj4/P//////////////////////
- /////////////////////////wAAAP//////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////8+Pj4+Pj4/Pz8/Pj4+Pj/////////////////////////////////////
- /////////wAAAP//////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////8+Pj4/P///////////////////////////////////////////wAAAP//
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////j4+Pz//////////////////////////////////////////wAAAP//////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////////8+Pj/
- /////////////////////////////////////////wAAAP//////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////+Pj8////////////////
- /////////////////////////wAAAP//////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////Pj4////////////////////////////////
- /////////wAAAP//////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////j3/P///////////////////////////////////////wAAAP//
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////8/////////////////////////////////////////wAAAP//////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////wAAAP//////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////wAAAP//////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////wAAAP//////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////////wAAAP//
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////wAAAP//////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////wAAAP//////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////wAAAP//////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////wAAAP//////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////////wAAAP//
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////wAAAP//////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////wAAAP//////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////wAAAP//////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////wAAAP//////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////////wAAAP//
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////wAAAP//////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////wAAAP//////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////wAAAP//////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////wAAAP//////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////////wAAAP//
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////wAAAP//////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////wAAAP//////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////wAAAP//////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////wAAAP//////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////////wAAAP//
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////wAAAP//////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////wAAAP//////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////wAAAP//////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////wAAAP//////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////////wAAAP//
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////wAAAP//////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////wAAAP//////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAAOAAAACdCAMAAACaT4TMAAAABGdBTUEAALGPC/xhBQAAAwBQTFRF////
+ AAAA+Pj4/Pz82dnZU1NTh4eHnp6exsbG9/f3DAwMCQkJBgYG8fHxdXV1Li4uQ0NDUVFRysrKp6en5+fn
+ b29v1NTUmZmZioqKe3t7Ly8vW1tbYmJiSkpKv7+/QEBAtLS0ODg4FhYWra2tIiIiGhoaJCQkt7e34eHh
+ eHh4Z2dnkZGRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKLYiuAAAAAd0SU1FB+EF
+ Dw45OzRetDUAABBbSURBVHhe7Z0HV+O8EoaTmAWcQg2EGthlYfng//+/O03SjJptSCj38JyzRJZc5tXI
+ apa9oy9IM5lMGglHFBMAOExCX5xm0hZVVDSAvrL4r0TN0IqTvo2+aikspoG876Kv4qQoDUWhLoB+Jfqr
+ U7HU3Jwiz/Fd5NWqkYnW50WhA5vvIw8NlxBCpY/Mj0qh2bB8bbWgQ0JAuRTCloRSKkmfj5FBopBJ27bG
+ YSYbImppn4S/hdBjWl+xvS+Xz3raZ+CKofxKLGA2LDUnVQ77DMDUFnXRH65NBNiUUErFSbXDPgMohWwr
+ 3moUEGpOgntSQjFYDCT4Rah4opgUpYFc9j4Xcon98hSdFJVCVMXlG7BV7UeDhdAhUWXKJdSUQtiQMt7v
+ tNuDrq+R+BJRKQQhdAwXQ4klfcUiaa7QrPe3ydqR3Yw52VkuFrqAkqhAsLw2MG5M0mL8xZgenb2eLMk2
+ kkdO5wBFMtbNFpu2VYHz2XQ6nc3nsinM57NZFJVw97pDAgsyIEVCKVHaFgWyOtmImceyBThoxqHHFfsx
+ R8WBca5sSyA6r8NPKNHKnM8hT1TMAbgxS6WCibVvSWC3PEeQGHt8Ph2Pr8/FTkOxhEJC7NutCARH9JSH
+ SJFMSi078yYtqNZL0o3xdZFEO7ZaybyLubsZL8RUx7DpmXa1t0lWq77ngz1l33DM6uK/lyNWhSXWOfTw
+ RIwlEn3UfoD7wIUc+VUomLN4Pj1DWVO4BR2XZD8kUjEMB2J3TYIxW1FbuZ6FCpaEeUuCQrN+EWnC0w6c
+ XJB9ANgoXq+vKUOoXU8DglqryJiNOzSjdu9QxAFQWB84V7RjIKJ4PUiT0OboqY/tlA0HREmId8D05uEv
+ y8P2A4oppypq1+tnyyBq/V8FWJ/bzxuk9U9Woo+qm9tonFhzks6wDQGX66HPeSfBH27Ps7yG2sY1lNNn
+ iWWwIBfQmYgTjzkkeaMU5ZWAO+7+j8hD9iWeKJ7LXmb36TDL3cta9vDsvF7/KnIsv1mud6Epw+uGCzfr
+ A0kUjo9/Xd9cnp4sZAcEnbT8JeqQe0kA4GQSQujkcHrp10gs8p8cmuFWX2vU3kj027h7hkuHfN3XjrHc
+ 7fneGR9xIQnIHidE+kSew3j2Uo7M8agK6rJsETHzt0oJ3R85lbgId47bNdkIdtPe+xxLvFIMKgqFwYvC
+ DqlRB9QEjl9kJ0C1Sjmgfy2hItPQbdYWa3AAwVz9g928iOcriQZeuTsT/GfEplQFjv2AbE8iSphxXAbM
+ gDM516gp5tYsFIO7ExAoB4wmtxILnGLxVIq02Ax1gbuy16ij/HUUUBr+jsfunl5LtMdnzlzn05mqAxro
+ n85nPNfxz3RjO/TVKhngl+y1I9sl5nV9JA8tY3YpVhFUzXRJf3S3Ld6Mr3CHzmDMCBr1KBiTqrz+Psoh
+ 17mSo0s3jaNDnwxlT/lkI2i9CY4Fv2RvYLwheSwIIsBn6i5Rg+Dq/VemkWHZYSRwj+5vS7tYSCgGUhaL
+ dtK4o51Aadn+LGEHP/kOtIuTPS+ep2eO0QAREarev6F6r0z0VykIdCZqSl2mULudREeLwOkie+j9HaS5
+ Dij2z3wpDAp/S0x3CS0xQGC+kJCrJaFDIFb7sif02OHvvqozx+P1yF8g3LzXHBGOHEp/gfk8VPKqAt3j
+ XbezBO55D+aBUogwDj7ATTyY4oczRGCah3hhFVsQ+GdB+cDIreTOZjqGK4oigm+hS/MOfQMEGilEJC8V
+ eIwbszkIpF1xX3cERNDvaPRAhzBhYq39LVF4tvTS/RkiUAIC2hxdOOdBaDumqiH3h4Rjn11/B9pGUQg9
+ TdUnXpefEnfTW2DIciIjLy8QrFYC4SAf8kdPyNPYYMihcPIW+xzUn4F/pZn9PgwQqOWgvjRbg0Du7LMH
+ vUAzF2jOh/1I0Id6oBeEeQeRcDbotNE8TfnxTCc1gTKoZEO0oLy8IJC7CQ1XMjMW2MgyEt6TziG/GFo5
+ fWPon7m9QhX7pAr5QMoCWR0UFk4KtkFCNBvoUAJRDwucyz2IR+lcEYGou22gqmF5wLMf6oVO260+chBF
+ gagvYw/rLlzOC4Qw+oUEUjOBEdFBLpNk6Brc9RjcFUYI0uAPpygwVsECa/L0PQg0E2gmyC0sMMblmCP0
+ z+5CStTgv4GSQFunsENYX1FeJBDq9uMxjR76CfRTMjPlroYrWITnMAZTFBjpQIHwr3DzEQ2OJmjA5Opg
+ EIibuh0MpFkl7tJzAqM2TAqontwAypWMhcpm1X3gcziaBrJKIA4gcwKzZYHcRc1h6NKoB5vm6VpfCgL9
+ rJ2DBFbk4Q7NCQxqUVIkMC2inF3J6SY4gOLmIuSwmmR4S4M/wIM1eZx+go+nwTyXPSUPoj5oZNMTLh+h
+ CPCsQZiOdjZBTr2hwR8gUEJ5KF03ExBVEAi74hMFt1DJT3Gi5B3s+TDBXaE7fjV8WF8QqG5ouXyHQHJw
+ ENhiLwjaQbLWCETvke/khNLDEUbndAIiuOtVYmCELzH96RKI9lCgJFDyn3YLAtnaa24HlUAvLwikXQHo
+ 52DCPzoD8pv3Q8Kc543E9CYrcOYFhv5VXqDyhxJInW2IlYmlIBB3d2abE7piCoT+mRr/hmGxn8HtiRO4
+ 4EvQVC3U03wPWnu8CQHJfkiBEFYyjLuDpavmBOrT4YaEYoK7wh3XYP3KJBV8HS8QDW0bEAjt0ExMhCj6
+ RUKl503D+wzyhffCv1WBuJ/SVBYY+meqJpiE8a96tNYDEQjVExoAAnmakkw0NgSBuB/8kMESgB/8WxHo
+ 93bkWgnB98/UM6HRkm5nYlCDjwKh9xFmtnltFplo5lqDWqnfyWSKANfTtkz8Ov9rgbE8PKgocPTMx43n
+ sk2o+nVAg98ccZHMtYNRHoduKERjCnuOA5hGfVHqacUCl4k8FCiBHG7GSTaZ8ChnQIPfHnHXKCcwMkpt
+ ijedB71U6KrhSsKMwFieO0UBV6XIphAafGduJw0KxDKZERiboBwqgpwuL5W6anw04QXKtqJyC0K2u/tN
+ th2hwb+VmC6ayRE/MMoIjByIERLwgmIXFiqZ3Hgwyj2Lm7l3D/U8B5IwVgMqh+kRCe1ikW3oobFpFsmz
+ JPWESJ4W4VMljqBA/unSbP4H70ELHCmhlCWt0UPceQLumVTa4JfWi0rfPfd8UD1mdugYCbvSpPd2hoE5
+ VIVlKURrMkU7THhHDX5BoHuUjJME2JtXdbG22K3Rdb+EpGcMpSe8zQSKGreqOerPioncNMziURLDc2Qm
+ L5BGz8gr3kZA4y7rn9sh/slsWB0BiGsyjpaGHbsNBXnhyhWyjYFrIwHTHGYFwlXEgCUZBN3RFY1ZqbL3
+ eH1eFCFqzXoC4oxzqxk1alVIRNGzgWQFFhMK2V9deeUEBn2r0IxfYbEyS811ZhsXku/CSTycW3gyfUsb
+ 9DkLpDWMEBp8XZVmBIZSeBaerY6WyZXN0hFzZ9LxJjOQE9DnTldY6dTDgQX/IeGkqldaqGSIU6UP2pP3
+ rVX7/WzauMpatRqXmaYz4Bv8R4kAFnfH+XWCL/fQFVb6AL3aENcGSpCoLjb8dX25D/efOVuy2rDrHHCS
+ dVUe4H0QBlRWgqXaqxhItQu2MVp3H/k5GnVbJFRsSpcvw4kklMJVZxd99unEVzRyF9b0la/oK0NCQhDH
+ gRi7d5Hi8cOIxsQd+S4hhGYgsEGkgLLY+RKiczKivYsUDh+M69fLvE1S0gJwRQkBZGZAHQRbEsqZ2Fce
+ 7Fi2ZBhuyMhlNEzKxRjDyEyEAxKL6GxIFPaWlx76duhNBCD3VI00cEBbZjYiTMZHbsC56dJxlg3q889k
+ kjEjuycg0YDZsMAxEiK0obVsidhc+QQm8rpMPOonUSCSxq7uKxMEbEsoJW5JUJUPlA+z4PUkuAlkqG4F
+ 6uyO7ktIklBKmsYnInk9jdaX3ghuelj3evAiEkyoXT6XhvYOsLl26bfhZvj1e0C1i1STVJqXRO6TcBew
+ 70aLJ+JmppRAuIyEUsppJu/1BoZ7ebD3joNwa2iUwNpVbBq3HwQaJ7GRWNrs/vzJduSFCTb1CKqyBsQY
+ TiYFgnGQEFnK1lfM35a87PR+8UJohQRpgx62svOM8TlTaa+8RmlytyJvtJCphSfZTsHyxwG0gkIIbhVM
+ giQJGUQHFmmJoZNz5Jbkhd52YYmXu7ygLKuYVE7ycixZv24IV8dk56bIHMxkmn/XZtf0gUAJZMESgWfj
+ f9qd26B1E8D2dVgG9bnLR2bU9MFhEhK2rKGKW315lbGh5qWKk+xhGe9/KK6rHX8AA6jpS5wUMIfBhiuM
+ EvPB+LUmmRJaK4XlNKMPpMlW+VRbZSny0tFg1UlRGleNWHdwQKJJ3ycJc/j3YjILLiq9XuMlEqWQaMDs
+ 9in4pdy5J9lN/7uMnEdCtaCNjsvfRHg3LddGWEgCh6DKCIabDcun+88/4c5VoRbyTkDrK6v4rIpT2AmL
+ uO86chp9BkK4wjeKIE5CKbW07bPQL5N3FFBfOFNqXZRP7L40J2EZCWBr0OZ8x3J+Hsd4KknVtG1yst67
+ DusPkGjRYe0B6LckfgKcCiwuYAEqT9C7P9bxEUyTFj4RWDO0skRg2r164AOwH4ghEoE1Q4tLBGY1t38c
+ uUFuLLC2jsOowC9n0Lcl5vQV0a7FER/Arl6n60mLaNHUeBEQqUNx3d9D3T5Xpa+RppXMN+T363mxFW4v
+ d3txcXEhIcRsfCYXq4d/73kX+/8W6FgWfV5J+jbU9H1up3pD1Jz0MUuWtkt9VJRtbb4X9lvqhlrh/T6U
+ p2e+LRcHTG4yQ6ZnVph+dnC2W/Xg4ozOc3BWXrfaXsouD6PRvdu9fNK17PLStZSyilseFK1YB6BMImER
+ csd7+W4RR/lDIX7u61yts04//yr4ntaRRLyN0GGzdqG8Fj1IU8bQ8ZyVDWd8RpResvELHmkHnx+ll//8
+ VG6S9cPwi4HNC1zoOyo8i0PsXWNvu5jVDv9KZmb2HPCrAfljqGGpfL5M+3ci7yTizch5QGH4rp6TN9p5
+ ggR++aOzkQgmH2f2Dd8Wke9ShIXg6rVOh1omnpmLH0ZYk+/fjfFNgloi3+M10jCB92S+WAu06kOKUlL8
+ 45Lx+CCuRk4wX5n0navBqIlF+rann8ldh9eCzLulJSbBrPG17uk3+hOePqf0F9RWujLdUav8H8u1bH/M
+ 1+h21/RZwsW+/vxs55Qxo5yCA9HzRTtpF8v7MLMOqFvZXOHsYUm7n++pbH3f16k8bfS+zezpMHq3oe8X
+ lEJFwvw5dM9dHaYkGOXA3/i69uPMbweqygg7E9H/DdlYYUxU0mOFMe+uYBxNeM2QsFMt8YfKazxX32tJ
+ PloQXlHNMN3kiN33aFI6H0kZKu8BTTNN9ro86Xjzri5awo6pagJ32f97pcY/+8TAkzQGxEI1IJrpsM8b
+ 9GHfVF/MU+WVryKmVXCYdsOgWwXPaivjmvNL1ZJBpfbfYO851jfmXizOXTKLlcnbP9dvydae7Nxfvvy6
+ vf11c/nwvlu8PT89uDm+vb1+2V13PzgfPa8vXq5vb49vDvbON3vv/fDDDz/88MMPP/zwww8/9GY0+h8z
+ W7rQVG+bDwAAAABJRU5ErkJggg==
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAAOEAAADhCAMAAAAJbSJIAAAABGdBTUEAALGPC/xhBQAAAIRQTFRF////
+ AAAA+Pj4/Pz82dnZU1NTh4eHnp6exsbG9/f3DAwMCQkJBgYG8fHxdXV1Li4uQ0NDUVFRysrKp6en5+fn
+ b29v1NTUmZmZioqKe3t7Ly8vW1tbYmJiSkpKv7+/QEBAtLS0ODg4FhYWra2tIiIiGhoaJCQkt7e34eHh
+ eHh4Z2dnkZGRDnkTzQAAEStJREFUeF7tnYlW4zoMhtuGLV1YC2UtMAwMF97//a4ky5a8Jikt0J585zB1
+ bCfxb3mPkxn09PT09PT09PT09PT09PT09PT09PT09PT09PT07AwV/+4so3rHJVajEbt2ldGoN+F2M9px
+ E4IBd1AgqkJhAP6y7+7A+iw7Z0DSV4EsNCD8sffuUKp2uyEXBLIroqprdm0zBYFg3h2wIZRRdsVUOzE4
+ LZlpN1rVQitTKr/bQ76Q7oxAXdPMeMYObHZigghCRIaRJ+yIQCmIVY3WQwdhPLcRLIAsxCuInjkDtklu
+ UBK1wHy126IaSfqwCBp5Kt1QRPMqRlszdENhGR2FIoqnseu3UyyIeREgMK/+V1FKacFM2yOwWBCzYaBv
+ awQWzBSEoSoUxi3StggsmdCroKzPsjX6Sm2J1/E7VWjCrRrZQMLZhVABNCMb31Degc8vlwtC2AXkCyIc
+ sSumEPQL8HSQKmRU1/5QxsuHgFLYT+GqEdpMC8x2/PkiWg77EWxJ5F/2BbwDn5KZCqf9CJBWmO3xP94Q
+ Gw7ZFVMwU+m0HwEKokksVjdyMCUzQb1kVwgWBHb+Fgq2yAYFYaDX2N+Uc/b9/RSmep4MlGWKOFCaO34D
+ WA4t7JUnX0i9gggHXMzbXXaDUAI07J8jKIighM4xJZF9SWC2VPp3qJZHm2RpSR6GnO/NZzNdRkmVIEkv
+ zZQrP2g2/GWMTy8/z+eUNtJHZjcO8jT4hvYJwjaqcDoZj8eT6ZQPmel0Mgm8Ih4/90hhRgeEsCsmDNug
+ QiOPD0KmoW4GTpoY1+vCWDJFwYRRtmxKIZqvwVKo0dc5nUKmKJ9jMGSSQisTid+QwmZ9FtEY2nw6Hg7v
+ rjidHtlCCgGRdTeiEEzRUh/CpTIquMac93FZ9e3EAxrXILG3Y6MtzZeY2gp5zUm1dFyyqReH62SxaHs9
+ iMlx5ZzF9X8fp0YWFlpr0pNzTiwRCaRuBAwIRjSev4ZMembvF5eoawzV0HJDAiCQSqKciCM3doZsRm7h
+ hj5UtthtjtjJVMsP1sa87cHFGY4DwEH2fm2T0onSDTWgqPYleenGCNWgPjxhdQCU1xeTLdo04JG9H4Sx
+ a420FGgSygcW8GKXiYDh1ctfow+7ESipJlRRul+7tHSjNBhWQPJT8VyKdAaMFiyQ2pyHYN5YMpPOsXUB
+ 92sh0Nonwp3uX2d+B02O7TDH7+xrKOwj8nIRFyRTcPBayerLAbXu6Q/rQ47Yn8heK7jNwdtJksePJcdw
+ 7H3e7Wc5498kdwfQpeGN5c7V8pgDmbOz/bv7m4vzGUdA0EzzfZaHPHEAABdjF0IXh8vzCId9if/43AQP
+ +maD+p69V+PxHe4tOXukTePzeOgGauaMaw5ADk1AIJD1WXzb3vCpKV5VWZ3nk0RMXHXJoUcmF+wXYK/x
+ sKREQsIp9pHxJT7JByVJcXCqcHDqywNKCocfHAlQvVMKGGyzK8tYxtA6yRqcThhu/0E0p+L9lr2BTzOw
+ EQt6ahMUFQ7dBO2QPXJ487oEmAOXfK1Blc2uiRSEx3NQyCcMRg/sC1xgCVWStNoUZYUHHGvQUAQbyijN
+ h4dDW6+X7O1wuTPVGXWp2oEKxqrTiVn++OcNaZsElloaYJ9j7fFxjmlZIOnDpBkOyFchsia6sL/aqosV
+ 8hNq6QTmkCBST4sxqMzn82kKvtEtn56rOJYGgTy3vTAXG0A3ThhfsEyyEmOlNHNDUAFWUxVFzYrLdTBP
+ xdO0k0DhIVVyn3o2Y1cIhMxm9aiyZ1uF3MP9mUMEty4P1LPzQ6feLNmcYQJYhTTAf6WRX3m7V0ahTaMm
+ N3qSNu48OJsVjmfJU58eIcwORnGo5gqiSHxmnxaFNEcHhelyQsbmgAaF2PpzTBi+w79HquUcDpcDdwOp
+ wHfGQ87sTHuF6VxU+ooK7QNgG5kdTyaG4YVCCJkYH+Mhnkz+K9BFYZyLeGflm1H4Z0YZYeDqZK/mjREX
+ 5EWIdWFw8xWBHRR6WohAX6zwDA8mU1BIUTGuPQM86HcweKFTDLLcVj+zF14tvnUHuihkB4OJDu6csiF0
+ IWPVo7tT5Nx3O/KBPpIlwqhTjY+XX9r63FqhZDqR0JdWCMlWCuEk53Jnj8jW2G/wqXDxGgcfNLKBv9yi
+ fys6KNR6UGCcsaLQDP2NDZ1Cb4nQux4OKUEgCoLxEGYeeMLVYPxGazf5ZzfNlBTyLNOkRCtK6xOFZrxQ
+ mZZmYhTiCwb6NIjCv+haWIFDGKrZWNLQvqly3pW8QiMPyosJksRBQLBIaFEKUZBROOV6iGfpbGGFKLyu
+ oL0x+oB3N/WT8duDPrMbWYUoMJEgIzxzP6cQ3GgZUki9BXoEJ9lc4rmsGOxVDCbTBe75VyCrMJRhFJb0
+ 6XoIVCPoLcgwRmGIzTKLDNUeJSTo+Vchp9BvWIxJjMCsvkAhNPFnQ5pLtFPolmkmymCVaWYRs6zRnazC
+ QAgqhL9MBSQqnFvQ/Mm2xKAQD3V/KMR5xQbTqwSDWpYJ1KCuC/mWxoeKZ9GAYHU4m2a2SiFOKFMKk6WB
+ DEbdogxu1INP7+FbazIK3WKehRQW9GGE6hxmuagpUBiXUpNf0eVGOJ8yvYZksVp2WKnn72DDkj4Tfo5P
+ sCF9Nn9yNkSB0NnGF5y/QiEw6wiyTm3TBFm1Ss/fQSG70lC47i3AK6MQouLTBrulyS19ouY9HAMZxGAy
+ Nr9dYaKfUahqNd+/QSGZWBTWOB6C/pCS6ylE+5H1+II81mEGV3QBQgz2yT4w52efDjQpxASRI6eQLUDR
+ RKFJ7p3pD5VCp08UUlQARjwY8I+ugDybeIgshd6zT3uSCidOoQy10gqVRZRCGnmDL682iUKMbtPtXdCW
+ VECGampCLPNkt7LbFqtwZu5Ba7jQXJt66CfIpUFgA0AIuLClMdhazKM2q1BfDg/YFSIGk1pXYStriJr5
+ BpxCTGldgULojyacRvCiX0SaPpc2rGuQMSYW/ltUiPGUqLxCGaqp1mAkE2L15K0NrBAaKUwBKDTLl5RG
+ LxGiEOPBD6WYHfCD/xYUutiWVGfBuKGaemA0mFOVJrr1/KgQxiGy5m22cVEavUVYkcvNPKWZPMD4dMwr
+ wrYEaIWhPjwpq3Dwbs4bTvmYUK1sl56/OjWlMtUfBrksQ1LwxhBjO+PAMBqX0qArVDiP9KFCdqSwy1B8
+ aJDnPF16/vrUjJJSCoNUqUO2p7Wh0wqjNtx3mFAY6rOXyGDbFT5kpOe3yW2mQoVYLBMKwzQok7IiK8xp
+ pVGbOZtwCvlYUaiGkO+2zvGxRXr+B/ZppBqdmsdJCYWBCdGDHU5RaMRMS5OaHwbZ52MX9e0zP8cxBwzV
+ /MrhDY6YejZL9vjQ6VSz6EmTen7Ez5LwmZPxIEf62dNk+gfroQ+cya6YOW3oQ+x1BPvEKtHz5/aX8kg+
+ 9fxQPYm2aB922wKlY9uUQXqoHUuS8dYkSrcshYc9f0ahfdqM6wY4tldNsk6y3dVrfwkOT6SUngFXIyht
+ pndNUX6aTKSWZmavHChPmpm0QppPI59YlYDK3tc910Pcs1vZQwGwcRKm5h4exw8ZfXLnAsk+wfaVgN8t
+ JhXCbTgFc0oRDE0XNImlNt/hBDpVBMv1Nh0Qlya7qkGlNo8EZG0rRHu1DFLM/notWEqhCFxIf36LJcvb
+ n66z2zMiWU8u4jDZhRfT1dpDXzND3Mww0vN7DWpCoRTES3n6OphHt/Z2mHi1k873cgM5B4H2cpk9US1M
+ mLEgIhfVI9RMS0NcKIHQrXxtX9vzu9fXFfa1lbhJdKGC6/lf2QOZPZ6ldxV+PMG4WAkE9N5E3EnITqK4
+ NXH/7uYI6qB3tWhvYtM14CLLoj7AGUGvtvBviuL4oiPF0djaqG1VknUbVTUiComKdzzDhdgVYxrQJtrE
+ acS1Nmo3Vf6y2TDXJBLsAj/jCPFjZ8me341wktyQ8+xCaFECO0ZyqCRba4J3SkcQO0vm9M7YQb5dy4kK
+ mwC3ZBdA6RTUSXDErlQa2+qDiPmUdMNOIbmYylpdiJcySidiHOyL6HyIJLbWF5+6OvQCA5B86EYijEMn
+ zTsI8LI+MAR9ApDdZdYo0D2wieaQXL8E9ga8Ax84h12ETmkpXwLWV0SBEb9oE64DUEGEAjiiyaz9YgUB
+ x+yKCTsUlOUc+dN88H7sXAc8dw8U6gwP6iYEsSsmDjMXIn0tU61vvRbsurE3/sG7sDOidP9UGCa4Q6JL
+ t14Nu/jvvUJUuksxSIU5TWRAdjcBcddaQhG7XKUVwn3YFZMP83JfH6C7lQ1bR+yE3WujFZZu44eZboTA
+ 1LFvoJYOm7+mshl9suymHj1Av8WuGC/llCZBUgcBQVJN8gvp35S+9Mp/9k6YDHbSAT2ONebzUp9KK8VK
+ i+SudyP6BjNebHjj4wRYBI0Dk0EuBI8yaYIgdnmwECzV7EMXN54b0idD79xuMHt/RiWtkKZ8kNPjk7Ts
+ mrANTXrBitKD2UxL8zrdJYGgkB1JsEzg1cyfNugmqO3KsP9GLYMC7f2DdJQEwmnsYjYsoojdrHmbSkPJ
+ TgUz+acl7P+t2HF3+DENpCQwMpPgnQYHtjyyzzfjtqSkCmmpIObDPIGgjY/yl9ooc9aXmB0WzRSEmQYS
+ GxDjYG8S+EPKLO6NmtS2jMIQ2LMTqVKwN+BF+xHc9u/kw+6qfU0j85FSrWitM/WVkDfbkl2FD2kwLmg3
+ JOXegc+PW9A9BE82pD5kH0ELzMv4qeaT2ZON349NWY1WAyWm3fckgR+7Ykphm2emX0lvKqOufMaUBis/
+ OJCpzmW3CRC0o9XVns/VVejjKAQVwzbJ+fLwTjYpIOEWxdIT0q0kekYcK8xudAEKT9mbv/zxHYzjrj5S
+ WEppYR/BuHmLwTfgf2/GECkspTS7j2BSMvz3kZz1hgpL2z08GfgZDvpOxZS+Utq0heIbONAbe4W4lGbT
+ Gu4WInmorvmDq5vnNvu107il2UKeP6/yvXF9c9CK6+trdiHewU9yvXj596U3uncXGGRmzV4I2h5KAn92
+ hL0uSmb6ns1NG6Y8SUr3OttF8Nl2Tan8bhH5JZvt5frYkFwpNlPiBYZfHl8eFG04u6TrHF/mN7rWNxzl
+ ZTB4stHzF11ylI+mnZdl7EaicJ87FUtE9i03vOBv93rkPzviVsSu1N7s+AOzjBtznbLHisjYzU8Y6qvR
+ hrSYDIPQST7lBpcTufdz3P5IiuAyJPfyoFvjjfK+I27/sPf6F1qPys/sBIfaOPTOZrbFvdSZWlhXewfN
+ 11Zlg326WLuXKh/ZY3X4QiBRPtln9Q323iDAvDXS2FdIms8SceVLJfyNC9k8rjYuW9TW8tQyfTdkK797
+ rcb1DGpjfYs3UWVd7837KC5Qq480cllxz1KGw+OwLTnHjDUkXtjqjFpwpG+HuiXepbxS5L2emmMk6Rre
+ 6XF/pb8Q6rJKf5ltoZvUPfVuwGu+re2A9527gyV98nB2pL9w27yYTCiz4Mz0alaP6tn8SRbdAVWdvTtc
+ vswp+tWhytcvfvLKUQev6kzeToJ3Itp+lUlaE8OfE/tk1uKVBU868De8r/8J6C8ADWaAvzjR/i3bUGJI
+ UNhDiSFfb2UslbynSPjLL+En0Uu8F9+IiV6ClLdcE4zXOod3Y5uY5idWmsIrRONE373Mr0Xef220FrHn
+ tTfCY/L/eynxz3+a4Ij6BGKm+hHNuOOHEtpw5DVihrfCC2NZvM7B4nUfHrpzcCw2M8u5ulE9GjRt/3W2
+ n2V579XH/JomMVt4mfvnbpV8bcve083H/sPD/v3Ny9fqeX11cXx/9vBw93GwbPFw/X15/XH38HB2f3x4
+ teb619PT09PT09PT09PT09PT09PT09PT09PzixkM/gePxb1MMSxLGwAAAABJRU5ErkJggg==
+
+
+
+
+ AAABAAUAEBAAAAEAIABoBAAAVgAAABgYAAABACAAiAkAAL4EAAAgIAAAAQAgAKgQAABGDgAAMDAAAAEA
+ IACoJQAA7h4AAOHhAAABAAgArOgAAJZEAAAoAAAAEAAAACAAAAABACAAAAAAAAAEAAAAAAAAAAAAAAAA
+ AAAAAAAA////////////////////////////////////////////////////////////////////////
+ ///////////////////p6en/3d3d//r6+v////////////Hx8f/a2tr/9PT0//r6+v/c3Nz/6urq////
+ ///////////////////e3t7/jY2N/42Njf+2trb///////T09P+Xl5f/kJCQ/5+fn/+tra3/jo6O/46O
+ jv/l5eX/////////////////qqqq/5WVlf+fn5//kJCQ/6SkpP+enp7/kJCQ/6Ojo/+Ojo7/jIyM/6Gh
+ of+UlJT/mZmZ/6SkpP+7u7v/9fX1/9bW1v/Jycn/ycnJ/8rKyv/Jycn/ysrK/8rKyv/Jycn/y8vL/8vL
+ y//Kysr/y8vL/8vLy//Kysr/nJyc/5ubm//+/v7//v7+///////+/v7//f39//7+/v/9/f3//v7+////
+ ///+/v7//////////////////////+np6f94eHj/paWl/4WFhf+1tbX/lZWV/4uLi/+MjIz/i4uL/5KS
+ kv+3t7f/hoaG/42Njf+MjIz/kpKS/+vr6/+ysrL/lpaW//Dw8P/Dw8P/fHx8/4uLi//n5+f/6Ojo/+jo
+ 6P+NjY3/fHx8/729vf/s7Oz/3d3d/3p6ev+enp7/jo6O//Hx8f/z8/P/xsbG/319ff+Li4v/6Ojo/+np
+ 6f/p6en/jo6O/3x8fP++vr7/4eHh/5SUlP+EhIT/hYWF/+rq6v//////oKCg/3l5ef+oqKj/iYmJ/35+
+ fv+AgID/fn5+/4eHh/+qqqr/eXl5/35+fv+BgYH/g4OD/+Hh4f///////v7+/6Ghof+Ghob/i4uL/4qK
+ iv+Hh4f/h4eH/4iIiP+Kior/i4uL/4iIiP+IiIj/oaGh/+jo6P///////v7+//7+/v/39/f/9fX1//X1
+ 9f/19fX/9fX1//X19f/19fX/9fX1//X19f/09PT/9vb2//7+/v/+/v7//v7+//7+/v//////////////
+ ///////////////////////////////////////////////////+/v7//v7+//7+/v/+/v7/////////
+ //////////////////////////////////////////////////////////////7+/v/+/v7/////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAoAAAAGAAAADAAAAABACAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAA////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////7+/v/k5OT/1NTU//Hx8f///////////////////////Pz8/9/f3//W1tb/9fX1////
+ ///8/Pz/3t7e/9bW1v/29vb//////////////////////////////////v7+/6enp/9TU1P/W1tb/19f
+ X//Y2Nj////////////7+/v/kpKS/1RUVP9ZWVn/ampq/+Dg4P+Pj4//VFRU/1lZWf9tbW3/6Ojo////
+ ////////////////////////9PT0/56env/U1NT/9vb2/7CwsP+9vb3////////////t7e3/mZmZ/+Hh
+ 4f/09PT/pqam/7i4uP+bm5v/4+Pj//Pz8/+ioqL/0NDQ////////////////////////////oqKi/3Fx
+ cf9ycnL/cHBw/3Nzc/9xcXH/cXFx/3Jycv9xcXH/cnJy/3Fxcf9xcXH/c3Nz/3BwcP9ycnL/cXFx/3Fx
+ cf9zc3P/cHBw/3BwcP9wcHD/hoaG/9nZ2f//////09PT/7q6uv+6urr/ubm5/7q6uv+6urr/urq6/7q6
+ uv+6urr/urq6/7u7u/+7u7v/u7u7/7u7u/+7u7v/u7u7/7u7u/+7u7v/u7u7/7u7u/+6urr/kJCQ/1VV
+ Vf/X19f/////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////46Ojv97e3v//////////////////v7+//7+
+ /v//////////////////////////////////////////////////////////////////////////////
+ /////////////62trf9lZWX/sLCw/4WFhf+Ghob/xMTE/97e3v+MjIz/hoaG/4aGhv+Ghob/h4eH/4SE
+ hP+pqan/7Ozs/5ycnP+FhYX/hoaG/4aGhv+Ghob/jIyM/9jY2P//////8/Pz/2dnZ/+fn5//wMDA/5+f
+ n/9/f3//ZmZm/4+Pj/9gYGD/oaGh/56env+enp7/np6e/5SUlP9NTU3/q6ur/0tLS/+cnJz/np6e/56e
+ nv+hoaH/dnZ2/2pqav/39/f/f39//3d3d//19fX////////////Ozs7/Z2dn/4iIiP+bm5v/////////
+ //////////////Ly8v9hYWH/oKCg/2xsbP/+/v7////////////19fX/c3Nz/4+Pj/+SkpL/ZmZm/+7u
+ 7v/////////////////Ozs7/aGho/4iIiP+bm5v///////////////////////Ly8v9gYGD/oKCg/21t
+ bf/+/v7///////Hx8f97e3v/dnZ2/5ubm/9bW1v/5OTk////////////ycnJ/6ampv+Dg4P/ZmZm/4+P
+ j/9gYGD/oaGh/56env+fn5//np6e/5SUlP9OTk7/q6ur/0tLS/+cnJz/l5eX/2BgYP97e3v/oaGh/1RU
+ VP/Y2Nj/////////////////tLS0/4CAgP+AgID/v7+//9zc3P+Kior/g4OD/4ODg/+Dg4P/g4OD/4KC
+ gv+np6f/6enp/5iYmP+CgoL/h4eH/6SkpP+Li4v/VlZW/87Ozv///////v7+//7+/v/+/v7/n5+f/2lp
+ af9ra2v/ampq/2lpaf9ra2v/a2tr/2tra/9qamr/bGxs/2xsbP9qamr/aGho/2tra/9ra2v/aWlp/1pa
+ Wv97e3v/4ODg///////+/v7//v7+//7+/v/+/v7/29vb/8fHx//IyMj/yMjI/8jIyP/IyMj/yMjI/8jI
+ yP/IyMj/yMjI/8jIyP/Hx8f/x8fH/8fHx//Gxsb/ysrK/+Hh4f/8/Pz///////7+/v/+/v7//v7+//7+
+ /v//////////////////////////////////////////////////////////////////////////////
+ ///////////////////+/v7//v7+//7+/v/+/v7//v7+//7+/v//////////////////////////////
+ /////////////////////////////////////////////////////////v7+//7+/v/+/v7//v7+//7+
+ /v/+/v7//v7+////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////f39//39/f/+/v7//v7+////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////+/v7/////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAACAA
+ AABAAAAAAQAgAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAP//////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////Pz8/+Dg4P/Ozs7/5+fn//7+/v/////////////////////////////////x8fH/0tLS/9fX
+ 1//39/f////////////9/f3/5OTk/87Ozv/j4+P//f39////////////////////////////////////
+ //////////////Pz8/+BgYH/MTEx/zIyMv82Njb/mZmZ//v7+///////////////////////w8PD/0dH
+ R/8xMTH/Ly8v/1paWv/c3Nz/+vr6/4+Pj/8zMzP/MjIy/zIyMv+Kior/9vb2////////////////////
+ ////////////////////////o6Oj/z8/P/+5ubn/4eHh/6SkpP88PDz/wsLC/////////////////+rq
+ 6v9NTU3/enp6/9zc3P/S0tL/Xl5e/25ubv+vr6//PDw8/66urv/j4+P/srKy/zw8PP+wsLD/////////
+ //////////////////////////////n5+f/a2tr/3Nzc//b29v/29vb/9fX1/9fX1//f39//9PT0//T0
+ 9P/09PT/6+vr/9HR0f/v7+//9/f3//f39//o6Oj/09PT/9ra2v/Z2dn/9vb2//b29v/29vb/2tra/93d
+ 3f/09PT/9PT0//T09P/7+/v/////////////////n5+f/0NDQ/9ERET/Q0ND/0JCQv9CQkL/RUVF/0RE
+ RP9DQ0P/RERE/0RERP9DQ0P/RERE/0JCQv9CQkL/QkJC/0NDQ/9ERET/Q0ND/0RERP9CQkL/QkJC/0JC
+ Qv9ERET/Q0ND/0JCQv9CQkL/QkJC/1RUVP+np6f/+Pj4///////W1tb/rq6u/66urv+tra3/rKys/62t
+ rf+urq7/ra2t/62trf+urq7/rq6u/62trf+urq7/rq6u/66urv+urq7/rq6u/66urv+urq7/rq6u/66u
+ rv+urq7/rq6u/66urv+urq7/rq6u/66urv+tra3/h4eH/y4uLv+Ghob//Pz8////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////vr6+/y8vL//Gxsb///////7+
+ /v/+/v7//v7+//39/f/+/v7//f39//39/f/9/f3//v7+//39/f/+/v7//f39//39/f/+/v7//v7+//7+
+ /v/9/f3//f39///////////////////////////////////////////////////////6+vr/UVFR/4WF
+ hf////////////////////////////39/f//////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////////////////////v7
+ +/9UVFT/gYGB/9LS0v+oqKj/qKio/6mpqf/T09P//////9bW1v+pqan/qKio/6ioqP+oqKj/qKio/6mp
+ qf+oqKj/p6en/9HR0f//////2tra/6qqqv+np6f/qKio/6mpqf+oqKj/qKio/6qqqv/W1tb/////////
+ ////////x8fH/zAwMP+/v7//oKCg/0JCQv9ERET/NjY2/0NDQ//g4OD/SEhI/zQ0NP9ERET/RERE/0RE
+ RP9DQ0P/RERE/0RERP81NTX/PT09/+Dg4P9PT0//MDAw/0RERP9ERET/RERE/0NDQ/9DQ0P/PT09/zc3
+ N//W1tb//////9zc3P89PT3/eXl5//v7+//6+vr/9vb2//n5+f/Dw8P/Nzc3/87Ozv86Ojr/vLy8//j4
+ +P/09PT/9fX1//T09P/z8/P/9vb2/8bGxv83Nzf/z8/P/zs7O/+zs7P/+Pj4//X19f/09PT/9fX1//j4
+ +P/b29v/Ly8v/7S0tP/r6+v/TExM/19fX//x8fH//////////////////////8vLy/83Nzf/z8/P/zs7
+ O//ExMT///////39/f/+/v7/////////////////zs7O/zc3N//Ozs7/PT09/7y8vP///////f39//39
+ /f//////8/Pz/2hoaP9MTEz/3Nzc/19fX/9OTk7/6enp////////////////////////////y8vL/zc3
+ N//Pz8//Ojo6/8PDw////////f39//39/f/+/v7////////////Pz8//Nzc3/87Ozv88PDz/vLy8////
+ /////////v7+//X19f94eHj/Ozs7/9LS0v91dXX/Pj4+/93d3f/////////////////8/Pz/+Pj4//v7
+ +//FxcX/NjY2/8/Pz/86Ojr/vLy8//n5+f/19fX/9fX1//X19f/09PT/9/f3/8jIyP82Njb/z8/P/zs7
+ O/+zs7P/9vb2//Pz8//T09P/YGBg/zo6Ov/Kysr/iIiI/zQ0NP/Pz8///////////////////////7Cw
+ sP9LS0v/S0tL/zk5Of9AQED/4eHh/0hISP8yMjL/RERE/0NDQ/9ERET/RERE/0NDQ/9DQ0P/NjY2/z8/
+ P//h4eH/Tk5O/zAwMP9ERET/QkJC/zAwMP9gYGD/0dHR/4uLi/8uLi7/vr6+///////9/f3//v7+//7+
+ /v//////2NjY/6ampv+lpaX/paWl/9HR0f//////2dnZ/6urq/+qqqr/qqqq/6qqqv+pqan/qqqq/6qq
+ qv+rq6v/1NTU///////a2tr/rKys/6mpqf+srKz/xsbG/8vLy/9iYmL/NDQ0/7y8vP///////f39//7+
+ /v/9/f3//f39//39/f+2trb/b29v/3BwcP9wcHD/bm5u/2tra/9ubm7/cHBw/3BwcP9wcHD/cHBw/29v
+ b/9wcHD/cXFx/3BwcP9ubm7/a2tr/21tbf9wcHD/b29v/29vb/9TU1P/MDAw/2FhYf/X19f///////7+
+ /v/+/v7//f39//39/f/+/v7//v7+/7u7u/95eXn/enp6/3p6ev96enr/enp6/3p6ev96enr/enp6/3p6
+ ev96enr/enp6/3p6ev97e3v/enp6/3l5ef95eXn/enp6/3p6ev96enr/fHx8/5OTk//Kysr/+Pj4////
+ ///+/v7//f39//7+/v/+/v7//v7+//7+/v//////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///+/v7//v7+//39/f/+/v7//v7+//7+/v/9/f3/////////////////////////////////////////
+ //////////////////////////////////////////////////////////////////////////////39
+ /f/+/v7//v7+//7+/v/9/f3//v7+//39/f/9/f3//f39//7+/v//////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////39/f/9/f3//f39//7+/v/9/f3//v7+//7+/v/+/v7//v7+////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////+/v7//f39//7+/v/+/v7//v7+//7+/v//////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////+/v7//f39//39/f/+/v7/////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////////////////////7+
+ /v//////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////////8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgA
+ AAAwAAAAYAAAAAEAIAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////9/f3/9jY
+ 2P/ExMT/0NDQ//Hx8f////////////////////////////////////////////////////////////Dw
+ 8P/Q0ND/xcXF/9nZ2f/4+Pj////////////////////////////u7u7/zs7O/8XFxf/b29v/+fn5////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///Ly8v/VVVV/xYWFv8KCgr/EBAQ/z8/P/+vr6//+/v7////////////////////////////////////
+ ///6+vr/q6ur/zs7O/8QEBD/CgoK/xcXF/9ZWVn/zs7O////////////+fn5/6Kiov83Nzf/Dg4O/woK
+ Cv8ZGRn/X19f/9XV1f//////////////////////////////////////////////////////////////
+ /////////////8XFxf8kJCT/Dw8P/1xcXP+Hh4f/bGxs/x4eHv8PDw//np6e////////////////////
+ //////////////////+Wlpb/DAwM/yEhIf9vb2//h4eH/1lZWf8ODg7/KSkp/8rKyv//////i4uL/woK
+ Cv8mJib/c3Nz/4eHh/9VVVX/CwsL/y8vL//T09P/////////////////////////////////////////
+ ////////////////////////9vb2/1tbW/8gICD/rKys//z8/P///////f39/8vLy/85OTn/OTk5/+Dg
+ 4P///////////////////////////9zc3P8yMjL/PDw8/9HR0f////////////v7+/+np6f/Hx8f/2Zm
+ Zv/MzMz/Kysr/0VFRf/Y2Nj////////////6+vr/nZ2d/xoaGv9wcHD//Pz8////////////////////
+ ////////////////////////////////////////+vr6/9zc3P/g4OD//f39////////////////////
+ ///n5+f/19fX//Pz8/////////////////////////////Pz8//X19f/6enp////////////////////
+ ///8/Pz/39/f/93d3f/t7e3/19fX/+vr6///////////////////////+/v7/93d3f/e3t7//Pz8////
+ ///////////////////////////////////////////////////u7u7/v7+//729vf+9vb3/u7u7/7m5
+ uf+6urr/u7u7/7u7u/+9vb3/vr6+/7q6uv+7u7v/vLy8/7y8vP+7u7v/u7u7/7y8vP+9vb3/vLy8/7u7
+ u/+7u7v/u7u7/7u7u/+7u7v/vb29/729vf+8vLz/vb29/7y8vP+7u7v/u7u7/7u7u/+7u7v/u7u7/729
+ vf+9vb3/u7u7/7u7u/+7u7v/u7u7/729vf/Ozs7/8PDw///////////////////////CwsL/FRUV/wcH
+ B/8ICAj/CwsL/wgICP8HBwf/BwcH/wcHB/8ICAj/CwsL/wgICP8ICAj/CgoK/woKCv8LCwv/CgoK/wcH
+ B/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcH
+ B/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcHB/8HBwf/BwcH/wgICP8PDw//Ozs7/6SkpP/4+Pj/////////
+ ///k5OT/mpqa/5SUlP+UlJT/lZWV/5OTk/+Tk5P/k5OT/5SUlP+UlJT/lJSU/5SUlP+UlJT/lJSU/5SU
+ lP+UlJT/lJSU/5SUlP+UlJT/lJSU/5SUlP+UlJT/lJSU/5SUlP+UlJT/lJSU/5SUlP+UlJT/lJSU/5SU
+ lP+UlJT/lJSU/5SUlP+UlJT/lJSU/5SUlP+UlJT/lJSU/5SUlP+UlJT/lJSU/5KSkv9wcHD/JCQk/wkJ
+ Cf+AgID/+fn5////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////2tra/0tLS/8LCwv/ra2t//////////////////7+/v/8/Pz//v7+//7+/v/+/v7///////7+
+ /v/9/f3///////7+/v/+/v7//v7+//39/f/9/f3///////39/f/8/Pz//f39///////+/v7//v7+//7+
+ /v/+/v7/////////////////////////////////////////////////////////////////////////
+ /////////////////////////////9PT0/8eHh7/SEhI//T09P///////v7+///////+/v7//f39//39
+ /f/8/Pz//f39///////9/f3//Pz8//39/f/9/f3//v7+///////8/Pz//v7+///////+/v7//f39//z8
+ /P/8/Pz//f39//39/f/9/f3//Pz8//z8/P/+/v7/////////////////////////////////////////
+ //////////////////////////////////////////////7+/v9kZGT/FxcX/9HR0f///////f39//39
+ /f/+/v7//v7+/////////////f39//39/f///////v7+//7+/v/+/v7//Pz8//7+/v/+/v7//f39//7+
+ /v/8/Pz/+/v7//7+/v////////////////////////////7+/v/8/Pz//Pz8////////////////////
+ //////////////////////////////////////////////////////////////////+FhYX/DAwM/7+/
+ v//+/v7////////////+/v7//v7+//7+/v/+/v7//v7+//z8/P/9/f3///////////////////////7+
+ /v////////////7+/v////////////7+/v////////////////////////////////////////////7+
+ /v//////////////////////////////////////////////////////////////////////////////
+ //9sbGz/ExMT/8zMzP/29vb/5+fn/+fn5//m5ub/5+fn/+bm5v/y8vL////////////8/Pz/6urq/+Tk
+ 5P/k5OT/5ubm/+Xl5f/m5ub/5OTk/+bm5v/n5+f/5+fn/+bm5v/k5OT/6Ojo//z8/P////////////f3
+ 9//n5+f/5+fn/+Xl5f/l5eX/5+fn/+fn5//n5+f/5+fn/+fn5//m5ub/7u7u//7+/v//////////////
+ /////////////9zc3P8mJib/Pj4+/+/v7//IyMj/Ly8v/yMjI/8jIyP/JCQk/ycnJ/9SUlL/3d3d////
+ //+ioqL/MjIy/yQkJP8jIyP/JiYm/yQkJP8kJCT/JCQk/yMjI/8lJSX/JSUl/yUlJf8jIyP/Kysr/4+P
+ j//8/Pz/6enp/2BgYP8kJCT/IyMj/yMjI/8jIyP/JiYm/yQkJP8jIyP/IyMj/yMjI/8jIyP/MTEx/5WV
+ lf/6+vr/////////////////7+/v/11dXf8ICAj/oaGh///////U1NT/W1tb/1BQUP9RUVH/UlJS/z8/
+ P/8FBQX/mZmZ//T09P85OTn/FRUV/1BQUP9RUVH/U1NT/1JSUv9SUlL/UlJS/1BQUP9SUlL/UVFR/1JS
+ Uv9QUFD/HBwc/yoqKv/r6+v/sLCw/wcHB/81NTX/UlJS/1FRUf9RUVH/UlJS/1FRUf9RUVH/UVFR/1FR
+ Uf9SUlL/LCws/xAQEP+9vb3////////////29vb/cnJy/wUFBf9ubm7/9vb2///////+/v7//f39//39
+ /f/9/f3//////7+/v/8NDQ3/jo6O//Ly8v8wMDD/SEhI//T09P/8/Pz//f39//v7+//7+/v//Pz8//r6
+ +v/5+fn/+vr6//r6+v/5+fn/XV1d/yMjI//o6Oj/pqam/wUFBf+mpqb///////z8/P/9/f3/+vr6//z8
+ /P/9/f3//f39//39/f//////ra2t/wMDA/+Ojo7///////r6+v+Ghob/BwcH/1hYWP/u7u7/////////
+ /////////////////////////////8LCwv8KCgr/jo6O//Dw8P8wMDD/S0tL//j4+P/9/f3//v7+//39
+ /f/+/v7//v7+//7+/v/+/v7//Pz8//z8/P/7+/v/XV1d/yAgIP/m5ub/pqam/wUFBf+pqan///////z8
+ /P/+/v7//f39//7+/v/+/v7//f39///////p6en/T09P/w0NDf+6urr//////5ubm/8LCwv/R0dH/+Pj
+ 4////////////////////////////////////////////8LCwv8KCgr/jo6O//Pz8/8vLy//SUlJ//n5
+ +f///////v7+//z8/P/9/f3////////////////////////////7+/v/Xl5e/yEhIf/m5ub/p6en/wcH
+ B/+qqqr///////7+/v/9/f3/+/v7//39/f/+/v7//v7+//Hx8f9jY2P/BwcH/3x8fP/6+vr/rq6u/xQU
+ FP80NDT/2NjY/////////////////////////////////////////////////8LCwv8KCgr/jo6O//Pz
+ 8/8vLy//SEhI//f39//+/v7///////z8/P/8/Pz//Pz8//7+/v/////////////////+/v7/Xl5e/yEh
+ If/n5+f/pqam/wcHB/+rq6v///////7+/v///////f39//39/f//////9vb2/3h4eP8GBgb/ampq//X1
+ 9f/CwsL/Hx8f/yYmJv/Jycn//////////////////////////////////////////////////////8LC
+ wv8KCgr/jo6O//Pz8/8vLy//SUlJ//j4+P/9/f3//v7+//39/f/+/v7//v7+//39/f/9/f3//v7+////
+ ///+/v7/XV1d/yAgIP/m5ub/paWl/wcHB/+rq6v///////z8/P/+/v7//f39///////s7Oz/c3Nz/wgI
+ CP9VVVX/7Ozs/9DQ0P8tLS3/Ghoa/7i4uP//////////////////////////////////////////////
+ /////////////8HBwf8JCQn/jo6O//Ly8v8vLy//SEhI//f39//9/f3//f39//v7+//7+/v//f39//39
+ /f/7+/v/+vr6//v7+//8/Pz/XV1d/yAgIP/o6Oj/pqam/wUFBf+np6f//f39//n5+f/8/Pz/8vLy/8HB
+ wf9MTEz/BQUF/1ZWVv/n5+f/39/f/zw8PP8RERH/p6en//7+/v/+/v7/////////////////////////
+ ///j4+P/cHBw/15eXv9fX1//YGBg/0dHR/8EBAT/mZmZ//b29v85OTn/FBQU/09PT/9RUVH/UVFR/1FR
+ Uf9RUVH/U1NT/1FRUf9RUVH/UVFR/1BQUP9QUFD/HR0d/yoqKv/s7Oz/sbGx/wYGBv81NTX/U1NT/1JS
+ Uv9RUVH/Pj4+/w4ODv8TExP/fHx8/+/v7//c3Nz/SUlJ/woKCv+RkZH//f39//7+/v/8/Pz/////////
+ ///////////////////Y2Nj/NjY2/xwcHP8eHh7/Hh4e/x4eHv9HR0f/29vb//////+ioqL/Ly8v/yMj
+ I/8jIyP/IyMj/yMjI/8kJCT/JiYm/yMjI/8jIyP/IyMj/yMjI/8jIyP/LCws/5GRkf/9/f3/6urq/19f
+ X/8kJCT/IyMj/yMjI/8kJCT/MzMz/2hoaP/FxcX/+/v7/8TExP81NTX/CgoK/4eHh//4+Pj//f39////
+ ///9/f3//Pz8//39/f/9/f3//v7+///////7+/v/6enp/+bm5v/m5ub/5ubm/+bm5v/09PT/////////
+ ///+/v7/8PDw/+rq6v/r6+v/6+vr/+vr6//r6+v/6enp/+np6f/r6+v/6+vr/+vr6//q6ur/7+/v//39
+ /f////////////n5+f/s7Oz/6+vr/+np6f/q6ur/8vLy//v7+//j4+P/hISE/xkZGf8WFhb/l5eX//n5
+ +f///////f39//39/f///////v7+//7+/v/+/v7//Pz8//39/f/n5+f/paWl/5+fn/+goKD/oKCg/6Cg
+ oP+fn5//np6e/56env+enp7/n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/56env+fn5//oaGh/6Cg
+ oP+fn5//n5+f/56env+enp7/nZ2d/52dnf+fn5//n5+f/56env+goKD/kJCQ/2FhYf8lJSX/BQUF/0BA
+ QP++vr7//f39//39/f/9/f3//v7+//z8/P/9/f3//f39//39/f/+/v7//v7+//7+/v/BwcH/FBQU/wUF
+ Bf8GBgb/BgYG/wYGBv8GBgb/BgYG/wYGBv8GBgb/BgYG/wYGBv8GBgb/BgYG/wYGBv8GBgb/BgYG/wYG
+ Bv8GBgb/CQkJ/woKCv8ICAj/BgYG/wYGBv8GBgb/BwcH/wcHB/8HBwf/BwcH/wYGBv8ICAj/CwsL/xYW
+ Fv9FRUX/nZ2d/+zs7P/////////////////8/Pz//v7+///////+/v7//v7+//39/f/8/Pz//v7+////
+ ///s7Oz/t7e3/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Oz
+ s/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7S0tP+zs7P/sbGx/7Kysv+xsbH/srKy/7Ozs/+zs7P/s7Oz/7Oz
+ s/+0tLT/vb29/9bW1v/19fX///////39/f/9/f3//Pz8//7+/v/+/v7//Pz8//39/f/9/f3//v7+////
+ ///+/v7//v7+////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////7+/v///////////////////////v7+//z8/P///////v7+//39
+ /f/9/f3//f39//39/f//////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////+/v7//v7+//7+/v/8/Pz//v7+//7+/v/8/Pz//Pz8//z8/P/9/f3///////39
+ /f/9/f3//v7+//7+/v/+/v7///////39/f/+/v7/////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////+/v7//Pz8////////////////////
+ ///9/f3//f39///////+/v7//f39//39/f/8/Pz//f39////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////////////////////f39//z8
+ /P/8/Pz//Pz8//39/f///////Pz8//39/f/+/v7//v7+/////////////f39////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////z8/P/+/v7///////39/f/9/f3//f39//z8/P/+/v7/////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////7+/v/8/Pz//v7+//////////////////7+
+ /v/9/f3/////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////+/v7//Pz8//z8
+ /P/8/Pz//f39////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////f39//39/f//////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAA4QAAAMIBAAABAAgAAAAAAGTI
+ AAAAAAAAAAAAAAABAAAAAQAAAAAAAAEBAQACAgIAAwMDAAQEBAAFBQUABgYGAAcHBwAICAgACQkJAAoK
+ CgALCwsADAwMAA0NDQAODg4ADw8PABAQEAAREREAEhISABMTEwAUFBQAFRUVABYWFgAXFxcAGBgYABkZ
+ GQAaGhoAGxsbABwcHAAdHR0AHh4eAB8fHwAgICAAISEhACIiIgAjIyMAJCQkACUlJQAmJiYAJycnACgo
+ KAApKSkAKioqACsrKwAsLCwALS0tAC4uLgAvLy8AMDAwADExMQAyMjIAMzMzADQ0NAA1NTUANjY2ADc3
+ NwA4ODgAOTk5ADo6OgA7OzsAPDw8AD09PQA+Pj4APz8/AEBAQABBQUEAQkJCAENDQwBEREQARUVFAEZG
+ RgBHR0cASEhIAElJSQBKSkoAS0tLAExMTABNTU0ATk5OAE9PTwBQUFAAUVFRAFJSUgBTU1MAVFRUAFVV
+ VQBWVlYAV1dXAFhYWABZWVkAWlpaAFtbWwBcXFwAXV1dAF5eXgBfX18AYGBgAGFhYQBiYmIAY2NjAGRk
+ ZABlZWUAZmZmAGdnZwBoaGgAaWlpAGpqagBra2sAbGxsAG1tbQBubm4Ab29vAHBwcABxcXEAcnJyAHNz
+ cwB0dHQAdXV1AHZ2dgB3d3cAeHh4AHl5eQB6enoAe3t7AHx8fAB9fX0Afn5+AH9/fwCAgIAAgYGBAIKC
+ ggCDg4MAhISEAIWFhQCGhoYAh4eHAIiIiACJiYkAioqKAIuLiwCMjIwAjY2NAI6OjgCPj48AkJCQAJGR
+ kQCSkpIAk5OTAJSUlACVlZUAlpaWAJeXlwCYmJgAmZmZAJqamgCbm5sAnJycAJ2dnQCenp4An5+fAKCg
+ oAChoaEAoqKiAKOjowCkpKQApaWlAKampgCnp6cAqKioAKmpqQCqqqoAq6urAKysrACtra0Arq6uAK+v
+ rwCwsLAAsbGxALKysgCzs7MAtLS0ALW1tQC2trYAt7e3ALi4uAC5ubkAurq6ALu7uwC8vLwAvb29AL6+
+ vgC/v78AwMDAAMHBwQDCwsIAw8PDAMTExADFxcUAxsbGAMfHxwDIyMgAycnJAMrKygDLy8sAzMzMAM3N
+ zQDOzs4Az8/PANDQ0ADR0dEA0tLSANPT0wDU1NQA1dXVANbW1gDX19cA2NjYANnZ2QDa2toA29vbANzc
+ 3ADd3d0A3t7eAN/f3wDg4OAA4eHhAOLi4gDj4+MA5OTkAOXl5QDm5uYA5+fnAOjo6ADp6ekA6urqAOvr
+ 6wDs7OwA7e3tAO7u7gDv7+8A8PDwAPHx8QDy8vIA8/PzAPT09AD19fUA9vb2APf39wD4+PgA+fn5APr6
+ +gD7+/sA/Pz8AP39/QD+/v4A////AP//////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////wAAAP//////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////////////////////wAAAP//
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////wAAAP//////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////wAAAP//////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////wAAAP//////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////wAAAP//////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////////////////////wAAAP//
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////wAAAP//////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////wAAAP//////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////wAAAP//////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////wAAAP//////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////////////////////wAAAP//
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////wAAAP//////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////wAAAP//////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////wAAAP//////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////wAAAP//////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////////////////////wAAAP//
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////wAAAP//////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////wAAAP//////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////wAAAP//////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////wAAAP//////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////////////////////wAAAP//
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////wAAAP//////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////wAAAP//////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////wAAAP//////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////wAAAP//////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////////////////////wAAAP//
+ ///////////////////////////////ZtHtnU0pKU2J7rdn/////////////////////////////////
+ ////////////////////////////////////////////////99SndWJRSkpbZ4e/4f//////////////
+ ///////////////////////////////hv4pnW0pKUWJ1ntTx////////////////////////////////
+ /////////////////////////////////////////////////////////wAAAP//////////////////
+ ///////////UeyQAAAAAAAAAAAAAAAAieNT/////////////////////////////////////////////
+ /////////////////////////////79iFgAAAAAAAAAAAAAAAC+Z5///////////////////////////
+ ///////////xmTgAAAAAAAAAAAAAAAAWW7//////////////////////////////////////////////
+ /////////////////////////////////////////wAAAP//////////////////////////xjgAAAAA
+ AAAAAAAAAAAAAAAAAAAkv///////////////////////////////////////////////////////////
+ //////////yeAAAAAAAAAAAAAAAAAAAAAAAAAFvZ////////////////////////////////2WIAAAAA
+ AAAAAAAAAAAAAAAAAAAAmfj/////////////////////////////////////////////////////////
+ /////////////////////////wAAAP///////////////////////9lKAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAEDU////////////////////////////////////////////////////////////////txoAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAdfH///////////////////////////F4AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAy0////////////////////////////////////////////////////////////////////////
+ /////////wAAAP//////////////////////mQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiv//////
+ //////////////////////////////////////////////////////diAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAy3////////////////////////vwkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYvH/////
+ /////////////////////////////////////////////////////////////////////////wAAAP//
+ //////////////////xbAAAAAAAAAAAAAAAAAAAJBgAAAAAAAAAAAAAAAEr3////////////////////
+ ////////////////////////////////////4RYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAh///
+ //////////////////+RAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzZ////////////////////
+ /////////////////////////////////////////////////////////wAAAP//////////////////
+ 8S4AAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAW5///////////////////////////////////
+ ///////////////////KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGf/////////////////
+ /28AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyv//////////////////////////////////
+ /////////////////////////////////////////wAAAP/////////////////3LwAAAAAAAAAAAAAA
+ AAAACSQuFgAAAAAAAAAAAAAAAAAAJPH/////////////////////////////////////////////////
+ /8oAAAAAAAAAAAAAAAAAAAAWLiIAAAAAAAAAAAAAAAAAAABn////////////////bwAAAAAAAAAAAAAA
+ AAAAACIuFgAAAAAAAAAAAAAAAAAAAMb/////////////////////////////////////////////////
+ /////////////////////////wAAAP////////////////9KAAAAAAAAAAAAAAAAh7/x8fHx9/HGigAA
+ AAAAAAAAAAAAAED8////////////////////////////////////////////////5wAAAAAAAAAAAAAA
+ AC+Z1PH3+Pfx57RvAAAAAAAAAAAAAAAAe/////////////+KAAAAAAAAAAAAAAAAb63n8ff49/HUnjgA
+ AAAAAAAAAAAAAADZ////////////////////////////////////////////////////////////////
+ /////////wAAAP///////////////3sAAAAAAAAAAAAAL7f///////j4//////+/OAAAAAAAAAAAAABn
+ ///////////////////////////////////////////////4JAAAAAAAAAAAAABb2f//////////////
+ /J4AAAAAAAAAAAAAALT//////////7QAAAAAAAAAAAAAAJn8///////////////ZYgAAAAAAAAAAAAAa
+ /P///////////////////////////////////////////////////////////////////////wAAAP//
+ ////////////vwAAAAAAAAAAAACe//////////z4+Pz//////6cAAAAAAAAAAAAAtP//////////////
+ //////////////////////////////97AAAAAAAAAAAAJMb////////////////////3eAAAAAAAAAAA
+ AADn////////5wAAAAAAAAAAAAB18f///////////////////8okAAAAAAAAAAAAb///////////////
+ /////////////////////////////////////////////////////////wAAAP//////////////AAAA
+ AAAAAAAAFtT////////////4+Pj8///////ZJAAAAAYGAAAAAPf/////////////////////////////
+ /////////////9QAAAAAAAAAAABR9////////////////////////7QAAAAAAAAAAABb////////YgAA
+ AAAAAAAAAK3////////////////////////3YgAAAAAAAAAAAMr/////////////////////////////
+ /////////////////////////////////////////wAAAP////////////+RAAAAAAAAAAAW5///////
+ ////////+Pj4+Pz/////8S4ACQwMDAwJAHv//////////////////////////////////////////0AA
+ AAAAAAAAAFP////////////////////////////KAAAAAAAAAAAAxv/////UAAAAAAAAAAAAv///////
+ /////////////////////2cAAAAAAAAAAED/////////////////////////////////////////////
+ /////////////////////////wAAAP////////////EAAAAAAAAAAADn//////////////////z4+Pj3
+ /Pz8/OcAAAAABgkMCQDn////////////////////////////////////////xgAAAAAAAAAASv//////
+ ////////////////////////vwAAAAAAAAAASv////9DAAAAAAAAAAC0////////////////////////
+ //////9KAAAAAAAAAAC3////////////////////////////////////////////////////////////
+ /////////wAAAP///////////5kAAAAAAAAAALf//////////////////////Pj4+Pj4+P/GAAAAAAAA
+ AACR////////////////////////////////////////QwAAAAAAAAAA5///////////////////////
+ /////////4cAAAAAAAAAANT//9QAAAAAAAAAAHv////////////////////////////////xAAAAAAAA
+ AABD/////////////////////////////////////////////////////////////////////wAAAP//
+ /////////4p1dXV1dXV1iv/////////////////////////8/Pz8/P//mXV1dXVvdW+H/P//////////
+ ///////////////////////////xb3V1dXV1dW+///////////////////////////////////d7dXV1
+ dXV1b63//7RvdXV1dXV1b/z/////////////////////////////////v291dXV1dXVn8f//////////
+ /////////////////////////////////////////////////////////wAAAP//////////////////
+ /////////////Pj/////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////wAAAP///////////////////////////////Pf8
+ /////////////////////////////////Pj4/P//////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////wAAAP///////////////////////////////Pj4////////////////
+ //////////////////z49///////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////wAAAP////////////////////////////////j4/P//////////////////////////////
+ ///8+Pz/////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////////////////////wAAAP//
+ //////////////////////////////z4+Pz////////////////////////////////8+Pj/////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////wAAAP//////////////////
+ ///////////////8+Pj8////////////////////////////////+Pj8////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////wAAAP//////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////wAAAP////d7h4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eH
+ h4eHh4eKioqHh4eHh4eHh4eHh4qKh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eH
+ h4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eH
+ h4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHipmtt9n/////////////////////////
+ /////////wAAAP////EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOJHU/P///////////////////////////wAAAP//
+ //EAAAAAAAAAAAAAAAAAAAAACQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAkAAAAAAAAAAAAACQwM
+ CQYGBgYJDAwMCQkGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAL5nn/////////////////////////wAAAP////EAAAAAAAAAAAAA
+ AAAAAAAGDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwJAAAAAAAAAAAAAAYJCQkJCQYGBgYGCQwM
+ DAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAh/f//////////////////////wAAAP////EAAAAAAAAAAAAAAAAAAAAADAwAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJDAwJAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AACn/////////////////////wAAAP////EAAAAAAAAAAAAAAAAAAAAACQwJAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAYMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASvH/////////
+ /////////wAAAP////EAAAAAAAAAAAAAAAAAAAAAAAwMCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM
+ DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJDAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzK/////////////////wAAAP//
+ //EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv////////////////wAAAP////zU2dnZ2dnZ2dnZ
+ 2dnZ2dnZ1NTU2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ1NTU2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ
+ 2dTU1NnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ
+ 2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ
+ 2cq/nlsaAAAAAAAAAAAAAAAAALT//////////////wAAAP////////////////////////////z8/Pz/
+ //////////////////////////////z8///////////////////////////////////8/P//////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////8ynUAAAAA
+ AAAAAAAAAADK/////////////wAAAP/////////////////////////////8+Pj3+Pj8+Pj3+Pj4+Pj8
+ //////////////z4+P/////////////////////////////////8+Pj/////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////xewAAAAAAAAAAAAAA4f//
+ /////////wAAAP////////////////////////////////z4+Pj4+Pj4+Pj4+Pj4+Pz////////////4
+ +Pj8////////////////////////////////+Pj/////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////9kuAAAAAAAAAAAAQPz//////////wAAAP//
+ /////////////////////////////////Pz8/Pz///////z4+Pf8////////////+Pj3/P//////////
+ ////////////////////+Pj8////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////bwAAAAAAAAAAAIr//////////wAAAP////////////////z4
+ /////////////////////////////////Pj4/P////////////z4+Pj8/Pz8/Pz4+Pj4/P//////////
+ /////Pj3/P//////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////4cAAAAAAAAAAADh/////////wAAAP////////////////j3/P//////////////
+ //////////////////z4+Pz////////////8+Pj4+Pj4+Pj4+Pj4+Pj4//////////////z4+Pz/////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //94AAAAAAAAAABK/////////wAAAP////////////////z4+P//////////////////////////////
+ ///8+Pj///////////////z8+Pj4+Pz8/Pz8+Pj4+Pz////////////4+Pj8////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////SgAAAAAAAAAA
+ yv///////wAAAP/////////////////4+Pz/////////////////////////////////+Pj8////////
+ ///////////////////////8+Pj8////////////+Pj4+Pz///////z/////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////5wAAAAAAAAAAU////////wAAAP//
+ ///////////////8+Pj8/////////////////////////////////Pj4////////////////////////
+ /////////Pj4/P////////////z4+Pj3+Pj49/j4////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////54AAAAAAAAAAOH//////wAAAP//////////////////
+ /Pj4/P////////////////////////////////j4//////////////////////////////////z4+Pz/
+ /////////////Pj3+Pj49/j8////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////8iAAAAAAAAAIr//////wAAAP////////////////////z4+Pj8////////
+ //z///////////////////j4/P/////////////////////////////////8+Pj/////////////////
+ //z8////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////+0AAAAAAAAAC/8/////wAAAP/////////////////////8+Pj4+Pz8/Pj3+Pj49/j8////////
+ //////z4+Pz/////////////////////////////////+Pj/////////////////////////////////
+ /////Pz8/Pj49/j4+Pf4+Pj8/Pz/////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////3GgAAAAAA
+ AADh/////wAAAP////////////////////////z4+Pj4+Pj4+Pj4+Pj4+Pz////////////8+Pj8////
+ ////////////////////////////+Pj8///////////////////////////////8/Pj4+Pj4+Pj4+Pj4
+ +Pj4+Pj4+Pj4+Pz8////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////eAAAAAAAAACn/////wAAAP//
+ //////////////////////////z8/Pz///////z4+Pj4/////////////Pj4+Pz/////////////////
+ /////////////Pj4///////////////////////////8/Pj4+Pj4+Pz8/P////////////z8/Pj4+Pj4
+ +Pj8////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////ygAAAAAAAAB1/////wAAAP/////////4/P//////
+ /////////////////////////Pj4+P////////////z4+Pf4/Pz//Pz4+Pj4/Pz///////////////j4
+ /P///////////////////////Pj4+Pj4/Pz//////////////////////////Pz4+Pj4+Pz/////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////8QkAAAAAAAAk/////wAAAP////////z3+P//////////////////////
+ ///////////4+Pj//////////////Pj4+Pj4+Pj4+Pj4+Pj4/P////////////z4+Pz/////////////
+ //////z4+Pj4/Pz///////////////////////////////////z4+Pj4/P//////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////zgAAAAAAAAA/////wAAAP/////////4+Pz/////////////////////////////////+Pj8
+ ///////////////8/Pj4+Pz8/Pz8/Pj4+Pj////////////8+Pj4///////////////8+Pj3+Pz/////
+ /////////////////////////////////////Pj4+Pj8////////////////////////////////////
+ /////////////////////////////////////////////////////////////////////////1sAAAAA
+ AAAA9////wAAAP/////////8+Pj//////////////////////////////////Pj4////////////////
+ ///////////////8+Pj4/////////////Pj4+P///////////Pj4+Pj8////////////////////////
+ ///////////////////////8+Pj4+Pz/////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////3gAAAAAAAAA4f///wAAAP//
+ ////////+Pj4//////////////////////////////////j4////////////////////////////////
+ //j4+P/////////////4/P/////////8+Pj4+P//////////////////////////////////////////
+ //////////z4+Pf8////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////4cAAAAAAAAA4f///wAAAP///////////Pj4+P//
+ //////////////////////////////j4/P/////////////////////////////////4+Pz/////////
+ //////////////j4+Pz4+Pj8/////////////////////////////////////////////////////Pj4
+ +P//////////////////////////////////////////////////////////////////////////////
+ /////////////////////////3sAAAAAAAAA4f///wAAAP////////////z4+Pj8//////////z8////
+ //////////////z4+P/////////////////////////////////8+Pj////////////////////8+Pj4
+ /P/8+Pj4+Pz///////////////////////////////////////////////////z4+Pj8////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////2cAAAAAAAAA8f///wAAAP//////////////+Pj4+Pj8/Pj3+Pj4+Pf8/P/////////////4
+ +Pj//////////////////////////////////Pj8//////////////////z4+Pj///////z4+Pj4////
+ ////////////////////////////////////////////////+Pj3/P//////////////////////////
+ /////////////////////////////////////////////////////////////////////////0MAAAAA
+ AAAA/////wAAAP////////////////z8+Pj4+Pj4+Pj4+Pj4+Pj/////////////+Pj4////////////
+ /////////////////////Pj4/////////////////Pj4/P///////////Pj4+Pz/////////////////
+ //////////////////////////////////z49/z/////////////////////////////////////////
+ ////////////////////////////////////////////////////////+CIAAAAAAAAA/////wAAAP//
+ //////////////////z8/Pz8//////z8+Pj4/P///////////Pj4+Pz/////////////////////////
+ //////j3/P/////////////8+Pf8///////////////89/j4/P//////////////////////////////
+ ///////////////////8+Pj8////////////////////////////////////////////////////////
+ ////////////////////////////////////////2QAAAAAAAABT/////wAAAP/8/P//////////////
+ //////////////////j4+Pz////////////4+Pj4/Pz8/Pz4+Pj4/Pz///////////////z4+P//////
+ //////z4+Pz//////////////////Pj4+Pj8////////////////////////////////////////////
+ /////Pj4/P//////////////////////////////////////////////////////////////////////
+ ////////////////////////mQAAAAAAAACR/////wAAAP/49/z/////////////////////////////
+ ///8+Pj//////////////Pj4+Pj4+Pj4+Pj4+Pj4/P/////////////4+Pj//////////Pj4/P//////
+ ///////////////8+Pj4+Pz///////////////////////////////////////////////z49/z/////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////QAAAAAAAAADK/////wAAAP/8+Pj/////////////////////////////////+Pj4////////
+ ///////8/Pj4+Pz8/P/8/Pj4+Pj8////////////+Pf8///////8+Pj8////////////////////////
+ //z4+Pj4/P/////////////////////////////////////////////8+Pj8////////////////////
+ ///////////////////////////////////////////////////////////////////////KAAAAAAAA
+ AAD3/////wAAAP/8+Pj8//////////////////////////////////j4/P//////////////////////
+ ///////8+Pj4/P////////////z////////4+Pj//////////////////////////////Pj4+Pz/////
+ ////////////////////////////////////////+Pj4////////////////////////////////////
+ //////////////////////////////////////////////////////9RAAAAAAAAAGf//////wAAAP//
+ /Pj4/P////////////////////////////////z4/P////////////////////////////////z49/z/
+ //////////////////z4+P/////////////////////////////////4+Pj4/P//////////////////
+ //////////////////////////j4/P//////////////////////////////////////////////////
+ /////////////////////////////////////78AAAAAAAAAAMr//////wAAAP////z/////////////
+ ///////////////////////4+P//////////////////////////////////////////////////////
+ /////////////////////////////////////////////Pj8////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////9wwAAAAAAAAAOP///////wAAAP////FAUVFTU1NTU1NTU1NTU1NTU1NTU1NT
+ U1NntPH/+Pz/////////////////2ZFbU1NTU1NTU1NTUVFTW1NTU1NTU1NTU1NTU1FTU1NTU1NTU1NT
+ U1NTU1NTU1NTU1NTU1NTU1NTU1t7xv/8+Pz////////////////8v3VTU1NTU1NTU1NTU1NTU1NTUVNT
+ U1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1t7v/H/////////////////////////////////////
+ ////YgAAAAAAAAAArf///////wAAAP////EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACn//j8////
+ //////////diAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADjh//j4/////////////8YWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAB78f////////////////////////////////////+RAAAAAAAAAAAa
+ /////////wAAAP////EAAAAAAAAAAAAAAAAAAAAAAAAJDAwGAAAAAAAAb//4/P//////////5wwAAAAA
+ AAAAAAAAAAAAAAAACQwJAAAAAAAAAAAAAAkJAAAAAAAAAAAAAAYMBgAAAAkGAAAAAAAAAAAAAAAAAAAA
+ yvz4+Pz/////////pwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwGAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAL///////////////////////////////////6cAAAAAAAAAAADK/////////wAAAP//
+ //EAAAAAAAAAAAAAAAAAAAAAAAAABgwMBgAAAAAAAJn/9/j/////////LwAMDAwJBgAAAAAAAAAAAAAA
+ BgwMAAAAAAAAAAAABgwAAAAAAAAAAAAAAAkJAAAABgwMBgAAAAAAAAAAAAAAAAAAAOf8+Pj4/P/////G
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACn
+ ////////////////////////////////vwAAAAAAAAAAAG///////////wAAAP////EAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAYMDAYAAAAAAADn/Pj4+Pz8/P+ZAAYGBgYMDAwJAAAAAAAAAAAAAAkMDAAAAAAAAAAA
+ DAkAAAAAAAAAAAAABgwAAAAAAAYMBgAAAAAAAAAAAAAAAAAAAG///Pj4+Pj8//wvAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAwMBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv///////////////
+ ///////////////UAAAAAAAAAAAAIvH//////////wAAAP////EAAAAAAAAAAAAAAAAAAAAAAAAAAAAG
+ DAwAAAAAAACR//z4+Pj4+PwJAAAAAAAAAAkMDAYAAAAAAAAAAAAJDAwAAAAAAAAGDAAAAAAAAAAAAAAA
+ DAkAAAAAAAkJAAAAAAAAAAAAAAAAAAAAAADx///8+Pj4/L8ADAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAYMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOf//////////////////////////+EA
+ AAAAAAAAAAAA2f///////////wAAAP////EAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgwGAAAAAABb////
+ /Pz4/NQAAAAAAAAAAAAACQkAAAAAAAAAAAAABgYAAAAAAAAGBgAAAAAAAAAAAAAACQAAAAAAAAkAAAAA
+ AAAAAAAAAAAAAAAAAAC3//////z4/4cADAwMBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGCQAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHX/////////////////////////8RoAAAAAAAAAAAC3////
+ /////////wAAAP////EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwJAAAAAAAv+P///////8YAAAAAAAAA
+ AAAAAAkJAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAAJAAAAAAAABgAAAAAAAAAJCQAAAAAAAAAA
+ AACn/////////1sAAAYMDAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAADn////////////////////////OAAAAAAAAAAAAJ7//////////////wAAAP//
+ ///3+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pfx8UMAAAAAAAAu+P///////8YAAAAAAAAAnvzx8fH4+Pj4+Pj4
+ +Pj4+Pj4+Pjx8ff4+Pj4+Pj4+Pfx8ff4+Pj38fHx+Pj4+Pj48fHx+Pj8xgAAAAAAAACn/////////1MA
+ AAAACQYW5/j4+Pj4+Pj4+Pj4+Pj4+Pj49/Hx+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+OdvAAAAAAAA
+ AACn//////////////////////9bAAAAAAAAAAAAh////////////////wAAAP//////////////////
+ ///////////////8+EMACQAAAAAu+P///////8YAAAAAAAAAp///+Pj8///////////////////4+P//
+ //////////j4+P/////4+Pj////////8+Pj8////ygAAAAAAAACn/////////1MAAAAAAAAW8f//////
+ //////////////////j4////////////////////////////////////hwAAAAAAAABT////////////
+ /////////3UAAAAAAAAAAABv/////////////////wAAAP/////////////////////////////////8
+ 90MADAYAAAAu+P///////8YAAAAAAAAAp////Pj4//////////////////z4/P///////////Pj4/P//
+ //z4+Pz////////4+Pj/////ygAGBgYAAACn/////////1MAAAAAAAAM5///////////////////////
+ //z4/P//////////////////////////////////9wYAAAAAAAAA////////////////////kQAAAAAA
+ AAAAAEr//////////////////wAAAP//////////////////////////////////90MADAwGAAAu+P//
+ /////8YAAAAAAAAAp/////j4/P////////////////j4/P///////////Pj4//////j4+P////////z4
+ +Pz/////ygAJDAwMCQCn/////////1MAAAAAAAAM5/j8//////////////////////z4+P//////////
+ /////////////////////////0AAAAAAAAAA//////////////////+tAAAAAAAAAAAALvj/////////
+ /////////wAAAP///////////////////////////////////EMABgwMCQAu+P///////8YAAAAAAAAA
+ p/////z4/P////////////////f4///////////8///8/////Pj4/P///////Pj4+P////z8xgAAAAYM
+ DACn/////////1MAAAAAAAAM5/j4+Pz////////////////////4+P//////////////////////////
+ /////////zgAAAAAAAAA/////////////////78AAAAAAAAAAAAW5////////////////////wAAAP//
+ /////////////////////////////////0MAAAAJDAAv+P///////8YACQYAAAAAp//////49///////
+ /////////Pj4//////////z3/P/////8+Pj4+P//////+Pj3/////Pj8xgAAAAAACQCn/////////1MA
+ AAAAAAAM8f/4+Pj4/P/////////////////4+Pz/////////////////////////////////4QAAAAAA
+ AAAG////////////////1AAAAAAAAAAAAADZ/////////////////////wAAAP//////////////////
+ /////////////////0MAAAAAAAAv9//8+Pj4/L8ADAwMBgAAp//////8+Pj//////////////Pj8////
+ //////j4+Pz////8+Pj4+Pz////8+Pj8///8+Pj8ygAAAAAAAACn/////////1MAAAAAAAAM8f///Pj4
+ +Pj8///////////////8+Pz////////////////////////////////8UQAAAAAAAABn////////////
+ ///nBgAAAAAAAAAAAMr//////////////////////wAAAP//////////////////////////////////
+ /0MAAAAAAAAu8fj4+Pj3/L8AAAYMDAkAp///////+Pj4/////////////Pj8//////////z4+P//////
+ //z8+Pj8/Pz4+Pj////4+Pj/ygAAAAAAAACn/////////1MAAAAAAAAM8f/////8+Pj4+P//////////
+ ///8+Pj///////////////////////////////9nAAAAAAAAAACt//////////////gWAAAAAAAAAAAA
+ tP///////////////////////wAAAP///////////////////////////////////0MAAAAAAAAu8fz8
+ /P///78AAAAADAwAp////////Pj4+Pz/////////+Pj8/////////////////////////Pj4+Pj4+Pz/
+ //z4+Pz/ygAAAAAAAACn/////////1MAAAAAAAAM8f////////z4+Pj8///////////8+Pj/////////
+ /////////////////////3sAAAAAAAAAAAD3/////////////EAAAAAAAAAAAACe////////////////
+ /////////wAAAP///////////////////////////////////0MAAAAAAAAu+P///////8YAAAAAAAkA
+ rf/////////4+Pf4/P//////+Pj///////////////////////////z4+Pj4/P////j4+P//ygAAAAAA
+ AACn//z8/Pz//1sAAAAAAAAM8f///////////Pj4+Pz/////////+Pj///////////////z8/P//////
+ ////ngAAAAAAAAAAAJn/////////////YgAAAAAAAAAAAIf//////////////////////////wAAAP//
+ /////////////////////////////////0MAAAAAAAAu+P///////8YAAAAAAAAArf///////////Pj4
+ +P//////+Pj//////////////////////////////Pz8//////j4+P//ygAAAAAAAACe//j4+Pj4/1sA
+ BgAAAAAM8f////////////z4+Pj4/P//////+Pj///////z4+Pj4+Pj4+Pf4/Pz///+3AAAAAAAAAAAA
+ OPz///////////97AAAAAAAAAAAAYv///////////////////////////wAAAP//////////////////
+ /////////////////0MAAAAAAAAu+P///////8YAAAAAAAAArf/////////////8/P//////+Pj/////
+ //////////////////////////////////j4/P//ygAAAAAAAACe//f8/Pj4/1MADAAAAAAM8f//////
+ /////////Pj4+Pj8////+Pj///////z3+Pj4+Pj4+Pj4+Pj4/9QAAAAAAAAAAAAA5////////////5EA
+ AAAAAAAAAAA4/////////////////////////////wAAAP//////////////////////////////////
+ /0MAAAAAAAAu+P///////8YAAAAAAAAAp//////////////////////8+Pj/////////////////////
+ //////////////////z4+P//ygAAAAAAAACe///////8/1EADAkAAAAM8f/////////////////8+Pj3
+ /P///Pf8///////8/Pz8///////8/Pj82QAGDAAAAAAAAADZ////////////rQAAAAAAAAAAAC/3////
+ /////////////////////////wAAAP///////////////////////////////////0MAAAAAAAAu+P//
+ /////8YAAAAAAAAAp//////////////////////8+Pj8////////////////////////////////////
+ //z4+Pz/ygAGBgYGAACe/////////1EADAkAAAAM8f////////////////////z4+Pj8/Pj8////////
+ ///////////////nGgAJDAkAAAAAAL/////////////GAAAAAAAAAAAAFuf/////////////////////
+ /////////wAAAP///////////////////////////////////0MAAAAAAAAu+P///////8YAAAAAAAAA
+ nv/////////////////////8+Pj4+Pz////////////////////////////////////8+Pj8ygAJCQwJ
+ AACn/////////1EADAkAAAAW8f/////////////////////8+Pj4+Pj8//////////////////////hA
+ AAAADAwGAAAAp////////////9kAAAAAAAAAAAAA2f///////////////////////////////wAAAP//
+ /////////////////////////////////0MAAAAAAAAu+P///////8YAAAAAAAAAp///////////////
+ ///////8+Pj4+Pj4/P///////////////////////////////////Pj8xgAACQwAAACn/////////1EA
+ DAkAAAAM8f////////////////////////z4+Pj8/////////////////////1EAAAAABgwMAACK////
+ ////////8QAAAAAAAAAAAADK/////////////////////////////////wAAAP//////////////////
+ /////////////////0MAAAAAAAAu+P///////8YAAAAAAAAAp/z8///////////////////8+Pj//Pj4
+ 9/j///////////////////////////////////z8xgAABgYAAACn/////////1EADAYAAAAM8f//////
+ ////////////////////+Pj8////////////////////ZwAAAAAAAAwMAG/////////////3LgAAAAAA
+ AAAAAK3//////////////////////////////////wAAAP//////////////////////////////////
+ /0MAAAAAAAAu+P///////8YAAAAAAAAAp/z4/P/////////////////8+Pj////8+Pj4/P//////////
+ ////////////////////////ygAAAAAAAACn///////8/1EADAAAAAAW8f//////////////////////
+ ////+Pj///////////////////+KAAAAAAAAAAkAW/////////////xRAAAAAAAAAAAAkf//////////
+ /////////////////////////wAAAP///////////////////////////////////0MAAAAAAAAu+P//
+ /////8YAAAAAAAAAp//4+Pz/////////////////+Pj//////Pj4+Pj8////////////////////////
+ ////////ygAAAAAAAACn//////z4/1EABgAAAAAW8f//////////////////////////+Pj/////////
+ /////////6cAAAAAAAAAAABA+P///////////2cAAAAAAAAAAAB1////////////////////////////
+ /////////wAAAP///////////////////////////////////0MAAAAAAAAu+P///////8YAAAAAAAAA
+ p//8+Pj4/P//////////////+Pj////////8+Pj4+Pz/////////////////////////////ygAAAAAA
+ AACe/////Pj4/1MAAAAAAAAW8f/////8/P//////////////////9/j////////8/Pz/////tAAAAAAA
+ AAAAABrx////////////eAAAAAAAAAAAAFv//////////////////////////////////////wAAAP//
+ /////////////////////////////////0MAAAAAAAAu+P///////8YAAAAAAAAAp////Pj4+Pj4+Pj3
+ +P//////+Pj8//////////z4+Pf4////////////////////////////ygAAAAAAAACe/Pj89/j4/1MA
+ AAAABgYM8f/////4+Pf4/P//////////////+Pj///////f4+Pj3/P+tAAYAAAAAAAAAAOH8/P//////
+ //+eAAAAAAAAAAAASvz//////////////////////////////////////wAAAP//////////////////
+ /////////////////0MAAAAAAAAu+P///////8YAAAAAAAAAp//////8/Pj4+Pj4/P//////+Pj8////
+ /////////Pj4+Pz/////////////////////////ygAAAAAAAACe/Pj4+Pj8/1MAAAAACQAM8f////z3
+ +Pj4+Pj8///////////8+Pj///////z4/Pj4/5kABgwMBgAAAAAA1P/4+Pz//////7QAAAAAAAAAAAAk
+ 8f///////////////////////////////////////wAAAP//////////////////////////////////
+ /0MAAAAAAAAu+P///////8YAAAAAAAAAp////////////////////////Pj8///////////////8+Pj4
+ /P//////////////////////ygAAAAAAAACn//z8/P///1MAAAAGDAAM8f////////z8+Pj4/P//////
+ ///8+Pz/////////////ewAAAAYMDAYAAAC3///4+Pj4////ygAABgkJDAwMAADn////////////////
+ /////////////////////////wAAAP///////////////////////////////////0MAAAAAAAAu+P//
+ /////8YAAAAAAAAAp////////////////////////Pj4/////////////////Pj4+Pj8////////////
+ ////////ygAAAAAAAACn/////////1MAAAAJDAAM8f////////////j4+P/////////4+Pz/////////
+ //hRAAAAAAAGDAwAAKf//////Pj49//ZAAAJBgAAAAYAANn/////////////////////////////////
+ /////////wAAAP///////////////////////////////////0MAAAAAAAAu+P///////8YAAAAAAAAA
+ p/////////////////////////j4///////////////////8+Pj4+Pz/////////////////ygAAAAAA
+ AACn/////////1MAAAAGDAYM8f/////////////4+Pz////////4+Pz/////////4S4AAAAAAAAACQwA
+ iv////////z8/OcWAAAAAAAAAAAAv//8/////////////////////////////////////////wAAAP//
+ /////////////////////////////////0MAAAAAAAAu+P///////8YAAAAAAAAAp///////////////
+ //////////j4/P////////////////////z4+Pj8////////////////ygAAAAAAAACn/////////1EA
+ AAAACQYW8f/8+Pj4/Pz////4+Pz///////z4+P////////+tAAAAAAAAAAAAAACK////////////9zgA
+ AAAAAAAAAACn//j4/P///////////////////////////////////////wAAAP//////////////////
+ /////////////////0MAAAAAAAAu+P///////8YAAAAAAAAAp/////////////////////////z4/P//
+ /////////////////////Pj4+Pz/////////////ygAAAAAAAACn/////////1MAAAAAAAAW8f/4+Pj4
+ +Pj4+Pj49/////////z4/P//////92IAAAAAAAAAAAAAAJn/////////////SgAAAAAAAAAAAJH///z4
+ +Pj//////////////////////////////////////wAAAP//////////////////////////////////
+ /0MAAAAAAAAu+P///////8YAAAAAAAAAp/////////////////////////z4+P//////////////////
+ ///////4+Pj4/P//////////ygAAAAAAAACn/////////1MAAAAAAAAM8fz4+Pz4+Pj4+Pj4/P//////
+ //j4/P////+0AAAAAAAAAAAAAAAArf////////////9nAAAAAAAAAAAAdf/////8+Pj4////////////
+ /////////////////////////wAAAP///////////////////////////////////0MAAAAAAAAu+P//
+ /////8YAAAAAAAAAp//////////////////////////4+Pz//////////////////////////Pj4+Pj8
+ ////////ygAAAAAAAACn/////////1MAAAAAAAAM8fz4/P////z8+Pj8/////////Pj3////xkoAAAAA
+ AAAAAAAAAAC///j8/////////4cAAAAAAAAAAABb/////////Pj4/P//////////////////////////
+ /////////wAAAP///////////////////////////////////0MAAAAAAAAu+P///////8YAAAAAAAAA
+ p//////////////////////////8+Pz////////////////////////////8+Pj4/P//////ygAAAAAA
+ AACn/////////1MAAAAAAAAM8fz4/P///////////////////////7RAAAAACQwMBgAAAAAADOH//Pj4
+ ////////pwAAAAAAAAAAADj4//////////z4+P///////////////////////////////////wAAAP//
+ /////////////////////////////////EMAAAAAAAAu+P///////8YAAAAAAAAAnvz4+Pj4+Pj4+Pj4
+ +Pj4+Pj4+Pj38fH4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pfx8fHx9/j8xgAAAAAAAACn/////////1MA
+ AAAAAAAW5/fx8ff4+Pj4+Pj4+Pj4+Pfxyp5bAAAAAAAAAAYMDAwGAABR+P////j4/P////+nAAAAAAAA
+ AAAAIvf////////////49////////////////////////////////////wAAAP////+ROENDQ0NDQ0ND
+ Q0NDQ0NDQ0NDQ0NDQwwAAAAAAAAv+P///////8YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ CQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGDAYGAAAAAACn/////////1sAAAAAAAAABgAAAAAA
+ CQkJDAwAAAAAAAAAAAAAAAAAAAAAAAAABgwAAIr///////z4+Pz//54AAAAAAAAAAAAA5///////////
+ ///4+Pz//////////////////////////////////wAAAP////94AAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAABT/////////9kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgkAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAABgwMCQAAAAC3/////////4cAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAA
+ AAkMAAAAAAAAAAAAAAAayv/////////8+Pj/kQAMCQkGBgYJBgDU///////////////8+Pj/////////
+ /////////////////////////wAAAP////97AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH////
+ //////8JAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQwJAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAYJDAwJAADx/////////78AAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAABgwGAAAAAAAAAAAA
+ AG/x//////////////xvAAAGCQkJBgAAALf//P//////////////+Pj4////////////////////////
+ /////////wAAAP////97AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ//////////+eAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgwM
+ AG////////////wuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQkAAAAAAAAAAABAyv/4+P//////////
+ +EoAAAAAAAAAAAAAp//4+Pj8//////////////j4+P///////////////////////////////wAAAP//
+ //97AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGf/////////////LgAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAYMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADOf////////////G
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGDAAAAAAAAAAAL7f////4+Pz////////hLwAAAAAAAAAAAACR
+ //z8+Pj4+P////////////z4+Pj8/////////////////////////////wAAAP////97AAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAGvf/////////////5xYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAJDAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyv//////////////pwAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAMCQAAAAAAAEq//P/////8+Pj//////8YAAAAAAAAAAAAAAJH///////z4+Pj8////
+ ///////8+Pj4+Pz//////Pz8/Pz//////////////wAAAP////94AAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAABK8f////////////////diAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEDh/Pj4/P///////////8YWAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAECe5///////////+Pj8////igAAAAAAAAAAAAAAnv//////////+Pj4//////////////z4+Pj4
+ +Pj4+Pj4+Pj4+Pz//////////wAAAP////+HJC4uLi4uLi4uLi4uLi4uLi4uLi4uLi5AZ7//////////
+ ////////////2ZFbU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NRU1NTU1NTU1NTU1NTU1NTU1NTU1NT
+ U1NTU1NTU1uHyv///Pj4+Pj8///////////8v3VTU1NTU1NTU1NTU1NTU1FRU1tie6fK8f//////////
+ /////Pj8/+dTAAAAAAAAAAAAAAC0//////////////j4+P///////////////Pj4+Pj4+Pz8/Pj4+Pj4
+ /////////wAAAP/////49/f39/f39/f39/f39/f39/f39/f39/f/////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///8+Pj4/P///////////////////////////////////////////////////////////Pz/tBYAAAAA
+ AAAAAAAAAMb////////////////4+Pz//////////////////////////////Pj4+Pz//////wAAAP//
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////8+Pj8//////////////////////////////////////////////z4+Pj8////
+ ///////////////////////8+Pj8///////8+Pj8/////////////+dbAAAMCQAAAAAAAAAM4f//////
+ ///////////8+Pz////////////////////////////////4+Pf8/////wAAAP//////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////Pj3/P//////////////////////////////////////////////+Pj49/z/////////////////
+ ///////4+Pz////////8+Pj4+Pz////////4mQAAAAAJDAwGAAAAAEr3///////////////////8+Pj/
+ ////////////////////////////////+Pj4/////wAAAP//////////////////////////////////
+ //////////////////////////////////////////////////////////////////////j4+Pz/////
+ //////////////////////////////////////////z4+Pj4/P////////////////////j4+P//////
+ //////z4+Pj8/////K0iAAAAAAAACQwMDAAAe///////////////////////+Pj8////////////////
+ //////////////////j4/P///wAAAP//////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////4+Pj8////////////////////
+ /////////////////////////////Pj49/j/////////////////+Pj4/////////////////Pj8//ee
+ LgAAAAAAAAAAAAAGAACt//z4+Pj4/Pz//////////////Pj4/P//////////////////////////////
+ //z4+P///wAAAP//////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////+Pj3/P//////////////////////////////////
+ ///////////////8+Pj4+P////////////z4+Pj///////////////////y/ZwAAAAAAAAAAAAAAAAAA
+ JNn/+Pj4+Pj4+Pj4//////////////j4+Pz////////////////////////////////49/z//wAAAP//
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////z/////////////////////////////8eGnbwAAAAAMDAAAAAAAAAAAAAB7/Pz4/Pz////8/Pj4
+ +Pz////////////4+Pf8///////////////////////////////8/P///wAAAP////eZnp6enp6enp6e
+ np6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6e
+ np6enp6enp6ZmZmenp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6ZmZmZmZ6enp6e
+ mZmZnp6enp6enpmKeGdDAAAAAAAAAAAJDAYAAAAAAAAALsr////////////////8+Pf8////////////
+ /Pj4+Pz8/////Pz4/Pz8/////////////////////wAAAP////EAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAGDAkAAAAAAACK/////////////////////Pj3/P////////////z4+Pj4+Pj4+Pj4
+ +Pj4+Pz//////////////////wAAAP////EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGDAwJBgAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAAAGBgYAAAAAAAAAAAAAAAAA
+ DAwGAAAAYuf///////////////////////z4+Pz//////////////Pz4+Pj4+Pz8/Pz4+Pj4/P//////
+ /////////wAAAP////EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkMDAkGAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYGAAAAAAAAAAAJDAwMCQYAAAAAAAAAAAAABgwAAFvU////////
+ ///////////////////8+Pj//////////////////////////////Pj4+Pz//////////////wAAAP//
+ //EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGCQwMCQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAYGAAAGBgAAAAAAAAAAAAAAAAYGDAwMBgAAAAAAAAAAAAB12f//////////////////////////
+ ////+Pj////////////////////////////////8+Pj8/////////////wAAAP////EAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAJDAwMCQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYGBgAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAkMDAkAAAAAAAAamef/////////////////////////////////+Pj8////////
+ /////////////////////////Pj4/P///////////wAAAP////EAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAYJDAwMCQYGAAAAAAAAAAAAAAAAAAAGBgkJBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAABAkdn///z4+Pz//////////////////////////////Pj4////////////////////////
+ //////////z4+P///////////wAAAP////EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMQ2+Ryuf/////
+ //z4+Pj4/Pz8/Pz4+Pj4/Pz///////////////j4/P/////////////////////////////////4+Pz/
+ /////////wAAAP////y/xsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbG
+ xsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGv7+/v7+/v7+/xsbG
+ xsbGv7+/v7+/v7+/xsbGxsbGxsbGxsbGxsbGxsbGxsbGxsrZ5/Hx9////////////////Pj4+Pj4+Pj4
+ +Pj4+Pj4/P////////////z49/z////////////////////////////////89/z//////////wAAAP//
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////Pz8/Pz8/Pz8/Pz8/Pz8/Pz/////
+ ////////////////////////////////////+Pj8///////////////8/Pj4/Pz8///8/Pj4+Pj/////
+ ///////8+Pj4/////////////////////////////////P///////////wAAAP//////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////Pz8/Pz8/Pz8/Pz8////////////////////////
+ /////////////////////Pj4///////////////////////////////8+Pj4/////////////Pj49/z8
+ //////z8/Pz8/////////////////////////////wAAAP//////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////j3//////////////////////////////////j4+P/////////////8+Pj49/j4+Pj4+Pj49/j8
+ /////////////////////////wAAAP//////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////P////////////////////////////////j4/P//////
+ ///////////////////////////4+Pz///////////////z49/j4+Pj8/Pz4+Pj4+P//////////////
+ /////////wAAAP//////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////+Pf8/P///////Pz8/P////////////////z4+P//////////////////////
+ ///////////8+Pf///////////////////////////////z4+Pj//////////////////////wAAAP//
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////Pj49/j4+Pj3+Pj4+Pj8/P/////////////4+Pj/////////////////////////////////+Pj8
+ ////////////////////////////////+Pj4/////////////////////wAAAP//////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////8+Pj4+Pj4
+ +Pz4+Pj4+Pj/////////////+Pj4/////////////////////////////////Pj4////////////////
+ //////////////////j4+P///////////////////wAAAP//////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////8/Pz////////8+Pj4/P//
+ //////////j49/z///////////////////////////////j4/P//////////////////////////////
+ ///4+Pz//////////////////wAAAP//////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////j4+Pz////////////4+Pj4
+ /Pz8/Pz49/f3+Pz///////////////z4+P/////////////////////////////////8+Pj/////////
+ /////////wAAAP//////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////8+Pj//////////////Pj4+Pj4+Pj4+Pj4+Pj4
+ /P/////////////4+Pj/////////////////////////////////+Pj//////////////////wAAAP//
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////+Pj4///////////////8/Pz4+Pz8/////Pj4+Pj8////////////
+ +Pj4/P///////////////////////////////Pz//////////////////wAAAP//////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////j4////////////////////////////////+Pj3/P////////////j4+Pj8//////z8
+ /Pz8/P///////////////////////////////////wAAAP//////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////////////////////j4
+ /P////////////////////////////////z49/z////////////8+Pj4+Pj4+Pj4+Pj4+Pj8////////
+ /////////////////////////wAAAP//////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////z4+P//////////////
+ ///////////////////8+Pj///////////////z4+Pj4+Pj8/Pz8+Pj4+Pz/////////////////////
+ /////////wAAAP//////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////4+Pz/////////////////////////////
+ ////+Pj8//////////////////////////////z4+Pj8/////////////////////////////wAAAP//
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////8+Pj8/////////////////////////////////Pj4////////
+ /////////////////////////Pj4/P///////////////////////////wAAAP//////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////Pj3/P////////////////////////////////j4////////////////////////
+ //////////z4+Pz//////////////////////////wAAAP//////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //z4+Pj8//////////////////////////////j4/P/////////////////////////////////8+Pj/
+ /////////////////////////wAAAP//////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////8+Pj4+Pz8/Pz4
+ +Pj4+Pz8//////////////z3+Pz/////////////////////////////////+Pf/////////////////
+ /////////wAAAP//////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////z4+Pj4+Pj4+Pj4+Pj4+Pz/////
+ ///////8+Pf8////////////////////////////////+Pf8/////////////////////////wAAAP//
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////Pz4+Pz8/////Pz4+Pf8/////////////Pj4/P//
+ //////////////////////////////z//////////////////////////wAAAP//////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////Pj4+P////////////z3+Pj8/P////z8/Pz8/P//
+ /////////////////////////////////////////wAAAP//////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////z4+Pz////////////8+Pj4+Pj4+Pj4+Pj4+Pj4/P//////////////
+ /////////////////////////wAAAP//////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////8+Pf8//////////////z8+Pj4+Pj8/Pz8+Pj49/z/////////////////////////////
+ /////////wAAAP//////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////////////////////////Pj4
+ ///////////////////////////////8+Pj4/////////////////////////////////////wAAAP//
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////j4/P//////////////
+ /////////////////Pj4+P///////////////////////////////////wAAAP//////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////z4/P//////////////////////////////
+ ///4+Pz//////////////////////////////////wAAAP//////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////z4+P/////////////////////////////////8+Pf8////////
+ /////////////////////////wAAAP//////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////4+Pj//////////////////////////////////Pj8////////////////////////
+ /////////wAAAP//////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ +Pj4/////////////////////////////////Pf3/////////////////////////////////wAAAP//
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////////////Pj4+Pz/////////
+ //////////////////////z8/////////////////////////////////wAAAP//////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////z4+Pj4/Pz///z8/Pj8/Pz/////////
+ /////////////////////////////////////////wAAAP//////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////Pj4+Pj4+Pj4+Pj4+Pj4/P//////////////////////
+ /////////////////////////wAAAP//////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////8+Pj4+Pj4/Pz8/Pj4+Pj/////////////////////////////////////
+ /////////wAAAP//////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////8+Pj4/P///////////////////////////////////////////wAAAP//
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////j4+Pz//////////////////////////////////////////wAAAP//////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////////8+Pj/
+ /////////////////////////////////////////wAAAP//////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////+Pj8////////////////
+ /////////////////////////wAAAP//////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////Pj4////////////////////////////////
+ /////////wAAAP//////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////j3/P///////////////////////////////////////wAAAP//
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////8/////////////////////////////////////////wAAAP//////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////wAAAP//////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////wAAAP//////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////wAAAP//////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////////////////////wAAAP//
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////wAAAP//////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////wAAAP//////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////wAAAP//////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////wAAAP//////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////////////////////wAAAP//
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////wAAAP//////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////wAAAP//////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////wAAAP//////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////wAAAP//////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////////////////////wAAAP//
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////wAAAP//////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////wAAAP//////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////wAAAP//////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////wAAAP//////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////////////////////wAAAP//
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////wAAAP//////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////wAAAP//////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////wAAAP//////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////wAAAP//////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////////////////////wAAAP//
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////wAAAP//////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////wAAAP//////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////wAAAP//////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////wAAAP//////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////////////////////wAAAP//
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////wAAAP//////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////wAAAP//////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
+
+
\ No newline at end of file
diff --git a/Axel-track/Program.cs b/Axel-track/Program.cs
index 5889cc62..d35346c2 100644
--- a/Axel-track/Program.cs
+++ b/Axel-track/Program.cs
@@ -1,373 +1,373 @@
-using System;
-using System.IO;
-using System.Net;
-using System.Collections.Generic;
-using System.Linq;
-using System.Windows.Forms;
-
-namespace AxelTrackNS
-{
- static class Program
- {
- ///
- /// The main entry point for the application.
- ///
- [STAThread]
- static void Main()
- {
- string strAssemblyPath = string.Empty;
- string exINIPath = string.Empty;
- string exINIFullPath = string.Empty;
- string EX_FILE_NAME = "XPS.ex.txt";
-
- strAssemblyPath = System.IO.Directory.GetParent(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location)).FullName;
- exINIPath = "\\data\\";
- exINIFullPath = strAssemblyPath + exINIPath + EX_FILE_NAME;
-
- try
- {
- Application.EnableVisualStyles();
- Application.SetCompatibleTextRenderingDefault(false);
- Application.Run(new FormAxelTrack());
- }
- catch (Exception ex)
- {
- System.IO.File.WriteAllText(exINIFullPath, ex.ToString());
- MessageBox.Show("An exception has occurred. For more information, refer to the file: " + exINIFullPath);
- }
- }
- }
- class ftp
- {
- private string host = null;
- private string user = null;
- private string pass = null;
- private FtpWebRequest ftpRequest = null;
- private FtpWebResponse ftpResponse = null;
- private Stream ftpStream = null;
- private int bufferSize = 2048;
-
- /* Construct Object */
- public ftp(string hostIP, string userName, string password) { host = hostIP; user = userName; pass = password; }
-
- /* Download File */
- public void download(string remoteFile, string localFile)
- {
- try
- {
- /* Create an FTP Request */
- ftpRequest = (FtpWebRequest)FtpWebRequest.Create(host + "/" + remoteFile);
- /* Log in to the FTP Server with the User Name and Password Provided */
- ftpRequest.Credentials = new NetworkCredential(user, pass);
- /* When in doubt, use these options */
- ftpRequest.UseBinary = true;
- ftpRequest.UsePassive = true;
- ftpRequest.KeepAlive = true;
- /* Specify the Type of FTP Request */
- ftpRequest.Method = WebRequestMethods.Ftp.DownloadFile;
- /* Establish Return Communication with the FTP Server */
- ftpResponse = (FtpWebResponse)ftpRequest.GetResponse();
- /* Get the FTP Server's Response Stream */
- ftpStream = ftpResponse.GetResponseStream();
- /* Open a File Stream to Write the Downloaded File */
- FileStream localFileStream = new FileStream(localFile, FileMode.Create);
- /* Buffer for the Downloaded Data */
- byte[] byteBuffer = new byte[bufferSize];
- int bytesRead = ftpStream.Read(byteBuffer, 0, bufferSize);
- /* Download the File by Writing the Buffered Data Until the Transfer is Complete */
- try
- {
- while (bytesRead > 0)
- {
- localFileStream.Write(byteBuffer, 0, bytesRead);
- bytesRead = ftpStream.Read(byteBuffer, 0, bufferSize);
- }
- }
- catch (Exception ex) { Console.WriteLine(ex.ToString()); }
- /* Resource Cleanup */
- localFileStream.Close();
- ftpStream.Close();
- ftpResponse.Close();
- ftpRequest = null;
- }
- catch (Exception ex) { Console.WriteLine(ex.ToString()); }
- return;
- }
-
- /* Upload File */
- public void upload(string remoteFile, string localFile)
- {
- try
- {
- /* Create an FTP Request */
- ftpRequest = (FtpWebRequest)FtpWebRequest.Create(host + "/" + remoteFile);
- /* Log in to the FTP Server with the User Name and Password Provided */
- ftpRequest.Credentials = new NetworkCredential(user, pass);
- /* When in doubt, use these options */
- ftpRequest.UseBinary = true;
- ftpRequest.UsePassive = true;
- ftpRequest.KeepAlive = true;
- /* Specify the Type of FTP Request */
- ftpRequest.Method = WebRequestMethods.Ftp.UploadFile;
- /* Establish Return Communication with the FTP Server */
- ftpStream = ftpRequest.GetRequestStream();
- /* Open a File Stream to Read the File for Upload */
- FileStream localFileStream = new FileStream(localFile, FileMode.Create);
- /* Buffer for the Downloaded Data */
- byte[] byteBuffer = new byte[bufferSize];
- int bytesSent = localFileStream.Read(byteBuffer, 0, bufferSize);
- /* Upload the File by Sending the Buffered Data Until the Transfer is Complete */
- try
- {
- while (bytesSent != 0)
- {
- ftpStream.Write(byteBuffer, 0, bytesSent);
- bytesSent = localFileStream.Read(byteBuffer, 0, bufferSize);
- }
- }
- catch (Exception ex) { Console.WriteLine(ex.ToString()); }
- /* Resource Cleanup */
- localFileStream.Close();
- ftpStream.Close();
- ftpRequest = null;
- }
- catch (Exception ex) { Console.WriteLine(ex.ToString()); }
- return;
- }
-
- /* Delete File */
- public void delete(string deleteFile)
- {
- try
- {
- /* Create an FTP Request */
- ftpRequest = (FtpWebRequest)WebRequest.Create(host + "/" + deleteFile);
- /* Log in to the FTP Server with the User Name and Password Provided */
- ftpRequest.Credentials = new NetworkCredential(user, pass);
- /* When in doubt, use these options */
- ftpRequest.UseBinary = true;
- ftpRequest.UsePassive = true;
- ftpRequest.KeepAlive = true;
- /* Specify the Type of FTP Request */
- ftpRequest.Method = WebRequestMethods.Ftp.DeleteFile;
- /* Establish Return Communication with the FTP Server */
- ftpResponse = (FtpWebResponse)ftpRequest.GetResponse();
- /* Resource Cleanup */
- ftpResponse.Close();
- ftpRequest = null;
- }
- catch (Exception ex) { Console.WriteLine(ex.ToString()); }
- return;
- }
-
- /* Rename File */
- public void rename(string currentFileNameAndPath, string newFileName)
- {
- try
- {
- /* Create an FTP Request */
- ftpRequest = (FtpWebRequest)WebRequest.Create(host + "/" + currentFileNameAndPath);
- /* Log in to the FTP Server with the User Name and Password Provided */
- ftpRequest.Credentials = new NetworkCredential(user, pass);
- /* When in doubt, use these options */
- ftpRequest.UseBinary = true;
- ftpRequest.UsePassive = true;
- ftpRequest.KeepAlive = true;
- /* Specify the Type of FTP Request */
- ftpRequest.Method = WebRequestMethods.Ftp.Rename;
- /* Rename the File */
- ftpRequest.RenameTo = newFileName;
- /* Establish Return Communication with the FTP Server */
- ftpResponse = (FtpWebResponse)ftpRequest.GetResponse();
- /* Resource Cleanup */
- ftpResponse.Close();
- ftpRequest = null;
- }
- catch (Exception ex) { Console.WriteLine(ex.ToString()); }
- return;
- }
-
- /* Create a New Directory on the FTP Server */
- public void createDirectory(string newDirectory)
- {
- try
- {
- /* Create an FTP Request */
- ftpRequest = (FtpWebRequest)WebRequest.Create(host + "/" + newDirectory);
- /* Log in to the FTP Server with the User Name and Password Provided */
- ftpRequest.Credentials = new NetworkCredential(user, pass);
- /* When in doubt, use these options */
- ftpRequest.UseBinary = true;
- ftpRequest.UsePassive = true;
- ftpRequest.KeepAlive = true;
- /* Specify the Type of FTP Request */
- ftpRequest.Method = WebRequestMethods.Ftp.MakeDirectory;
- /* Establish Return Communication with the FTP Server */
- ftpResponse = (FtpWebResponse)ftpRequest.GetResponse();
- /* Resource Cleanup */
- ftpResponse.Close();
- ftpRequest = null;
- }
- catch (Exception ex) { Console.WriteLine(ex.ToString()); }
- return;
- }
-
- /* Get the Date/Time a File was Created */
- public string getFileCreatedDateTime(string fileName)
- {
- try
- {
- /* Create an FTP Request */
- ftpRequest = (FtpWebRequest)FtpWebRequest.Create(host + "/" + fileName);
- /* Log in to the FTP Server with the User Name and Password Provided */
- ftpRequest.Credentials = new NetworkCredential(user, pass);
- /* When in doubt, use these options */
- ftpRequest.UseBinary = true;
- ftpRequest.UsePassive = true;
- ftpRequest.KeepAlive = true;
- /* Specify the Type of FTP Request */
- ftpRequest.Method = WebRequestMethods.Ftp.GetDateTimestamp;
- /* Establish Return Communication with the FTP Server */
- ftpResponse = (FtpWebResponse)ftpRequest.GetResponse();
- /* Establish Return Communication with the FTP Server */
- ftpStream = ftpResponse.GetResponseStream();
- /* Get the FTP Server's Response Stream */
- StreamReader ftpReader = new StreamReader(ftpStream);
- /* Store the Raw Response */
- string fileInfo = null;
- /* Read the Full Response Stream */
- try { fileInfo = ftpReader.ReadToEnd(); }
- catch (Exception ex) { Console.WriteLine(ex.ToString()); }
- /* Resource Cleanup */
- ftpReader.Close();
- ftpStream.Close();
- ftpResponse.Close();
- ftpRequest = null;
- /* Return File Created Date Time */
- return fileInfo;
- }
- catch (Exception ex) { Console.WriteLine(ex.ToString()); }
- /* Return an Empty string Array if an Exception Occurs */
- return "";
- }
-
- /* Get the Size of a File */
- public string getFileSize(string fileName)
- {
- try
- {
- /* Create an FTP Request */
- ftpRequest = (FtpWebRequest)FtpWebRequest.Create(host + "/" + fileName);
- /* Log in to the FTP Server with the User Name and Password Provided */
- ftpRequest.Credentials = new NetworkCredential(user, pass);
- /* When in doubt, use these options */
- ftpRequest.UseBinary = true;
- ftpRequest.UsePassive = true;
- ftpRequest.KeepAlive = true;
- /* Specify the Type of FTP Request */
- ftpRequest.Method = WebRequestMethods.Ftp.GetFileSize;
- /* Establish Return Communication with the FTP Server */
- ftpResponse = (FtpWebResponse)ftpRequest.GetResponse();
- /* Establish Return Communication with the FTP Server */
- ftpStream = ftpResponse.GetResponseStream();
- /* Get the FTP Server's Response Stream */
- StreamReader ftpReader = new StreamReader(ftpStream);
- /* Store the Raw Response */
- string fileInfo = null;
- /* Read the Full Response Stream */
- try { while (ftpReader.Peek() != -1) { fileInfo = ftpReader.ReadToEnd(); } }
- catch (Exception ex) { Console.WriteLine(ex.ToString()); }
- /* Resource Cleanup */
- ftpReader.Close();
- ftpStream.Close();
- ftpResponse.Close();
- ftpRequest = null;
- /* Return File Size */
- return fileInfo;
- }
- catch (Exception ex) { Console.WriteLine(ex.ToString()); }
- /* Return an Empty string Array if an Exception Occurs */
- return "";
- }
-
- /* List Directory Contents File/Folder Name Only */
- public string[] directoryListSimple(string directory)
- {
- try
- {
- /* Create an FTP Request */
- ftpRequest = (FtpWebRequest)FtpWebRequest.Create(host + "/" + directory);
- /* Log in to the FTP Server with the User Name and Password Provided */
- ftpRequest.Credentials = new NetworkCredential(user, pass);
- /* When in doubt, use these options */
- ftpRequest.UseBinary = true;
- ftpRequest.UsePassive = true;
- ftpRequest.KeepAlive = true;
- /* Specify the Type of FTP Request */
- ftpRequest.Method = WebRequestMethods.Ftp.ListDirectory;
- /* Establish Return Communication with the FTP Server */
- ftpResponse = (FtpWebResponse)ftpRequest.GetResponse();
- /* Establish Return Communication with the FTP Server */
- ftpStream = ftpResponse.GetResponseStream();
- /* Get the FTP Server's Response Stream */
- StreamReader ftpReader = new StreamReader(ftpStream);
- /* Store the Raw Response */
- string directoryRaw = null;
- /* Read Each Line of the Response and Append a Pipe to Each Line for Easy Parsing */
- try { while (ftpReader.Peek() != -1) { directoryRaw += ftpReader.ReadLine() + "|"; } }
- catch (Exception ex) { Console.WriteLine(ex.ToString()); }
- /* Resource Cleanup */
- ftpReader.Close();
- ftpStream.Close();
- ftpResponse.Close();
- ftpRequest = null;
- /* Return the Directory Listing as a string Array by Parsing 'directoryRaw' with the Delimiter you Append (I use | in This Example) */
- try { string[] directoryList = directoryRaw.Split("|".ToCharArray()); return directoryList; }
- catch (Exception ex) { Console.WriteLine(ex.ToString()); }
- }
- catch (Exception ex) { Console.WriteLine(ex.ToString()); }
- /* Return an Empty string Array if an Exception Occurs */
- return new string[] { "" };
- }
-
- /* List Directory Contents in Detail (Name, Size, Created, etc.) */
- public string[] directoryListDetailed(string directory)
- {
- try
- {
- /* Create an FTP Request */
- ftpRequest = (FtpWebRequest)FtpWebRequest.Create(host + "/" + directory);
- /* Log in to the FTP Server with the User Name and Password Provided */
- ftpRequest.Credentials = new NetworkCredential(user, pass);
- /* When in doubt, use these options */
- ftpRequest.UseBinary = true;
- ftpRequest.UsePassive = true;
- ftpRequest.KeepAlive = true;
- /* Specify the Type of FTP Request */
- ftpRequest.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
- /* Establish Return Communication with the FTP Server */
- ftpResponse = (FtpWebResponse)ftpRequest.GetResponse();
- /* Establish Return Communication with the FTP Server */
- ftpStream = ftpResponse.GetResponseStream();
- /* Get the FTP Server's Response Stream */
- StreamReader ftpReader = new StreamReader(ftpStream);
- /* Store the Raw Response */
- string directoryRaw = null;
- /* Read Each Line of the Response and Append a Pipe to Each Line for Easy Parsing */
- try { while (ftpReader.Peek() != -1) { directoryRaw += ftpReader.ReadLine() + "|"; } }
- catch (Exception ex) { Console.WriteLine(ex.ToString()); }
- /* Resource Cleanup */
- ftpReader.Close();
- ftpStream.Close();
- ftpResponse.Close();
- ftpRequest = null;
- /* Return the Directory Listing as a string Array by Parsing 'directoryRaw' with the Delimiter you Append (I use | in This Example) */
- try { string[] directoryList = directoryRaw.Split("|".ToCharArray()); return directoryList; }
- catch (Exception ex) { Console.WriteLine(ex.ToString()); }
- }
- catch (Exception ex) { Console.WriteLine(ex.ToString()); }
- /* Return an Empty string Array if an Exception Occurs */
- return new string[] { "" };
- }
- }
-}
+using System;
+using System.IO;
+using System.Net;
+using System.Collections.Generic;
+using System.Linq;
+using System.Windows.Forms;
+
+namespace AxelTrackNS
+{
+ static class Program
+ {
+ ///
+ /// The main entry point for the application.
+ ///
+ [STAThread]
+ static void Main()
+ {
+ string strAssemblyPath = string.Empty;
+ string exINIPath = string.Empty;
+ string exINIFullPath = string.Empty;
+ string EX_FILE_NAME = "XPS.ex.txt";
+
+ strAssemblyPath = System.IO.Directory.GetParent(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location)).FullName;
+ exINIPath = "\\data\\";
+ exINIFullPath = strAssemblyPath + exINIPath + EX_FILE_NAME;
+
+ try
+ {
+ Application.EnableVisualStyles();
+ Application.SetCompatibleTextRenderingDefault(false);
+ Application.Run(new FormAxelTrack());
+ }
+ catch (Exception ex)
+ {
+ System.IO.File.WriteAllText(exINIFullPath, ex.ToString());
+ MessageBox.Show("An exception has occurred. For more information, refer to the file: " + exINIFullPath);
+ }
+ }
+ }
+ class ftp
+ {
+ private string host = null;
+ private string user = null;
+ private string pass = null;
+ private FtpWebRequest ftpRequest = null;
+ private FtpWebResponse ftpResponse = null;
+ private Stream ftpStream = null;
+ private int bufferSize = 2048;
+
+ /* Construct Object */
+ public ftp(string hostIP, string userName, string password) { host = hostIP; user = userName; pass = password; }
+
+ /* Download File */
+ public void download(string remoteFile, string localFile)
+ {
+ try
+ {
+ /* Create an FTP Request */
+ ftpRequest = (FtpWebRequest)FtpWebRequest.Create(host + "/" + remoteFile);
+ /* Log in to the FTP Server with the User Name and Password Provided */
+ ftpRequest.Credentials = new NetworkCredential(user, pass);
+ /* When in doubt, use these options */
+ ftpRequest.UseBinary = true;
+ ftpRequest.UsePassive = true;
+ ftpRequest.KeepAlive = true;
+ /* Specify the Type of FTP Request */
+ ftpRequest.Method = WebRequestMethods.Ftp.DownloadFile;
+ /* Establish Return Communication with the FTP Server */
+ ftpResponse = (FtpWebResponse)ftpRequest.GetResponse();
+ /* Get the FTP Server's Response Stream */
+ ftpStream = ftpResponse.GetResponseStream();
+ /* Open a File Stream to Write the Downloaded File */
+ FileStream localFileStream = new FileStream(localFile, FileMode.Create);
+ /* Buffer for the Downloaded Data */
+ byte[] byteBuffer = new byte[bufferSize];
+ int bytesRead = ftpStream.Read(byteBuffer, 0, bufferSize);
+ /* Download the File by Writing the Buffered Data Until the Transfer is Complete */
+ try
+ {
+ while (bytesRead > 0)
+ {
+ localFileStream.Write(byteBuffer, 0, bytesRead);
+ bytesRead = ftpStream.Read(byteBuffer, 0, bufferSize);
+ }
+ }
+ catch (Exception ex) { Console.WriteLine(ex.ToString()); }
+ /* Resource Cleanup */
+ localFileStream.Close();
+ ftpStream.Close();
+ ftpResponse.Close();
+ ftpRequest = null;
+ }
+ catch (Exception ex) { Console.WriteLine(ex.ToString()); }
+ return;
+ }
+
+ /* Upload File */
+ public void upload(string remoteFile, string localFile)
+ {
+ try
+ {
+ /* Create an FTP Request */
+ ftpRequest = (FtpWebRequest)FtpWebRequest.Create(host + "/" + remoteFile);
+ /* Log in to the FTP Server with the User Name and Password Provided */
+ ftpRequest.Credentials = new NetworkCredential(user, pass);
+ /* When in doubt, use these options */
+ ftpRequest.UseBinary = true;
+ ftpRequest.UsePassive = true;
+ ftpRequest.KeepAlive = true;
+ /* Specify the Type of FTP Request */
+ ftpRequest.Method = WebRequestMethods.Ftp.UploadFile;
+ /* Establish Return Communication with the FTP Server */
+ ftpStream = ftpRequest.GetRequestStream();
+ /* Open a File Stream to Read the File for Upload */
+ FileStream localFileStream = new FileStream(localFile, FileMode.Create);
+ /* Buffer for the Downloaded Data */
+ byte[] byteBuffer = new byte[bufferSize];
+ int bytesSent = localFileStream.Read(byteBuffer, 0, bufferSize);
+ /* Upload the File by Sending the Buffered Data Until the Transfer is Complete */
+ try
+ {
+ while (bytesSent != 0)
+ {
+ ftpStream.Write(byteBuffer, 0, bytesSent);
+ bytesSent = localFileStream.Read(byteBuffer, 0, bufferSize);
+ }
+ }
+ catch (Exception ex) { Console.WriteLine(ex.ToString()); }
+ /* Resource Cleanup */
+ localFileStream.Close();
+ ftpStream.Close();
+ ftpRequest = null;
+ }
+ catch (Exception ex) { Console.WriteLine(ex.ToString()); }
+ return;
+ }
+
+ /* Delete File */
+ public void delete(string deleteFile)
+ {
+ try
+ {
+ /* Create an FTP Request */
+ ftpRequest = (FtpWebRequest)WebRequest.Create(host + "/" + deleteFile);
+ /* Log in to the FTP Server with the User Name and Password Provided */
+ ftpRequest.Credentials = new NetworkCredential(user, pass);
+ /* When in doubt, use these options */
+ ftpRequest.UseBinary = true;
+ ftpRequest.UsePassive = true;
+ ftpRequest.KeepAlive = true;
+ /* Specify the Type of FTP Request */
+ ftpRequest.Method = WebRequestMethods.Ftp.DeleteFile;
+ /* Establish Return Communication with the FTP Server */
+ ftpResponse = (FtpWebResponse)ftpRequest.GetResponse();
+ /* Resource Cleanup */
+ ftpResponse.Close();
+ ftpRequest = null;
+ }
+ catch (Exception ex) { Console.WriteLine(ex.ToString()); }
+ return;
+ }
+
+ /* Rename File */
+ public void rename(string currentFileNameAndPath, string newFileName)
+ {
+ try
+ {
+ /* Create an FTP Request */
+ ftpRequest = (FtpWebRequest)WebRequest.Create(host + "/" + currentFileNameAndPath);
+ /* Log in to the FTP Server with the User Name and Password Provided */
+ ftpRequest.Credentials = new NetworkCredential(user, pass);
+ /* When in doubt, use these options */
+ ftpRequest.UseBinary = true;
+ ftpRequest.UsePassive = true;
+ ftpRequest.KeepAlive = true;
+ /* Specify the Type of FTP Request */
+ ftpRequest.Method = WebRequestMethods.Ftp.Rename;
+ /* Rename the File */
+ ftpRequest.RenameTo = newFileName;
+ /* Establish Return Communication with the FTP Server */
+ ftpResponse = (FtpWebResponse)ftpRequest.GetResponse();
+ /* Resource Cleanup */
+ ftpResponse.Close();
+ ftpRequest = null;
+ }
+ catch (Exception ex) { Console.WriteLine(ex.ToString()); }
+ return;
+ }
+
+ /* Create a New Directory on the FTP Server */
+ public void createDirectory(string newDirectory)
+ {
+ try
+ {
+ /* Create an FTP Request */
+ ftpRequest = (FtpWebRequest)WebRequest.Create(host + "/" + newDirectory);
+ /* Log in to the FTP Server with the User Name and Password Provided */
+ ftpRequest.Credentials = new NetworkCredential(user, pass);
+ /* When in doubt, use these options */
+ ftpRequest.UseBinary = true;
+ ftpRequest.UsePassive = true;
+ ftpRequest.KeepAlive = true;
+ /* Specify the Type of FTP Request */
+ ftpRequest.Method = WebRequestMethods.Ftp.MakeDirectory;
+ /* Establish Return Communication with the FTP Server */
+ ftpResponse = (FtpWebResponse)ftpRequest.GetResponse();
+ /* Resource Cleanup */
+ ftpResponse.Close();
+ ftpRequest = null;
+ }
+ catch (Exception ex) { Console.WriteLine(ex.ToString()); }
+ return;
+ }
+
+ /* Get the Date/Time a File was Created */
+ public string getFileCreatedDateTime(string fileName)
+ {
+ try
+ {
+ /* Create an FTP Request */
+ ftpRequest = (FtpWebRequest)FtpWebRequest.Create(host + "/" + fileName);
+ /* Log in to the FTP Server with the User Name and Password Provided */
+ ftpRequest.Credentials = new NetworkCredential(user, pass);
+ /* When in doubt, use these options */
+ ftpRequest.UseBinary = true;
+ ftpRequest.UsePassive = true;
+ ftpRequest.KeepAlive = true;
+ /* Specify the Type of FTP Request */
+ ftpRequest.Method = WebRequestMethods.Ftp.GetDateTimestamp;
+ /* Establish Return Communication with the FTP Server */
+ ftpResponse = (FtpWebResponse)ftpRequest.GetResponse();
+ /* Establish Return Communication with the FTP Server */
+ ftpStream = ftpResponse.GetResponseStream();
+ /* Get the FTP Server's Response Stream */
+ StreamReader ftpReader = new StreamReader(ftpStream);
+ /* Store the Raw Response */
+ string fileInfo = null;
+ /* Read the Full Response Stream */
+ try { fileInfo = ftpReader.ReadToEnd(); }
+ catch (Exception ex) { Console.WriteLine(ex.ToString()); }
+ /* Resource Cleanup */
+ ftpReader.Close();
+ ftpStream.Close();
+ ftpResponse.Close();
+ ftpRequest = null;
+ /* Return File Created Date Time */
+ return fileInfo;
+ }
+ catch (Exception ex) { Console.WriteLine(ex.ToString()); }
+ /* Return an Empty string Array if an Exception Occurs */
+ return "";
+ }
+
+ /* Get the Size of a File */
+ public string getFileSize(string fileName)
+ {
+ try
+ {
+ /* Create an FTP Request */
+ ftpRequest = (FtpWebRequest)FtpWebRequest.Create(host + "/" + fileName);
+ /* Log in to the FTP Server with the User Name and Password Provided */
+ ftpRequest.Credentials = new NetworkCredential(user, pass);
+ /* When in doubt, use these options */
+ ftpRequest.UseBinary = true;
+ ftpRequest.UsePassive = true;
+ ftpRequest.KeepAlive = true;
+ /* Specify the Type of FTP Request */
+ ftpRequest.Method = WebRequestMethods.Ftp.GetFileSize;
+ /* Establish Return Communication with the FTP Server */
+ ftpResponse = (FtpWebResponse)ftpRequest.GetResponse();
+ /* Establish Return Communication with the FTP Server */
+ ftpStream = ftpResponse.GetResponseStream();
+ /* Get the FTP Server's Response Stream */
+ StreamReader ftpReader = new StreamReader(ftpStream);
+ /* Store the Raw Response */
+ string fileInfo = null;
+ /* Read the Full Response Stream */
+ try { while (ftpReader.Peek() != -1) { fileInfo = ftpReader.ReadToEnd(); } }
+ catch (Exception ex) { Console.WriteLine(ex.ToString()); }
+ /* Resource Cleanup */
+ ftpReader.Close();
+ ftpStream.Close();
+ ftpResponse.Close();
+ ftpRequest = null;
+ /* Return File Size */
+ return fileInfo;
+ }
+ catch (Exception ex) { Console.WriteLine(ex.ToString()); }
+ /* Return an Empty string Array if an Exception Occurs */
+ return "";
+ }
+
+ /* List Directory Contents File/Folder Name Only */
+ public string[] directoryListSimple(string directory)
+ {
+ try
+ {
+ /* Create an FTP Request */
+ ftpRequest = (FtpWebRequest)FtpWebRequest.Create(host + "/" + directory);
+ /* Log in to the FTP Server with the User Name and Password Provided */
+ ftpRequest.Credentials = new NetworkCredential(user, pass);
+ /* When in doubt, use these options */
+ ftpRequest.UseBinary = true;
+ ftpRequest.UsePassive = true;
+ ftpRequest.KeepAlive = true;
+ /* Specify the Type of FTP Request */
+ ftpRequest.Method = WebRequestMethods.Ftp.ListDirectory;
+ /* Establish Return Communication with the FTP Server */
+ ftpResponse = (FtpWebResponse)ftpRequest.GetResponse();
+ /* Establish Return Communication with the FTP Server */
+ ftpStream = ftpResponse.GetResponseStream();
+ /* Get the FTP Server's Response Stream */
+ StreamReader ftpReader = new StreamReader(ftpStream);
+ /* Store the Raw Response */
+ string directoryRaw = null;
+ /* Read Each Line of the Response and Append a Pipe to Each Line for Easy Parsing */
+ try { while (ftpReader.Peek() != -1) { directoryRaw += ftpReader.ReadLine() + "|"; } }
+ catch (Exception ex) { Console.WriteLine(ex.ToString()); }
+ /* Resource Cleanup */
+ ftpReader.Close();
+ ftpStream.Close();
+ ftpResponse.Close();
+ ftpRequest = null;
+ /* Return the Directory Listing as a string Array by Parsing 'directoryRaw' with the Delimiter you Append (I use | in This Example) */
+ try { string[] directoryList = directoryRaw.Split("|".ToCharArray()); return directoryList; }
+ catch (Exception ex) { Console.WriteLine(ex.ToString()); }
+ }
+ catch (Exception ex) { Console.WriteLine(ex.ToString()); }
+ /* Return an Empty string Array if an Exception Occurs */
+ return new string[] { "" };
+ }
+
+ /* List Directory Contents in Detail (Name, Size, Created, etc.) */
+ public string[] directoryListDetailed(string directory)
+ {
+ try
+ {
+ /* Create an FTP Request */
+ ftpRequest = (FtpWebRequest)FtpWebRequest.Create(host + "/" + directory);
+ /* Log in to the FTP Server with the User Name and Password Provided */
+ ftpRequest.Credentials = new NetworkCredential(user, pass);
+ /* When in doubt, use these options */
+ ftpRequest.UseBinary = true;
+ ftpRequest.UsePassive = true;
+ ftpRequest.KeepAlive = true;
+ /* Specify the Type of FTP Request */
+ ftpRequest.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
+ /* Establish Return Communication with the FTP Server */
+ ftpResponse = (FtpWebResponse)ftpRequest.GetResponse();
+ /* Establish Return Communication with the FTP Server */
+ ftpStream = ftpResponse.GetResponseStream();
+ /* Get the FTP Server's Response Stream */
+ StreamReader ftpReader = new StreamReader(ftpStream);
+ /* Store the Raw Response */
+ string directoryRaw = null;
+ /* Read Each Line of the Response and Append a Pipe to Each Line for Easy Parsing */
+ try { while (ftpReader.Peek() != -1) { directoryRaw += ftpReader.ReadLine() + "|"; } }
+ catch (Exception ex) { Console.WriteLine(ex.ToString()); }
+ /* Resource Cleanup */
+ ftpReader.Close();
+ ftpStream.Close();
+ ftpResponse.Close();
+ ftpRequest = null;
+ /* Return the Directory Listing as a string Array by Parsing 'directoryRaw' with the Delimiter you Append (I use | in This Example) */
+ try { string[] directoryList = directoryRaw.Split("|".ToCharArray()); return directoryList; }
+ catch (Exception ex) { Console.WriteLine(ex.ToString()); }
+ }
+ catch (Exception ex) { Console.WriteLine(ex.ToString()); }
+ /* Return an Empty string Array if an Exception Occurs */
+ return new string[] { "" };
+ }
+ }
+}
diff --git a/Axel-track/Properties/AssemblyInfo.cs b/Axel-track/Properties/AssemblyInfo.cs
index 84ca48c4..2ec1673c 100644
--- a/Axel-track/Properties/AssemblyInfo.cs
+++ b/Axel-track/Properties/AssemblyInfo.cs
@@ -1,36 +1,36 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using 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.
-[assembly: AssemblyTitle("Axel-track")]
-[assembly: AssemblyDescription("XPS track control for Navigator project - Imperial College")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("Newport and Imperial College")]
-[assembly: AssemblyProduct("Axel Track")]
-[assembly: AssemblyCopyright("Teodor Krastev for Imperial College and partial Newport Corp")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("ab2e7462-f54b-40ee-9400-2940f613e177")]
-
-// 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:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.2.0.0")]
-[assembly: AssemblyFileVersion("1.2.0.0")]
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using 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.
+[assembly: AssemblyTitle("Axel-track")]
+[assembly: AssemblyDescription("XPS track control for Navigator project - Imperial College")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Newport and Imperial College")]
+[assembly: AssemblyProduct("Axel Track")]
+[assembly: AssemblyCopyright("Teodor Krastev for Imperial College and partial Newport Corp")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("ab2e7462-f54b-40ee-9400-2940f613e177")]
+
+// 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:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.2.0.0")]
+[assembly: AssemblyFileVersion("1.2.0.0")]
diff --git a/Axel-track/Properties/Resources.Designer.cs b/Axel-track/Properties/Resources.Designer.cs
index fd568a4d..5037b465 100644
--- a/Axel-track/Properties/Resources.Designer.cs
+++ b/Axel-track/Properties/Resources.Designer.cs
@@ -1,63 +1,63 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-namespace AxelTrack.Properties {
- using System;
-
-
- ///
- /// A strongly-typed resource class, for looking up localized strings, etc.
- ///
- // 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.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- internal class Resources {
-
- private static global::System.Resources.ResourceManager resourceMan;
-
- private static global::System.Globalization.CultureInfo resourceCulture;
-
- [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
- internal Resources() {
- }
-
- ///
- /// Returns the cached ResourceManager instance used by this class.
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Resources.ResourceManager ResourceManager {
- get {
- if (object.ReferenceEquals(resourceMan, null)) {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("AxelTrack.Properties.Resources", typeof(Resources).Assembly);
- resourceMan = temp;
- }
- return resourceMan;
- }
- }
-
- ///
- /// Overrides the current thread's CurrentUICulture property for all
- /// resource lookups using this strongly typed resource class.
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Globalization.CultureInfo Culture {
- get {
- return resourceCulture;
- }
- set {
- resourceCulture = value;
- }
- }
- }
-}
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace AxelTrack.Properties {
+ using System;
+
+
+ ///
+ /// A strongly-typed resource class, for looking up localized strings, etc.
+ ///
+ // 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.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Resources {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources() {
+ }
+
+ ///
+ /// Returns the cached ResourceManager instance used by this class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("AxelTrack.Properties.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// Overrides the current thread's CurrentUICulture property for all
+ /// resource lookups using this strongly typed resource class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+ }
+}
diff --git a/Axel-track/Properties/Resources.resx b/Axel-track/Properties/Resources.resx
index ffecec85..af7dbebb 100644
--- a/Axel-track/Properties/Resources.resx
+++ b/Axel-track/Properties/Resources.resx
@@ -1,117 +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
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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/Axel-track/Properties/Settings.Designer.cs b/Axel-track/Properties/Settings.Designer.cs
index f1d1ef8d..723fef93 100644
--- a/Axel-track/Properties/Settings.Designer.cs
+++ b/Axel-track/Properties/Settings.Designer.cs
@@ -1,26 +1,26 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-namespace AxelTrack.Properties {
-
-
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")]
- internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
-
- private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
-
- public static Settings Default {
- get {
- return defaultInstance;
- }
- }
- }
-}
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace AxelTrack.Properties {
+
+
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")]
+ internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
+
+ private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+
+ public static Settings Default {
+ get {
+ return defaultInstance;
+ }
+ }
+ }
+}
diff --git a/Axel-track/Properties/Settings.settings b/Axel-track/Properties/Settings.settings
index abf36c5d..39645652 100644
--- a/Axel-track/Properties/Settings.settings
+++ b/Axel-track/Properties/Settings.settings
@@ -1,7 +1,7 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
diff --git a/Axel-track/Properties/licenses.licx b/Axel-track/Properties/licenses.licx
index 231d623e..54cf31a4 100644
--- a/Axel-track/Properties/licenses.licx
+++ b/Axel-track/Properties/licenses.licx
@@ -1,5 +1,5 @@
-# The following section of this file was auto-generated by Measurement Studio. Do not edit or remove this file from the project.
-# This file is used for licensing Measurement Studio components.
-# Begin Measurement Studio licenses
-NationalInstruments.Restricted.AnalysisLicenser, NationalInstruments.Analysis.Enterprise, Version=15.0.45.49153, Culture=neutral, PublicKeyToken=4febd62461bf11a4
-# End Measurement Studio licenses
+# The following section of this file was auto-generated by Measurement Studio. Do not edit or remove this file from the project.
+# This file is used for licensing Measurement Studio components.
+# Begin Measurement Studio licenses
+NationalInstruments.Restricted.AnalysisLicenser, NationalInstruments.Analysis.Enterprise, Version=15.0.45.49153, Culture=neutral, PublicKeyToken=4febd62461bf11a4
+# End Measurement Studio licenses
diff --git a/Axel-track/app.config b/Axel-track/app.config
index b7a7ef16..c5e1daef 100644
--- a/Axel-track/app.config
+++ b/Axel-track/app.config
@@ -1,3 +1,3 @@
-
-
-
+
+
+
diff --git a/Axel-track/bin/AnyCPU/Debug/Axel-track.vshost.exe.config b/Axel-track/bin/AnyCPU/Debug/Axel-track.vshost.exe.config
index b7a7ef16..c5e1daef 100644
--- a/Axel-track/bin/AnyCPU/Debug/Axel-track.vshost.exe.config
+++ b/Axel-track/bin/AnyCPU/Debug/Axel-track.vshost.exe.config
@@ -1,3 +1,3 @@
-
-
-
+
+
+
diff --git a/Axel-track/bin/AnyCPU/Debug/XPSApplicationTest.vshost.exe.config b/Axel-track/bin/AnyCPU/Debug/XPSApplicationTest.vshost.exe.config
index b7a7ef16..c5e1daef 100644
--- a/Axel-track/bin/AnyCPU/Debug/XPSApplicationTest.vshost.exe.config
+++ b/Axel-track/bin/AnyCPU/Debug/XPSApplicationTest.vshost.exe.config
@@ -1,3 +1,3 @@
-
-
-
+
+
+
diff --git a/Axel-track/bin/AnyCPU/Debug/XPSApplicationTest.vshost.exe.manifest b/Axel-track/bin/AnyCPU/Debug/XPSApplicationTest.vshost.exe.manifest
index f96b1d6b..061c9ca9 100644
--- a/Axel-track/bin/AnyCPU/Debug/XPSApplicationTest.vshost.exe.manifest
+++ b/Axel-track/bin/AnyCPU/Debug/XPSApplicationTest.vshost.exe.manifest
@@ -1,11 +1,11 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Axel-track/bin/AnyCPU/Debug/XPScontrol.exe.config b/Axel-track/bin/AnyCPU/Debug/XPScontrol.exe.config
index b7a7ef16..c5e1daef 100644
--- a/Axel-track/bin/AnyCPU/Debug/XPScontrol.exe.config
+++ b/Axel-track/bin/AnyCPU/Debug/XPScontrol.exe.config
@@ -1,3 +1,3 @@
-
-
-
+
+
+
diff --git a/Axel-track/bin/AnyCPU/Debug/XPScontrol.vshost.exe.config b/Axel-track/bin/AnyCPU/Debug/XPScontrol.vshost.exe.config
index b7a7ef16..c5e1daef 100644
--- a/Axel-track/bin/AnyCPU/Debug/XPScontrol.vshost.exe.config
+++ b/Axel-track/bin/AnyCPU/Debug/XPScontrol.vshost.exe.config
@@ -1,3 +1,3 @@
-
-
-
+
+
+
diff --git a/Axel-track/bin/AnyCPU/Debug/XPScontrol.vshost.exe.manifest b/Axel-track/bin/AnyCPU/Debug/XPScontrol.vshost.exe.manifest
index f96b1d6b..061c9ca9 100644
--- a/Axel-track/bin/AnyCPU/Debug/XPScontrol.vshost.exe.manifest
+++ b/Axel-track/bin/AnyCPU/Debug/XPScontrol.vshost.exe.manifest
@@ -1,11 +1,11 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Axel-track/bin/AnyCPU/Stages/IngStages1.ini b/Axel-track/bin/AnyCPU/Stages/IngStages1.ini
index c53b58d1..454bb117 100644
--- a/Axel-track/bin/AnyCPU/Stages/IngStages1.ini
+++ b/Axel-track/bin/AnyCPU/Stages/IngStages1.ini
@@ -1,130 +1,130 @@
-[IMS1200LM@XPS-DRV02]
-;IMS@IMS1200LM@XPS-DRV02
-; --- Global stage parameters
-; ---
-SmartStageName=IMS1200LM
-Unit=mm
-ConfigurationComment=Noload
-; --- Motor driver parameters
-; ---
-DriverName=XPS-DRV02
-DriverMotorResistance=2.8; Ohm
-DriverMotorInductance=0.018; Henry
-DriverMaximumPeakCurrent=5; Amp
-DriverMaximumRMSCurrent=2.5; Amp
-DriverRMSIntegrationTime=15; Sec
-DriverThermistanceThreshold=1000; Ohm
-DriverCutOffFrequency=10; Hz
-; --- Driver command interface parameters
-; ---
-MotorDriverInterface=AnalogSin120Acceleration
-ScalingAcceleration=30641; Unit/Sec2
-AccelerationLimit=27856; Unit/Sec2
-MagneticTrackPeriod=24; Unit
-InitializationAccelerationLevel=15; Percent
-; --- Position encoder interface parameters
-; ---
-EncoderType=AnalogInterpolated
-LinearEncoderCorrection=0; Ppm
-EncoderZMPlug=Driver
-EncoderInterpolationFactor=4000
-EncoderScalePitch=0.02; Unit
-EncoderSinusOffset=0; Volt
-EncoderCosinusOffset=0; Volt
-EncoderPhaseCompensation=0;--- deg
-EncoderDifferentialGain=0
-PositionerMappingFileName=
-PositionerMappingLineNumber=0
-PositionerMappingMaxPositionError=0; Unit
-EncoderIndexOffset=0; Unit
-EncoderHardInterpolatorErrorCheck=Enabled
-; --- Travels and servitudes type parameters
-; ---
-ServitudesType=StandardEORDriverPlug
-MinimumTargetPosition=-600; Unit
-MaximumTargetPosition=600; Unit
-HomePreset=0; Unit
-; --- Backlash parameters
-; ---
-Backlash=0; Unit
-CurrentVelocityCutOffFrequency=100; Hz
-CurrentAccelerationCutOffFrequency=100; Hz
-; --- Profile generator parameters
-; ---
-MaximumVelocity=500; Unit/Sec
-MaximumAcceleration=1000; Unit/Sec2
-EmergencyDecelerationMultiplier=4
-MinimumJerkTime=0.5; Sec
-MaximumJerkTime=2; Sec
-TrackingCutOffFrequency=25; Hz
-; --- Home search process parameters
-; ---
-HomeSearchSequenceType=MechanicalZeroAndIndexHomeSearch
-HomeSearchMaximumVelocity=30; Unit/Sec
-HomeSearchMaximumAcceleration=30; Unit/Sec2
-HomeSearchTimeOut=600; Sec
-HomingSensorOffset=0; Unit
-; --- Position servo loop parameters
-; ---
-CorrectorType=PIDFFAcceleration
-ClosedLoopStatus = Closed
-FatalFollowingError=8; Unit
-KP = 150
-KI = 450
-KD = 450
-KS = 0
-GKP = 10
-GKD = 10
-GKI = 10
-KForm = 10; Unit
-IntegrationTime = 0.01; Sec
-DerivativeFilterCutOffFrequency = 0; Hz
-DeadBandThreshold=0; Unit
-KFeedForwardAcceleration = 1
-NotchFrequency1=0; Hz
-NotchBandwidth1=0; Hz
-NotchGain1=0
-NotchFrequency2=0; Hz
-NotchBandwidth2=0; Hz
-NotchGain2=0
-KFeedForwardJerk = 1
-; --- PreFeedForward filter parameters (PP version)
-; ---
-CompensationSpatialPeriodicNotchsStep1=0; Units (PP version)
-CompensationSpatialPeriodicNotchsBandwidth1=0; Hz (PP version)
-CompensationSpatialPeriodicNotchsGain1=0; (PP version)
-CompensationSpatialPeriodicNotchsStep2=0; Units (PP version)
-CompensationSpatialPeriodicNotchsBandwidth2=0; Hz (PP version)
-CompensationSpatialPeriodicNotchsGain2=0; (PP version)
-CompensationSpatialPeriodicNotchsStep3=0; Units (PP version)
-CompensationSpatialPeriodicNotchsBandwidth3=0; Hz (PP version)
-CompensationSpatialPeriodicNotchsGain3=0; (PP version)
-CompensationFrequencyNotchsFrequency1=0; Hz (PP version)
-CompensationFrequencyNotchsBandwidth1=0; Hz (PP version)
-CompensationFrequencyNotchsGain1=0; (PP version)
-CompensationFrequencyNotchsFrequency2=0; Hz (PP version)
-CompensationFrequencyNotchsBandwidth2=0; Hz (PP version)
-CompensationFrequencyNotchsGain2=0; (PP version)
-CompensationFrequencyNotchsFrequency3=0; Hz (PP version)
-CompensationFrequencyNotchsBandwidth3=0; Hz (PP version)
-CompensationFrequencyNotchsGain3=0; (PP version)
-; --- PostFeedForward filter parameters (PP version)
-; ---
-CompensationNotchModeFr1=0; Hz (PP version)
-CompensationNotchModeFa1=0; Hz (PP version)
-CompensationNotchModeZr1=0; (PP version)
-CompensationNotchModeZa1=0; (PP version)
-CompensationNotchModeFr2=0; Hz (PP version)
-CompensationNotchModeFa2=0; Hz (PP version)
-CompensationNotchModeZr2=0; (PP version)
-CompensationNotchModeZa2=0; (PP version)
-CompensationPhaseCorrectionFn1=0; Hz (PP version)
-CompensationPhaseCorrectionFd1=0; Hz (PP version)
-CompensationPhaseCorrectionGain1=0; (PP version)
-CompensationPhaseCorrectionFn2=0; Hz (PP version)
-CompensationPhaseCorrectionFd2=0; Hz (PP version)
-CompensationPhaseCorrectionGain2=0; (PP version)
-CompensationLowPassFilterCutOffFrequency=0; Hz (PP version)
-; --- Motion done parameters
-; ---
-MotionDoneMode=Theoretical
+[IMS1200LM@XPS-DRV02]
+;IMS@IMS1200LM@XPS-DRV02
+; --- Global stage parameters
+; ---
+SmartStageName=IMS1200LM
+Unit=mm
+ConfigurationComment=Noload
+; --- Motor driver parameters
+; ---
+DriverName=XPS-DRV02
+DriverMotorResistance=2.8; Ohm
+DriverMotorInductance=0.018; Henry
+DriverMaximumPeakCurrent=5; Amp
+DriverMaximumRMSCurrent=2.5; Amp
+DriverRMSIntegrationTime=15; Sec
+DriverThermistanceThreshold=1000; Ohm
+DriverCutOffFrequency=10; Hz
+; --- Driver command interface parameters
+; ---
+MotorDriverInterface=AnalogSin120Acceleration
+ScalingAcceleration=30641; Unit/Sec2
+AccelerationLimit=27856; Unit/Sec2
+MagneticTrackPeriod=24; Unit
+InitializationAccelerationLevel=15; Percent
+; --- Position encoder interface parameters
+; ---
+EncoderType=AnalogInterpolated
+LinearEncoderCorrection=0; Ppm
+EncoderZMPlug=Driver
+EncoderInterpolationFactor=4000
+EncoderScalePitch=0.02; Unit
+EncoderSinusOffset=0; Volt
+EncoderCosinusOffset=0; Volt
+EncoderPhaseCompensation=0;--- deg
+EncoderDifferentialGain=0
+PositionerMappingFileName=
+PositionerMappingLineNumber=0
+PositionerMappingMaxPositionError=0; Unit
+EncoderIndexOffset=0; Unit
+EncoderHardInterpolatorErrorCheck=Enabled
+; --- Travels and servitudes type parameters
+; ---
+ServitudesType=StandardEORDriverPlug
+MinimumTargetPosition=-600; Unit
+MaximumTargetPosition=600; Unit
+HomePreset=0; Unit
+; --- Backlash parameters
+; ---
+Backlash=0; Unit
+CurrentVelocityCutOffFrequency=100; Hz
+CurrentAccelerationCutOffFrequency=100; Hz
+; --- Profile generator parameters
+; ---
+MaximumVelocity=500; Unit/Sec
+MaximumAcceleration=1000; Unit/Sec2
+EmergencyDecelerationMultiplier=4
+MinimumJerkTime=0.5; Sec
+MaximumJerkTime=2; Sec
+TrackingCutOffFrequency=25; Hz
+; --- Home search process parameters
+; ---
+HomeSearchSequenceType=MechanicalZeroAndIndexHomeSearch
+HomeSearchMaximumVelocity=30; Unit/Sec
+HomeSearchMaximumAcceleration=30; Unit/Sec2
+HomeSearchTimeOut=600; Sec
+HomingSensorOffset=0; Unit
+; --- Position servo loop parameters
+; ---
+CorrectorType=PIDFFAcceleration
+ClosedLoopStatus = Closed
+FatalFollowingError=8; Unit
+KP = 150
+KI = 450
+KD = 450
+KS = 0
+GKP = 10
+GKD = 10
+GKI = 10
+KForm = 10; Unit
+IntegrationTime = 0.01; Sec
+DerivativeFilterCutOffFrequency = 0; Hz
+DeadBandThreshold=0; Unit
+KFeedForwardAcceleration = 1
+NotchFrequency1=0; Hz
+NotchBandwidth1=0; Hz
+NotchGain1=0
+NotchFrequency2=0; Hz
+NotchBandwidth2=0; Hz
+NotchGain2=0
+KFeedForwardJerk = 1
+; --- PreFeedForward filter parameters (PP version)
+; ---
+CompensationSpatialPeriodicNotchsStep1=0; Units (PP version)
+CompensationSpatialPeriodicNotchsBandwidth1=0; Hz (PP version)
+CompensationSpatialPeriodicNotchsGain1=0; (PP version)
+CompensationSpatialPeriodicNotchsStep2=0; Units (PP version)
+CompensationSpatialPeriodicNotchsBandwidth2=0; Hz (PP version)
+CompensationSpatialPeriodicNotchsGain2=0; (PP version)
+CompensationSpatialPeriodicNotchsStep3=0; Units (PP version)
+CompensationSpatialPeriodicNotchsBandwidth3=0; Hz (PP version)
+CompensationSpatialPeriodicNotchsGain3=0; (PP version)
+CompensationFrequencyNotchsFrequency1=0; Hz (PP version)
+CompensationFrequencyNotchsBandwidth1=0; Hz (PP version)
+CompensationFrequencyNotchsGain1=0; (PP version)
+CompensationFrequencyNotchsFrequency2=0; Hz (PP version)
+CompensationFrequencyNotchsBandwidth2=0; Hz (PP version)
+CompensationFrequencyNotchsGain2=0; (PP version)
+CompensationFrequencyNotchsFrequency3=0; Hz (PP version)
+CompensationFrequencyNotchsBandwidth3=0; Hz (PP version)
+CompensationFrequencyNotchsGain3=0; (PP version)
+; --- PostFeedForward filter parameters (PP version)
+; ---
+CompensationNotchModeFr1=0; Hz (PP version)
+CompensationNotchModeFa1=0; Hz (PP version)
+CompensationNotchModeZr1=0; (PP version)
+CompensationNotchModeZa1=0; (PP version)
+CompensationNotchModeFr2=0; Hz (PP version)
+CompensationNotchModeFa2=0; Hz (PP version)
+CompensationNotchModeZr2=0; (PP version)
+CompensationNotchModeZa2=0; (PP version)
+CompensationPhaseCorrectionFn1=0; Hz (PP version)
+CompensationPhaseCorrectionFd1=0; Hz (PP version)
+CompensationPhaseCorrectionGain1=0; (PP version)
+CompensationPhaseCorrectionFn2=0; Hz (PP version)
+CompensationPhaseCorrectionFd2=0; Hz (PP version)
+CompensationPhaseCorrectionGain2=0; (PP version)
+CompensationLowPassFilterCutOffFrequency=0; Hz (PP version)
+; --- Motion done parameters
+; ---
+MotionDoneMode=Theoretical
diff --git a/Axel-track/bin/AnyCPU/Stages/IngStages2.ini b/Axel-track/bin/AnyCPU/Stages/IngStages2.ini
index 101fd1da..efaed88c 100644
--- a/Axel-track/bin/AnyCPU/Stages/IngStages2.ini
+++ b/Axel-track/bin/AnyCPU/Stages/IngStages2.ini
@@ -1,130 +1,130 @@
-[IMS1200LM@XPS-DRV02]
-;IMS@IMS1200LM@XPS-DRV02
-; --- Global stage parameters
-; ---
-SmartStageName=IMS1200LM
-Unit=mm
-ConfigurationComment=Noload
-; --- Motor driver parameters
-; ---
-DriverName=XPS-DRV02
-DriverMotorResistance=2.8; Ohm
-DriverMotorInductance=0.018; Henry
-DriverMaximumPeakCurrent=5; Amp
-DriverMaximumRMSCurrent=2.5; Amp
-DriverRMSIntegrationTime=15; Sec
-DriverThermistanceThreshold=1000; Ohm
-DriverCutOffFrequency=20; Hz
-; --- Driver command interface parameters
-; ---
-MotorDriverInterface=AnalogSin120Acceleration
-ScalingAcceleration=30641; Unit/Sec2
-AccelerationLimit=27856; Unit/Sec2
-MagneticTrackPeriod=24; Unit
-InitializationAccelerationLevel=15; Percent
-; --- Position encoder interface parameters
-; ---
-EncoderType=AnalogInterpolated
-LinearEncoderCorrection=0; Ppm
-EncoderZMPlug=Driver
-EncoderInterpolationFactor=4000
-EncoderScalePitch=0.02; Unit
-EncoderSinusOffset=0; Volt
-EncoderCosinusOffset=0; Volt
-EncoderPhaseCompensation=0;--- deg
-EncoderDifferentialGain=0
-PositionerMappingFileName=
-PositionerMappingLineNumber=0
-PositionerMappingMaxPositionError=0; Unit
-EncoderIndexOffset=0; Unit
-EncoderHardInterpolatorErrorCheck=Enabled
-; --- Travels and servitudes type parameters
-; ---
-ServitudesType=StandardEORDriverPlug
-MinimumTargetPosition=-600; Unit
-MaximumTargetPosition=600; Unit
-HomePreset=0; Unit
-; --- Backlash parameters
-; ---
-Backlash=0; Unit
-CurrentVelocityCutOffFrequency=100; Hz
-CurrentAccelerationCutOffFrequency=100; Hz
-; --- Profile generator parameters
-; ---
-MaximumVelocity=500; Unit/Sec
-MaximumAcceleration=1000; Unit/Sec2
-EmergencyDecelerationMultiplier=4
-MinimumJerkTime=0.5; Sec
-MaximumJerkTime=2; Sec
-TrackingCutOffFrequency=25; Hz
-; --- Home search process parameters
-; ---
-HomeSearchSequenceType=MechanicalZeroAndIndexHomeSearch
-HomeSearchMaximumVelocity=30; Unit/Sec
-HomeSearchMaximumAcceleration=30; Unit/Sec2
-HomeSearchTimeOut=600; Sec
-HomingSensorOffset=0; Unit
-; --- Position servo loop parameters
-; ---
-CorrectorType=PIDFFAcceleration
-ClosedLoopStatus = Closed
-FatalFollowingError=6; Unit
-KP = 400
-KI = 1000
-KD = 1000
-KS = 0
-GKP = 10
-GKD = 10
-GKI = 10
-KForm = 10; Unit
-IntegrationTime = 0.01; Sec
-DerivativeFilterCutOffFrequency = 0; Hz
-DeadBandThreshold=0; Unit
-KFeedForwardAcceleration = 1
-NotchFrequency1=0; Hz
-NotchBandwidth1=0; Hz
-NotchGain1=0
-NotchFrequency2=0; Hz
-NotchBandwidth2=0; Hz
-NotchGain2=0
-KFeedForwardJerk = 1
-; --- PreFeedForward filter parameters (PP version)
-; ---
-CompensationSpatialPeriodicNotchsStep1=0; Units (PP version)
-CompensationSpatialPeriodicNotchsBandwidth1=0; Hz (PP version)
-CompensationSpatialPeriodicNotchsGain1=0; (PP version)
-CompensationSpatialPeriodicNotchsStep2=0; Units (PP version)
-CompensationSpatialPeriodicNotchsBandwidth2=0; Hz (PP version)
-CompensationSpatialPeriodicNotchsGain2=0; (PP version)
-CompensationSpatialPeriodicNotchsStep3=0; Units (PP version)
-CompensationSpatialPeriodicNotchsBandwidth3=0; Hz (PP version)
-CompensationSpatialPeriodicNotchsGain3=0; (PP version)
-CompensationFrequencyNotchsFrequency1=0; Hz (PP version)
-CompensationFrequencyNotchsBandwidth1=0; Hz (PP version)
-CompensationFrequencyNotchsGain1=0; (PP version)
-CompensationFrequencyNotchsFrequency2=0; Hz (PP version)
-CompensationFrequencyNotchsBandwidth2=0; Hz (PP version)
-CompensationFrequencyNotchsGain2=0; (PP version)
-CompensationFrequencyNotchsFrequency3=0; Hz (PP version)
-CompensationFrequencyNotchsBandwidth3=0; Hz (PP version)
-CompensationFrequencyNotchsGain3=0; (PP version)
-; --- PostFeedForward filter parameters (PP version)
-; ---
-CompensationNotchModeFr1=0; Hz (PP version)
-CompensationNotchModeFa1=0; Hz (PP version)
-CompensationNotchModeZr1=0; (PP version)
-CompensationNotchModeZa1=0; (PP version)
-CompensationNotchModeFr2=0; Hz (PP version)
-CompensationNotchModeFa2=0; Hz (PP version)
-CompensationNotchModeZr2=0; (PP version)
-CompensationNotchModeZa2=0; (PP version)
-CompensationPhaseCorrectionFn1=0; Hz (PP version)
-CompensationPhaseCorrectionFd1=0; Hz (PP version)
-CompensationPhaseCorrectionGain1=0; (PP version)
-CompensationPhaseCorrectionFn2=0; Hz (PP version)
-CompensationPhaseCorrectionFd2=0; Hz (PP version)
-CompensationPhaseCorrectionGain2=0; (PP version)
-CompensationLowPassFilterCutOffFrequency=0; Hz (PP version)
-; --- Motion done parameters
-; ---
-MotionDoneMode=Theoretical
+[IMS1200LM@XPS-DRV02]
+;IMS@IMS1200LM@XPS-DRV02
+; --- Global stage parameters
+; ---
+SmartStageName=IMS1200LM
+Unit=mm
+ConfigurationComment=Noload
+; --- Motor driver parameters
+; ---
+DriverName=XPS-DRV02
+DriverMotorResistance=2.8; Ohm
+DriverMotorInductance=0.018; Henry
+DriverMaximumPeakCurrent=5; Amp
+DriverMaximumRMSCurrent=2.5; Amp
+DriverRMSIntegrationTime=15; Sec
+DriverThermistanceThreshold=1000; Ohm
+DriverCutOffFrequency=20; Hz
+; --- Driver command interface parameters
+; ---
+MotorDriverInterface=AnalogSin120Acceleration
+ScalingAcceleration=30641; Unit/Sec2
+AccelerationLimit=27856; Unit/Sec2
+MagneticTrackPeriod=24; Unit
+InitializationAccelerationLevel=15; Percent
+; --- Position encoder interface parameters
+; ---
+EncoderType=AnalogInterpolated
+LinearEncoderCorrection=0; Ppm
+EncoderZMPlug=Driver
+EncoderInterpolationFactor=4000
+EncoderScalePitch=0.02; Unit
+EncoderSinusOffset=0; Volt
+EncoderCosinusOffset=0; Volt
+EncoderPhaseCompensation=0;--- deg
+EncoderDifferentialGain=0
+PositionerMappingFileName=
+PositionerMappingLineNumber=0
+PositionerMappingMaxPositionError=0; Unit
+EncoderIndexOffset=0; Unit
+EncoderHardInterpolatorErrorCheck=Enabled
+; --- Travels and servitudes type parameters
+; ---
+ServitudesType=StandardEORDriverPlug
+MinimumTargetPosition=-600; Unit
+MaximumTargetPosition=600; Unit
+HomePreset=0; Unit
+; --- Backlash parameters
+; ---
+Backlash=0; Unit
+CurrentVelocityCutOffFrequency=100; Hz
+CurrentAccelerationCutOffFrequency=100; Hz
+; --- Profile generator parameters
+; ---
+MaximumVelocity=500; Unit/Sec
+MaximumAcceleration=1000; Unit/Sec2
+EmergencyDecelerationMultiplier=4
+MinimumJerkTime=0.5; Sec
+MaximumJerkTime=2; Sec
+TrackingCutOffFrequency=25; Hz
+; --- Home search process parameters
+; ---
+HomeSearchSequenceType=MechanicalZeroAndIndexHomeSearch
+HomeSearchMaximumVelocity=30; Unit/Sec
+HomeSearchMaximumAcceleration=30; Unit/Sec2
+HomeSearchTimeOut=600; Sec
+HomingSensorOffset=0; Unit
+; --- Position servo loop parameters
+; ---
+CorrectorType=PIDFFAcceleration
+ClosedLoopStatus = Closed
+FatalFollowingError=6; Unit
+KP = 400
+KI = 1000
+KD = 1000
+KS = 0
+GKP = 10
+GKD = 10
+GKI = 10
+KForm = 10; Unit
+IntegrationTime = 0.01; Sec
+DerivativeFilterCutOffFrequency = 0; Hz
+DeadBandThreshold=0; Unit
+KFeedForwardAcceleration = 1
+NotchFrequency1=0; Hz
+NotchBandwidth1=0; Hz
+NotchGain1=0
+NotchFrequency2=0; Hz
+NotchBandwidth2=0; Hz
+NotchGain2=0
+KFeedForwardJerk = 1
+; --- PreFeedForward filter parameters (PP version)
+; ---
+CompensationSpatialPeriodicNotchsStep1=0; Units (PP version)
+CompensationSpatialPeriodicNotchsBandwidth1=0; Hz (PP version)
+CompensationSpatialPeriodicNotchsGain1=0; (PP version)
+CompensationSpatialPeriodicNotchsStep2=0; Units (PP version)
+CompensationSpatialPeriodicNotchsBandwidth2=0; Hz (PP version)
+CompensationSpatialPeriodicNotchsGain2=0; (PP version)
+CompensationSpatialPeriodicNotchsStep3=0; Units (PP version)
+CompensationSpatialPeriodicNotchsBandwidth3=0; Hz (PP version)
+CompensationSpatialPeriodicNotchsGain3=0; (PP version)
+CompensationFrequencyNotchsFrequency1=0; Hz (PP version)
+CompensationFrequencyNotchsBandwidth1=0; Hz (PP version)
+CompensationFrequencyNotchsGain1=0; (PP version)
+CompensationFrequencyNotchsFrequency2=0; Hz (PP version)
+CompensationFrequencyNotchsBandwidth2=0; Hz (PP version)
+CompensationFrequencyNotchsGain2=0; (PP version)
+CompensationFrequencyNotchsFrequency3=0; Hz (PP version)
+CompensationFrequencyNotchsBandwidth3=0; Hz (PP version)
+CompensationFrequencyNotchsGain3=0; (PP version)
+; --- PostFeedForward filter parameters (PP version)
+; ---
+CompensationNotchModeFr1=0; Hz (PP version)
+CompensationNotchModeFa1=0; Hz (PP version)
+CompensationNotchModeZr1=0; (PP version)
+CompensationNotchModeZa1=0; (PP version)
+CompensationNotchModeFr2=0; Hz (PP version)
+CompensationNotchModeFa2=0; Hz (PP version)
+CompensationNotchModeZr2=0; (PP version)
+CompensationNotchModeZa2=0; (PP version)
+CompensationPhaseCorrectionFn1=0; Hz (PP version)
+CompensationPhaseCorrectionFd1=0; Hz (PP version)
+CompensationPhaseCorrectionGain1=0; (PP version)
+CompensationPhaseCorrectionFn2=0; Hz (PP version)
+CompensationPhaseCorrectionFd2=0; Hz (PP version)
+CompensationPhaseCorrectionGain2=0; (PP version)
+CompensationLowPassFilterCutOffFrequency=0; Hz (PP version)
+; --- Motion done parameters
+; ---
+MotionDoneMode=Theoretical
diff --git a/Axel-track/bin/AnyCPU/Stages/stages.ini b/Axel-track/bin/AnyCPU/Stages/stages.ini
index 6c3d01f8..a2515d97 100644
--- a/Axel-track/bin/AnyCPU/Stages/stages.ini
+++ b/Axel-track/bin/AnyCPU/Stages/stages.ini
@@ -1,192 +1,192 @@
-[DUMMY_STAGE]
-;--- unit = millimeter
-
-;--- Stage
-SmartStageName =
-
-;--- Driver
-DriverName = XPS-DRV01
-DriverPWMFrequency =50 ; kHz
-DriverStepperWinding = Full ; Full or Half
-
-;--- Motor driver interface
-MotorDriverInterface = AnalogStepperPosition
-DisplacementPerFullStep = 0.1 ; units
-ScalingCurrent = 3 ; amps for 10 V
-PeakCurrentPerPhase =0.6 ; amps
-StandbyPeakCurrentPerPhase =0.6 ; amps
-BaseVelocity = 4 ; units / sec
-
-;--- Encoder
-EncoderType =AquadB
-EncoderResolution = 0.001 ; unit
-LinearEncoderCorrection =0 ; ppm
-
-;--- Backlash
-Backlash = 0 ; unit
-
-;--- Positioner mapping
-PositionerMappingFileName =
-
-;--- Gathering filters
-CurrentVelocityCutOffFrequency = 100 ; Hertz
-CurrentAccelerationCutOffFrequency = 100 ; Hertz
-
-;--- Travels
-MinimumTargetPosition = -1000000 ; unit
-HomePreset = 0 ; unit
-MaximumTargetPosition = 1000000 ; unit
-
-;--- Home
-HomeSearchSequenceType = CurrentPositionAsHome
-HomeSearchMaximumVelocity = 10 ; unit / second
-HomeSearchMaximumAcceleration = 80 ; unit / second
-HomeSearchTimeOut = 22 ; second
-
-;--- Profiler
-MaximumVelocity = 500 ; unit / second
-MaximumAcceleration = 10000 ; unit / second2
-EmergencyDecelerationMultiplier = 1
-MinimumJerkTime = 0.005 ; second
-MaximumJerkTime = 0.1 ; second
-MinimumMotionTime = 0.01 ; second
-TrackingCutOffFrequency =25; Hz
-
-;--- Motion done
-MotionDoneMode =Theoretical
-
-;--- Corrector
-CorrectorType = NoEncoderPosition
-
-;--- Servitude
-ServitudesType = StandardEORDriverPlug
-
-[IMS1200LM@XPS-DRV02]
-; --- Global stage parameters
-; ---
-SmartStageName = IMS1200LM
-Unit = mm
-ConfigurationComment = No load
-; --- Motor driver parameters
-; ---
-DriverName = XPS-DRV02
-DriverMotorResistance = 2.8 ; Ohm
-DriverMotorInductance = 0.018 ; Henry
-DriverMaximumPeakCurrent = 5 ; Amp
-DriverMaximumRMSCurrent = 2.5 ; Amp
-DriverRMSIntegrationTime = 15 ; Sec
-DriverThermistanceThreshold = 1000 ; Ohm
-DriverCutOffFrequency = 100 ; Hz
-; --- Driver command interface parameters
-; ---
-MotorDriverInterface = AnalogSin120Acceleration
-ScalingAcceleration = 30641 ; Unit/Sec²
-AccelerationLimit = 27856 ; Unit/Sec²
-MagneticTrackPeriod = 24 ; Unit
-InitializationAccelerationLevel = 15 ; Percent
-; --- Position encoder interface parameters
-; ---
-EncoderType = AnalogInterpolated
-LinearEncoderCorrection = 0 ; Ppm
-EncoderZMPlug = Driver
-EncoderInterpolationFactor = 4000
-EncoderScalePitch = 0.02 ; Unit
-EncoderSinusOffset = 0 ; Volt
-EncoderCosinusOffset = 0 ; Volt
-EncoderPhaseCompensation = 0 ;--- deg
-EncoderDifferentialGain = 0
-PositionerMappingFileName =
-PositionerMappingLineNumber = 0
-PositionerMappingMaxPositionError = 0 ; Unit
-EncoderIndexOffset = 0 ; Unit
-EncoderHardInterpolatorErrorCheck = Enabled
-; --- Travels and servitudes type parameters
-; ---
-ServitudesType = StandardEORDriverPlug
-MinimumTargetPosition = -600 ; Unit
-MaximumTargetPosition = 600 ; Unit
-HomePreset = 0 ; Unit
-; --- Backlash parameters
-; ---
-Backlash = 0 ; Unit
-CurrentVelocityCutOffFrequency = 100 ; Hz
-CurrentAccelerationCutOffFrequency = 100 ; Hz
-; --- Profile generator parameters
-; ---
-MaximumVelocity = 500 ; Unit/Sec
-MaximumAcceleration = 2000 ; Unit/Sec²
-EmergencyDecelerationMultiplier = 4
-MinimumJerkTime = 0.04 ; Sec
-MaximumJerkTime = 0.04 ; Sec
-TrackingCutOffFrequency = 25 ; Hz
-; --- Home search process parameters
-; ---
-HomeSearchSequenceType = MechanicalZeroAndIndexHomeSearch
-HomeSearchMaximumVelocity = 100 ; Unit/Sec
-HomeSearchMaximumAcceleration = 1000 ; Unit/Sec²
-HomeSearchTimeOut = 13 ; Sec
-HomingSensorOffset = 0 ; Unit
-; --- Position servo loop parameters
-; ---
-CorrectorType = PIDFFAcceleration
-ClosedLoopStatus = Closed
-FatalFollowingError = 1 ; Unit
-KP = 120000
-KI = 15000000
-KD = 800
-KS = 0.8
-GKP = 0
-GKD = 0
-GKI = 0
-KForm = 0 ; Unit
-IntegrationTime = 1E+99 ; Sec
-DerivativeFilterCutOffFrequency = 4000 ; Hz
-DeadBandThreshold = 0 ; Unit
-KFeedForwardAcceleration = 1
-NotchFrequency1 = 0 ; Hz
-NotchBandwidth1 = 0 ; Hz
-NotchGain1 = 0
-NotchFrequency2 = 0 ; Hz
-NotchBandwidth2 = 0 ; Hz
-NotchGain2 = 0
-KFeedForwardJerk = 0
-; --- PreFeedForward filter parameters (PP version)
-; ---
-CompensationSpatialPeriodicNotchsStep1 = 0 ; Units (PP version)
-CompensationSpatialPeriodicNotchsBandwidth1 = 0 ; Hz (PP version)
-CompensationSpatialPeriodicNotchsGain1 = 0 ; (PP version)
-CompensationSpatialPeriodicNotchsStep2 = 0 ; Units (PP version)
-CompensationSpatialPeriodicNotchsBandwidth2 = 0 ; Hz (PP version)
-CompensationSpatialPeriodicNotchsGain2 = 0 ; (PP version)
-CompensationSpatialPeriodicNotchsStep3 = 0 ; Units (PP version)
-CompensationSpatialPeriodicNotchsBandwidth3 = 0 ; Hz (PP version)
-CompensationSpatialPeriodicNotchsGain3 = 0 ; (PP version)
-CompensationFrequencyNotchsFrequency1 = 0 ; Hz (PP version)
-CompensationFrequencyNotchsBandwidth1 = 0 ; Hz (PP version)
-CompensationFrequencyNotchsGain1 = 0 ; (PP version)
-CompensationFrequencyNotchsFrequency2 = 0 ; Hz (PP version)
-CompensationFrequencyNotchsBandwidth2 = 0 ; Hz (PP version)
-CompensationFrequencyNotchsGain2 = 0 ; (PP version)
-CompensationFrequencyNotchsFrequency3 = 0 ; Hz (PP version)
-CompensationFrequencyNotchsBandwidth3 = 0 ; Hz (PP version)
-CompensationFrequencyNotchsGain3 = 0 ; (PP version)
-; --- PostFeedForward filter parameters (PP version)
-; ---
-CompensationNotchModeFr1 = 0 ; Hz (PP version)
-CompensationNotchModeFa1 = 0 ; Hz (PP version)
-CompensationNotchModeZr1 = 0 ; (PP version)
-CompensationNotchModeZa1 = 0 ; (PP version)
-CompensationNotchModeFr2 = 0 ; Hz (PP version)
-CompensationNotchModeFa2 = 0 ; Hz (PP version)
-CompensationNotchModeZr2 = 0 ; (PP version)
-CompensationNotchModeZa2 = 0 ; (PP version)
-CompensationPhaseCorrectionFn1 = 0 ; Hz (PP version)
-CompensationPhaseCorrectionFd1 = 0 ; Hz (PP version)
-CompensationPhaseCorrectionGain1 = 0 ; (PP version)
-CompensationPhaseCorrectionFn2 = 0 ; Hz (PP version)
-CompensationPhaseCorrectionFd2 = 0 ; Hz (PP version)
-CompensationPhaseCorrectionGain2 = 0 ; (PP version)
-CompensationLowPassFilterCutOffFrequency = 0 ; Hz (PP version)
-; --- Motion done parameters
-; ---
-MotionDoneMode = Theoretical
+[DUMMY_STAGE]
+;--- unit = millimeter
+
+;--- Stage
+SmartStageName =
+
+;--- Driver
+DriverName = XPS-DRV01
+DriverPWMFrequency =50 ; kHz
+DriverStepperWinding = Full ; Full or Half
+
+;--- Motor driver interface
+MotorDriverInterface = AnalogStepperPosition
+DisplacementPerFullStep = 0.1 ; units
+ScalingCurrent = 3 ; amps for 10 V
+PeakCurrentPerPhase =0.6 ; amps
+StandbyPeakCurrentPerPhase =0.6 ; amps
+BaseVelocity = 4 ; units / sec
+
+;--- Encoder
+EncoderType =AquadB
+EncoderResolution = 0.001 ; unit
+LinearEncoderCorrection =0 ; ppm
+
+;--- Backlash
+Backlash = 0 ; unit
+
+;--- Positioner mapping
+PositionerMappingFileName =
+
+;--- Gathering filters
+CurrentVelocityCutOffFrequency = 100 ; Hertz
+CurrentAccelerationCutOffFrequency = 100 ; Hertz
+
+;--- Travels
+MinimumTargetPosition = -1000000 ; unit
+HomePreset = 0 ; unit
+MaximumTargetPosition = 1000000 ; unit
+
+;--- Home
+HomeSearchSequenceType = CurrentPositionAsHome
+HomeSearchMaximumVelocity = 10 ; unit / second
+HomeSearchMaximumAcceleration = 80 ; unit / second
+HomeSearchTimeOut = 22 ; second
+
+;--- Profiler
+MaximumVelocity = 500 ; unit / second
+MaximumAcceleration = 10000 ; unit / second2
+EmergencyDecelerationMultiplier = 1
+MinimumJerkTime = 0.005 ; second
+MaximumJerkTime = 0.1 ; second
+MinimumMotionTime = 0.01 ; second
+TrackingCutOffFrequency =25; Hz
+
+;--- Motion done
+MotionDoneMode =Theoretical
+
+;--- Corrector
+CorrectorType = NoEncoderPosition
+
+;--- Servitude
+ServitudesType = StandardEORDriverPlug
+
+[IMS1200LM@XPS-DRV02]
+; --- Global stage parameters
+; ---
+SmartStageName = IMS1200LM
+Unit = mm
+ConfigurationComment = No load
+; --- Motor driver parameters
+; ---
+DriverName = XPS-DRV02
+DriverMotorResistance = 2.8 ; Ohm
+DriverMotorInductance = 0.018 ; Henry
+DriverMaximumPeakCurrent = 5 ; Amp
+DriverMaximumRMSCurrent = 2.5 ; Amp
+DriverRMSIntegrationTime = 15 ; Sec
+DriverThermistanceThreshold = 1000 ; Ohm
+DriverCutOffFrequency = 100 ; Hz
+; --- Driver command interface parameters
+; ---
+MotorDriverInterface = AnalogSin120Acceleration
+ScalingAcceleration = 30641 ; Unit/Sec²
+AccelerationLimit = 27856 ; Unit/Sec²
+MagneticTrackPeriod = 24 ; Unit
+InitializationAccelerationLevel = 15 ; Percent
+; --- Position encoder interface parameters
+; ---
+EncoderType = AnalogInterpolated
+LinearEncoderCorrection = 0 ; Ppm
+EncoderZMPlug = Driver
+EncoderInterpolationFactor = 4000
+EncoderScalePitch = 0.02 ; Unit
+EncoderSinusOffset = 0 ; Volt
+EncoderCosinusOffset = 0 ; Volt
+EncoderPhaseCompensation = 0 ;--- deg
+EncoderDifferentialGain = 0
+PositionerMappingFileName =
+PositionerMappingLineNumber = 0
+PositionerMappingMaxPositionError = 0 ; Unit
+EncoderIndexOffset = 0 ; Unit
+EncoderHardInterpolatorErrorCheck = Enabled
+; --- Travels and servitudes type parameters
+; ---
+ServitudesType = StandardEORDriverPlug
+MinimumTargetPosition = -600 ; Unit
+MaximumTargetPosition = 600 ; Unit
+HomePreset = 0 ; Unit
+; --- Backlash parameters
+; ---
+Backlash = 0 ; Unit
+CurrentVelocityCutOffFrequency = 100 ; Hz
+CurrentAccelerationCutOffFrequency = 100 ; Hz
+; --- Profile generator parameters
+; ---
+MaximumVelocity = 500 ; Unit/Sec
+MaximumAcceleration = 2000 ; Unit/Sec²
+EmergencyDecelerationMultiplier = 4
+MinimumJerkTime = 0.04 ; Sec
+MaximumJerkTime = 0.04 ; Sec
+TrackingCutOffFrequency = 25 ; Hz
+; --- Home search process parameters
+; ---
+HomeSearchSequenceType = MechanicalZeroAndIndexHomeSearch
+HomeSearchMaximumVelocity = 100 ; Unit/Sec
+HomeSearchMaximumAcceleration = 1000 ; Unit/Sec²
+HomeSearchTimeOut = 13 ; Sec
+HomingSensorOffset = 0 ; Unit
+; --- Position servo loop parameters
+; ---
+CorrectorType = PIDFFAcceleration
+ClosedLoopStatus = Closed
+FatalFollowingError = 1 ; Unit
+KP = 120000
+KI = 15000000
+KD = 800
+KS = 0.8
+GKP = 0
+GKD = 0
+GKI = 0
+KForm = 0 ; Unit
+IntegrationTime = 1E+99 ; Sec
+DerivativeFilterCutOffFrequency = 4000 ; Hz
+DeadBandThreshold = 0 ; Unit
+KFeedForwardAcceleration = 1
+NotchFrequency1 = 0 ; Hz
+NotchBandwidth1 = 0 ; Hz
+NotchGain1 = 0
+NotchFrequency2 = 0 ; Hz
+NotchBandwidth2 = 0 ; Hz
+NotchGain2 = 0
+KFeedForwardJerk = 0
+; --- PreFeedForward filter parameters (PP version)
+; ---
+CompensationSpatialPeriodicNotchsStep1 = 0 ; Units (PP version)
+CompensationSpatialPeriodicNotchsBandwidth1 = 0 ; Hz (PP version)
+CompensationSpatialPeriodicNotchsGain1 = 0 ; (PP version)
+CompensationSpatialPeriodicNotchsStep2 = 0 ; Units (PP version)
+CompensationSpatialPeriodicNotchsBandwidth2 = 0 ; Hz (PP version)
+CompensationSpatialPeriodicNotchsGain2 = 0 ; (PP version)
+CompensationSpatialPeriodicNotchsStep3 = 0 ; Units (PP version)
+CompensationSpatialPeriodicNotchsBandwidth3 = 0 ; Hz (PP version)
+CompensationSpatialPeriodicNotchsGain3 = 0 ; (PP version)
+CompensationFrequencyNotchsFrequency1 = 0 ; Hz (PP version)
+CompensationFrequencyNotchsBandwidth1 = 0 ; Hz (PP version)
+CompensationFrequencyNotchsGain1 = 0 ; (PP version)
+CompensationFrequencyNotchsFrequency2 = 0 ; Hz (PP version)
+CompensationFrequencyNotchsBandwidth2 = 0 ; Hz (PP version)
+CompensationFrequencyNotchsGain2 = 0 ; (PP version)
+CompensationFrequencyNotchsFrequency3 = 0 ; Hz (PP version)
+CompensationFrequencyNotchsBandwidth3 = 0 ; Hz (PP version)
+CompensationFrequencyNotchsGain3 = 0 ; (PP version)
+; --- PostFeedForward filter parameters (PP version)
+; ---
+CompensationNotchModeFr1 = 0 ; Hz (PP version)
+CompensationNotchModeFa1 = 0 ; Hz (PP version)
+CompensationNotchModeZr1 = 0 ; (PP version)
+CompensationNotchModeZa1 = 0 ; (PP version)
+CompensationNotchModeFr2 = 0 ; Hz (PP version)
+CompensationNotchModeFa2 = 0 ; Hz (PP version)
+CompensationNotchModeZr2 = 0 ; (PP version)
+CompensationNotchModeZa2 = 0 ; (PP version)
+CompensationPhaseCorrectionFn1 = 0 ; Hz (PP version)
+CompensationPhaseCorrectionFd1 = 0 ; Hz (PP version)
+CompensationPhaseCorrectionGain1 = 0 ; (PP version)
+CompensationPhaseCorrectionFn2 = 0 ; Hz (PP version)
+CompensationPhaseCorrectionFd2 = 0 ; Hz (PP version)
+CompensationPhaseCorrectionGain2 = 0 ; (PP version)
+CompensationLowPassFilterCutOffFrequency = 0 ; Hz (PP version)
+; --- Motion done parameters
+; ---
+MotionDoneMode = Theoretical
diff --git a/Axel-track/bin/AnyCPU/Stages/stages.ini.org b/Axel-track/bin/AnyCPU/Stages/stages.ini.org
index 6c3d01f8..a2515d97 100644
--- a/Axel-track/bin/AnyCPU/Stages/stages.ini.org
+++ b/Axel-track/bin/AnyCPU/Stages/stages.ini.org
@@ -1,192 +1,192 @@
-[DUMMY_STAGE]
-;--- unit = millimeter
-
-;--- Stage
-SmartStageName =
-
-;--- Driver
-DriverName = XPS-DRV01
-DriverPWMFrequency =50 ; kHz
-DriverStepperWinding = Full ; Full or Half
-
-;--- Motor driver interface
-MotorDriverInterface = AnalogStepperPosition
-DisplacementPerFullStep = 0.1 ; units
-ScalingCurrent = 3 ; amps for 10 V
-PeakCurrentPerPhase =0.6 ; amps
-StandbyPeakCurrentPerPhase =0.6 ; amps
-BaseVelocity = 4 ; units / sec
-
-;--- Encoder
-EncoderType =AquadB
-EncoderResolution = 0.001 ; unit
-LinearEncoderCorrection =0 ; ppm
-
-;--- Backlash
-Backlash = 0 ; unit
-
-;--- Positioner mapping
-PositionerMappingFileName =
-
-;--- Gathering filters
-CurrentVelocityCutOffFrequency = 100 ; Hertz
-CurrentAccelerationCutOffFrequency = 100 ; Hertz
-
-;--- Travels
-MinimumTargetPosition = -1000000 ; unit
-HomePreset = 0 ; unit
-MaximumTargetPosition = 1000000 ; unit
-
-;--- Home
-HomeSearchSequenceType = CurrentPositionAsHome
-HomeSearchMaximumVelocity = 10 ; unit / second
-HomeSearchMaximumAcceleration = 80 ; unit / second
-HomeSearchTimeOut = 22 ; second
-
-;--- Profiler
-MaximumVelocity = 500 ; unit / second
-MaximumAcceleration = 10000 ; unit / second2
-EmergencyDecelerationMultiplier = 1
-MinimumJerkTime = 0.005 ; second
-MaximumJerkTime = 0.1 ; second
-MinimumMotionTime = 0.01 ; second
-TrackingCutOffFrequency =25; Hz
-
-;--- Motion done
-MotionDoneMode =Theoretical
-
-;--- Corrector
-CorrectorType = NoEncoderPosition
-
-;--- Servitude
-ServitudesType = StandardEORDriverPlug
-
-[IMS1200LM@XPS-DRV02]
-; --- Global stage parameters
-; ---
-SmartStageName = IMS1200LM
-Unit = mm
-ConfigurationComment = No load
-; --- Motor driver parameters
-; ---
-DriverName = XPS-DRV02
-DriverMotorResistance = 2.8 ; Ohm
-DriverMotorInductance = 0.018 ; Henry
-DriverMaximumPeakCurrent = 5 ; Amp
-DriverMaximumRMSCurrent = 2.5 ; Amp
-DriverRMSIntegrationTime = 15 ; Sec
-DriverThermistanceThreshold = 1000 ; Ohm
-DriverCutOffFrequency = 100 ; Hz
-; --- Driver command interface parameters
-; ---
-MotorDriverInterface = AnalogSin120Acceleration
-ScalingAcceleration = 30641 ; Unit/Sec²
-AccelerationLimit = 27856 ; Unit/Sec²
-MagneticTrackPeriod = 24 ; Unit
-InitializationAccelerationLevel = 15 ; Percent
-; --- Position encoder interface parameters
-; ---
-EncoderType = AnalogInterpolated
-LinearEncoderCorrection = 0 ; Ppm
-EncoderZMPlug = Driver
-EncoderInterpolationFactor = 4000
-EncoderScalePitch = 0.02 ; Unit
-EncoderSinusOffset = 0 ; Volt
-EncoderCosinusOffset = 0 ; Volt
-EncoderPhaseCompensation = 0 ;--- deg
-EncoderDifferentialGain = 0
-PositionerMappingFileName =
-PositionerMappingLineNumber = 0
-PositionerMappingMaxPositionError = 0 ; Unit
-EncoderIndexOffset = 0 ; Unit
-EncoderHardInterpolatorErrorCheck = Enabled
-; --- Travels and servitudes type parameters
-; ---
-ServitudesType = StandardEORDriverPlug
-MinimumTargetPosition = -600 ; Unit
-MaximumTargetPosition = 600 ; Unit
-HomePreset = 0 ; Unit
-; --- Backlash parameters
-; ---
-Backlash = 0 ; Unit
-CurrentVelocityCutOffFrequency = 100 ; Hz
-CurrentAccelerationCutOffFrequency = 100 ; Hz
-; --- Profile generator parameters
-; ---
-MaximumVelocity = 500 ; Unit/Sec
-MaximumAcceleration = 2000 ; Unit/Sec²
-EmergencyDecelerationMultiplier = 4
-MinimumJerkTime = 0.04 ; Sec
-MaximumJerkTime = 0.04 ; Sec
-TrackingCutOffFrequency = 25 ; Hz
-; --- Home search process parameters
-; ---
-HomeSearchSequenceType = MechanicalZeroAndIndexHomeSearch
-HomeSearchMaximumVelocity = 100 ; Unit/Sec
-HomeSearchMaximumAcceleration = 1000 ; Unit/Sec²
-HomeSearchTimeOut = 13 ; Sec
-HomingSensorOffset = 0 ; Unit
-; --- Position servo loop parameters
-; ---
-CorrectorType = PIDFFAcceleration
-ClosedLoopStatus = Closed
-FatalFollowingError = 1 ; Unit
-KP = 120000
-KI = 15000000
-KD = 800
-KS = 0.8
-GKP = 0
-GKD = 0
-GKI = 0
-KForm = 0 ; Unit
-IntegrationTime = 1E+99 ; Sec
-DerivativeFilterCutOffFrequency = 4000 ; Hz
-DeadBandThreshold = 0 ; Unit
-KFeedForwardAcceleration = 1
-NotchFrequency1 = 0 ; Hz
-NotchBandwidth1 = 0 ; Hz
-NotchGain1 = 0
-NotchFrequency2 = 0 ; Hz
-NotchBandwidth2 = 0 ; Hz
-NotchGain2 = 0
-KFeedForwardJerk = 0
-; --- PreFeedForward filter parameters (PP version)
-; ---
-CompensationSpatialPeriodicNotchsStep1 = 0 ; Units (PP version)
-CompensationSpatialPeriodicNotchsBandwidth1 = 0 ; Hz (PP version)
-CompensationSpatialPeriodicNotchsGain1 = 0 ; (PP version)
-CompensationSpatialPeriodicNotchsStep2 = 0 ; Units (PP version)
-CompensationSpatialPeriodicNotchsBandwidth2 = 0 ; Hz (PP version)
-CompensationSpatialPeriodicNotchsGain2 = 0 ; (PP version)
-CompensationSpatialPeriodicNotchsStep3 = 0 ; Units (PP version)
-CompensationSpatialPeriodicNotchsBandwidth3 = 0 ; Hz (PP version)
-CompensationSpatialPeriodicNotchsGain3 = 0 ; (PP version)
-CompensationFrequencyNotchsFrequency1 = 0 ; Hz (PP version)
-CompensationFrequencyNotchsBandwidth1 = 0 ; Hz (PP version)
-CompensationFrequencyNotchsGain1 = 0 ; (PP version)
-CompensationFrequencyNotchsFrequency2 = 0 ; Hz (PP version)
-CompensationFrequencyNotchsBandwidth2 = 0 ; Hz (PP version)
-CompensationFrequencyNotchsGain2 = 0 ; (PP version)
-CompensationFrequencyNotchsFrequency3 = 0 ; Hz (PP version)
-CompensationFrequencyNotchsBandwidth3 = 0 ; Hz (PP version)
-CompensationFrequencyNotchsGain3 = 0 ; (PP version)
-; --- PostFeedForward filter parameters (PP version)
-; ---
-CompensationNotchModeFr1 = 0 ; Hz (PP version)
-CompensationNotchModeFa1 = 0 ; Hz (PP version)
-CompensationNotchModeZr1 = 0 ; (PP version)
-CompensationNotchModeZa1 = 0 ; (PP version)
-CompensationNotchModeFr2 = 0 ; Hz (PP version)
-CompensationNotchModeFa2 = 0 ; Hz (PP version)
-CompensationNotchModeZr2 = 0 ; (PP version)
-CompensationNotchModeZa2 = 0 ; (PP version)
-CompensationPhaseCorrectionFn1 = 0 ; Hz (PP version)
-CompensationPhaseCorrectionFd1 = 0 ; Hz (PP version)
-CompensationPhaseCorrectionGain1 = 0 ; (PP version)
-CompensationPhaseCorrectionFn2 = 0 ; Hz (PP version)
-CompensationPhaseCorrectionFd2 = 0 ; Hz (PP version)
-CompensationPhaseCorrectionGain2 = 0 ; (PP version)
-CompensationLowPassFilterCutOffFrequency = 0 ; Hz (PP version)
-; --- Motion done parameters
-; ---
-MotionDoneMode = Theoretical
+[DUMMY_STAGE]
+;--- unit = millimeter
+
+;--- Stage
+SmartStageName =
+
+;--- Driver
+DriverName = XPS-DRV01
+DriverPWMFrequency =50 ; kHz
+DriverStepperWinding = Full ; Full or Half
+
+;--- Motor driver interface
+MotorDriverInterface = AnalogStepperPosition
+DisplacementPerFullStep = 0.1 ; units
+ScalingCurrent = 3 ; amps for 10 V
+PeakCurrentPerPhase =0.6 ; amps
+StandbyPeakCurrentPerPhase =0.6 ; amps
+BaseVelocity = 4 ; units / sec
+
+;--- Encoder
+EncoderType =AquadB
+EncoderResolution = 0.001 ; unit
+LinearEncoderCorrection =0 ; ppm
+
+;--- Backlash
+Backlash = 0 ; unit
+
+;--- Positioner mapping
+PositionerMappingFileName =
+
+;--- Gathering filters
+CurrentVelocityCutOffFrequency = 100 ; Hertz
+CurrentAccelerationCutOffFrequency = 100 ; Hertz
+
+;--- Travels
+MinimumTargetPosition = -1000000 ; unit
+HomePreset = 0 ; unit
+MaximumTargetPosition = 1000000 ; unit
+
+;--- Home
+HomeSearchSequenceType = CurrentPositionAsHome
+HomeSearchMaximumVelocity = 10 ; unit / second
+HomeSearchMaximumAcceleration = 80 ; unit / second
+HomeSearchTimeOut = 22 ; second
+
+;--- Profiler
+MaximumVelocity = 500 ; unit / second
+MaximumAcceleration = 10000 ; unit / second2
+EmergencyDecelerationMultiplier = 1
+MinimumJerkTime = 0.005 ; second
+MaximumJerkTime = 0.1 ; second
+MinimumMotionTime = 0.01 ; second
+TrackingCutOffFrequency =25; Hz
+
+;--- Motion done
+MotionDoneMode =Theoretical
+
+;--- Corrector
+CorrectorType = NoEncoderPosition
+
+;--- Servitude
+ServitudesType = StandardEORDriverPlug
+
+[IMS1200LM@XPS-DRV02]
+; --- Global stage parameters
+; ---
+SmartStageName = IMS1200LM
+Unit = mm
+ConfigurationComment = No load
+; --- Motor driver parameters
+; ---
+DriverName = XPS-DRV02
+DriverMotorResistance = 2.8 ; Ohm
+DriverMotorInductance = 0.018 ; Henry
+DriverMaximumPeakCurrent = 5 ; Amp
+DriverMaximumRMSCurrent = 2.5 ; Amp
+DriverRMSIntegrationTime = 15 ; Sec
+DriverThermistanceThreshold = 1000 ; Ohm
+DriverCutOffFrequency = 100 ; Hz
+; --- Driver command interface parameters
+; ---
+MotorDriverInterface = AnalogSin120Acceleration
+ScalingAcceleration = 30641 ; Unit/Sec²
+AccelerationLimit = 27856 ; Unit/Sec²
+MagneticTrackPeriod = 24 ; Unit
+InitializationAccelerationLevel = 15 ; Percent
+; --- Position encoder interface parameters
+; ---
+EncoderType = AnalogInterpolated
+LinearEncoderCorrection = 0 ; Ppm
+EncoderZMPlug = Driver
+EncoderInterpolationFactor = 4000
+EncoderScalePitch = 0.02 ; Unit
+EncoderSinusOffset = 0 ; Volt
+EncoderCosinusOffset = 0 ; Volt
+EncoderPhaseCompensation = 0 ;--- deg
+EncoderDifferentialGain = 0
+PositionerMappingFileName =
+PositionerMappingLineNumber = 0
+PositionerMappingMaxPositionError = 0 ; Unit
+EncoderIndexOffset = 0 ; Unit
+EncoderHardInterpolatorErrorCheck = Enabled
+; --- Travels and servitudes type parameters
+; ---
+ServitudesType = StandardEORDriverPlug
+MinimumTargetPosition = -600 ; Unit
+MaximumTargetPosition = 600 ; Unit
+HomePreset = 0 ; Unit
+; --- Backlash parameters
+; ---
+Backlash = 0 ; Unit
+CurrentVelocityCutOffFrequency = 100 ; Hz
+CurrentAccelerationCutOffFrequency = 100 ; Hz
+; --- Profile generator parameters
+; ---
+MaximumVelocity = 500 ; Unit/Sec
+MaximumAcceleration = 2000 ; Unit/Sec²
+EmergencyDecelerationMultiplier = 4
+MinimumJerkTime = 0.04 ; Sec
+MaximumJerkTime = 0.04 ; Sec
+TrackingCutOffFrequency = 25 ; Hz
+; --- Home search process parameters
+; ---
+HomeSearchSequenceType = MechanicalZeroAndIndexHomeSearch
+HomeSearchMaximumVelocity = 100 ; Unit/Sec
+HomeSearchMaximumAcceleration = 1000 ; Unit/Sec²
+HomeSearchTimeOut = 13 ; Sec
+HomingSensorOffset = 0 ; Unit
+; --- Position servo loop parameters
+; ---
+CorrectorType = PIDFFAcceleration
+ClosedLoopStatus = Closed
+FatalFollowingError = 1 ; Unit
+KP = 120000
+KI = 15000000
+KD = 800
+KS = 0.8
+GKP = 0
+GKD = 0
+GKI = 0
+KForm = 0 ; Unit
+IntegrationTime = 1E+99 ; Sec
+DerivativeFilterCutOffFrequency = 4000 ; Hz
+DeadBandThreshold = 0 ; Unit
+KFeedForwardAcceleration = 1
+NotchFrequency1 = 0 ; Hz
+NotchBandwidth1 = 0 ; Hz
+NotchGain1 = 0
+NotchFrequency2 = 0 ; Hz
+NotchBandwidth2 = 0 ; Hz
+NotchGain2 = 0
+KFeedForwardJerk = 0
+; --- PreFeedForward filter parameters (PP version)
+; ---
+CompensationSpatialPeriodicNotchsStep1 = 0 ; Units (PP version)
+CompensationSpatialPeriodicNotchsBandwidth1 = 0 ; Hz (PP version)
+CompensationSpatialPeriodicNotchsGain1 = 0 ; (PP version)
+CompensationSpatialPeriodicNotchsStep2 = 0 ; Units (PP version)
+CompensationSpatialPeriodicNotchsBandwidth2 = 0 ; Hz (PP version)
+CompensationSpatialPeriodicNotchsGain2 = 0 ; (PP version)
+CompensationSpatialPeriodicNotchsStep3 = 0 ; Units (PP version)
+CompensationSpatialPeriodicNotchsBandwidth3 = 0 ; Hz (PP version)
+CompensationSpatialPeriodicNotchsGain3 = 0 ; (PP version)
+CompensationFrequencyNotchsFrequency1 = 0 ; Hz (PP version)
+CompensationFrequencyNotchsBandwidth1 = 0 ; Hz (PP version)
+CompensationFrequencyNotchsGain1 = 0 ; (PP version)
+CompensationFrequencyNotchsFrequency2 = 0 ; Hz (PP version)
+CompensationFrequencyNotchsBandwidth2 = 0 ; Hz (PP version)
+CompensationFrequencyNotchsGain2 = 0 ; (PP version)
+CompensationFrequencyNotchsFrequency3 = 0 ; Hz (PP version)
+CompensationFrequencyNotchsBandwidth3 = 0 ; Hz (PP version)
+CompensationFrequencyNotchsGain3 = 0 ; (PP version)
+; --- PostFeedForward filter parameters (PP version)
+; ---
+CompensationNotchModeFr1 = 0 ; Hz (PP version)
+CompensationNotchModeFa1 = 0 ; Hz (PP version)
+CompensationNotchModeZr1 = 0 ; (PP version)
+CompensationNotchModeZa1 = 0 ; (PP version)
+CompensationNotchModeFr2 = 0 ; Hz (PP version)
+CompensationNotchModeFa2 = 0 ; Hz (PP version)
+CompensationNotchModeZr2 = 0 ; (PP version)
+CompensationNotchModeZa2 = 0 ; (PP version)
+CompensationPhaseCorrectionFn1 = 0 ; Hz (PP version)
+CompensationPhaseCorrectionFd1 = 0 ; Hz (PP version)
+CompensationPhaseCorrectionGain1 = 0 ; (PP version)
+CompensationPhaseCorrectionFn2 = 0 ; Hz (PP version)
+CompensationPhaseCorrectionFd2 = 0 ; Hz (PP version)
+CompensationPhaseCorrectionGain2 = 0 ; (PP version)
+CompensationLowPassFilterCutOffFrequency = 0 ; Hz (PP version)
+; --- Motion done parameters
+; ---
+MotionDoneMode = Theoretical
diff --git a/Axel-track/bin/Axel-track.exe b/Axel-track/bin/Axel-track.exe
index 0470348a..bca21e68 100644
Binary files a/Axel-track/bin/Axel-track.exe and b/Axel-track/bin/Axel-track.exe differ
diff --git a/Axel-track/bin/Axel-track.exe.config b/Axel-track/bin/Axel-track.exe.config
index b7a7ef16..c5e1daef 100644
--- a/Axel-track/bin/Axel-track.exe.config
+++ b/Axel-track/bin/Axel-track.exe.config
@@ -1,3 +1,3 @@
-
-
-
+
+
+
diff --git a/Axel-track/bin/Axel-track.pdb b/Axel-track/bin/Axel-track.pdb
index 39ce8049..335821d4 100644
Binary files a/Axel-track/bin/Axel-track.pdb and b/Axel-track/bin/Axel-track.pdb differ
diff --git a/Axel-track/bin/Axel-track.vshost.exe.config b/Axel-track/bin/Axel-track.vshost.exe.config
index b7a7ef16..c5e1daef 100644
--- a/Axel-track/bin/Axel-track.vshost.exe.config
+++ b/Axel-track/bin/Axel-track.vshost.exe.config
@@ -1,3 +1,3 @@
-
-
-
+
+
+
diff --git a/Axel-track/bin/Axel-track.vshost.exe.manifest b/Axel-track/bin/Axel-track.vshost.exe.manifest
index f96b1d6b..061c9ca9 100644
--- a/Axel-track/bin/Axel-track.vshost.exe.manifest
+++ b/Axel-track/bin/Axel-track.vshost.exe.manifest
@@ -1,11 +1,11 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Axel-track/config/stages.ini b/Axel-track/config/stages.ini
index 27895585..ffc958f0 100644
--- a/Axel-track/config/stages.ini
+++ b/Axel-track/config/stages.ini
@@ -1,129 +1,129 @@
-[IMS1200LM@XPS-DRV02]
-; --- Global stage parameters
-; ---
-SmartStageName=IMS1200LM
-Unit=mm
-ConfigurationComment=1000m/s2
-; --- Motor driver parameters
-; ---
-DriverName=XPS-DRV02
-DriverMotorResistance=2.8; Ohm
-DriverMotorInductance=0.018; Henry
-DriverMaximumPeakCurrent=5; Amp
-DriverMaximumRMSCurrent=2.5; Amp
-DriverRMSIntegrationTime=15; Sec
-DriverThermistanceThreshold=1000; Ohm
-DriverCutOffFrequency=100; Hz
-; --- Driver command interface parameters
-; ---
-MotorDriverInterface=AnalogSin120Acceleration
-ScalingAcceleration=3455.346; Unit/Sec2
-AccelerationLimit=3276.621; Unit/Sec2
-MagneticTrackPeriod=24; Unit
-InitializationAccelerationLevel=15; Percent
-; --- Position encoder interface parameters
-; ---
-EncoderType=AnalogInterpolated
-LinearEncoderCorrection=0; Ppm
-EncoderZMPlug=Driver
-EncoderInterpolationFactor=4000
-EncoderScalePitch=0.02; Unit
-EncoderSinusOffset=0; Volt
-EncoderCosinusOffset=0; Volt
-EncoderPhaseCompensation=0;--- deg
-EncoderDifferentialGain=0
-PositionerMappingFileName=
-PositionerMappingLineNumber=0
-PositionerMappingMaxPositionError=0; Unit
-EncoderIndexOffset=0; Unit
-EncoderHardInterpolatorErrorCheck=Enabled
-; --- Travels and servitudes type parameters
-; ---
-ServitudesType=StandardEORDriverPlug
-MinimumTargetPosition=-500; Unit
-MaximumTargetPosition=500; Unit
-HomePreset=0; Unit
-; --- Backlash parameters
-; ---
-Backlash=0; Unit
-CurrentVelocityCutOffFrequency=100; Hz
-CurrentAccelerationCutOffFrequency=100; Hz
-; --- Profile generator parameters
-; ---
-MaximumVelocity=1000; Unit/Sec
-MaximumAcceleration=2000; Unit/Sec2
-EmergencyDecelerationMultiplier=4
-MinimumJerkTime=0.04; Sec
-MaximumJerkTime=0.4; Sec
-TrackingCutOffFrequency=25; Hz
-; --- Home search process parameters
-; ---
-HomeSearchSequenceType=MechanicalZeroAndIndexHomeSearch
-HomeSearchMaximumVelocity=10; Unit/Sec
-HomeSearchMaximumAcceleration=100; Unit/Sec2
-HomeSearchTimeOut=130; Sec
-HomingSensorOffset=0; Unit
-; --- Position servo loop parameters
-; ---
-CorrectorType=PIDFFAcceleration
-ClosedLoopStatus=Closed
-FatalFollowingError=3; Unit
-KP=600
-KI=800
-KD=400
-KS=0.8
-GKP=10
-GKD=10
-GKI=10
-KForm=0; Unit
-IntegrationTime=1000; Sec
-DerivativeFilterCutOffFrequency=400; Hz
-DeadBandThreshold=0; Unit
-KFeedForwardAcceleration=1
-NotchFrequency1=0; Hz
-NotchBandwidth1=0; Hz
-NotchGain1=0
-NotchFrequency2=0; Hz
-NotchBandwidth2=0; Hz
-NotchGain2=0
-KFeedForwardJerk=1
-; --- PreFeedForward filter parameters (PP version)
-; ---
-CompensationSpatialPeriodicNotchsStep1=0; Units (PP version)
-CompensationSpatialPeriodicNotchsBandwidth1=0; Hz (PP version)
-CompensationSpatialPeriodicNotchsGain1=0; (PP version)
-CompensationSpatialPeriodicNotchsStep2=0; Units (PP version)
-CompensationSpatialPeriodicNotchsBandwidth2=0; Hz (PP version)
-CompensationSpatialPeriodicNotchsGain2=0; (PP version)
-CompensationSpatialPeriodicNotchsStep3=0; Units (PP version)
-CompensationSpatialPeriodicNotchsBandwidth3=0; Hz (PP version)
-CompensationSpatialPeriodicNotchsGain3=0; (PP version)
-CompensationFrequencyNotchsFrequency1=0; Hz (PP version)
-CompensationFrequencyNotchsBandwidth1=0; Hz (PP version)
-CompensationFrequencyNotchsGain1=0; (PP version)
-CompensationFrequencyNotchsFrequency2=0; Hz (PP version)
-CompensationFrequencyNotchsBandwidth2=0; Hz (PP version)
-CompensationFrequencyNotchsGain2=0; (PP version)
-CompensationFrequencyNotchsFrequency3=0; Hz (PP version)
-CompensationFrequencyNotchsBandwidth3=0; Hz (PP version)
-CompensationFrequencyNotchsGain3=0; (PP version)
-; --- PostFeedForward filter parameters (PP version)
-; ---
-CompensationNotchModeFr1=0; Hz (PP version)
-CompensationNotchModeFa1=0; Hz (PP version)
-CompensationNotchModeZr1=0; (PP version)
-CompensationNotchModeZa1=0; (PP version)
-CompensationNotchModeFr2=0; Hz (PP version)
-CompensationNotchModeFa2=0; Hz (PP version)
-CompensationNotchModeZr2=0; (PP version)
-CompensationNotchModeZa2=0; (PP version)
-CompensationPhaseCorrectionFn1=0; Hz (PP version)
-CompensationPhaseCorrectionFd1=0; Hz (PP version)
-CompensationPhaseCorrectionGain1=0; (PP version)
-CompensationPhaseCorrectionFn2=0; Hz (PP version)
-CompensationPhaseCorrectionFd2=0; Hz (PP version)
-CompensationPhaseCorrectionGain2=0; (PP version)
-CompensationLowPassFilterCutOffFrequency=0; Hz (PP version)
-; --- Motion done parameters
-; ---
-MotionDoneMode=Theoretical
+[IMS1200LM@XPS-DRV02]
+; --- Global stage parameters
+; ---
+SmartStageName=IMS1200LM
+Unit=mm
+ConfigurationComment=1000m/s2
+; --- Motor driver parameters
+; ---
+DriverName=XPS-DRV02
+DriverMotorResistance=2.8; Ohm
+DriverMotorInductance=0.018; Henry
+DriverMaximumPeakCurrent=5; Amp
+DriverMaximumRMSCurrent=2.5; Amp
+DriverRMSIntegrationTime=15; Sec
+DriverThermistanceThreshold=1000; Ohm
+DriverCutOffFrequency=100; Hz
+; --- Driver command interface parameters
+; ---
+MotorDriverInterface=AnalogSin120Acceleration
+ScalingAcceleration=3455.346; Unit/Sec2
+AccelerationLimit=3276.621; Unit/Sec2
+MagneticTrackPeriod=24; Unit
+InitializationAccelerationLevel=15; Percent
+; --- Position encoder interface parameters
+; ---
+EncoderType=AnalogInterpolated
+LinearEncoderCorrection=0; Ppm
+EncoderZMPlug=Driver
+EncoderInterpolationFactor=4000
+EncoderScalePitch=0.02; Unit
+EncoderSinusOffset=0; Volt
+EncoderCosinusOffset=0; Volt
+EncoderPhaseCompensation=0;--- deg
+EncoderDifferentialGain=0
+PositionerMappingFileName=
+PositionerMappingLineNumber=0
+PositionerMappingMaxPositionError=0; Unit
+EncoderIndexOffset=0; Unit
+EncoderHardInterpolatorErrorCheck=Enabled
+; --- Travels and servitudes type parameters
+; ---
+ServitudesType=StandardEORDriverPlug
+MinimumTargetPosition=-500; Unit
+MaximumTargetPosition=500; Unit
+HomePreset=0; Unit
+; --- Backlash parameters
+; ---
+Backlash=0; Unit
+CurrentVelocityCutOffFrequency=100; Hz
+CurrentAccelerationCutOffFrequency=100; Hz
+; --- Profile generator parameters
+; ---
+MaximumVelocity=1000; Unit/Sec
+MaximumAcceleration=2000; Unit/Sec2
+EmergencyDecelerationMultiplier=4
+MinimumJerkTime=0.04; Sec
+MaximumJerkTime=0.4; Sec
+TrackingCutOffFrequency=25; Hz
+; --- Home search process parameters
+; ---
+HomeSearchSequenceType=MechanicalZeroAndIndexHomeSearch
+HomeSearchMaximumVelocity=10; Unit/Sec
+HomeSearchMaximumAcceleration=100; Unit/Sec2
+HomeSearchTimeOut=130; Sec
+HomingSensorOffset=0; Unit
+; --- Position servo loop parameters
+; ---
+CorrectorType=PIDFFAcceleration
+ClosedLoopStatus=Closed
+FatalFollowingError=3; Unit
+KP=600
+KI=800
+KD=400
+KS=0.8
+GKP=10
+GKD=10
+GKI=10
+KForm=0; Unit
+IntegrationTime=1000; Sec
+DerivativeFilterCutOffFrequency=400; Hz
+DeadBandThreshold=0; Unit
+KFeedForwardAcceleration=1
+NotchFrequency1=0; Hz
+NotchBandwidth1=0; Hz
+NotchGain1=0
+NotchFrequency2=0; Hz
+NotchBandwidth2=0; Hz
+NotchGain2=0
+KFeedForwardJerk=1
+; --- PreFeedForward filter parameters (PP version)
+; ---
+CompensationSpatialPeriodicNotchsStep1=0; Units (PP version)
+CompensationSpatialPeriodicNotchsBandwidth1=0; Hz (PP version)
+CompensationSpatialPeriodicNotchsGain1=0; (PP version)
+CompensationSpatialPeriodicNotchsStep2=0; Units (PP version)
+CompensationSpatialPeriodicNotchsBandwidth2=0; Hz (PP version)
+CompensationSpatialPeriodicNotchsGain2=0; (PP version)
+CompensationSpatialPeriodicNotchsStep3=0; Units (PP version)
+CompensationSpatialPeriodicNotchsBandwidth3=0; Hz (PP version)
+CompensationSpatialPeriodicNotchsGain3=0; (PP version)
+CompensationFrequencyNotchsFrequency1=0; Hz (PP version)
+CompensationFrequencyNotchsBandwidth1=0; Hz (PP version)
+CompensationFrequencyNotchsGain1=0; (PP version)
+CompensationFrequencyNotchsFrequency2=0; Hz (PP version)
+CompensationFrequencyNotchsBandwidth2=0; Hz (PP version)
+CompensationFrequencyNotchsGain2=0; (PP version)
+CompensationFrequencyNotchsFrequency3=0; Hz (PP version)
+CompensationFrequencyNotchsBandwidth3=0; Hz (PP version)
+CompensationFrequencyNotchsGain3=0; (PP version)
+; --- PostFeedForward filter parameters (PP version)
+; ---
+CompensationNotchModeFr1=0; Hz (PP version)
+CompensationNotchModeFa1=0; Hz (PP version)
+CompensationNotchModeZr1=0; (PP version)
+CompensationNotchModeZa1=0; (PP version)
+CompensationNotchModeFr2=0; Hz (PP version)
+CompensationNotchModeFa2=0; Hz (PP version)
+CompensationNotchModeZr2=0; (PP version)
+CompensationNotchModeZa2=0; (PP version)
+CompensationPhaseCorrectionFn1=0; Hz (PP version)
+CompensationPhaseCorrectionFd1=0; Hz (PP version)
+CompensationPhaseCorrectionGain1=0; (PP version)
+CompensationPhaseCorrectionFn2=0; Hz (PP version)
+CompensationPhaseCorrectionFd2=0; Hz (PP version)
+CompensationPhaseCorrectionGain2=0; (PP version)
+CompensationLowPassFilterCutOffFrequency=0; Hz (PP version)
+; --- Motion done parameters
+; ---