From e1f082c43712cdac9f06fa94738dfe20481aa79f Mon Sep 17 00:00:00 2001 From: Kevin Lo Date: Fri, 17 Apr 2015 12:21:40 +0800 Subject: [PATCH] Add VB Sample Program --- VB Sample Program/SerialPortInterface.sln | 20 + VB Sample Program/SerialPortInterface.suo | Bin 0 -> 31232 bytes .../SerialPortInterface/Form1.Designer.vb | 402 ++++++++++++ .../SerialPortInterface/Form1.resx | 129 ++++ .../SerialPortInterface/Form1.vb | 350 ++++++++++ .../SerialPortInterface/License.txt | 621 ++++++++++++++++++ .../My Project/Application.Designer.vb | 38 ++ .../My Project/Application.myapp | 10 + .../My Project/AssemblyInfo.vb | 35 + .../My Project/Resources.Designer.vb | 63 ++ .../My Project/Resources.resx | 117 ++++ .../My Project/Settings.Designer.vb | 73 ++ .../My Project/Settings.settings | 7 + .../SerialPortInterface.vbproj | 165 +++++ .../SerialPortInterface.vbproj.user | 13 + .../bin/Debug/ArduinoPhMeter.exe | Bin 0 -> 39936 bytes .../bin/Debug/ArduinoPhMeter.pdb | Bin 0 -> 58880 bytes .../bin/Debug/ArduinoPhMeter.vshost.exe | Bin 0 -> 11600 bytes .../Debug/ArduinoPhMeter.vshost.exe.manifest | 11 + .../bin/Debug/ArduinoPhMeter.xml | 24 + .../bin/Release/ArduinoPhMeter.exe | Bin 0 -> 33792 bytes .../bin/Release/ArduinoPhMeter.pdb | Bin 0 -> 46592 bytes .../bin/Release/ArduinoPhMeter.xml | 24 + .../Debug/ArduinoPhMeter.Resources.resources | Bin 0 -> 180 bytes .../x86/Debug/ArduinoPhMeter.about.resources | Bin 0 -> 180 bytes .../obj/x86/Debug/ArduinoPhMeter.exe | Bin 0 -> 39936 bytes .../Debug/ArduinoPhMeter.frmMain.resources | Bin 0 -> 180 bytes .../obj/x86/Debug/ArduinoPhMeter.pdb | Bin 0 -> 58880 bytes .../obj/x86/Debug/ArduinoPhMeter.xml | 24 + .../DesignTimeResolveAssemblyReferences.cache | Bin 0 -> 3453 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 0 -> 6393 bytes .../x86/Debug/GenerateResource.read.1.tlog | Bin 0 -> 420 bytes .../x86/Debug/GenerateResource.write.1.tlog | Bin 0 -> 968 bytes ...lPortInterface.vbproj.FileListAbsolute.txt | 20 + ...ortInterface.vbproj.GenerateResource.Cache | Bin 0 -> 1033 bytes .../My Project.Resources.Designer.vb.dll | Bin 0 -> 7680 bytes .../ArduinoPhMeter.Resources.resources | Bin 0 -> 180 bytes .../obj/x86/Release/ArduinoPhMeter.exe | Bin 0 -> 33792 bytes .../Release/ArduinoPhMeter.frmMain.resources | Bin 0 -> 180 bytes .../obj/x86/Release/ArduinoPhMeter.pdb | Bin 0 -> 46592 bytes .../obj/x86/Release/ArduinoPhMeter.xml | 24 + .../DesignTimeResolveAssemblyReferences.cache | Bin 0 -> 3453 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 0 -> 6397 bytes .../x86/Release/GenerateResource.read.1.tlog | Bin 0 -> 420 bytes .../x86/Release/GenerateResource.write.1.tlog | Bin 0 -> 976 bytes .../SerialPortInterface.Resources.resources | Bin 0 -> 180 bytes .../obj/x86/Release/SerialPortInterface.exe | Bin 0 -> 33280 bytes .../SerialPortInterface.frmMain.resources | Bin 0 -> 180 bytes .../obj/x86/Release/SerialPortInterface.pdb | Bin 0 -> 46592 bytes ...lPortInterface.vbproj.FileListAbsolute.txt | 20 + ...ortInterface.vbproj.GenerateResource.Cache | Bin 0 -> 975 bytes .../obj/x86/Release/SerialPortInterface.xml | 24 + .../My Project.Resources.Designer.vb.dll | Bin 0 -> 7680 bytes 53 files changed, 2214 insertions(+) create mode 100644 VB Sample Program/SerialPortInterface.sln create mode 100644 VB Sample Program/SerialPortInterface.suo create mode 100644 VB Sample Program/SerialPortInterface/Form1.Designer.vb create mode 100644 VB Sample Program/SerialPortInterface/Form1.resx create mode 100644 VB Sample Program/SerialPortInterface/Form1.vb create mode 100644 VB Sample Program/SerialPortInterface/License.txt create mode 100644 VB Sample Program/SerialPortInterface/My Project/Application.Designer.vb create mode 100644 VB Sample Program/SerialPortInterface/My Project/Application.myapp create mode 100644 VB Sample Program/SerialPortInterface/My Project/AssemblyInfo.vb create mode 100644 VB Sample Program/SerialPortInterface/My Project/Resources.Designer.vb create mode 100644 VB Sample Program/SerialPortInterface/My Project/Resources.resx create mode 100644 VB Sample Program/SerialPortInterface/My Project/Settings.Designer.vb create mode 100644 VB Sample Program/SerialPortInterface/My Project/Settings.settings create mode 100644 VB Sample Program/SerialPortInterface/SerialPortInterface.vbproj create mode 100644 VB Sample Program/SerialPortInterface/SerialPortInterface.vbproj.user create mode 100644 VB Sample Program/SerialPortInterface/bin/Debug/ArduinoPhMeter.exe create mode 100644 VB Sample Program/SerialPortInterface/bin/Debug/ArduinoPhMeter.pdb create mode 100644 VB Sample Program/SerialPortInterface/bin/Debug/ArduinoPhMeter.vshost.exe create mode 100644 VB Sample Program/SerialPortInterface/bin/Debug/ArduinoPhMeter.vshost.exe.manifest create mode 100644 VB Sample Program/SerialPortInterface/bin/Debug/ArduinoPhMeter.xml create mode 100644 VB Sample Program/SerialPortInterface/bin/Release/ArduinoPhMeter.exe create mode 100644 VB Sample Program/SerialPortInterface/bin/Release/ArduinoPhMeter.pdb create mode 100644 VB Sample Program/SerialPortInterface/bin/Release/ArduinoPhMeter.xml create mode 100644 VB Sample Program/SerialPortInterface/obj/x86/Debug/ArduinoPhMeter.Resources.resources create mode 100644 VB Sample Program/SerialPortInterface/obj/x86/Debug/ArduinoPhMeter.about.resources create mode 100644 VB Sample Program/SerialPortInterface/obj/x86/Debug/ArduinoPhMeter.exe create mode 100644 VB Sample Program/SerialPortInterface/obj/x86/Debug/ArduinoPhMeter.frmMain.resources create mode 100644 VB Sample Program/SerialPortInterface/obj/x86/Debug/ArduinoPhMeter.pdb create mode 100644 VB Sample Program/SerialPortInterface/obj/x86/Debug/ArduinoPhMeter.xml create mode 100644 VB Sample Program/SerialPortInterface/obj/x86/Debug/DesignTimeResolveAssemblyReferences.cache create mode 100644 VB Sample Program/SerialPortInterface/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache create mode 100644 VB Sample Program/SerialPortInterface/obj/x86/Debug/GenerateResource.read.1.tlog create mode 100644 VB Sample Program/SerialPortInterface/obj/x86/Debug/GenerateResource.write.1.tlog create mode 100644 VB Sample Program/SerialPortInterface/obj/x86/Debug/SerialPortInterface.vbproj.FileListAbsolute.txt create mode 100644 VB Sample Program/SerialPortInterface/obj/x86/Debug/SerialPortInterface.vbproj.GenerateResource.Cache create mode 100644 VB Sample Program/SerialPortInterface/obj/x86/Debug/TempPE/My Project.Resources.Designer.vb.dll create mode 100644 VB Sample Program/SerialPortInterface/obj/x86/Release/ArduinoPhMeter.Resources.resources create mode 100644 VB Sample Program/SerialPortInterface/obj/x86/Release/ArduinoPhMeter.exe create mode 100644 VB Sample Program/SerialPortInterface/obj/x86/Release/ArduinoPhMeter.frmMain.resources create mode 100644 VB Sample Program/SerialPortInterface/obj/x86/Release/ArduinoPhMeter.pdb create mode 100644 VB Sample Program/SerialPortInterface/obj/x86/Release/ArduinoPhMeter.xml create mode 100644 VB Sample Program/SerialPortInterface/obj/x86/Release/DesignTimeResolveAssemblyReferences.cache create mode 100644 VB Sample Program/SerialPortInterface/obj/x86/Release/DesignTimeResolveAssemblyReferencesInput.cache create mode 100644 VB Sample Program/SerialPortInterface/obj/x86/Release/GenerateResource.read.1.tlog create mode 100644 VB Sample Program/SerialPortInterface/obj/x86/Release/GenerateResource.write.1.tlog create mode 100644 VB Sample Program/SerialPortInterface/obj/x86/Release/SerialPortInterface.Resources.resources create mode 100644 VB Sample Program/SerialPortInterface/obj/x86/Release/SerialPortInterface.exe create mode 100644 VB Sample Program/SerialPortInterface/obj/x86/Release/SerialPortInterface.frmMain.resources create mode 100644 VB Sample Program/SerialPortInterface/obj/x86/Release/SerialPortInterface.pdb create mode 100644 VB Sample Program/SerialPortInterface/obj/x86/Release/SerialPortInterface.vbproj.FileListAbsolute.txt create mode 100644 VB Sample Program/SerialPortInterface/obj/x86/Release/SerialPortInterface.vbproj.GenerateResource.Cache create mode 100644 VB Sample Program/SerialPortInterface/obj/x86/Release/SerialPortInterface.xml create mode 100644 VB Sample Program/SerialPortInterface/obj/x86/Release/TempPE/My Project.Resources.Designer.vb.dll diff --git a/VB Sample Program/SerialPortInterface.sln b/VB Sample Program/SerialPortInterface.sln new file mode 100644 index 0000000..eed0d9b --- /dev/null +++ b/VB Sample Program/SerialPortInterface.sln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Basic Express 2010 +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "SerialPortInterface", "SerialPortInterface\SerialPortInterface.vbproj", "{D2D4ACE6-2289-433C-996D-7773D4D5066A}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x86 = Debug|x86 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {D2D4ACE6-2289-433C-996D-7773D4D5066A}.Debug|x86.ActiveCfg = Debug|x86 + {D2D4ACE6-2289-433C-996D-7773D4D5066A}.Debug|x86.Build.0 = Debug|x86 + {D2D4ACE6-2289-433C-996D-7773D4D5066A}.Release|x86.ActiveCfg = Release|x86 + {D2D4ACE6-2289-433C-996D-7773D4D5066A}.Release|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/VB Sample Program/SerialPortInterface.suo b/VB Sample Program/SerialPortInterface.suo new file mode 100644 index 0000000000000000000000000000000000000000..658141ca362f1a0a3ea6b92b246ac83b52573fe3 GIT binary patch literal 31232 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 literal 0 HcmV?d00001 diff --git a/VB Sample Program/SerialPortInterface/Form1.Designer.vb b/VB Sample Program/SerialPortInterface/Form1.Designer.vb new file mode 100644 index 0000000..2b787aa --- /dev/null +++ b/VB Sample Program/SerialPortInterface/Form1.Designer.vb @@ -0,0 +1,402 @@ + _ +Partial Class frmMain + Inherits System.Windows.Forms.Form + + 'Form overrides dispose to clean up the component list. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Me.Label1 = New System.Windows.Forms.Label() + Me.Label2 = New System.Windows.Forms.Label() + Me.cmbPort = New System.Windows.Forms.ComboBox() + Me.cmbBaud = New System.Windows.Forms.ComboBox() + Me.btnConnect = New System.Windows.Forms.Button() + Me.btnDisconnect = New System.Windows.Forms.Button() + Me.GroupBox1 = New System.Windows.Forms.GroupBox() + Me.CheckBoxPHlog = New System.Windows.Forms.CheckBox() + Me.CheckBoxRTlog = New System.Windows.Forms.CheckBox() + Me.CheckBoxWTlog = New System.Windows.Forms.CheckBox() + Me.CheckBoxPHauto = New System.Windows.Forms.CheckBox() + Me.CheckBoxRTauto = New System.Windows.Forms.CheckBox() + Me.CheckBoxALLauto = New System.Windows.Forms.CheckBox() + Me.Button1 = New System.Windows.Forms.Button() + Me.CheckBoxWTauto = New System.Windows.Forms.CheckBox() + Me.bntReadAll = New System.Windows.Forms.Button() + Me.btnPh = New System.Windows.Forms.Button() + Me.btnRoomTemp = New System.Windows.Forms.Button() + Me.btnWaterTemp = New System.Windows.Forms.Button() + Me.GroupBox2 = New System.Windows.Forms.GroupBox() + Me.rtbReceived = New System.Windows.Forms.RichTextBox() + Me.SerialPort1 = New System.IO.Ports.SerialPort(Me.components) + Me.Label3 = New System.Windows.Forms.Label() + Me.Label4 = New System.Windows.Forms.Label() + Me.Label5 = New System.Windows.Forms.Label() + Me.labelWaterTemperature = New System.Windows.Forms.Label() + Me.labelRoomTemperature = New System.Windows.Forms.Label() + Me.labelPhReading = New System.Windows.Forms.Label() + Me.Timer1 = New System.Windows.Forms.Timer(Me.components) + Me.MenuStrip1 = New System.Windows.Forms.MenuStrip() + Me.GroupBox1.SuspendLayout() + Me.GroupBox2.SuspendLayout() + Me.SuspendLayout() + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New System.Drawing.Point(35, 36) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(53, 13) + Me.Label1.TabIndex = 0 + Me.Label1.Text = "Com Port:" + ' + 'Label2 + ' + Me.Label2.AutoSize = True + Me.Label2.Location = New System.Drawing.Point(35, 73) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(61, 13) + Me.Label2.TabIndex = 1 + Me.Label2.Text = "Baud Rate:" + ' + 'cmbPort + ' + Me.cmbPort.FormattingEnabled = True + Me.cmbPort.Location = New System.Drawing.Point(108, 33) + Me.cmbPort.Name = "cmbPort" + Me.cmbPort.Size = New System.Drawing.Size(142, 21) + Me.cmbPort.TabIndex = 2 + ' + 'cmbBaud + ' + Me.cmbBaud.FormattingEnabled = True + Me.cmbBaud.Location = New System.Drawing.Point(108, 70) + Me.cmbBaud.Name = "cmbBaud" + Me.cmbBaud.Size = New System.Drawing.Size(142, 21) + Me.cmbBaud.TabIndex = 3 + ' + 'btnConnect + ' + Me.btnConnect.Location = New System.Drawing.Point(292, 33) + Me.btnConnect.Name = "btnConnect" + Me.btnConnect.Size = New System.Drawing.Size(70, 23) + Me.btnConnect.TabIndex = 4 + Me.btnConnect.Text = "Connect" + Me.btnConnect.UseVisualStyleBackColor = True + ' + 'btnDisconnect + ' + Me.btnDisconnect.Location = New System.Drawing.Point(292, 70) + Me.btnDisconnect.Name = "btnDisconnect" + Me.btnDisconnect.Size = New System.Drawing.Size(70, 23) + Me.btnDisconnect.TabIndex = 5 + Me.btnDisconnect.Text = "Disconnect" + Me.btnDisconnect.UseVisualStyleBackColor = True + ' + 'GroupBox1 + ' + Me.GroupBox1.Controls.Add(Me.CheckBoxPHlog) + Me.GroupBox1.Controls.Add(Me.CheckBoxRTlog) + Me.GroupBox1.Controls.Add(Me.CheckBoxWTlog) + Me.GroupBox1.Controls.Add(Me.CheckBoxPHauto) + Me.GroupBox1.Controls.Add(Me.CheckBoxRTauto) + Me.GroupBox1.Controls.Add(Me.CheckBoxALLauto) + Me.GroupBox1.Controls.Add(Me.Button1) + Me.GroupBox1.Controls.Add(Me.CheckBoxWTauto) + Me.GroupBox1.Controls.Add(Me.bntReadAll) + Me.GroupBox1.Controls.Add(Me.btnPh) + Me.GroupBox1.Controls.Add(Me.btnRoomTemp) + Me.GroupBox1.Controls.Add(Me.btnWaterTemp) + Me.GroupBox1.Enabled = False + Me.GroupBox1.Location = New System.Drawing.Point(17, 101) + Me.GroupBox1.Name = "GroupBox1" + Me.GroupBox1.Size = New System.Drawing.Size(361, 167) + Me.GroupBox1.TabIndex = 6 + Me.GroupBox1.TabStop = False + Me.GroupBox1.Text = "Read Data" + ' + 'CheckBoxPHlog + ' + Me.CheckBoxPHlog.AutoSize = True + Me.CheckBoxPHlog.Location = New System.Drawing.Point(254, 91) + Me.CheckBoxPHlog.Name = "CheckBoxPHlog" + Me.CheckBoxPHlog.Size = New System.Drawing.Size(44, 17) + Me.CheckBoxPHlog.TabIndex = 13 + Me.CheckBoxPHlog.Text = "Log" + Me.CheckBoxPHlog.UseVisualStyleBackColor = True + ' + 'CheckBoxRTlog + ' + Me.CheckBoxRTlog.AutoSize = True + Me.CheckBoxRTlog.Location = New System.Drawing.Point(254, 62) + Me.CheckBoxRTlog.Name = "CheckBoxRTlog" + Me.CheckBoxRTlog.Size = New System.Drawing.Size(44, 17) + Me.CheckBoxRTlog.TabIndex = 12 + Me.CheckBoxRTlog.Text = "Log" + Me.CheckBoxRTlog.UseVisualStyleBackColor = True + ' + 'CheckBoxWTlog + ' + Me.CheckBoxWTlog.AutoSize = True + Me.CheckBoxWTlog.Location = New System.Drawing.Point(254, 31) + Me.CheckBoxWTlog.Name = "CheckBoxWTlog" + Me.CheckBoxWTlog.Size = New System.Drawing.Size(44, 17) + Me.CheckBoxWTlog.TabIndex = 11 + Me.CheckBoxWTlog.Text = "Log" + Me.CheckBoxWTlog.UseVisualStyleBackColor = True + ' + 'CheckBoxPHauto + ' + Me.CheckBoxPHauto.AutoSize = True + Me.CheckBoxPHauto.Location = New System.Drawing.Point(158, 91) + Me.CheckBoxPHauto.Name = "CheckBoxPHauto" + Me.CheckBoxPHauto.Size = New System.Drawing.Size(82, 17) + Me.CheckBoxPHauto.TabIndex = 9 + Me.CheckBoxPHauto.Text = "Auto Polling" + Me.CheckBoxPHauto.UseVisualStyleBackColor = True + ' + 'CheckBoxRTauto + ' + Me.CheckBoxRTauto.AutoSize = True + Me.CheckBoxRTauto.Location = New System.Drawing.Point(158, 62) + Me.CheckBoxRTauto.Name = "CheckBoxRTauto" + Me.CheckBoxRTauto.Size = New System.Drawing.Size(82, 17) + Me.CheckBoxRTauto.TabIndex = 8 + Me.CheckBoxRTauto.Text = "Auto Polling" + Me.CheckBoxRTauto.UseVisualStyleBackColor = True + ' + 'CheckBoxALLauto + ' + Me.CheckBoxALLauto.AutoSize = True + Me.CheckBoxALLauto.Location = New System.Drawing.Point(158, 121) + Me.CheckBoxALLauto.Name = "CheckBoxALLauto" + Me.CheckBoxALLauto.Size = New System.Drawing.Size(82, 17) + Me.CheckBoxALLauto.TabIndex = 7 + Me.CheckBoxALLauto.TabStop = False + Me.CheckBoxALLauto.Text = "Auto Polling" + Me.CheckBoxALLauto.UseVisualStyleBackColor = True + ' + 'Button1 + ' + Me.Button1.Location = New System.Drawing.Point(274, 139) + Me.Button1.Name = "Button1" + Me.Button1.Size = New System.Drawing.Size(65, 22) + Me.Button1.TabIndex = 6 + Me.Button1.Text = "Clear" + Me.Button1.UseVisualStyleBackColor = True + ' + 'CheckBoxWTauto + ' + Me.CheckBoxWTauto.AutoSize = True + Me.CheckBoxWTauto.Location = New System.Drawing.Point(158, 31) + Me.CheckBoxWTauto.Name = "CheckBoxWTauto" + Me.CheckBoxWTauto.Size = New System.Drawing.Size(82, 17) + Me.CheckBoxWTauto.TabIndex = 5 + Me.CheckBoxWTauto.Text = "Auto Polling" + Me.CheckBoxWTauto.UseVisualStyleBackColor = True + ' + 'bntReadAll + ' + Me.bntReadAll.Location = New System.Drawing.Point(21, 117) + Me.bntReadAll.Name = "bntReadAll" + Me.bntReadAll.Size = New System.Drawing.Size(116, 23) + Me.bntReadAll.TabIndex = 4 + Me.bntReadAll.Text = "Read All" + Me.bntReadAll.UseVisualStyleBackColor = True + ' + 'btnPh + ' + Me.btnPh.Location = New System.Drawing.Point(21, 87) + Me.btnPh.Name = "btnPh" + Me.btnPh.Size = New System.Drawing.Size(116, 23) + Me.btnPh.TabIndex = 3 + Me.btnPh.Text = "PH Reading" + Me.btnPh.UseVisualStyleBackColor = True + ' + 'btnRoomTemp + ' + Me.btnRoomTemp.Location = New System.Drawing.Point(21, 57) + Me.btnRoomTemp.Name = "btnRoomTemp" + Me.btnRoomTemp.Size = New System.Drawing.Size(116, 23) + Me.btnRoomTemp.TabIndex = 2 + Me.btnRoomTemp.Text = "Room Temperature" + Me.btnRoomTemp.UseVisualStyleBackColor = True + ' + 'btnWaterTemp + ' + Me.btnWaterTemp.Location = New System.Drawing.Point(21, 27) + Me.btnWaterTemp.Name = "btnWaterTemp" + Me.btnWaterTemp.Size = New System.Drawing.Size(116, 23) + Me.btnWaterTemp.TabIndex = 1 + Me.btnWaterTemp.Text = "Water Temperature" + Me.btnWaterTemp.UseVisualStyleBackColor = True + ' + 'GroupBox2 + ' + Me.GroupBox2.Controls.Add(Me.rtbReceived) + Me.GroupBox2.Location = New System.Drawing.Point(17, 274) + Me.GroupBox2.Name = "GroupBox2" + Me.GroupBox2.Size = New System.Drawing.Size(359, 192) + Me.GroupBox2.TabIndex = 7 + Me.GroupBox2.TabStop = False + Me.GroupBox2.Text = "Received Data" + ' + 'rtbReceived + ' + Me.rtbReceived.Location = New System.Drawing.Point(19, 20) + Me.rtbReceived.Name = "rtbReceived" + Me.rtbReceived.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.Vertical + Me.rtbReceived.Size = New System.Drawing.Size(320, 164) + Me.rtbReceived.TabIndex = 0 + Me.rtbReceived.Text = "" + ' + 'SerialPort1 + ' + Me.SerialPort1.ReceivedBytesThreshold = 6 + ' + 'Label3 + ' + Me.Label3.AutoSize = True + Me.Label3.Location = New System.Drawing.Point(34, 520) + Me.Label3.Name = "Label3" + Me.Label3.Size = New System.Drawing.Size(98, 13) + Me.Label3.TabIndex = 8 + Me.Label3.Text = "Room Temperature" + ' + 'Label4 + ' + Me.Label4.AutoSize = True + Me.Label4.Location = New System.Drawing.Point(35, 487) + Me.Label4.Name = "Label4" + Me.Label4.Size = New System.Drawing.Size(99, 13) + Me.Label4.TabIndex = 9 + Me.Label4.Text = "Water Temperature" + ' + 'Label5 + ' + Me.Label5.AutoSize = True + Me.Label5.Location = New System.Drawing.Point(35, 550) + Me.Label5.Name = "Label5" + Me.Label5.Size = New System.Drawing.Size(22, 13) + Me.Label5.TabIndex = 10 + Me.Label5.Text = "PH" + ' + 'labelWaterTemperature + ' + Me.labelWaterTemperature.AutoSize = True + Me.labelWaterTemperature.Location = New System.Drawing.Point(190, 487) + Me.labelWaterTemperature.Name = "labelWaterTemperature" + Me.labelWaterTemperature.Size = New System.Drawing.Size(13, 13) + Me.labelWaterTemperature.TabIndex = 11 + Me.labelWaterTemperature.Text = "0" + ' + 'labelRoomTemperature + ' + Me.labelRoomTemperature.AutoSize = True + Me.labelRoomTemperature.Location = New System.Drawing.Point(190, 520) + Me.labelRoomTemperature.Name = "labelRoomTemperature" + Me.labelRoomTemperature.Size = New System.Drawing.Size(13, 13) + Me.labelRoomTemperature.TabIndex = 12 + Me.labelRoomTemperature.Text = "0" + ' + 'labelPhReading + ' + Me.labelPhReading.AutoSize = True + Me.labelPhReading.Location = New System.Drawing.Point(190, 550) + Me.labelPhReading.Name = "labelPhReading" + Me.labelPhReading.Size = New System.Drawing.Size(13, 13) + Me.labelPhReading.TabIndex = 13 + Me.labelPhReading.Text = "0" + ' + 'Timer1 + ' + Me.Timer1.Interval = 5000 + ' + 'MenuStrip1 + ' + Me.MenuStrip1.Location = New System.Drawing.Point(0, 0) + Me.MenuStrip1.Name = "MenuStrip1" + Me.MenuStrip1.Size = New System.Drawing.Size(396, 24) + Me.MenuStrip1.TabIndex = 14 + Me.MenuStrip1.Text = "MenuStrip1" + ' + 'frmMain + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(396, 580) + Me.Controls.Add(Me.labelPhReading) + Me.Controls.Add(Me.labelRoomTemperature) + Me.Controls.Add(Me.labelWaterTemperature) + Me.Controls.Add(Me.Label5) + Me.Controls.Add(Me.Label4) + Me.Controls.Add(Me.Label3) + Me.Controls.Add(Me.GroupBox2) + Me.Controls.Add(Me.GroupBox1) + Me.Controls.Add(Me.btnDisconnect) + Me.Controls.Add(Me.btnConnect) + Me.Controls.Add(Me.cmbBaud) + Me.Controls.Add(Me.cmbPort) + Me.Controls.Add(Me.Label2) + Me.Controls.Add(Me.Label1) + Me.Controls.Add(Me.MenuStrip1) + Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D + Me.MainMenuStrip = Me.MenuStrip1 + Me.MaximizeBox = False + Me.Name = "frmMain" + Me.Text = "Arduino PH Meter" + Me.GroupBox1.ResumeLayout(False) + Me.GroupBox1.PerformLayout() + Me.GroupBox2.ResumeLayout(False) + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents Label1 As System.Windows.Forms.Label + Friend WithEvents Label2 As System.Windows.Forms.Label + Friend WithEvents cmbPort As System.Windows.Forms.ComboBox + Friend WithEvents cmbBaud As System.Windows.Forms.ComboBox + Friend WithEvents btnConnect As System.Windows.Forms.Button + Friend WithEvents btnDisconnect As System.Windows.Forms.Button + Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox + Friend WithEvents GroupBox2 As System.Windows.Forms.GroupBox + Friend WithEvents btnWaterTemp As System.Windows.Forms.Button + Friend WithEvents rtbReceived As System.Windows.Forms.RichTextBox + Friend WithEvents SerialPort1 As System.IO.Ports.SerialPort + Friend WithEvents btnRoomTemp As System.Windows.Forms.Button + Friend WithEvents btnPh As System.Windows.Forms.Button + Friend WithEvents bntReadAll As System.Windows.Forms.Button + Friend WithEvents CheckBoxWTauto As System.Windows.Forms.CheckBox + Friend WithEvents Label3 As System.Windows.Forms.Label + Friend WithEvents Label4 As System.Windows.Forms.Label + Friend WithEvents Label5 As System.Windows.Forms.Label + Friend WithEvents labelWaterTemperature As System.Windows.Forms.Label + Friend WithEvents labelRoomTemperature As System.Windows.Forms.Label + Friend WithEvents labelPhReading As System.Windows.Forms.Label + Friend WithEvents Timer1 As System.Windows.Forms.Timer + Friend WithEvents Button1 As System.Windows.Forms.Button + Friend WithEvents CheckBoxALLauto As System.Windows.Forms.CheckBox + Friend WithEvents CheckBoxRTauto As System.Windows.Forms.CheckBox + Friend WithEvents CheckBoxPHauto As System.Windows.Forms.CheckBox + Friend WithEvents CheckBoxWTlog As System.Windows.Forms.CheckBox + Friend WithEvents CheckBoxPHlog As System.Windows.Forms.CheckBox + Friend WithEvents CheckBoxRTlog As System.Windows.Forms.CheckBox + Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip + +End Class diff --git a/VB Sample Program/SerialPortInterface/Form1.resx b/VB Sample Program/SerialPortInterface/Form1.resx new file mode 100644 index 0000000..553c0b0 --- /dev/null +++ b/VB Sample Program/SerialPortInterface/Form1.resx @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 17, 17 + + + 129, 18 + + + 221, 18 + + \ No newline at end of file diff --git a/VB Sample Program/SerialPortInterface/Form1.vb b/VB Sample Program/SerialPortInterface/Form1.vb new file mode 100644 index 0000000..83a9aa1 --- /dev/null +++ b/VB Sample Program/SerialPortInterface/Form1.vb @@ -0,0 +1,350 @@ +'Serial Port Interfacing with VB.net 2010 Express Edition +'Copyright (C) 2010 Richard Myrick T. Arellaga +' +'This program is free software: you can redistribute it and/or modify +'it under the terms of the GNU General Public License as published by +'the Free Software Foundation, either version 3 of the License, or +'(at your option) any later version. +' +'This program is distributed in the hope that it will be useful, +'but WITHOUT ANY WARRANTY; without even the implied warranty of +'MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +'GNU General Public License for more details. +' +' You should have received a copy of the GNU General Public License +' along with this program. If not, see . + + +Imports System +Imports System.ComponentModel +Imports System.Threading +Imports System.IO.Ports +Public Class frmMain + Dim myPort As Array 'COM Ports detected on the system will be stored here + Delegate Sub SetTextCallback(ByVal [text] As String) 'Added to prevent threading errors during receiveing of data + + Dim Buffer(4) As Byte + Dim CommandSend As String + Dim AllIndex As String + + + + Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + 'When our form loads, auto detect all serial ports in the system and populate the cmbPort Combo box. + myPort = IO.Ports.SerialPort.GetPortNames() 'Get all com ports available + cmbBaud.Items.Add(9600) 'Populate the cmbBaud Combo box to common baud rates used + + For i = 0 To UBound(myPort) + cmbPort.Items.Add(myPort(i)) + Next + cmbPort.Text = cmbPort.Items.Item(0) 'Set cmbPort text to the first COM port detected + cmbBaud.Text = cmbBaud.Items.Item(0) 'Set cmbBaud text to the first Baud rate on the list + + btnDisconnect.Enabled = False 'Initially Disconnect Button is Disabled + + Me.Text = + System.Reflection.Assembly.GetExecutingAssembly().GetName().Name.ToString() & " " & _ + System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString() + + End Sub + + Private Sub btnConnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnConnect.Click + SerialPort1.PortName = cmbPort.Text 'Set SerialPort1 to the selected COM port at startup + SerialPort1.BaudRate = cmbBaud.Text 'Set Baud rate to the selected value on + + 'Other Serial Port Property + SerialPort1.Parity = IO.Ports.Parity.None + SerialPort1.StopBits = IO.Ports.StopBits.One + SerialPort1.DataBits = 8 'Open our serial port + SerialPort1.Open() + + btnConnect.Enabled = False 'Disable Connect button + btnDisconnect.Enabled = True 'and Enable Disconnect button + GroupBox1.Enabled = True + + + End Sub + + Private Sub btnDisconnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDisconnect.Click + SerialPort1.Close() 'Close our Serial Port + + btnConnect.Enabled = True + btnDisconnect.Enabled = False + GroupBox1.Enabled = False + Timer1.Enabled = False + CheckBoxWTauto.Checked = False + CheckBoxRTauto.Checked = False + CheckBoxPHauto.Checked = False + CheckBoxALLauto.Checked = False + End Sub + + Private Sub btnWaterTemp_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnWaterTemp.Click + + 'AA 01 01 BB , Enquiry DS18B20 temperature + 'AA 01 02 BB , Enquiry LM35 temperature + 'AA 01 03 BB , Enquiry PH reading + 'AA 01 04 BB , Enqyiry DS18B20 , LM35 and Ph + Buffer(0) = &HAA + Buffer(1) = &H1 + Buffer(2) = &H1 + Buffer(3) = &HBB + SerialPort1.Write(Buffer, 0, 3) + CommandSend = "WT" 'Enquiry Water Temperature Command Send + + End Sub + + Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived + 'ReceivedText(SerialPort1.ReadExisting()) 'Automatically called every time a data is received at the serialPort + ReceivedText(SerialPort1.ReadTo(Chr(10))) ' Read until New Line Char(10) + End Sub + Private Sub ReceivedText(ByVal [text] As String) + 'compares the ID of the creating Thread to the ID of the calling Thread + If Me.rtbReceived.InvokeRequired Then + Dim x As New SetTextCallback(AddressOf ReceivedText) + Me.Invoke(x, New Object() {(text)}) + Else + 'Me.rtbReceived.Text &= [text] + Dim newString As String = [text].Replace(vbCr, "") 'Remove Carriage Return + Dim y As String + Select Case CommandSend + Case "WT" + y = " Water Temperature : " + Me.labelWaterTemperature.Text = newString + If CheckBoxWTlog.Checked = True Then + Dim file As System.IO.StreamWriter + file = My.Computer.FileSystem.OpenTextFileWriter("c:\temp\water.csv", True) + file.WriteLine(Format(TimeOfDay, "HH:mm:ss") + "," + newString) + file.Close() + End If + Case "RT" + y = " Room Temperature : " + Me.labelRoomTemperature.Text = newString + If CheckBoxWTlog.Checked = True Then + Dim file As System.IO.StreamWriter + file = My.Computer.FileSystem.OpenTextFileWriter("c:\temp\room.csv", True) + file.WriteLine(Format(TimeOfDay, "HH:mm:ss") + "," + newString) + file.Close() + End If + Case "PH" + y = " PH : " + If CheckBoxWTlog.Checked = True Then + Dim file As System.IO.StreamWriter + file = My.Computer.FileSystem.OpenTextFileWriter("c:\temp\ph.csv", True) + file.WriteLine(Format(TimeOfDay, "HH:mm:ss") + "," + newString) + file.Close() + End If + Me.labelPhReading.Text = newString + Case "ALL" + Select Case AllIndex + Case "1" + y = " Water Temperature : " + Me.labelWaterTemperature.Text = newString + If CheckBoxWTlog.Checked = True Then + Dim file As System.IO.StreamWriter + file = My.Computer.FileSystem.OpenTextFileWriter("c:\temp\water.csv", True) + file.WriteLine(Format(TimeOfDay, "HH:mm:ss") + "," + newString) + file.Close() + End If + AllIndex = "2" + Case "2" + y = " Room Temperature : " + Me.labelRoomTemperature.Text = newString + If CheckBoxWTlog.Checked = True Then + Dim file As System.IO.StreamWriter + file = My.Computer.FileSystem.OpenTextFileWriter("c:\temp\room.csv", True) + file.WriteLine(Format(TimeOfDay, "HH:mm:ss") + "," + newString) + file.Close() + End If + AllIndex = "3" + Case "3" + y = " PH : " + Me.labelPhReading.Text = newString + If CheckBoxWTlog.Checked = True Then + Dim file As System.IO.StreamWriter + file = My.Computer.FileSystem.OpenTextFileWriter("c:\temp\ph.csv", True) + file.WriteLine(Format(TimeOfDay, "HH:mm:ss") + "," + newString) + file.Close() + End If + AllIndex = "" + Case Else + y = " Invaild Command Send " + End Select + Case Else + y = " Invaild Command Send " + End Select + + + Me.rtbReceived.AppendText(Format(TimeOfDay, "HH:mm:ss") + y + newString + vbCrLf) + Me.rtbReceived.ScrollToCaret() + + + End If + + End Sub + + Private Sub cmbPort_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbPort.SelectedIndexChanged + If SerialPort1.IsOpen = False Then + SerialPort1.PortName = cmbPort.Text 'pop a message box to user if he is changing ports + Else 'without disconnecting first. + MsgBox("Valid only if port is Closed", vbCritical) + End If + End Sub + + Private Sub cmbBaud_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbBaud.SelectedIndexChanged + If SerialPort1.IsOpen = False Then + SerialPort1.BaudRate = cmbBaud.Text 'pop a message box to user if he is changing baud rate + Else 'without disconnecting first. + MsgBox("Valid only if port is Closed", vbCritical) + End If + End Sub + + Private Sub txtTransmit_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) + + End Sub + + + Private Sub btnRoomTemp_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRoomTemp.Click + 'AA 01 01 BB , Enquiry DS18B20 temperature + 'AA 01 02 BB , Enquiry LM35 temperature + 'AA 01 03 BB , Enquiry PH reading + 'AA 01 04 BB , Enqyiry DS18B20 , LM35 and Ph + Buffer(0) = &HAA + Buffer(1) = &H1 + Buffer(2) = &H2 + Buffer(3) = &HBB + SerialPort1.Write(Buffer, 0, 3) + CommandSend = "RT" 'Enquiry Room Temperature Command Send + End Sub + + Private Sub btnPh_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPh.Click + 'AA 01 01 BB , Enquiry DS18B20 temperature + 'AA 01 02 BB , Enquiry LM35 temperature + 'AA 01 03 BB , Enquiry PH reading + 'AA 01 04 BB , Enqyiry DS18B20 , LM35 and Ph + Buffer(0) = &HAA + Buffer(1) = &H1 + Buffer(2) = &H3 + Buffer(3) = &HBB + SerialPort1.Write(Buffer, 0, 3) + CommandSend = "PH" 'Enquiry PH Command Send + End Sub + + Private Sub bntReadAll_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bntReadAll.Click + 'AA 01 01 BB , Enquiry DS18B20 temperature + 'AA 01 02 BB , Enquiry LM35 temperature + 'AA 01 03 BB , Enquiry PH reading + 'AA 01 04 BB , Enqyiry DS18B20 , LM35 and Ph + Buffer(0) = &HAA + Buffer(1) = &H1 + Buffer(2) = &H4 + Buffer(3) = &HBB + SerialPort1.Write(Buffer, 0, 3) + CommandSend = "ALL" 'Enquiry All Command Send + AllIndex = "1" + End Sub + + Private Sub rtbReceived_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rtbReceived.TextChanged + + End Sub + + Private Sub CheckBoxWTauto_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBoxWTauto.CheckedChanged + If CheckBoxWTauto.Checked = True Then + CheckBoxRTauto.Checked = False + CheckBoxPHauto.Checked = False + Timer1.Enabled = True + Else + Timer1.Enabled = False + End If + End Sub + + Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick + + 'AA 01 01 BB , Enquiry DS18B20 temperature + 'AA 01 02 BB , Enquiry LM35 temperature + 'AA 01 03 BB , Enquiry PH reading + 'AA 01 04 BB , Enqyiry DS18B20 , LM35 and Ph + + If CheckBoxWTauto.Checked = True Then + Buffer(0) = &HAA + Buffer(1) = &H1 + Buffer(2) = &H1 + Buffer(3) = &HBB + SerialPort1.Write(Buffer, 0, 3) + CommandSend = "WT" 'Enquiry Water Temperature Command Send + End If + + If CheckBoxRTauto.Checked = True Then + Buffer(0) = &HAA + Buffer(1) = &H1 + Buffer(2) = &H2 + Buffer(3) = &HBB + SerialPort1.Write(Buffer, 0, 3) + CommandSend = "RT" 'Enquiry Room Temperature Command Send + End If + + If CheckBoxPHauto.Checked = True Then + Buffer(0) = &HAA + Buffer(1) = &H1 + Buffer(2) = &H3 + Buffer(3) = &HBB + SerialPort1.Write(Buffer, 0, 3) + CommandSend = "PH" 'Enquiry PH Command Send + End If + + If CheckBoxALLauto.Checked = True Then + Buffer(0) = &HAA + Buffer(1) = &H1 + Buffer(2) = &H4 + Buffer(3) = &HBB + SerialPort1.Write(Buffer, 0, 3) + CommandSend = "ALL" 'Enquiry All Command Send + AllIndex = "1" + End If + + End Sub + + Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click + Me.rtbReceived.Text = "" + End Sub + + Private Sub CheckBoxALLauto_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBoxALLauto.CheckedChanged + If CheckBoxALLauto.Checked = True Then + CheckBoxWTauto.Checked = False + CheckBoxWTauto.Enabled = False + CheckBoxRTauto.Checked = False + CheckBoxRTauto.Enabled = False + CheckBoxPHauto.Checked = False + CheckBoxPHauto.Enabled = False + Timer1.Enabled = True + Else + CheckBoxWTauto.Enabled = True + CheckBoxRTauto.Enabled = True + CheckBoxPHauto.Enabled = True + Timer1.Enabled = False + End If + End Sub + + Private Sub CheckBoxRTauto_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBoxRTauto.CheckedChanged + + If CheckBoxRTauto.Checked = True Then + CheckBoxWTauto.Checked = False + CheckBoxPHauto.Checked = False + Timer1.Enabled = True + Else + Timer1.Enabled = False + End If + End Sub + + Private Sub CheckBoxPHauto_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBoxPHauto.CheckedChanged + + If CheckBoxPHauto.Checked = True Then + CheckBoxWTauto.Checked = False + CheckBoxRTauto.Checked = False + Timer1.Enabled = True + Else + Timer1.Enabled = False + End If + End Sub + + +End Class diff --git a/VB Sample Program/SerialPortInterface/License.txt b/VB Sample Program/SerialPortInterface/License.txt new file mode 100644 index 0000000..94a0453 --- /dev/null +++ b/VB Sample Program/SerialPortInterface/License.txt @@ -0,0 +1,621 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS diff --git a/VB Sample Program/SerialPortInterface/My Project/Application.Designer.vb b/VB Sample Program/SerialPortInterface/My Project/Application.Designer.vb new file mode 100644 index 0000000..5951ad4 --- /dev/null +++ b/VB Sample Program/SerialPortInterface/My Project/Application.Designer.vb @@ -0,0 +1,38 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.17929 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + 'NOTE: This file is auto-generated; do not modify it directly. To make changes, + ' or if you encounter build errors in this file, go to the Project Designer + ' (go to Project Properties or double-click the My Project node in + ' Solution Explorer), and make changes on the Application tab. + ' + Partial Friend Class MyApplication + + _ + Public Sub New() + MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows) + Me.IsSingleInstance = false + Me.EnableVisualStyles = true + Me.SaveMySettingsOnExit = true + Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses + End Sub + + _ + Protected Overrides Sub OnCreateMainForm() + Me.MainForm = Global.ArduinoPhMeter.frmMain + End Sub + End Class +End Namespace diff --git a/VB Sample Program/SerialPortInterface/My Project/Application.myapp b/VB Sample Program/SerialPortInterface/My Project/Application.myapp new file mode 100644 index 0000000..5907301 --- /dev/null +++ b/VB Sample Program/SerialPortInterface/My Project/Application.myapp @@ -0,0 +1,10 @@ + + + true + frmMain + false + 0 + true + 0 + true + \ No newline at end of file diff --git a/VB Sample Program/SerialPortInterface/My Project/AssemblyInfo.vb b/VB Sample Program/SerialPortInterface/My Project/AssemblyInfo.vb new file mode 100644 index 0000000..11f395d --- /dev/null +++ b/VB Sample Program/SerialPortInterface/My Project/AssemblyInfo.vb @@ -0,0 +1,35 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' General Information about an assembly is controlled through the following +' set of attributes. Change these attribute values to modify the information +' associated with an assembly. + +' Review the values of the assembly attributes + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + diff --git a/VB Sample Program/SerialPortInterface/My Project/Resources.Designer.vb b/VB Sample Program/SerialPortInterface/My Project/Resources.Designer.vb new file mode 100644 index 0000000..9e58db4 --- /dev/null +++ b/VB Sample Program/SerialPortInterface/My Project/Resources.Designer.vb @@ -0,0 +1,63 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.17929 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + +Imports System + +Namespace My.Resources + + 'This class was auto-generated by the StronglyTypedResourceBuilder + 'class via a tool like ResGen or Visual Studio. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("ArduinoPhMeter.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set + resourceCulture = value + End Set + End Property + End Module +End Namespace diff --git a/VB Sample Program/SerialPortInterface/My Project/Resources.resx b/VB Sample Program/SerialPortInterface/My Project/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/VB Sample Program/SerialPortInterface/My Project/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/VB Sample Program/SerialPortInterface/My Project/Settings.Designer.vb b/VB Sample Program/SerialPortInterface/My Project/Settings.Designer.vb new file mode 100644 index 0000000..c172944 --- /dev/null +++ b/VB Sample Program/SerialPortInterface/My Project/Settings.Designer.vb @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.17929 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) + +#Region "My.Settings Auto-Save Functionality" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.ArduinoPhMeter.My.MySettings + Get + Return Global.ArduinoPhMeter.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/VB Sample Program/SerialPortInterface/My Project/Settings.settings b/VB Sample Program/SerialPortInterface/My Project/Settings.settings new file mode 100644 index 0000000..85b890b --- /dev/null +++ b/VB Sample Program/SerialPortInterface/My Project/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/VB Sample Program/SerialPortInterface/SerialPortInterface.vbproj b/VB Sample Program/SerialPortInterface/SerialPortInterface.vbproj new file mode 100644 index 0000000..ad493f8 --- /dev/null +++ b/VB Sample Program/SerialPortInterface/SerialPortInterface.vbproj @@ -0,0 +1,165 @@ + + + + Debug + x86 + + + 2.0 + {D2D4ACE6-2289-433C-996D-7773D4D5066A} + WinExe + ArduinoPhMeter.My.MyApplication + ArduinoPhMeter + ArduinoPhMeter + 512 + WindowsForms + v4.0 + Client + false + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + true + + + x86 + true + full + true + true + bin\Debug\ + ArduinoPhMeter.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + x86 + pdbonly + false + true + true + bin\Release\ + ArduinoPhMeter.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + On + + + Binary + + + Off + + + On + + + + + + + + + + + + + + + + + + + + + + + + + + + Form + + + Form1.vb + Form + + + + True + Application.myapp + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + Form1.vb + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + False + Microsoft .NET Framework 4 Client Profile %28x86 and x64%29 + true + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 3.5 SP1 + false + + + False + Windows Installer 3.1 + true + + + + + \ No newline at end of file diff --git a/VB Sample Program/SerialPortInterface/SerialPortInterface.vbproj.user b/VB Sample Program/SerialPortInterface/SerialPortInterface.vbproj.user new file mode 100644 index 0000000..1818298 --- /dev/null +++ b/VB Sample Program/SerialPortInterface/SerialPortInterface.vbproj.user @@ -0,0 +1,13 @@ + + + + publish\ + + + + + + en-US + false + + \ No newline at end of file diff --git a/VB Sample Program/SerialPortInterface/bin/Debug/ArduinoPhMeter.exe b/VB Sample Program/SerialPortInterface/bin/Debug/ArduinoPhMeter.exe new file mode 100644 index 0000000000000000000000000000000000000000..4cdd50193d1b8535e9de1e30776ecc56917ffa05 GIT binary patch literal 39936 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%0DxHzxsi|5_; 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 I9Ha;S4~;U^a{vGU literal 0 HcmV?d00001 diff --git a/VB Sample Program/SerialPortInterface/bin/Debug/ArduinoPhMeter.vshost.exe b/VB Sample Program/SerialPortInterface/bin/Debug/ArduinoPhMeter.vshost.exe new file mode 100644 index 0000000000000000000000000000000000000000..bb84a51ac4f20534146c09f2fd9c928d15a903b2 GIT binary patch literal 11600 zcmeG?2~<)?tG75|5OPOMcC{DsnWb(K|p-9Gz zCYX{WA(Jm;dIfQqiJ};SrLL}G(n&hl8zFy;j>apOj_;bS1<^27Oc^0Hz(7W(Czb%1 z@VUW90w!d%4!)s8@lWO`4L-o%@Fz33`3PxI|9bMyD%lrO3DBh`b_0^65V}%-gn|b^ zWm*RtcF<41tL^XP%x>1H-pWw-?KO@iBWB8={z?S^v{7pXzI!Jo%+8WXB|Jbhzz%$;+6FHiiU_~N3I z3EN^9UtHuj{7z%|8vGH<%)(m1Ea7^jMXH#Y>ya2$DiaMPF|c+I&NvSYVbqF9*~#r#ILj8dWjm251tb7C6J%*T7omHQ z|3QZ`M<(G55b{zd>0OBcT-q z$5D_+!Bh&aq+kUFn<&Vjy~Gre83lc5nD5M>aGT=)?fZgOM>nV`Kqv zI0bDf=!~2J||60WgZ0+&DGHhBHk2136`;HfS!lVrq~L;Qp?LLw4#2#K5zlOj)1BCy1d77#r{JpDO<77O@Xp{xhn!4xZ$h!p@= zFfDSIN{Pg1K}r~3)_Zst+KZ6#Bz!U1wTDViV=OmGAajRFq+hp^({qI>UpIiLVv=~h zxay+kDH5kh_;K;yXzG;G*Tj7I0^&~_{e-b1Ng|izo-6pOSGO>vq9h3^M-Ep;2n2i? z;VA;Ob9u6_h6EBx&>#pUI*0gkg>gyTxL$JaT8kGU;HGf+ao-Tzcp`=5x@Rq2jC5KA zDL81CbnCa%R49SU_|be|v6omoM|<(PaYE7-c~ay>L?^|?aX&MN4jh;n*m;M|z$BDt zLV?wpRH>I1yLLe*EkY6~5>Aj35>FW2!};IZ6RZg`l4U+2WpPr3Jg{aVFJ1yBKdala z!{Q|bH-_8;-f}`H`;N<(`ErFZ0s_H?nELq^^AiFst^h{IAPxchk}HJW2r40D)L?1| zN5+-NKyKu|BH5O9=>_$oO%{WM1RNkt$|LX>+U#yGW4SL{W#Dq<^-?pWTs_=s z+sMi))7<${{lWc@(;pS&e4xt(nf|K_4fiC?yA3+_%vvY*l!4@4iv}=BM|c$3*(8Ejv=a+B_=Ss*JEQXuIqpixQ3a_4(W> zyEKm#xtQrM)b=Fwn2Ghv>;fV#EMt&fQn_Nx)Omd`sf+@qw7IY%8d=~wU}z94&^xT# z?O1hMy$gBFV<=2Rx4X%UFBOAX2ZDn_3e*V(5c0klQtL7p%59=S80yz;986D8eMaINL%0wc8G%|*e$MEHmK74Q% z!Aa2qJ`Z*(ODar2$dFuS7_I+z60R6Fg7-`wLHR_mTT!wUQ^u&61Y`_zfv7uESG-PI zL=b$z5K9F^02Rvd;_$Xby>8#V-GB3vXN;}hekVw2b}%EC!sUQGG$K1h+L_tfM2e!P zOCtHUjw8EKEOAUULMMT4SGq-(nO(Kd^R74+p{XEA@0kR39#JP2L9k*3WE=-K98<(} zqe}k)-;w}E#jg-2r+wZ^?F0lS_7$G&N8TMKx*>Foia|&WS+)ZhjyMosg(Ghi3MD_V zlt8Ha0ra7)2BA8})Ao*tk&JOg@{U+nBp*Xj>4k4odB9b z6pKVuFB2+W3WHWIV5QK`MKb6of?7waV3?3D4|tM6FFxSozD0@ZgTuNz{_IdRDFbAO z)M2bA&`X3r0!GVV7PvbAj0da~>bA%RB0vJogpW-A5a@S}5mS7nfE2jYc(OeJxZnXV z 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 + + + + + + + + + + diff --git a/VB Sample Program/SerialPortInterface/bin/Debug/ArduinoPhMeter.xml b/VB Sample Program/SerialPortInterface/bin/Debug/ArduinoPhMeter.xml new file mode 100644 index 0000000..691278a --- /dev/null +++ b/VB Sample Program/SerialPortInterface/bin/Debug/ArduinoPhMeter.xml @@ -0,0 +1,24 @@ + + + + +ArduinoPhMeter + + + + + + Returns the cached ResourceManager instance used by this class. + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + \ No newline at end of file diff --git a/VB Sample Program/SerialPortInterface/bin/Release/ArduinoPhMeter.exe b/VB Sample Program/SerialPortInterface/bin/Release/ArduinoPhMeter.exe new file mode 100644 index 0000000000000000000000000000000000000000..80565261bc12980726444896b27279bb855c4892 GIT binary patch literal 33792 zcmeHwdwd-Ab?=$kr=Iq%q?LqaYyFID%fj*t8!%XwWLreGWlLZTZp=y=+gq=8{R%nkKcAG=YXv2rZxFLK4$lO45=xG^96hTe#nIe!qF_ zN)V^L_mB3IwfD?<{m%J4&hN}`elt7TdByuEL_}eHUwe({AsqR$Mc^BQDTr%Z|Fo7K ztoW;i4;lS`wQ%T2wvZlo?88oGEIpFR=j~#8*h)JS`E)j)?%6$<9b2MAghWNz}r}v;Cxr;sM<_=p6yNqiCHdf_^Cv0GYIv z2O;oD6J6C&7|j$jL|{~Pzf<2lAZPn|5Q>le zrxGh!7yY_F9WwVd|!SYgC=a@pbb^ktS)$lCeM>pE8R zzxH(ZM6NjDSex_KMA6CQ+S3CQ!@2Cpo2|(q`>2)QJbd1Hne`*NPYEfpC+noPdlwq8h;!a z&1`E0!~P6F;j;i$u_@LQ57*22|@fVR6)sEBNAPIW+D zfT*$!Smo4er4IeJ&w*a?mbMu5?R$W?SGHZl_~)5FZ*_?F!pC;@aV`q2>b;)JR>j)B z0C}o9mNeV$1*U{8Vy6Dp=m}UTd=Y&6j{q8{xaf~6b3NAw^)-;tO=_T3 zTM6wY!)+5{I?*->BhZvYsIR$&+LV_{44i}P) z!ELxu#~7T13-ye_Pk05l0k*gjiR-zf-2j;yFXqEU;(E4Yr%L!Rn7E#;+KnZAm`_~K zKJ2CvKAa`4XOA{|N9>yf4UUO~XrqhRGHE5u_}Oz{fK!Mmo+pN)!DKC{v^S8$9OSRfdb zqxkJ~ZV@drfnWI@1SZ%#PkH@-cu9m_O`(V8*_eivp(MT9z*Kaa;R?hIPcV$XNj1<% zC?(90%(phgzr-5H1{%-7o-o@mlLB#p*hoB%@l>;3#S80Ji*BdZRkmUOb#2$qVjIDn zcpL*(`;W zH={B0R#oyOTsg%I;d=V_n{DTTX_`x4jU7PP7B+%v+r+GSw*WV;!?=Y_8#$1NNb&#z zNj{GALKtS2D^|Bx-L1ZQ4loE~*%5FdA)`gOKs0(Ym;GN!t!E zVm3@`w(}KCaQhOEPKH|7x7M`5Rb_?U@3B)hddn^H9WJs<=tTi9jEk4P5--elp7y$%8)bOFm6Z3H#C1GCU`R9bPCIK93j(VXds+4Hm`DU$IWG3`2%Si?F6J}(2?#`FRj z;9fo}cW72F?95^Tt(%35K%0e&(42*fj57-td21Ff(%&rH4YP7rmvU1!nx$KhkV&*! zB_YF|;#}?bJk!ZgI*VXP-;IDQ8E6)^=>BIsWg~}a+s?b$2)bK$dLw5&jU&2V<>0=u z#5E6%bEof`X-w(%)y>fW>qRAAS>k-t_bQq*y)wJC zT6>i;0k2HEUO8x7uZ+81TT8sM#QCxBRWxUMWp-}Bu|NV z^OV?uBJO#Kh0ZbGuPBFFyINBvLCkD-=138&5#1EYwCjtLg4~c6Dd!xdhKAOOlBO}+`GW67)IzPrvh2@nH~UMG(|*&KcD-zLz3eOT z!ffYB-;1ct^ulcSge66O?0aF_^|HbBvZ=%ivz=f0UPNuC7iPQXTPac#@`j0N*UM_x z%e)dV%y!P@A}aDlZKfAyH|ijiB7MFWB~$0i4(Qo?B|g_Ms!n6fm20&Y16B zG(+jb9Jr@AaDyu)7P>QmaW|KXk!dz^ndceq>RRhdd~t=GJA7YEH`!R-Vlpv~bI2C< z`{{DOEOb|BV&sq6$Q4p>9b_%MUW5^>x6w&zO~^RvuqYij%cdVooImlaA)2Aq;j#rA zv)x=HMPyueiK8t6M~uVK;`H;Vdr5m);{1j0NHjyOBV~@5?WIyFBV(&PZ4G#0Ts$o+ zZxTzKCw)(%8EQ?Hd17{JrH&#g^DLK9o_YeF7*87MuMxBj5uCp24$U>*fcP7d+ zoiW>6T}YXLGgLF0zOjzTJ|LljD22mRsw6U)=^XSOiBc%dyCkhmB~y+it+jf{{9?by zwv&-X*z(^3FwoWZ7H|>~`ydM%?W;ttET(%*Zysluuk!=fT<3?q!sdP}VeqJxFgRvP z7#yx844x?^49*QDjP`QIigHFuPr|&m5*N)YXptGZPGP=0 zCGsjyt}tKTDDrBN^PUiTm-puqyx)OFsQr#g^IFzuuU5yXeT1tQx{jIUqO7W*yNA>) z_G?P)pQG)gV?6t;!S?y+*=Itrd{LSGd1Ak|#D0smj}Z3kvj!XCW7PhARevTF%NHFj zt^a(nKc~e00&O1?!n4mBY=n=VeI^vk7nRv>75j6=K98Tm{P97QVSE#wTw%U^p~#aW zcgGK*D&vQl>eY`mxDtHy>c@m)`J%G=Ef)JoHi$3RKIVqlM-+JWS%Z!6F>2>j|1zOi zzG$qpf3bIk_SKiz$7B@ySF!y(^bvoo!AAHPwQXgeiE`0+sr@&Jeaw|>S%>|=h4eavUiK5MWMK6>_DHvj!XC zqc^@xD3&iO8{bW0A6X(`|9ov9v(&TC8f=7*-uN=1SiY!id@m6D$T$J}7i#;M>Yjbp zU?Y6=>@%TQzNpOpX0eYf6tI7hwvW`{*=G$l!bi_O6N=@F%Ise(_L0$GpW{Wi;0L z7piE$K+3*`HLnG*-wL4W5va{f1!OraPKH>y?K&=ZJ%hI~m;!L_#_}d0m}bG-0orb0 z47pdYV@!G{`hh>DjoFAzd5l5Seg|tof~qL4bPRLb-o>In@I)#5Mh|baZ}RX3_8)q< z{cb_gfo`2;-?uTa4XJRnO6ED{hJ2KF`)04WTO`nY*~4{rG%pbsw}?I_0^Gev@PPon zH-PW*aNNHN)01-FQEIcLnRS+ zZ^25G`_TC^uQ=Zav7G@4e-XM1A=AS#DA&jK`yp&!!O4v^3OLV3E6r%51Xf)|q9PUg zWTL{p6GZc{4s1gaI1UsfZw=KEev~fW=fGeH3(s{V~9e zpM(|oZH3VFd(>G93VyfE>UX@yQ$l)SWv%mNc&}cG`Nu~!(`K_3k2ybvM%%{` z%=R4sdQyG@C}tIXPbZ^0L9c3Z^WqY&Ip;;mmhko*Y_!g;Z#xOzGA{S`!E*E6aykHYz;AUT zP_5(!wzdvlveh6Jz}4uzAl8{MkPHDPAxrbK43;E9{LsF`Jo$)Bz-P)Yp9mK7ka>~ zr6pm8w!kL^UJ-e~Owy+!w?%4cXOyM)#Tc%sU^|B@Ze;s_NqWBGwn&uzq?$QD5%>#% zqcwvyQTkxbR85jzsd=uZmaae@D(Ty`T*C!(UcvKEm&~~p4?v9weBYcCbE5R8bM6NG z-W;~}9Pmn7KG&RENnLa6pnrVs{<%?l_gt3VH}{UYwe-kbuFo0a%uR568xtmU&IKN& zox(XJ90z!kzLmH&6s3PkJeH`W>SP_B?|V~{H4h{=C-IE!*% z6n#hFqku{JUXpvSy^i~27vSAAQHNgv(7nQWS>U32mhJ&e(!z$@A}i@j*r|!qcN@5# zPc+n_AO2SZx2__^b#6%A0k~G+o)p*iBdOaWN%{g{l>ROCFR3WCG;-Nhja+I^V+Qzi z<5i87^gtuG<l;F=b{!6NsUTNe$U(v+AHVEt%cv%yBJl4eRy|wA?IZ1l7>A9Lp z3O6&qyLnAB>^Hvxn}61P_ng~|$1xY8^y6mMe@)?3T=u0Hms%BPI3n;P0v{Fln!pPyE`c;xu^+Hd@q2*RRAd0( z1(={>%~t^Ls`(mVvi51fMYTT$Jh%4mjGr#zELBHaj5_#AFGd&R2IeJ3GxF08p?b^# zp$?SDMukc=eaOJr(CtFi#qTf{g8GuCzG-xTdRS907#Dy#qp3=B2dH0bs@=R4)Z8WF zJ$}Nx7SuXTy~lh9r~^VJ=%jfIp5#BWlr=F*<_8gB?-NSZIzqP#war`_x(o64pr$%P zpT%fDEYuBjap?1)&S=^8(0!m@3Y3e|+-2-xo5|&3v_vRXE=Ct>8JCOEfKaMtG0F+0 zY8Iy(g;F)Ep!W$CiVuXoikN<=M0To#`h`$E=2YkrXs*T<4!8E}p=Qke%dvrnU7V^j zp{GFQK&3(bW9Vs6C$y|K{1j%_&05wRej3#6TDBql9L`twYT4HCKY;qRmhFSAhN`h0 z$TmkHtD(z5vA?&6UqV*QY1#Y3FN1nW%kG104n3-6ry-j|O>!RYu6jNk!u)Ip#WsHx zj)U5$WwntI;;>)KS|V{!muuO^$V-%@oR;-PUIz7$mK7pN#OtG4c0;5QR1?nOT+gpY z78>=`4vPJKH?j=W2`&36Y&Ou%TJ~$$Y@qLJ*_`N0IHkX!WzEr-L2bl3fNh=&StIp> zVw)F1)=0N&*`eraqlxa-vdQRrP`}o)4@95BGy2t7Cvmwuqfdis0>w7(hwL0`*Rroc zb`EXSvd1BtNBvs%G-UJWaxMFJ$XY0;WsR|?L7mXD?XjnjD{t1at00?Cw`}#=$jaGV8%N~yPfNH`?Jb zrbLsUH;Ed>3Sk>2@vq9Ar!AUM>4m$d=GUTJ|(# zOX*Q9`#EGw>HAt%Td~?$MlWbtx?(-3Uu)Tpie1K=s2W?Z>~CMiAgCr#JgYuZF>16? zdW)j&1GR!4)YK_Z?bP0-WPbyygWjR3P~}l$HGN!DEtQV3hWdMzW=G{H&NuJS)SE%A zr&F3b0_r^amZqjaZK9TKs@$!hE}){OJ^^YoeP2`efx4KU(bRW9bx|8OYq<^2f$FA@ zV|#(A7eV#Xmo)VnsO>bs%TLG_RE-*a^l?pH2ukh$g(T~L+Stiz$gtZ&uU3EF*zHjr zH4hkAuWMOx4yu^r@74(BzK3D#ez{niNSI(&dfAgG#`66^0O~bgvSY}oL zHd8`iv%(>5rgZ`@6xbuMU*M3yb;M`w3kCKF>=!sBaG}^)F0d2OF*XV8GoG0Hb8{2@ z%iI^uP6{XPqKq*=@v@l}X{T83q`m}&jv4zB(a@yv)n0L5#aX5zIG|uPaDhW_Tz+?2OhQEci(+&SK+=+Ib33r)4Y@nY-YK{uM`3gGJ z9FHeL1@ISw^R9R&V1IZMU^8_AVoU|@5x8GqMqpOpF@ci;rv;{Ikb2EDjnFQ@qkzll zC-h#kgT5IlRCLf6jHTfYT-^yC=>+Gikt+ee8@UPa$p}l|9r;ka1A8t@z_}rE3-AYo ze_P~E;2(>8J-!9kt-H)__?i!RCAFJ<@bcH@Rl*+;&WK2};6G?iNqwe-a|1nzvNzDv z0=eu>&^c{>if%LZhdw1b_keTKJSC;R3I6?|Zwmj6aGs@)8N1A%2~IU@Sg z;LnZSAovZUe}k00K}wwz`*%Sn6gwsOY2d$%o)P>E?94Zx1?NnZOvVkfF7iY)E%-v< z--vDzybJi3qE`u?0e)w6O7JO@TQ?2Pd!i==KPmjXz_~7ZN;s#4a~d2cdPX>Bg!3#o z!%+%J|AguyyP|2q7XsfJ-4f#ZY!OZuI2)o@37!GIB044bl;})@Gbef%;IAU5LfluU zfj=8L6XHmC7Wm&rkR~G!M-~D;5a|NEGm-(kJ~j<_G(Av_Ilj#p2E4*N4EVgkySIl-JoQ646MH)JUU~qq82T3A6;=45 z4rK%$sd_8$ae*hQrh(re@cmWq0{$_9pApXeRrqBNeZA^^fPX2RrvyGD@cF6_g8#2# z^WO!AtJzDHz=Z-g2<)x?DER%=>}#l+ON|OF2z?fIK0?xlerL+q8WFC-5#n zleWUPLEQp-VcW!W0Svcc_s+m?>lyaJ19qYS4Lqs9J4lxZ?1ycGb^@BT3$_i~4QSE; zY#TUtcLCoE+Xix6H}E06Pr$(LA;W#JZDOCE;pOmP(0+ke!h=ay2rR(1Nkv#SXadm0 zxpEKSHL&-G`rkt|XkKAv%p<04)`!DWymAeGJ`5rpU>F!x{wSyfl^8w#ln;uJbh1X~5tsta21h&N3VXJu1(-`y6(q1Fh3RH{6m@3n` zw19D8MM1{oP^Q9CHCkf_^|;NV5gbR>3(#fS!73@c0bQw!JJ@3fU95mQxcFt6+=NA{ zHxC}{%NL57{D^h%An6yV=uzoVwxzF!$W^1BY+>9kK;7k_U{>33Ep*$t9KsLrT%aA9 z!jWQTIA@{z*w$7Haig4%QtvTLg97eSY`2Q6*o_xN(a_|$#SA$P+3G%|vbHrhk50I=KAQ?v=jg%?}I9flz+3wgA z<5FE0Q{CWGT*jw7RJGp~s4nm+uE{>kY-h+C8+U8%Gju(C#@_765l&iC6Q?-5*BY_1 z$1T-2L7GbjX&v8vyF0kA3rKzr##s9OppUCI1!=Yuq`AU-ZF?+OUys(+^=MWeIN~-7 zm{tIGa5!Jwi-g^k%PF}}ijq%uAF)P`N_$;w-%w_vXiKp&78fmJsVH14+7hU1{U}_k zBYK@LUFS>JY3X`jy55(rr-M136yDfaPKMvvB+9c(xOTHk6x;2$8J5Zgo}qGqvNLdm zdzPm?PXqDjv%IoCYX~oja_FEOR0L?0bv1fWO)@2RahAKd*Y92Z{WFHg<#7Rbd|aN# z*gJDrH7i(5v%FFRJ7##(tY9h4@=EO+%HgL>+&yk}6en0laXf{A9pyz7Cs;&rydryN zcu|~S5yjbQGxmbYga-7U0jZMlV-a2vU5C#!hbu5z~9klYJgsIh+ zAGJ=9B;_s#%L#oNJlJn%MiI)8I%E-Msm_}RyRjHM$_zjC`8+SwHB04%9=xW{O+&t? zK+ZTA)W9lBWh~BOB<}*$c^+woPn_1MRJ!{}CVv=tP3QjEg~b!aAt#eBjAaq0yp+?0 z0y)aB{lF0y_i~G71oC8w89y{Q#MG!-qplM*F)%;SVR{m1du}-$;pGKgv5Mr^ld6a< zm-chY=~SoVHQYHe`0fePAIQ=nB=>~V>0xVF!y8ZvbV1{4oax>VWB>!h7{ z>mIH}3dJ5o;$fVXX(;0$N2oQZCU9+X1V5SV>ncpc&8n5Hj)s=py zU|;@_?I~-XBtrM{$2BO)QN4#y&U&t{d(=*lISyqHPvGPymvH{&+@QWpk}H}~>re)^ zycKL_bkrK%flQS{)q_O8J#tj{cNZqzVCJ~x8j@P}C`0I2F(^Dw!9%$2xG3TEE9!*> zIA@2wlJ8_SY!zQe2-;t{N7_0=h_n57^33WKnbv%Izx;H)>#%Y1cdJ6N2| z;ewReTz&s4ad*D=M7BtSM<$B6^vin|U4|5ta^8hr?`RemfLk40DYApEBF+)RxE`i5 zfr=z=NJgz5d#r=onB@-MZefX!P#fiI4Bv)U@5yEk=j{R-T0plBPaH-#?Z{$)@&VPM zE_KP_vs~4|qBRbgJ#qMmFP!~4*sTyw4(du3)y|J*oKdx1;1`E`OYwGP#%9)-?f925 z9X(bddpJ)!tlT)>ka@N3jQW;v+M5`|DE6KhvBo7tb*uMUhxB!tp4dFm)JBA_i{LIg z_|YiGQ(pn+M85nRB}7LNYbL%(Q!(sbvTbwhG0owkxU?#uMx-y}E-hwp!MEK)B&v6U zYCb$;nvU+q7J|$o-+$LAPUEIgE9#=>9xaSS^!ZhPK?H6(5%8PSfBrB3YqESnqt&^BSeQG@A`rMrg zPUdP(5Ce8LkBN#)U;*3E8}5bj;6z~@iKIU>X-^bovPzy}Ri5$4Un&za!NIHYfGZx# z468L6i)9JapDiF6sW4+E?-OKXgGuF-QGEuKG|CFdYk@qo6+2hxTaFH8#P4Vsdd*eo z$h9cWGsA;Ldz=DSl!Mr!%VB2@gUA|Xq`PqAzANz16^__BUPWSR@E9S6{cZ}jNcv|a zle2m-XY%}_TkNoLZfBmC1ZQ%v7RAJsL6FT8%xlZ>bL4D1&YRu}S*o@(b0Ry2-scNQ zOgrQPJ#qtjQ zWa&cM_0E^a{;E`}QOa`b!wXfZ2qT!KymaIUE$9uxvdHPf+lzTKsJM0wAorCD>`S-W z6S%tAWnJBmQ_5CsWAcn)Tp}BWRn9?ij)&vw-NqR5Lctmv&P}rG-V@fy1aG2xOc#+U z0}VMIMr;Y9Uyv+@T^zPC)r2Jzi38DX5)IiLle{isHt!Pc<)zj@#>rxrR#X+rb6{&0 z8zRgrA-MNNg1nqZofndd%ZmaZvUYjx#E`J#px7lf<8$nHZuxYAVhDiBXRbUYi-h2_wXeMDhms!6iK zUM&)(jEzbqLv}Zsr^BNl-71+QBip64vv3$id6HsDtq3*S6^@?c)4b)(lI6Qba0>uu zX1xwUqh&kZKMlBxm0fn8H>*q6L0Ae{j)i?-y(P=dcH@!n63A}9G-(iPek^tJNGNK{ zZT1BoR(*O-ZOhqLySY#X6P?FKWSN_nGo)hq5}Bl3LO2`7Bc@8#6$Eg4I)1kYu6 z>4*gYR+eQqQ1sP4-h8iLL0+zazSi$1_f=F+l`b|F57pvqt>QGBlWefp%4JRnR`5Gp zF9;-@vHH&DFz0+}+4)^hXKu5)+S-Ocp38$I%AN31=A6G@kjeppnMc2HXW$q$7B?DNnc?zGOtKK(BS%cx(%~(>$am+HtI8u`^z?3$8F&L%18}+q=p&1Hn|%; z%wDm{BYFe4%bWv-9*^~_;|!g>xR0!LX2|yWviY;w=04)_rRFY;sXooYq8{lP<=CHB zuC?517xm+xC!e!b?6QwMx4Nnumbu*yZu6Fx<=T2BF&25$&F!Twl*98E371aeZn|)) z)MyN#=cs}Ei$`4btZqT0(%6eSaMTPzI);&;g)S%U@i_W8PC1GZtIew9KH;&96lqmHv4OXdw^EvP-8V) z{Cc`|FKc56zY$#S>$`pOI@mZ&#-AgoMf<4ob{kyEO6uN-iG3@qpOk zaXx@wJ-Q`3(Dw!YJyv1|`ssYsY77wTF?eZ*PmXO`&Jmsip@2Q z1^7`(Y_(w+a~BYV&Ed3RwxBX`R-X@~Hr$4CW*vc12NfV~K%i%sD6kOUrL4PD%q|7F zoXO=vE(f`a$yGwG0@=xAr;wc>*E6|Z$n_vMF}X>|O&~Wjxmn1~AiJ3C60!?qFO$7O z_JZsSMdwG%Xl*oY8ZF74>ad3^Ds5QG4Oz}$6@yL&>ltifu$e&@0~kd4rg%D(++Umg zy%w>*ANDi&THMze1{RMS=s42=7NqSa-X$Mx!84Cs0oH0~5&y`+3`5;yTk~rfCXNZ5 zV3=$W{JOZIpGV>v)YdlP@uQuSe0vuwJS*NQf03pG83}r(L|53rLC1I|v{Blsu>RpU=RfG3ZZP>n%x5Pao<2-oVt zXF(`jiRfbMX+)11BO^IKF?A36q_&ouj;?8m!0!T9T!6=&(Eh2@5sc*2=@_>gM;^15 z%2;>-fx2scEv!Kuf83%a6hqX-3~9%FAhoe{7+qCcd$~c)dOch6w;@ol5hSL3v2&N;fTwSfSUR1mqbx0s* zz<~V!d14CxU&MbNtfdT=M*yaN$ml8toeb79*u>?N(+#XJ-N2m947wQfBG7qcQ4vlb zagP6ZvM(N|P)p1F77Sn7XyIo`Yg;0i64S^9fJgy=>+v`x4_`DEipS@-Kq-#-i&jpH z$HesJSUP0PkHnFWFwXI`*^->@osUV0aH>V&cx^3a6)f#R@Fb_ZK;Z;7y&sQf*0$8* zK{~cx+Y+lzE~%}ByzKw{mfG4%3MHn;S`yR8S~#Bln^GBmwt?ymEOPae5AH25nG^2) zcB;bfj``x;;gu^al-)j~W`pWyz0XGH7}OvV@BSZeJoB>)Vzi&{F=FAu4g|-N#=~&} z3|3d)`lC6>8i6~5REbA;)%`-^*&e)&C=3L&e*6TrXN}+uNc`%Cs!_zN9)4$UP=$LF z6X)R|2?Kc7cn$RZd)8RtaD}}4+IaN>(usSU)FtHJsoyl%^_mHzY{A=0)K1(HQMV4o zugg;R7E4&_=3_~J>D!Zd=F&8gkvN1_sr)m&DjGAB8KiXtx3vWi)VdeS-bMP5EfXJi zByj&}lJ^Zp-7EO56WJVgM`QXgi1DA>!IYWCe+0Lo&JA--HJxrj*eBat%>8&&w){TL zU~ytJYj>!-OGq+$^TXYG@fhkB7+;U;-5A>moGQ2p?K;c5CRA!kOn(sP5uBOu0m2WP z;?G6#8ED8%?Q=5Y*r4%lRPb)j)dj=CPro{L^$vL(1MPYbU^BnVqaCU55bCj6B|;dg zt@kuJ-R3fryocDzCeofHy)LZ^q;+`?kWTgY*Rb9+Xvy$~&W)>wSC6c+G9$yQ)>#|Y zt{OfxoLSYme)WdYb!*p;bXqtoHX4-lHWbp|xF?-nv$_+LrvZNrNMG-#2X>_8iB|j} zMS~i7qg!pIrn`#i9rl=&?zTIy)Ft{eekqjx{D|?iOO+nozg<_##iN|K$s-Sms^@Mk zt79~m6Q$RdQhH0N`tK<3Z*TIt<}Q3&PU2f6+B?`Y_~6mCzZ_~fb;;e==dX%C_ldoH zcI-L-0Ix?12ae)N+kDPG(1VS}Vf(}ZcZ4~Z_~GLNetwf3&O_MfJ!_sl{QCz^Y}{}F zdutY+20l=>Z8SbQjH>+Z^Z&F5!jh9PpQmbJcL2w^IAZ@|stLy_`47bVn6ehW9emDZ zUz#CDw7iYz;aT_`M`vD#|La-!>=LQ8?4uaz*Ws^z9X`$~Wgo>Dz~T095%Jp&-Oto_ z@aDsS{^!t`MXnIXt4wFtK4V?J<<##%+{~o!HA3^PTx5h26?EZ#b8Yr#i zQ@_`i%V10G{>q*$vFsw#r1LfhAGv{XIrlx z>07nO&O2PZe_T3NzqwD>NuQS5DDTF{Y*n7{2(&EPzv|PJ#29{O3P#4GdrWV-|z|?C0u|&v>|}fT2Hb41V4*v;X?t&#uQF>no0j9}RxKg(MjKZ27H6v!ps8P9fZ;{{MYLupbNh z;mNI+_ zwJiDYRGTW{oCRU<993WL9h1`OxzbB~hQ=GP<|>NM&+aMspTGL&7hZf~ESJWE0`kYC z7vXAVQ5v_kZGJ#w^P)?KwyoN@C|!_8?s9m1Zu6o^tFY+ei)tz_%;>wOX&A^CHZPiR z^5+*uj^GArVbz%Xu)(Skd+hv7VXWhL=b|*8GS42e3Ptx)OuWHVI_(+j!xMx>-1;r4 z5no{~O6PGwws}#>um3tS~UNt9<~Z+X?3k@HI0vNM?bq_=liYWRxX`mxOq{gpdQq97NsY$>T!h4iw@xj zUY2f@7&&*A+PGCex1{bDp6hi26fQj19U%~B5kJ3E`OQ5rrQXN+3wig`Z&v@E#(%FK F_`lX(QcC~; literal 0 HcmV?d00001 diff --git a/VB Sample Program/SerialPortInterface/bin/Release/ArduinoPhMeter.pdb b/VB Sample Program/SerialPortInterface/bin/Release/ArduinoPhMeter.pdb new file mode 100644 index 0000000000000000000000000000000000000000..b9c79cf6de762e2aead7e467f56c12f4381a8df8 GIT binary patch literal 46592 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 + + + +ArduinoPhMeter + + + + + + Returns the cached ResourceManager instance used by this class. + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + \ No newline at end of file diff --git a/VB Sample Program/SerialPortInterface/obj/x86/Debug/ArduinoPhMeter.Resources.resources b/VB Sample Program/SerialPortInterface/obj/x86/Debug/ArduinoPhMeter.Resources.resources new file mode 100644 index 0000000000000000000000000000000000000000..6c05a9776bd7cbae976fdcec7e3a254e93018279 GIT binary patch literal 180 zcmX?i>is@O1_p+SK%5g?SzMBus~417oL^d$oLUTL1*ImYq!#HYR*8GxXUf^%t3Noi54ZC+|=Nl{{sjzU0bQch;FcWPxwes*e}ZIZcpqG__J onW3ezNveT`r81^vrFkWpxv4PQgHubGfR2KJ07n-P+5+SQ04Y>DD*ylh literal 0 HcmV?d00001 diff --git a/VB Sample Program/SerialPortInterface/obj/x86/Debug/ArduinoPhMeter.about.resources b/VB Sample Program/SerialPortInterface/obj/x86/Debug/ArduinoPhMeter.about.resources new file mode 100644 index 0000000000000000000000000000000000000000..6c05a9776bd7cbae976fdcec7e3a254e93018279 GIT binary patch literal 180 zcmX?i>is@O1_p+SK%5g?SzMBus~417oL^d$oLUTL1*ImYq!#HYR*8GxXUf^%t3Noi54ZC+|=Nl{{sjzU0bQch;FcWPxwes*e}ZIZcpqG__J onW3ezNveT`r81^vrFkWpxv4PQgHubGfR2KJ07n-P+5+SQ04Y>DD*ylh literal 0 HcmV?d00001 diff --git a/VB Sample Program/SerialPortInterface/obj/x86/Debug/ArduinoPhMeter.exe b/VB Sample Program/SerialPortInterface/obj/x86/Debug/ArduinoPhMeter.exe new file mode 100644 index 0000000000000000000000000000000000000000..4cdd50193d1b8535e9de1e30776ecc56917ffa05 GIT binary patch literal 39936 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 literal 0 HcmV?d00001 diff --git a/VB Sample Program/SerialPortInterface/obj/x86/Debug/ArduinoPhMeter.pdb b/VB Sample Program/SerialPortInterface/obj/x86/Debug/ArduinoPhMeter.pdb new file mode 100644 index 0000000000000000000000000000000000000000..c32d4bd36c72fe30485fd92dd34a5e5a1bd0ce7d GIT binary patch literal 58880 zcmeI54S-cux%c-OU}Ru05KutS!moo=}vf36F zmKvJf^j<5dEG;W7Eh{T5HBGOfS!(Hhv8-$NnqPSf?`!)0{_A6(eGX@U-q%;Vz=CJ~ zd++r;&wAFgzSsUZi<=rc+B)0TW|B1%Yfd>Oxp?`!OfyAf`~9Yc=OHfV7E|bN5Y}( zfkNd!;z;=)%0-@&w`-T6)JdwU-_JhrN5g-t9rps5ntPR9`(Q z|57~q$npOW4-{(u8VKY4zs{ANeEc7h#Up0!#{);oe?QJS45IGbeawvJAMfsW`(?t>$mn7{eCbm2=?||@PoQ9wa)%|)n(wn0V9OMPnvCz2U^A-3Is1G#_;sxbBe1;#*bzb5B3H-!VI@e{n_m z2YTqZPHVY#%b z2Rv20`1OXDUMYRz!8|63#gcGVxZG|E-@m>C`_p4LW+oi5tH&{GUer=V9Qw zLn4cBRrxP}q2Kb!U%B#^cYN(%JB}Gs^5a9oIfp?e-m3Ed#QEPncmDOG*Z=hDhOf*x zv2Da*;JQO9i^E3S?07t+GIu01U3%b+7vFeMH*yAP$F5>pV@2iKDGd`+lP6D`P&s{C z)r6`^RTUGaOs<^Hm8yn{@@bRGF0K!Pni;F#-I?y_T)iQEaZ_t^+v@7}_S#e?wR%xo zL#lc8igZi+>arzsSIp~3wWK$-b!-@a4%|&`t+Ot!EGr+stfOshQ*(M&O>_$NZcbs7#iQj z4e|eCpuEIA0~;SuKf%c1!*+E5D0ZadBRim**Yxg|8NiSJ%WVjPt5Y zJ#Y1uPh2ium9=;k7w1)3dEV0Zm2VKQ%1*qBi}R{3c;0WVEBUQ>RY%0DxHzxsi|5_; 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 I9Ha;S4~;U^a{vGU literal 0 HcmV?d00001 diff --git a/VB Sample Program/SerialPortInterface/obj/x86/Debug/ArduinoPhMeter.xml b/VB Sample Program/SerialPortInterface/obj/x86/Debug/ArduinoPhMeter.xml new file mode 100644 index 0000000..691278a --- /dev/null +++ b/VB Sample Program/SerialPortInterface/obj/x86/Debug/ArduinoPhMeter.xml @@ -0,0 +1,24 @@ + + + + +ArduinoPhMeter + + + + + + Returns the cached ResourceManager instance used by this class. + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + \ No newline at end of file diff --git a/VB Sample Program/SerialPortInterface/obj/x86/Debug/DesignTimeResolveAssemblyReferences.cache b/VB Sample Program/SerialPortInterface/obj/x86/Debug/DesignTimeResolveAssemblyReferences.cache new file mode 100644 index 0000000000000000000000000000000000000000..794348a39baf621837afda4ce4c9ffc7e752bb8b GIT binary patch literal 3453 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 literal 0 HcmV?d00001 diff --git a/VB Sample Program/SerialPortInterface/obj/x86/Debug/TempPE/My Project.Resources.Designer.vb.dll b/VB Sample Program/SerialPortInterface/obj/x86/Debug/TempPE/My Project.Resources.Designer.vb.dll new file mode 100644 index 0000000000000000000000000000000000000000..33a463badd6589462c2429a351b2d808fd324bc6 GIT binary patch literal 7680 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 K-e7$AJpTu`hvCcs literal 0 HcmV?d00001 diff --git a/VB Sample Program/SerialPortInterface/obj/x86/Release/ArduinoPhMeter.Resources.resources b/VB Sample Program/SerialPortInterface/obj/x86/Release/ArduinoPhMeter.Resources.resources new file mode 100644 index 0000000000000000000000000000000000000000..6c05a9776bd7cbae976fdcec7e3a254e93018279 GIT binary patch literal 180 zcmX?i>is@O1_p+SK%5g?SzMBus~417oL^d$oLUTL1*ImYq!#HYR*8GxXUf^%t3Noi54ZC+|=Nl{{sjzU0bQch;FcWPxwes*e}ZIZcpqG__J onW3ezNveT`r81^vrFkWpxv4PQgHubGfR2KJ07n-P+5+SQ04Y>DD*ylh literal 0 HcmV?d00001 diff --git a/VB Sample Program/SerialPortInterface/obj/x86/Release/ArduinoPhMeter.exe b/VB Sample Program/SerialPortInterface/obj/x86/Release/ArduinoPhMeter.exe new file mode 100644 index 0000000000000000000000000000000000000000..80565261bc12980726444896b27279bb855c4892 GIT binary patch literal 33792 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 F_`lX(QcC~; literal 0 HcmV?d00001 diff --git a/VB Sample Program/SerialPortInterface/obj/x86/Release/ArduinoPhMeter.frmMain.resources b/VB Sample Program/SerialPortInterface/obj/x86/Release/ArduinoPhMeter.frmMain.resources new file mode 100644 index 0000000000000000000000000000000000000000..6c05a9776bd7cbae976fdcec7e3a254e93018279 GIT binary patch literal 180 zcmX?i>is@O1_p+SK%5g?SzMBus~417oL^d$oLUTL1*ImYq!#HYR*8GxXUf^%t3Noi54ZC+|=Nl{{sjzU0bQch;FcWPxwes*e}ZIZcpqG__J onW3ezNveT`r81^vrFkWpxv4PQgHubGfR2KJ07n-P+5+SQ04Y>DD*ylh literal 0 HcmV?d00001 diff --git a/VB Sample Program/SerialPortInterface/obj/x86/Release/ArduinoPhMeter.pdb b/VB Sample Program/SerialPortInterface/obj/x86/Release/ArduinoPhMeter.pdb new file mode 100644 index 0000000000000000000000000000000000000000..b9c79cf6de762e2aead7e467f56c12f4381a8df8 GIT binary patch literal 46592 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 + + + +ArduinoPhMeter + + + + + + Returns the cached ResourceManager instance used by this class. + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + \ No newline at end of file diff --git a/VB Sample Program/SerialPortInterface/obj/x86/Release/DesignTimeResolveAssemblyReferences.cache b/VB Sample Program/SerialPortInterface/obj/x86/Release/DesignTimeResolveAssemblyReferences.cache new file mode 100644 index 0000000000000000000000000000000000000000..794348a39baf621837afda4ce4c9ffc7e752bb8b GIT binary patch literal 3453 zcmdT`U2GIp6rS0i*_rLOTR^lVh+82B!n)hqmY+gH%7%poinZHdB3sAXnY-Hy^HcAg zEff=JqKVNL44?@-nHXL$qR|ImAt65bA_*oaMvb7=kSLF0h@LZ@-FDlJLPZnrX3xE6 z=FYk2eCO{d zPUR|=SK+kJp%sr4E1epuj9JXsOQ%NM!_?^;>*y-=ls1<-JI$UB(nX?pR(sxaJj|CGNxrIh?DsD&+Io0 zDg+y27W1a?;8rx<_ooUAO#>3e)yA4lbul?FU^XHwey|{335y7C&^1|!Q8Phiv6}GJz5;r@wn226S^SN)zQ_tH7=u>Xk~3<0(ZofW}N12Otip* z{k5>-bSe3`c{AxTdNy@#?dql-Tee0~srxbu@ogbuzR4;P1&=eQoM58B>(_Ux&0T z%OA@%IOZzDZt76Z48KAYsP{tW!GrhXw{&XZ?gv@{M@P|(evl_&p|k?oTg|=);875# zEdwI^QH0!bAj%3LLv;zal(QC8bCmuNkO*4xH{L>ZqB{CKuGgAGa&GDOi-aCDlmVyY zYC4wUokUPo53;gF#|qkSm0ixfal5Ua&AUA3Iv#hey+_0sN6$@@s(8>eu4Ia zs-x(6iw44n1|kmK-I+JH=AFX_!@v$@`EgHDxg z)Ty$yJj>R4Q?{;CWwH99Jd~cD?Nr&S7T7SfRd9CX2e`v54P7iVu}SRex-O}aX-J!! zAPfb<8z~;S0jqxmZ~X~=S^FMj-V5sWpT3CtL@~4fmqib+H;e9DYK}}01Dd}Sk<>*^ zzCm-XUaqiws#r&HXlrI?NybX&7uCmL(Og&Uv=ltj+JX2n`#3CK`tM@4P8C0J*Mb7_ z^&r+F)4+TcFz`Z(%U=SA!G}R0UxNikjUNLtR$Pn&9NPNXSxRC~VlVNp9QY7#kT{Z< zsCd5!eR8aLU{&|GuSYOz7SuG{t>}Z~kjr6W4o?34U(<)_B*T6UJ0ulGRWR~6qKNAf@SN5|6VY5LJS zU-WsS?vpofzx@0M$;)r|J+bAXi!6hY)UGzh>UlS&4k$-!XN~gP&f!sCis-=^cLl z5%)hDKe@{m$fq`E$SiOLo{@@!zE$%LQzc-^+gW2~NB7s1te`-Mi9rQbu8nFO&u5Vj z10=Cw+;@`q6Ne6+nOc=0-v#yP{NV!EHNhH$@a)ExU5zw1t|{q()>17XvD_dFXko1_ z;1{FN@Bms{&Ysj1inh9}Zp%ugx)7$*Y5F4k&{Jw?0|A;C>c}%>G|n#&g5sX@5+(3v zd~@@HC1}+fOhmB8xO($*vb1Cr536}Q(4JI+myhqs1j6QO+6c*otT8Nnc1!U zMRZ(KQm;Y|TbC==Ykpih-7(Rtu%hHPUB%(o+@>!10#T%p?MBd-%}}?80KT-T>ThtOCzvH$#_*zz`WC5$!dOo5xk1FrLGX+3eX`8|9<^G80q<&T&4 z53K<_=R>+M=l-VAL%X}M$3r3A0>%twx$myMuvY;i2pc`gTYTr;629CB{RCw`iYC$0xZSc*475(za-zZ0 zR_&6S=seP;+f=QaL>&rZ-HagGKhtf)TVRGc1W*9S0d-8tH*FO_Ob8k0eMDPtAOBDj zvJv1L74!T6k&Ct=Cw3nqM$i-v2a%w{W literal 0 HcmV?d00001 diff --git a/VB Sample Program/SerialPortInterface/obj/x86/Release/GenerateResource.read.1.tlog b/VB Sample Program/SerialPortInterface/obj/x86/Release/GenerateResource.read.1.tlog new file mode 100644 index 0000000000000000000000000000000000000000..8e0a6f2608ecf7f494b3d1002300d98d93fcebed GIT binary patch literal 420 zcmdUrK?=e!6hz-z@D4qJs7rTJTZmX&5-SS9`=7%4TD#GeTNfce^JgZ^49^D#c4Qjv z6wWOry|0Qh7m}MR!MkVANk$Uw7FccVo$d|4H!f__L`zXK8IUPK~6md@qy=J?8)b literal 0 HcmV?d00001 diff --git a/VB Sample Program/SerialPortInterface/obj/x86/Release/GenerateResource.write.1.tlog b/VB Sample Program/SerialPortInterface/obj/x86/Release/GenerateResource.write.1.tlog new file mode 100644 index 0000000000000000000000000000000000000000..7198a15daa464639e701763d00899b7025e9e0c8 GIT binary patch literal 976 zcmd^-!3u&v7=-5>^bS6ORELOeW(tO;>}C`!K1t7BeY+aiA@C|4mffA5`SqXqU(ZfQ z?d4SIu84E3R4unmXI*4@xvF4qm8gVaL0fnQ%t#xpv}QRqG9V{(>7cWm4Lq-Fcr)Nd zsOs??JcZ$?IE|Nw8WrD*(P!vxdd%kUdw;)Oazh_Aj+)?x9rd=8E|{!Y^muNU)A= literal 0 HcmV?d00001 diff --git a/VB Sample Program/SerialPortInterface/obj/x86/Release/SerialPortInterface.Resources.resources b/VB Sample Program/SerialPortInterface/obj/x86/Release/SerialPortInterface.Resources.resources new file mode 100644 index 0000000000000000000000000000000000000000..6c05a9776bd7cbae976fdcec7e3a254e93018279 GIT binary patch literal 180 zcmX?i>is@O1_p+SK%5g?SzMBus~417oL^d$oLUTL1*ImYq!#HYR*8GxXUf^%t3Noi54ZC+|=Nl{{sjzU0bQch;FcWPxwes*e}ZIZcpqG__J onW3ezNveT`r81^vrFkWpxv4PQgHubGfR2KJ07n-P+5+SQ04Y>DD*ylh literal 0 HcmV?d00001 diff --git a/VB Sample Program/SerialPortInterface/obj/x86/Release/SerialPortInterface.exe b/VB Sample Program/SerialPortInterface/obj/x86/Release/SerialPortInterface.exe new file mode 100644 index 0000000000000000000000000000000000000000..0a898fc5ebd9bedf2e82c38991978b3a3555d1cf GIT binary patch literal 33280 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 literal 0 HcmV?d00001 diff --git a/VB Sample Program/SerialPortInterface/obj/x86/Release/SerialPortInterface.pdb b/VB Sample Program/SerialPortInterface/obj/x86/Release/SerialPortInterface.pdb new file mode 100644 index 0000000000000000000000000000000000000000..0c05ba1713e7fd26865df1ec31cc242a61f37b74 GIT binary patch literal 46592 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 literal 0 HcmV?d00001 diff --git a/VB Sample Program/SerialPortInterface/obj/x86/Release/SerialPortInterface.vbproj.FileListAbsolute.txt b/VB Sample Program/SerialPortInterface/obj/x86/Release/SerialPortInterface.vbproj.FileListAbsolute.txt new file mode 100644 index 0000000..3e1ec69 --- /dev/null +++ b/VB Sample Program/SerialPortInterface/obj/x86/Release/SerialPortInterface.vbproj.FileListAbsolute.txt @@ -0,0 +1,20 @@ +D:\My Documents\Visual Studio 2010\Projects\SerialPortInterface\SerialPortInterface\bin\Release\SerialPortInterface.exe +D:\My Documents\Visual Studio 2010\Projects\SerialPortInterface\SerialPortInterface\bin\Release\SerialPortInterface.pdb +D:\My Documents\Visual Studio 2010\Projects\SerialPortInterface\SerialPortInterface\bin\Release\SerialPortInterface.xml +D:\My Documents\Visual Studio 2010\Projects\SerialPortInterface\SerialPortInterface\obj\x86\Release\ResolveAssemblyReference.cache +D:\My Documents\Visual Studio 2010\Projects\SerialPortInterface\SerialPortInterface\obj\x86\Release\SerialPortInterface.frmMain.resources +D:\My Documents\Visual Studio 2010\Projects\SerialPortInterface\SerialPortInterface\obj\x86\Release\SerialPortInterface.Resources.resources +D:\My Documents\Visual Studio 2010\Projects\SerialPortInterface\SerialPortInterface\obj\x86\Release\GenerateResource.read.1.tlog +D:\My Documents\Visual Studio 2010\Projects\SerialPortInterface\SerialPortInterface\obj\x86\Release\GenerateResource.write.1.tlog +D:\My Documents\Visual Studio 2010\Projects\SerialPortInterface\SerialPortInterface\obj\x86\Release\SerialPortInterface.exe +D:\My Documents\Visual Studio 2010\Projects\SerialPortInterface\SerialPortInterface\obj\x86\Release\SerialPortInterface.xml +D:\My Documents\Visual Studio 2010\Projects\SerialPortInterface\SerialPortInterface\obj\x86\Release\SerialPortInterface.pdb +D:\Users\kevinlo\Dropbox\PH Meter Project\SerialPortInterface\SerialPortInterface\SerialPortInterface\obj\x86\Release\SerialPortInterface.vbproj.GenerateResource.Cache +D:\Users\kevinlo\Dropbox\PH Meter Project\SerialPortInterface\SerialPortInterface\SerialPortInterface\bin\Release\ArduinoPhMeter.exe +D:\Users\kevinlo\Dropbox\PH Meter Project\SerialPortInterface\SerialPortInterface\SerialPortInterface\bin\Release\ArduinoPhMeter.pdb +D:\Users\kevinlo\Dropbox\PH Meter Project\SerialPortInterface\SerialPortInterface\SerialPortInterface\bin\Release\ArduinoPhMeter.xml +D:\Users\kevinlo\Dropbox\PH Meter Project\SerialPortInterface\SerialPortInterface\SerialPortInterface\obj\x86\Release\ArduinoPhMeter.frmMain.resources +D:\Users\kevinlo\Dropbox\PH Meter Project\SerialPortInterface\SerialPortInterface\SerialPortInterface\obj\x86\Release\ArduinoPhMeter.Resources.resources +D:\Users\kevinlo\Dropbox\PH Meter Project\SerialPortInterface\SerialPortInterface\SerialPortInterface\obj\x86\Release\ArduinoPhMeter.exe +D:\Users\kevinlo\Dropbox\PH Meter Project\SerialPortInterface\SerialPortInterface\SerialPortInterface\obj\x86\Release\ArduinoPhMeter.xml +D:\Users\kevinlo\Dropbox\PH Meter Project\SerialPortInterface\SerialPortInterface\SerialPortInterface\obj\x86\Release\ArduinoPhMeter.pdb diff --git a/VB Sample Program/SerialPortInterface/obj/x86/Release/SerialPortInterface.vbproj.GenerateResource.Cache b/VB Sample Program/SerialPortInterface/obj/x86/Release/SerialPortInterface.vbproj.GenerateResource.Cache new file mode 100644 index 0000000000000000000000000000000000000000..8a3359665463b47ce80db84017908b172dd1d9d5 GIT binary patch literal 975 zcma)4QESvd5Ke58UUFBPdypb39O{G6BizxJ`f>q#@kYcRV|?7#vF4n-!wEFn15VBSoG1k+t8U9wcdzDPCGm|sho!BsH> zPKX_$AuE-xJMqe4LT-@vEp!`)rsJsTeNW~ zK7ofXWrAZSD=G?3h5jYJxxV}5Bd#K?fUfnw!7ggyDj7`T>-Cp1d2H|aVF%>0? zsW6#Oxnc8UT%W#m+_IBLuhEtlV`kParl_W|ThGxIY!3IX>`P|Ksp29R!0%ki!KpB% y32;JIT-)|4l7yuB^V_eF9_)TUb6pZ))pRLG`km45pTE9*J9E1PC+kv + + + +SerialPortInterface + + + + + + Returns the cached ResourceManager instance used by this class. + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + \ No newline at end of file diff --git a/VB Sample Program/SerialPortInterface/obj/x86/Release/TempPE/My Project.Resources.Designer.vb.dll b/VB Sample Program/SerialPortInterface/obj/x86/Release/TempPE/My Project.Resources.Designer.vb.dll new file mode 100644 index 0000000000000000000000000000000000000000..edda99be1e0008c46ee2e5919e2691bc8b02c197 GIT binary patch literal 7680 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 J7@s`P{{bZ4