From f84a6b6e64e7e86e8b62dc36cce2d862ec826a3f Mon Sep 17 00:00:00 2001
From: "Burns, Terry" <Terry.Burns@ricardo.com>
Date: Thu, 4 Dec 2014 11:24:25 +0000
Subject: [PATCH] WIP. Several Bugs and changes made. The revisions is just
 prior to changing the UI to support Composite Results for HVAC and Composite
 Advanced alternators.

git-tfs-id: [http://tfs00.element.root.com:8080/tfs/TFSCollection]$/VECTO;C1696
---
 .../IAdvancedAuxiliaries.vb                   |   1 +
 AuxillaryTestHarness/AuxLauncher.Designer.vb  |  20 +-
 AuxillaryTestHarness/AuxLauncher.vb           |  70 ++---
 .../VectoAuxiliaries/AdvancedAuxiliaries.vb   |  37 +++
 VECTOAux/VectoAuxiliaries/AuxiliaryConfig.vb  |   2 +-
 .../Electrics/AlternatorMap.vb                |   4 +-
 .../UI/frmAuxiliaryConfig.Designer.vb         | 271 ++++++++----------
 .../VectoAuxiliaries/UI/frmAuxiliaryConfig.vb | 124 ++++++--
 .../VectoAuxiliaries/VectoAuxiliaries.vbproj  |   6 +-
 9 files changed, 286 insertions(+), 249 deletions(-)

diff --git a/AdvancedAuxiliaryInterfaces/IAdvancedAuxiliaries.vb b/AdvancedAuxiliaryInterfaces/IAdvancedAuxiliaries.vb
index f8dffa32ee..8984b807ff 100644
--- a/AdvancedAuxiliaryInterfaces/IAdvancedAuxiliaries.vb
+++ b/AdvancedAuxiliaryInterfaces/IAdvancedAuxiliaries.vb
@@ -20,6 +20,7 @@ property Signals as ISignals
 
 'Configuration
 Function Configure( filePath As String, vectoFilePath As string ) As Boolean
+Function ValidateAAUXFile( ByVal filePath As String , byref message As String ) As Boolean
 
 'Command
 Function  CycleStep( seconds As Integer, ByRef message As string ) As boolean
diff --git a/AuxillaryTestHarness/AuxLauncher.Designer.vb b/AuxillaryTestHarness/AuxLauncher.Designer.vb
index 86e985c0c1..03682097ce 100644
--- a/AuxillaryTestHarness/AuxLauncher.Designer.vb
+++ b/AuxillaryTestHarness/AuxLauncher.Designer.vb
@@ -27,7 +27,6 @@ Partial Class AuxLauncher
         Me.btnLaunchAux = New System.Windows.Forms.Button()
         Me.btnRun = New System.Windows.Forms.Button()
         Me.btnStop = New System.Windows.Forms.Button()
-        Me.btnInformation = New System.Windows.Forms.Button()
         Me.txtTotalFCGrams = New System.Windows.Forms.TextBox()
         Me.txtTotalFCLitres = New System.Windows.Forms.TextBox()
         Me.lblTotalFCGRAMS = New System.Windows.Forms.Label()
@@ -75,15 +74,6 @@ Partial Class AuxLauncher
         Me.btnStop.Text = "Stop"
         Me.btnStop.UseVisualStyleBackColor = true
         '
-        'btnInformation
-        '
-        Me.btnInformation.Location = New System.Drawing.Point(414, 269)
-        Me.btnInformation.Name = "btnInformation"
-        Me.btnInformation.Size = New System.Drawing.Size(75, 23)
-        Me.btnInformation.TabIndex = 4
-        Me.btnInformation.Text = "Info"
-        Me.btnInformation.UseVisualStyleBackColor = true
-        '
         'txtTotalFCGrams
         '
         Me.txtTotalFCGrams.Location = New System.Drawing.Point(30, 152)
@@ -121,18 +111,18 @@ Partial Class AuxLauncher
         Me.lblAuxiliaryName.AutoSize = true
         Me.lblAuxiliaryName.Location = New System.Drawing.Point(30, 9)
         Me.lblAuxiliaryName.Name = "lblAuxiliaryName"
-        Me.lblAuxiliaryName.Size = New System.Drawing.Size(39, 13)
+        Me.lblAuxiliaryName.Size = New System.Drawing.Size(130, 13)
         Me.lblAuxiliaryName.TabIndex = 9
-        Me.lblAuxiliaryName.Text = "Label2"
+        Me.lblAuxiliaryName.Text = "Auxiliary Name Goes Here"
         '
         'lblAuxiliaryVersion
         '
         Me.lblAuxiliaryVersion.AutoSize = true
         Me.lblAuxiliaryVersion.Location = New System.Drawing.Point(30, 37)
         Me.lblAuxiliaryVersion.Name = "lblAuxiliaryVersion"
-        Me.lblAuxiliaryVersion.Size = New System.Drawing.Size(39, 13)
+        Me.lblAuxiliaryVersion.Size = New System.Drawing.Size(137, 13)
         Me.lblAuxiliaryVersion.TabIndex = 10
-        Me.lblAuxiliaryVersion.Text = "Label3"
+        Me.lblAuxiliaryVersion.Text = "Auxiliary Version Goes Here"
         '
         'Timer1
         '
@@ -177,7 +167,6 @@ Partial Class AuxLauncher
         Me.Controls.Add(Me.lblTotalFCGRAMS)
         Me.Controls.Add(Me.txtTotalFCLitres)
         Me.Controls.Add(Me.txtTotalFCGrams)
-        Me.Controls.Add(Me.btnInformation)
         Me.Controls.Add(Me.btnStop)
         Me.Controls.Add(Me.btnRun)
         Me.Controls.Add(Me.btnLaunchAux)
@@ -192,7 +181,6 @@ End Sub
     Friend WithEvents btnLaunchAux As System.Windows.Forms.Button
     Friend WithEvents btnRun As System.Windows.Forms.Button
     Friend WithEvents btnStop As System.Windows.Forms.Button
-    Friend WithEvents btnInformation As System.Windows.Forms.Button
     Friend WithEvents txtTotalFCGrams As System.Windows.Forms.TextBox
     Friend WithEvents txtTotalFCLitres As System.Windows.Forms.TextBox
     Friend WithEvents lblTotalFCGRAMS As System.Windows.Forms.Label
diff --git a/AuxillaryTestHarness/AuxLauncher.vb b/AuxillaryTestHarness/AuxLauncher.vb
index 473597f8a3..e66dd7a3e4 100644
--- a/AuxillaryTestHarness/AuxLauncher.vb
+++ b/AuxillaryTestHarness/AuxLauncher.vb
@@ -16,53 +16,39 @@ End Sub
 'Configure
 Private Sub btnLaunchAux_Click(sender As Object, e As EventArgs) Handles btnLaunchAux.Click
 
-
-
   If Not advancedAuxiliaries.Configure(txtAdvancedAuxiliaries.Text, "C:\Users\tb28\Source\Workspaces\VECTO\AuxillaryTestHarness\bin\Debug\vectopath.vecto") then
 
-  MessageBox.Show("Unable to configure Advanced Auxilliaries")
-
-  End If
-
+       MessageBox.Show("Unable to configure Advanced Auxilliaries")
 
 
 
+  End If
 
+  
 End Sub
 
 
-'Run
-
-
-'Stop
-
-
-'Set Statics
-
-
-
-'Invoke Messages
-
-
-'Information
-
-
-
 Private Sub txtAdvancedAuxiliaries_Validating( sender As Object,  e As System.ComponentModel.CancelEventArgs) Handles txtAdvancedAuxiliaries.Validating
 
 
 'Check for correct extension
 Dim message As String = String.Empty
 
+'Formatted correctely
 If VectoAuxiliaries.FilePathUtils.ValidateFilePath( txtAdvancedAuxiliaries.Text,".aaux", message)=False
-
   messageBox.Show(message)
   e.Cancel=true
-  
-
 End If
 
 
+'Can load the file.
+If Not advancedAuxiliaries.ValidateAAUXFile(txtAdvancedAuxiliaries.Text, message)
+
+  MessageBox.Show(message &  " : Please reenter and try again.")
+  e.Cancel=true
+
+End If
+
 
 End Sub
 
@@ -72,14 +58,11 @@ Private sub setup()
 
 Dim message As String = String.Empty
 
-
-
 'Set Statics
 advancedAuxiliaries.VectoInputs.Cycle="Urban"
 advancedAuxiliaries.VectoInputs.VehicleWeightKG=16500
 advancedAuxiliaries.VectoInputs.FuelMap= "testFuelGoodMap.vmap"
 advancedAuxiliaries.VectoInputs.PowerNetVoltage=26.3
-'advancedAuxiliaries.VectoInputs.CycleDurationMinutes=51.9
 
 
 'set Signals
@@ -92,12 +75,10 @@ End Sub
 
 Private Sub btnRun_Click( sender As Object,  e As EventArgs) Handles btnRun.Click
 
-
   setup()
 
   timer1.Start
 
-
 End Sub
 
 
@@ -105,32 +86,22 @@ End Sub
 Private Sub AuxLauncher_Load( sender As Object,  e As EventArgs) Handles MyBase.Load
 
 cboWarningLevel.DataSource = System.Enum.GetValues(GetType(AdvancedAuxiliaryMessageType))
-'cboWarningLevel.SelectedIndex=1
+cboWarningLevel.SelectedIndex= AdvancedAuxiliaryMessageType.Critical
 
  Dim obj As System.Runtime.Remoting.ObjectHandle
 
 
 Try
-  obj = Activator.CreateInstance("VectoAuxiliaries", "VectoAuxiliaries.AdvancedAuxiliaries")
-
-
-  advancedAuxiliaries = DirectCast(obj.Unwrap, IAdvancedAuxiliaries)
-
-  advancedAuxiliaries.Signals.AuxiliaryEventReportingLevel=CType(cboWarningLevel.SelectedValue, AdvancedAuxiliaryMessageType)
-
-  lblAuxiliaryName.Text= advancedAuxiliaries.AuxiliaryName
-  lblAuxiliaryVersion.Text = advancedAuxiliaries.AuxiliaryVersion
+  obj = Activator.CreateInstance("BusAuxiliaries", "VectoAuxiliaries.AdvancedAuxiliaries")
 
 
+      advancedAuxiliaries = DirectCast(obj.Unwrap, IAdvancedAuxiliaries)
+      advancedAuxiliaries.Signals.AuxiliaryEventReportingLevel=CType(cboWarningLevel.SelectedValue, AdvancedAuxiliaryMessageType)
+      lblAuxiliaryName.Text= advancedAuxiliaries.AuxiliaryName
+      lblAuxiliaryVersion.Text = advancedAuxiliaries.AuxiliaryVersion
 
   Catch ex As Exception
 
-
-    Dim a As String= "tdgfdgfdg"
-
-  
-  
-
   Finally
 
 
@@ -177,14 +148,13 @@ Timer1.Stop
 
 End Sub
 
-Private Sub cboWarningLevel_SelectedIndexChanged( sender As Object,  e As EventArgs) Handles cboWarningLevel.SelectedIndexChanged
 
 
-advancedAuxiliaries.Signals.AuxiliaryEventReportingLevel=CType(cboWarningLevel.SelectedValue, AdvancedAuxiliaryMessageType)
+Private Sub cboWarningLevel_SelectionChangeCommitted( sender As Object,  e As EventArgs) Handles cboWarningLevel.SelectionChangeCommitted
 
+advancedAuxiliaries.Signals.AuxiliaryEventReportingLevel=CType(cboWarningLevel.SelectedValue, AdvancedAuxiliaryMessageType)
 
 End Sub
 
 
-
 End Class
\ No newline at end of file
diff --git a/VECTOAux/VectoAuxiliaries/AdvancedAuxiliaries.vb b/VECTOAux/VectoAuxiliaries/AdvancedAuxiliaries.vb
index 99dc52a30b..20ac69e838 100644
--- a/VECTOAux/VectoAuxiliaries/AdvancedAuxiliaries.vb
+++ b/VECTOAux/VectoAuxiliaries/AdvancedAuxiliaries.vb
@@ -8,6 +8,7 @@ Imports System.Windows.Forms
 Public Class AdvancedAuxiliaries
  Implements IAdvancedAuxiliaries
 
+
     Private  auxConfig As AuxiliaryConfig
 
     'Supporting classes which may generate event messages
@@ -156,6 +157,17 @@ End Sub
 
              frmAuxiliaryConfig.Show()
 
+             If frmAuxiliaryConfig.DialogResult<>DialogResult.OK then
+
+               Return true
+
+               Else
+               
+               Return False
+
+             End If
+
+
     Catch ex As Exception
 
      Return False
@@ -256,5 +268,30 @@ End Sub
    End Function
 
   
+    Public Function ValidateAAUXFile(filePath As String, ByRef message As String) As Boolean Implements IAdvancedAuxiliaries.ValidateAAUXFile
+
+     Try
+
+       Dim AConfig As New AuxiliaryConfig( filePath )
+
+       If Not AConfig is Nothing then 
+
+         message="OK"
+         Return true
+       End If
+
+       Return True
+         
+     Catch ex As Exception
+
+       message= "AAUX File not found, or Invalid "
+       Return false
+         
+     End Try
+
+
+    End Function
+
+
 
 End Class
diff --git a/VECTOAux/VectoAuxiliaries/AuxiliaryConfig.vb b/VECTOAux/VectoAuxiliaries/AuxiliaryConfig.vb
index ac67c9e5fe..bad6f88387 100644
--- a/VECTOAux/VectoAuxiliaries/AuxiliaryConfig.vb
+++ b/VECTOAux/VectoAuxiliaries/AuxiliaryConfig.vb
@@ -314,7 +314,7 @@ Public Function Load(  auxFile As String  ) As Boolean  Implements IAuxiliaryCon
 End Function
 
 'Persistance Helpers
-Private sub AssumeValuesOfOther( other As AuxiliaryConfig )
+Public sub AssumeValuesOfOther( other As AuxiliaryConfig )
 
    CloneElectricaConfiguration( other )
    ClonePneumaticsAuxiliariesConfig( other )
diff --git a/VECTOAux/VectoAuxiliaries/Electrics/AlternatorMap.vb b/VECTOAux/VectoAuxiliaries/Electrics/AlternatorMap.vb
index 750a4c6165..4a540d0e8c 100644
--- a/VECTOAux/VectoAuxiliaries/Electrics/AlternatorMap.vb
+++ b/VECTOAux/VectoAuxiliaries/Electrics/AlternatorMap.vb
@@ -154,7 +154,7 @@ Implements IAlternatorMap
     Public Function GetValue(x As Single, y As Single) As Single
 
 
-       '  If x < minX  OrElse  x > maxX OrElse  y < minY   OrElse  y > maxY  then
+         If x < minX  OrElse  x > maxX OrElse  y < minY   OrElse  y > maxY  then
 
            'OnAuxiliaryEvent(String.Format("Alternator Map Limiting : RPM{0}, AMPS{1}",x,y),AdvancedAuxiliaryMessageType.Warning)
 
@@ -165,7 +165,7 @@ Implements IAlternatorMap
             If y < minY Then y = minY
             If y > maxY Then y = maxY
 
-       '  End If
+         End If
 
 
         'Satisfies both data points - non interpolated value
diff --git a/VECTOAux/VectoAuxiliaries/UI/frmAuxiliaryConfig.Designer.vb b/VECTOAux/VectoAuxiliaries/UI/frmAuxiliaryConfig.Designer.vb
index 0c86432fa5..cce0c42237 100644
--- a/VECTOAux/VectoAuxiliaries/UI/frmAuxiliaryConfig.Designer.vb
+++ b/VECTOAux/VectoAuxiliaries/UI/frmAuxiliaryConfig.Designer.vb
@@ -23,20 +23,19 @@ Partial Class frmAuxiliaryConfig
     <System.Diagnostics.DebuggerStepThrough()> _
     Private Sub InitializeComponent()
         Me.components = New System.ComponentModel.Container()
-        Dim DataGridViewCellStyle1 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
-        Dim DataGridViewCellStyle2 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
-        Dim DataGridViewCellStyle3 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
-        Dim DataGridViewCellStyle4 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
-        Dim DataGridViewCellStyle5 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
-        Dim DataGridViewCellStyle6 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
-        Dim DataGridViewCellStyle7 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
-        Dim DataGridViewCellStyle8 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
-        Dim DataGridViewCellStyle9 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
-        Dim DataGridViewCellStyle10 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
-        Dim DataGridViewCellStyle11 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
-        Dim DataGridViewCellStyle12 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
+        Dim DataGridViewCellStyle13 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
+        Dim DataGridViewCellStyle14 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
+        Dim DataGridViewCellStyle15 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
+        Dim DataGridViewCellStyle16 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
+        Dim DataGridViewCellStyle17 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
+        Dim DataGridViewCellStyle18 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
+        Dim DataGridViewCellStyle19 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
+        Dim DataGridViewCellStyle20 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
+        Dim DataGridViewCellStyle21 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
+        Dim DataGridViewCellStyle22 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
+        Dim DataGridViewCellStyle23 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
+        Dim DataGridViewCellStyle24 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
         Me.pnlMain = New System.Windows.Forms.Panel()
-        Me.btnLoad = New System.Windows.Forms.Button()
         Me.btnCancel = New System.Windows.Forms.Button()
         Me.btnSave = New System.Windows.Forms.Button()
         Me.tabMain = New System.Windows.Forms.TabControl()
@@ -45,8 +44,6 @@ Partial Class frmAuxiliaryConfig
         Me.lblFuelMap = New System.Windows.Forms.Label()
         Me.txtFuelMap = New System.Windows.Forms.TextBox()
         Me.cboCycle = New System.Windows.Forms.ComboBox()
-        Me.lblCycle = New System.Windows.Forms.Label()
-        Me.lblVehiceWeight = New System.Windows.Forms.Label()
         Me.txtVehicleWeightKG = New System.Windows.Forms.TextBox()
         Me.tabElectricalConfig = New System.Windows.Forms.TabPage()
         Me.btnAlternatorMapPath = New System.Windows.Forms.Button()
@@ -147,7 +144,6 @@ Partial Class frmAuxiliaryConfig
         '
         'pnlMain
         '
-        Me.pnlMain.Controls.Add(Me.btnLoad)
         Me.pnlMain.Controls.Add(Me.btnCancel)
         Me.pnlMain.Controls.Add(Me.btnSave)
         Me.pnlMain.Controls.Add(Me.tabMain)
@@ -157,15 +153,6 @@ Partial Class frmAuxiliaryConfig
         Me.pnlMain.Size = New System.Drawing.Size(933, 794)
         Me.pnlMain.TabIndex = 1
         '
-        'btnLoad
-        '
-        Me.btnLoad.Location = New System.Drawing.Point(639, 748)
-        Me.btnLoad.Name = "btnLoad"
-        Me.btnLoad.Size = New System.Drawing.Size(78, 25)
-        Me.btnLoad.TabIndex = 11
-        Me.btnLoad.Text = "Load"
-        Me.btnLoad.UseVisualStyleBackColor = true
-        '
         'btnCancel
         '
         Me.btnCancel.Location = New System.Drawing.Point(746, 750)
@@ -205,8 +192,6 @@ Partial Class frmAuxiliaryConfig
         Me.tabGeneralConfig.Controls.Add(Me.lblFuelMap)
         Me.tabGeneralConfig.Controls.Add(Me.txtFuelMap)
         Me.tabGeneralConfig.Controls.Add(Me.cboCycle)
-        Me.tabGeneralConfig.Controls.Add(Me.lblCycle)
-        Me.tabGeneralConfig.Controls.Add(Me.lblVehiceWeight)
         Me.tabGeneralConfig.Controls.Add(Me.txtVehicleWeightKG)
         Me.tabGeneralConfig.Location = New System.Drawing.Point(4, 22)
         Me.tabGeneralConfig.Name = "tabGeneralConfig"
@@ -218,7 +203,7 @@ Partial Class frmAuxiliaryConfig
         '
         'btnFuelMap
         '
-        Me.btnFuelMap.Location = New System.Drawing.Point(778, 126)
+        Me.btnFuelMap.Location = New System.Drawing.Point(749, 69)
         Me.btnFuelMap.Name = "btnFuelMap"
         Me.btnFuelMap.Size = New System.Drawing.Size(38, 23)
         Me.btnFuelMap.TabIndex = 9
@@ -228,14 +213,15 @@ Partial Class frmAuxiliaryConfig
         'lblFuelMap
         '
         Me.lblFuelMap.AutoSize = true
-        Me.lblFuelMap.Location = New System.Drawing.Point(31, 131)
+        Me.lblFuelMap.Location = New System.Drawing.Point(37, 70)
         Me.lblFuelMap.Name = "lblFuelMap"
-        Me.lblFuelMap.Size = New System.Drawing.Size(0, 13)
+        Me.lblFuelMap.Size = New System.Drawing.Size(51, 13)
         Me.lblFuelMap.TabIndex = 8
+        Me.lblFuelMap.Text = "Fuel Map"
         '
         'txtFuelMap
         '
-        Me.txtFuelMap.Location = New System.Drawing.Point(123, 127)
+        Me.txtFuelMap.Location = New System.Drawing.Point(94, 69)
         Me.txtFuelMap.Name = "txtFuelMap"
         Me.txtFuelMap.Size = New System.Drawing.Size(649, 20)
         Me.txtFuelMap.TabIndex = 7
@@ -244,33 +230,19 @@ Partial Class frmAuxiliaryConfig
         '
         Me.cboCycle.FormattingEnabled = true
         Me.cboCycle.Items.AddRange(New Object() {"Urban", "Heavy urban", "Suburban", "Interurban", "Coach"})
-        Me.cboCycle.Location = New System.Drawing.Point(123, 78)
+        Me.cboCycle.Location = New System.Drawing.Point(136, 304)
         Me.cboCycle.Name = "cboCycle"
         Me.cboCycle.Size = New System.Drawing.Size(121, 21)
         Me.cboCycle.TabIndex = 6
-        '
-        'lblCycle
-        '
-        Me.lblCycle.AutoSize = true
-        Me.lblCycle.Location = New System.Drawing.Point(31, 82)
-        Me.lblCycle.Name = "lblCycle"
-        Me.lblCycle.Size = New System.Drawing.Size(0, 13)
-        Me.lblCycle.TabIndex = 5
-        '
-        'lblVehiceWeight
-        '
-        Me.lblVehiceWeight.AutoSize = true
-        Me.lblVehiceWeight.Location = New System.Drawing.Point(31, 38)
-        Me.lblVehiceWeight.Name = "lblVehiceWeight"
-        Me.lblVehiceWeight.Size = New System.Drawing.Size(0, 13)
-        Me.lblVehiceWeight.TabIndex = 3
+        Me.cboCycle.Visible = false
         '
         'txtVehicleWeightKG
         '
-        Me.txtVehicleWeightKG.Location = New System.Drawing.Point(123, 34)
+        Me.txtVehicleWeightKG.Location = New System.Drawing.Point(136, 244)
         Me.txtVehicleWeightKG.Name = "txtVehicleWeightKG"
         Me.txtVehicleWeightKG.Size = New System.Drawing.Size(100, 20)
         Me.txtVehicleWeightKG.TabIndex = 2
+        Me.txtVehicleWeightKG.Visible = false
         '
         'tabElectricalConfig
         '
@@ -295,7 +267,7 @@ Partial Class frmAuxiliaryConfig
         Me.tabElectricalConfig.Location = New System.Drawing.Point(4, 22)
         Me.tabElectricalConfig.Name = "tabElectricalConfig"
         Me.tabElectricalConfig.Padding = New System.Windows.Forms.Padding(3)
-        Me.tabElectricalConfig.Size = New System.Drawing.Size(1456, 704)
+        Me.tabElectricalConfig.Size = New System.Drawing.Size(901, 704)
         Me.tabElectricalConfig.TabIndex = 1
         Me.tabElectricalConfig.Text = "Electrics"
         Me.tabElectricalConfig.UseVisualStyleBackColor = true
@@ -311,97 +283,97 @@ Partial Class frmAuxiliaryConfig
         '
         'gvResultsCardOverrun
         '
-        DataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
-        DataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Control
-        DataGridViewCellStyle1.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        DataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.WindowText
-        DataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight
-        DataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText
-        DataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
-        Me.gvResultsCardOverrun.ColumnHeadersDefaultCellStyle = DataGridViewCellStyle1
+        DataGridViewCellStyle13.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
+        DataGridViewCellStyle13.BackColor = System.Drawing.SystemColors.Control
+        DataGridViewCellStyle13.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
+        DataGridViewCellStyle13.ForeColor = System.Drawing.SystemColors.WindowText
+        DataGridViewCellStyle13.SelectionBackColor = System.Drawing.SystemColors.Highlight
+        DataGridViewCellStyle13.SelectionForeColor = System.Drawing.SystemColors.HighlightText
+        DataGridViewCellStyle13.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
+        Me.gvResultsCardOverrun.ColumnHeadersDefaultCellStyle = DataGridViewCellStyle13
         Me.gvResultsCardOverrun.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
-        DataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
-        DataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Window
-        DataGridViewCellStyle2.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        DataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.ControlText
-        DataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight
-        DataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText
-        DataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.[False]
-        Me.gvResultsCardOverrun.DefaultCellStyle = DataGridViewCellStyle2
+        DataGridViewCellStyle14.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
+        DataGridViewCellStyle14.BackColor = System.Drawing.SystemColors.Window
+        DataGridViewCellStyle14.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
+        DataGridViewCellStyle14.ForeColor = System.Drawing.SystemColors.ControlText
+        DataGridViewCellStyle14.SelectionBackColor = System.Drawing.SystemColors.Highlight
+        DataGridViewCellStyle14.SelectionForeColor = System.Drawing.SystemColors.HighlightText
+        DataGridViewCellStyle14.WrapMode = System.Windows.Forms.DataGridViewTriState.[False]
+        Me.gvResultsCardOverrun.DefaultCellStyle = DataGridViewCellStyle14
         Me.gvResultsCardOverrun.Location = New System.Drawing.Point(590, 451)
         Me.gvResultsCardOverrun.Name = "gvResultsCardOverrun"
-        DataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
-        DataGridViewCellStyle3.BackColor = System.Drawing.SystemColors.Control
-        DataGridViewCellStyle3.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        DataGridViewCellStyle3.ForeColor = System.Drawing.SystemColors.WindowText
-        DataGridViewCellStyle3.SelectionBackColor = System.Drawing.SystemColors.Highlight
-        DataGridViewCellStyle3.SelectionForeColor = System.Drawing.SystemColors.HighlightText
-        DataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
-        Me.gvResultsCardOverrun.RowHeadersDefaultCellStyle = DataGridViewCellStyle3
+        DataGridViewCellStyle15.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
+        DataGridViewCellStyle15.BackColor = System.Drawing.SystemColors.Control
+        DataGridViewCellStyle15.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
+        DataGridViewCellStyle15.ForeColor = System.Drawing.SystemColors.WindowText
+        DataGridViewCellStyle15.SelectionBackColor = System.Drawing.SystemColors.Highlight
+        DataGridViewCellStyle15.SelectionForeColor = System.Drawing.SystemColors.HighlightText
+        DataGridViewCellStyle15.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
+        Me.gvResultsCardOverrun.RowHeadersDefaultCellStyle = DataGridViewCellStyle15
         Me.gvResultsCardOverrun.Size = New System.Drawing.Size(246, 125)
         Me.gvResultsCardOverrun.TabIndex = 18
         '
         'gvResultsCardTraction
         '
-        DataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
-        DataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Control
-        DataGridViewCellStyle4.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        DataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.WindowText
-        DataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight
-        DataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.HighlightText
-        DataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
-        Me.gvResultsCardTraction.ColumnHeadersDefaultCellStyle = DataGridViewCellStyle4
+        DataGridViewCellStyle16.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
+        DataGridViewCellStyle16.BackColor = System.Drawing.SystemColors.Control
+        DataGridViewCellStyle16.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
+        DataGridViewCellStyle16.ForeColor = System.Drawing.SystemColors.WindowText
+        DataGridViewCellStyle16.SelectionBackColor = System.Drawing.SystemColors.Highlight
+        DataGridViewCellStyle16.SelectionForeColor = System.Drawing.SystemColors.HighlightText
+        DataGridViewCellStyle16.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
+        Me.gvResultsCardTraction.ColumnHeadersDefaultCellStyle = DataGridViewCellStyle16
         Me.gvResultsCardTraction.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
-        DataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
-        DataGridViewCellStyle5.BackColor = System.Drawing.SystemColors.Window
-        DataGridViewCellStyle5.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        DataGridViewCellStyle5.ForeColor = System.Drawing.SystemColors.ControlText
-        DataGridViewCellStyle5.SelectionBackColor = System.Drawing.SystemColors.Highlight
-        DataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.HighlightText
-        DataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.[False]
-        Me.gvResultsCardTraction.DefaultCellStyle = DataGridViewCellStyle5
+        DataGridViewCellStyle17.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
+        DataGridViewCellStyle17.BackColor = System.Drawing.SystemColors.Window
+        DataGridViewCellStyle17.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
+        DataGridViewCellStyle17.ForeColor = System.Drawing.SystemColors.ControlText
+        DataGridViewCellStyle17.SelectionBackColor = System.Drawing.SystemColors.Highlight
+        DataGridViewCellStyle17.SelectionForeColor = System.Drawing.SystemColors.HighlightText
+        DataGridViewCellStyle17.WrapMode = System.Windows.Forms.DataGridViewTriState.[False]
+        Me.gvResultsCardTraction.DefaultCellStyle = DataGridViewCellStyle17
         Me.gvResultsCardTraction.Location = New System.Drawing.Point(311, 451)
         Me.gvResultsCardTraction.Name = "gvResultsCardTraction"
-        DataGridViewCellStyle6.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
-        DataGridViewCellStyle6.BackColor = System.Drawing.SystemColors.Control
-        DataGridViewCellStyle6.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        DataGridViewCellStyle6.ForeColor = System.Drawing.SystemColors.WindowText
-        DataGridViewCellStyle6.SelectionBackColor = System.Drawing.SystemColors.Highlight
-        DataGridViewCellStyle6.SelectionForeColor = System.Drawing.SystemColors.HighlightText
-        DataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
-        Me.gvResultsCardTraction.RowHeadersDefaultCellStyle = DataGridViewCellStyle6
+        DataGridViewCellStyle18.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
+        DataGridViewCellStyle18.BackColor = System.Drawing.SystemColors.Control
+        DataGridViewCellStyle18.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
+        DataGridViewCellStyle18.ForeColor = System.Drawing.SystemColors.WindowText
+        DataGridViewCellStyle18.SelectionBackColor = System.Drawing.SystemColors.Highlight
+        DataGridViewCellStyle18.SelectionForeColor = System.Drawing.SystemColors.HighlightText
+        DataGridViewCellStyle18.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
+        Me.gvResultsCardTraction.RowHeadersDefaultCellStyle = DataGridViewCellStyle18
         Me.gvResultsCardTraction.Size = New System.Drawing.Size(258, 125)
         Me.gvResultsCardTraction.TabIndex = 17
         '
         'gvResultsCardIdle
         '
-        DataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
-        DataGridViewCellStyle7.BackColor = System.Drawing.SystemColors.Control
-        DataGridViewCellStyle7.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        DataGridViewCellStyle7.ForeColor = System.Drawing.SystemColors.WindowText
-        DataGridViewCellStyle7.SelectionBackColor = System.Drawing.SystemColors.Highlight
-        DataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.HighlightText
-        DataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
-        Me.gvResultsCardIdle.ColumnHeadersDefaultCellStyle = DataGridViewCellStyle7
+        DataGridViewCellStyle19.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
+        DataGridViewCellStyle19.BackColor = System.Drawing.SystemColors.Control
+        DataGridViewCellStyle19.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
+        DataGridViewCellStyle19.ForeColor = System.Drawing.SystemColors.WindowText
+        DataGridViewCellStyle19.SelectionBackColor = System.Drawing.SystemColors.Highlight
+        DataGridViewCellStyle19.SelectionForeColor = System.Drawing.SystemColors.HighlightText
+        DataGridViewCellStyle19.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
+        Me.gvResultsCardIdle.ColumnHeadersDefaultCellStyle = DataGridViewCellStyle19
         Me.gvResultsCardIdle.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
-        DataGridViewCellStyle8.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
-        DataGridViewCellStyle8.BackColor = System.Drawing.SystemColors.Window
-        DataGridViewCellStyle8.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        DataGridViewCellStyle8.ForeColor = System.Drawing.SystemColors.ControlText
-        DataGridViewCellStyle8.SelectionBackColor = System.Drawing.SystemColors.Highlight
-        DataGridViewCellStyle8.SelectionForeColor = System.Drawing.SystemColors.HighlightText
-        DataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.[False]
-        Me.gvResultsCardIdle.DefaultCellStyle = DataGridViewCellStyle8
+        DataGridViewCellStyle20.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
+        DataGridViewCellStyle20.BackColor = System.Drawing.SystemColors.Window
+        DataGridViewCellStyle20.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
+        DataGridViewCellStyle20.ForeColor = System.Drawing.SystemColors.ControlText
+        DataGridViewCellStyle20.SelectionBackColor = System.Drawing.SystemColors.Highlight
+        DataGridViewCellStyle20.SelectionForeColor = System.Drawing.SystemColors.HighlightText
+        DataGridViewCellStyle20.WrapMode = System.Windows.Forms.DataGridViewTriState.[False]
+        Me.gvResultsCardIdle.DefaultCellStyle = DataGridViewCellStyle20
         Me.gvResultsCardIdle.Location = New System.Drawing.Point(35, 451)
         Me.gvResultsCardIdle.Name = "gvResultsCardIdle"
-        DataGridViewCellStyle9.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
-        DataGridViewCellStyle9.BackColor = System.Drawing.SystemColors.Control
-        DataGridViewCellStyle9.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        DataGridViewCellStyle9.ForeColor = System.Drawing.SystemColors.WindowText
-        DataGridViewCellStyle9.SelectionBackColor = System.Drawing.SystemColors.Highlight
-        DataGridViewCellStyle9.SelectionForeColor = System.Drawing.SystemColors.HighlightText
-        DataGridViewCellStyle9.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
-        Me.gvResultsCardIdle.RowHeadersDefaultCellStyle = DataGridViewCellStyle9
+        DataGridViewCellStyle21.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
+        DataGridViewCellStyle21.BackColor = System.Drawing.SystemColors.Control
+        DataGridViewCellStyle21.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
+        DataGridViewCellStyle21.ForeColor = System.Drawing.SystemColors.WindowText
+        DataGridViewCellStyle21.SelectionBackColor = System.Drawing.SystemColors.Highlight
+        DataGridViewCellStyle21.SelectionForeColor = System.Drawing.SystemColors.HighlightText
+        DataGridViewCellStyle21.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
+        Me.gvResultsCardIdle.RowHeadersDefaultCellStyle = DataGridViewCellStyle21
         Me.gvResultsCardIdle.Size = New System.Drawing.Size(256, 125)
         Me.gvResultsCardIdle.TabIndex = 16
         '
@@ -453,33 +425,33 @@ Partial Class frmAuxiliaryConfig
         '
         'gvElectricalConsumables
         '
-        DataGridViewCellStyle10.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
-        DataGridViewCellStyle10.BackColor = System.Drawing.SystemColors.Control
-        DataGridViewCellStyle10.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        DataGridViewCellStyle10.ForeColor = System.Drawing.SystemColors.WindowText
-        DataGridViewCellStyle10.SelectionBackColor = System.Drawing.SystemColors.Highlight
-        DataGridViewCellStyle10.SelectionForeColor = System.Drawing.SystemColors.HighlightText
-        DataGridViewCellStyle10.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
-        Me.gvElectricalConsumables.ColumnHeadersDefaultCellStyle = DataGridViewCellStyle10
+        DataGridViewCellStyle22.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
+        DataGridViewCellStyle22.BackColor = System.Drawing.SystemColors.Control
+        DataGridViewCellStyle22.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
+        DataGridViewCellStyle22.ForeColor = System.Drawing.SystemColors.WindowText
+        DataGridViewCellStyle22.SelectionBackColor = System.Drawing.SystemColors.Highlight
+        DataGridViewCellStyle22.SelectionForeColor = System.Drawing.SystemColors.HighlightText
+        DataGridViewCellStyle22.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
+        Me.gvElectricalConsumables.ColumnHeadersDefaultCellStyle = DataGridViewCellStyle22
         Me.gvElectricalConsumables.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
-        DataGridViewCellStyle11.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
-        DataGridViewCellStyle11.BackColor = System.Drawing.SystemColors.Window
-        DataGridViewCellStyle11.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        DataGridViewCellStyle11.ForeColor = System.Drawing.SystemColors.ControlText
-        DataGridViewCellStyle11.SelectionBackColor = System.Drawing.SystemColors.Highlight
-        DataGridViewCellStyle11.SelectionForeColor = System.Drawing.SystemColors.HighlightText
-        DataGridViewCellStyle11.WrapMode = System.Windows.Forms.DataGridViewTriState.[False]
-        Me.gvElectricalConsumables.DefaultCellStyle = DataGridViewCellStyle11
+        DataGridViewCellStyle23.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
+        DataGridViewCellStyle23.BackColor = System.Drawing.SystemColors.Window
+        DataGridViewCellStyle23.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
+        DataGridViewCellStyle23.ForeColor = System.Drawing.SystemColors.ControlText
+        DataGridViewCellStyle23.SelectionBackColor = System.Drawing.SystemColors.Highlight
+        DataGridViewCellStyle23.SelectionForeColor = System.Drawing.SystemColors.HighlightText
+        DataGridViewCellStyle23.WrapMode = System.Windows.Forms.DataGridViewTriState.[False]
+        Me.gvElectricalConsumables.DefaultCellStyle = DataGridViewCellStyle23
         Me.gvElectricalConsumables.Location = New System.Drawing.Point(33, 170)
         Me.gvElectricalConsumables.Name = "gvElectricalConsumables"
-        DataGridViewCellStyle12.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
-        DataGridViewCellStyle12.BackColor = System.Drawing.SystemColors.Control
-        DataGridViewCellStyle12.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        DataGridViewCellStyle12.ForeColor = System.Drawing.SystemColors.WindowText
-        DataGridViewCellStyle12.SelectionBackColor = System.Drawing.SystemColors.Highlight
-        DataGridViewCellStyle12.SelectionForeColor = System.Drawing.SystemColors.HighlightText
-        DataGridViewCellStyle12.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
-        Me.gvElectricalConsumables.RowHeadersDefaultCellStyle = DataGridViewCellStyle12
+        DataGridViewCellStyle24.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
+        DataGridViewCellStyle24.BackColor = System.Drawing.SystemColors.Control
+        DataGridViewCellStyle24.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
+        DataGridViewCellStyle24.ForeColor = System.Drawing.SystemColors.WindowText
+        DataGridViewCellStyle24.SelectionBackColor = System.Drawing.SystemColors.Highlight
+        DataGridViewCellStyle24.SelectionForeColor = System.Drawing.SystemColors.HighlightText
+        DataGridViewCellStyle24.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
+        Me.gvElectricalConsumables.RowHeadersDefaultCellStyle = DataGridViewCellStyle24
         Me.gvElectricalConsumables.Size = New System.Drawing.Size(803, 250)
         Me.gvElectricalConsumables.TabIndex = 10
         '
@@ -553,7 +525,7 @@ Partial Class frmAuxiliaryConfig
         Me.tabPneumaticConfig.Controls.Add(Me.pnlPneumaticAuxillaries)
         Me.tabPneumaticConfig.Location = New System.Drawing.Point(4, 22)
         Me.tabPneumaticConfig.Name = "tabPneumaticConfig"
-        Me.tabPneumaticConfig.Size = New System.Drawing.Size(1456, 704)
+        Me.tabPneumaticConfig.Size = New System.Drawing.Size(901, 704)
         Me.tabPneumaticConfig.TabIndex = 2
         Me.tabPneumaticConfig.Text = "Pneumatics"
         Me.tabPneumaticConfig.UseVisualStyleBackColor = true
@@ -1046,7 +1018,7 @@ Partial Class frmAuxiliaryConfig
         Me.tabHVACConfig.Controls.Add(Me.lblHVACElectricalLoadPowerWatts)
         Me.tabHVACConfig.Location = New System.Drawing.Point(4, 22)
         Me.tabHVACConfig.Name = "tabHVACConfig"
-        Me.tabHVACConfig.Size = New System.Drawing.Size(1456, 704)
+        Me.tabHVACConfig.Size = New System.Drawing.Size(901, 704)
         Me.tabHVACConfig.TabIndex = 3
         Me.tabHVACConfig.Text = "HVAC"
         Me.tabHVACConfig.UseVisualStyleBackColor = true
@@ -1245,15 +1217,12 @@ End Sub
     Friend WithEvents lblHVACElectricalLoadPowerWatts As System.Windows.Forms.Label
     Friend WithEvents lblHVACTitle As System.Windows.Forms.Label
     Friend WithEvents Timer1 As System.Windows.Forms.Timer
-    Friend WithEvents btnLoad As System.Windows.Forms.Button
     Friend WithEvents btnSave As System.Windows.Forms.Button
     Friend WithEvents tabGeneralConfig As System.Windows.Forms.TabPage
     Friend WithEvents btnFuelMap As System.Windows.Forms.Button
     Friend WithEvents lblFuelMap As System.Windows.Forms.Label
     Friend WithEvents txtFuelMap As System.Windows.Forms.TextBox
     Friend WithEvents cboCycle As System.Windows.Forms.ComboBox
-    Friend WithEvents lblCycle As System.Windows.Forms.Label
-    Friend WithEvents lblVehiceWeight As System.Windows.Forms.Label
     Friend WithEvents txtVehicleWeightKG As System.Windows.Forms.TextBox
 
 End Class
diff --git a/VECTOAux/VectoAuxiliaries/UI/frmAuxiliaryConfig.vb b/VECTOAux/VectoAuxiliaries/UI/frmAuxiliaryConfig.vb
index fb19cf99f1..3650065a0a 100644
--- a/VECTOAux/VectoAuxiliaries/UI/frmAuxiliaryConfig.vb
+++ b/VECTOAux/VectoAuxiliaries/UI/frmAuxiliaryConfig.vb
@@ -9,13 +9,13 @@ Public Class frmAuxiliaryConfig
 
 #Region "Fields"
 
-Public auxConfig As AuxiliaryConfig
+Public  auxConfig      As AuxiliaryConfig
+Public  originalConfig As AuxiliaryConfig ' required to test if the form is dirty
 Private TabColors As Dictionary(Of TabPage, Color) = New Dictionary(Of TabPage, Color)()
 Private processing As Boolean = False
 Private SecondsIntoCycle As Integer = 0
 
 Private vectoFile As String = ""
-'C:\Users\tb28\Source\Workspaces\VECTO\AuxillaryTestHarness\bin\Debug\vectopath.vecto
 Private auxFile As string
 
 
@@ -24,12 +24,13 @@ Private auxFile As string
 
 Private Function ValidateAuxFileName( filename As String ) As Boolean
 
-        If( fileName.Length=0) then
-           MessageBox.Show("Sorry you need to supply a filename for the aux file you want to configure")
-           Return False
-        End If
+       Dim message As String = String.Empty
+
+       If Not FilePathUtils.ValidateFilePath(filename,".aaux", message) then
+         MessageBox.Show ( message )
+       End If
 
-        Return true
+       Return true
 
 End Function
 
@@ -41,10 +42,10 @@ Public Sub new( byval fileName As String, byval vectoFileName As String )
         If  Not ValidateAuxFileName( fileName ) then
           Me.DialogResult=Windows.Forms.DialogResult.Abort
           Me.Close
-        End If
-        'TODO:Better validate this
-        If vectoFileName.Length>0 then vectoFile= vectoFileName  
-              
+        End If          
+
+
+    Me.vectoFile = vectoFileName
 
     ' This call is required by the designer.
     InitializeComponent()
@@ -55,6 +56,7 @@ Public Sub new( byval fileName As String, byval vectoFileName As String )
     Try
 
      auxConfig = New AuxiliaryConfig( auxFile )
+     originalConfig = New AuxiliaryConfig( auxFile)
 
     Catch ex As Exception
 
@@ -167,8 +169,8 @@ Private Sub CreateBindings()
 
      'auxConfig.Vecto Bindings
      txtPowernetVoltage.DataBindings.Add("Text", auxConfig.ElectricalUserInputsConfig, "PowerNetVoltage")
-     txtVehicleWeightKG.DataBindings.Add("Text", auxConfig.VectoInputs, "VehicleWeightKG")
-     cboCycle.DataBindings.Add("Text", auxConfig.VectoInputs, "Cycle")
+     'txtVehicleWeightKG.DataBindings.Add("Text", auxConfig.VectoInputs, "VehicleWeightKG")
+     'cboCycle.DataBindings.Add("Text", auxConfig.VectoInputs, "Cycle")
      txtFuelMap.DataBindings.Add("Text", auxConfig.VectoInputs, "FuelMap")
 
      'Electricals General
@@ -937,33 +939,48 @@ End Sub
 Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click
 
 
-  If Not auxConfig.Save(auxFile)
+   If  SaveFile() then
 
-   MessageBox.Show(String.Format("Unable to Save the file '{0}'",auxFile) )
 
-  End If
-  
+
+   End If
 
 
 
 End Sub
-Private Sub btnLoad_Click(sender As Object, e As EventArgs) Handles btnLoad.Click
+
+
+Private function SaveFile() As Boolean
+
+   Dim result As Boolean
+
+   result = auxConfig.Save(auxFile)
+
+   If Not result then  MessageBox.Show(String.Format("Unable to Save the file '{0}'",auxFile) )
+
+   Return result
+
+End Function
+
+Private Function  LoadFile() As boolean
 
   'JSON METHOD
+   Dim result As boolean
+
   'Release existing databindings
   UnbindAllControls(Me)
 
+  result = auxConfig.Load(auxFile)
 
-  If Not auxConfig.Load(auxFile)
-
-   MessageBox.Show(String.Format("Unable to load the file '{0}'",auxFile) )
-
+  If Not result then     
+     MessageBox.Show(String.Format("Unable to load the file '{0}'",auxFile) )
+   Else  
+    CreateBindings()
   End If
 
-  CreateBindings()
-
-End Sub
+  Return result
 
+End function
 
 
 Private Sub btnFuelMap_Click(sender As Object, e As EventArgs) Handles btnFuelMap.Click
@@ -985,6 +1002,7 @@ Private Sub btnFuelMap_Click(sender As Object, e As EventArgs) Handles btnFuelMa
 
 
 End Sub
+
 Private Sub btnAlternatorMapPath_Click(sender As Object, e As EventArgs) Handles btnAlternatorMapPath.Click
 
 
@@ -1009,6 +1027,7 @@ Private Sub btnAlternatorMapPath_Click(sender As Object, e As EventArgs) Handles
                txtAlternatorMapPath.Focus()
 
 End Sub
+
 Private Sub btnCompressorMap_Click(sender As Object, e As EventArgs) Handles btnCompressorMap.Click
 
 
@@ -1033,6 +1052,7 @@ Private Sub btnCompressorMap_Click(sender As Object, e As EventArgs) Handles btn
 
 
 End Sub
+
 Private Sub btnActuationsMap_Click(sender As Object, e As EventArgs) Handles btnActuationsMap.Click
 
                Dim fbAux As New cFileBrowser(True, False)
@@ -1055,7 +1075,6 @@ Private Sub btnActuationsMap_Click(sender As Object, e As EventArgs) Handles btn
 End Sub
 
 
-
 #End Region
 
 
@@ -1100,4 +1119,57 @@ Public Sub UnbindAllControls(ByRef container As Control)
 End Sub
 
 
+Private Sub btnCancel_Click( sender As Object,  e As EventArgs) Handles btnCancel.Click
+
+
+  Me.DialogResult = Windows.Forms.DialogResult.Cancel
+  Me.Close()
+
+
+End Sub
+
+
+
+Private Sub frmAuxiliaryConfig_FormClosing( sender As Object,  e As FormClosingEventArgs) Handles MyBase.FormClosing
+
+
+  If Me.DialogResult=Windows.Forms.DialogResult.Cancel then return
+
+  Dim result As DialogResult
+
+  If  Not auxConfig.ConfigValuesAreTheSameAs( originalConfig )
+
+             result = (MessageBox.Show("Would you like to save changes before closing?","Save Changes", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question))
+
+            Select Case  result
+            
+                case DialogResult.Yes:
+                    'save 
+                    If NOT SaveFile()    then
+                      e.Cancel=true
+                    End If
+
+                case DialogResult.No:
+                    'just allow the form to close
+                    'without saving
+                    Me.DialogResult=Windows.Forms.DialogResult.Cancel
+
+
+                case DialogResult.Cancel:
+                    'cancel the close
+                    e.Cancel = true
+                    Me.DialogResult=Windows.Forms.DialogResult.Cancel
+
+
+            end select
+
+
+  End If
+ 
+
+End Sub
+
+
+
+
 End Class
\ No newline at end of file
diff --git a/VECTOAux/VectoAuxiliaries/VectoAuxiliaries.vbproj b/VECTOAux/VectoAuxiliaries/VectoAuxiliaries.vbproj
index 9537ed8aea..8bbfc54218 100644
--- a/VECTOAux/VectoAuxiliaries/VectoAuxiliaries.vbproj
+++ b/VECTOAux/VectoAuxiliaries/VectoAuxiliaries.vbproj
@@ -7,7 +7,7 @@
     <ProjectGuid>{FDEEE460-0B8A-4EF6-8D9E-72F203A50F65}</ProjectGuid>
     <OutputType>Library</OutputType>
     <RootNamespace>VectoAuxiliaries</RootNamespace>
-    <AssemblyName>VectoAuxiliaries</AssemblyName>
+    <AssemblyName>BusAuxiliaries</AssemblyName>
     <FileAlignment>512</FileAlignment>
     <MyType>Windows</MyType>
     <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
@@ -23,7 +23,7 @@
     <DefineDebug>true</DefineDebug>
     <DefineTrace>true</DefineTrace>
     <OutputPath>bin\Debug\</OutputPath>
-    <DocumentationFile>VectoAuxiliaries.xml</DocumentationFile>
+    <DocumentationFile>BusAuxiliaries.xml</DocumentationFile>
     <NoWarn>41999,42016,42017,42018,42019,42032,42036</NoWarn>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
@@ -32,7 +32,7 @@
     <DefineTrace>true</DefineTrace>
     <Optimize>true</Optimize>
     <OutputPath>bin\Release\</OutputPath>
-    <DocumentationFile>VectoAuxiliaries.xml</DocumentationFile>
+    <DocumentationFile>BusAuxiliaries.xml</DocumentationFile>
     <NoWarn>41999,42016,42017,42018,42019,42032,42036</NoWarn>
   </PropertyGroup>
   <PropertyGroup>
-- 
GitLab