From 42ef0e3baf362df85cca1c5e4e606aeadd1035b3 Mon Sep 17 00:00:00 2001 From: Markus Quaritsch <markus.quaritsch@tugraz.at> Date: Mon, 8 Aug 2016 13:03:30 +0200 Subject: [PATCH] adapt gui to new input structure, remove / comment out tc from vecto 2.2 --- VECTO/GUI/F_GBX.Designer.vb | 2 +- VECTO/GUI/F_GBX.vb | 73 ++++++++++++------------- VECTO/Input Files/cGBX.vb | 104 ++++++++++++++++++------------------ VECTO/MODcalc/cPower.vb | 18 ++++--- VECTO/VECTO_Global.vb | 12 +++-- VECTO/VECTO_Types.vb | 18 ++++++- VECTO/cDeclaration.vb | 2 +- 7 files changed, 126 insertions(+), 103 deletions(-) diff --git a/VECTO/GUI/F_GBX.Designer.vb b/VECTO/GUI/F_GBX.Designer.vb index 7d8d28905e..a80601d94e 100644 --- a/VECTO/GUI/F_GBX.Designer.vb +++ b/VECTO/GUI/F_GBX.Designer.vb @@ -1006,7 +1006,7 @@ Partial Class F_GBX Friend WithEvents PnTC As System.Windows.Forms.Panel Friend WithEvents PnTorqRes As System.Windows.Forms.Panel Friend WithEvents BtAddGear As System.Windows.Forms.Button - Friend WithEvents ColumnHeader4 As System.Windows.Forms.ColumnHeader + Friend WithEvents ColumnHeader4 As System.Windows.Forms.ColumnHeader Friend WithEvents GroupBox4 As System.Windows.Forms.GroupBox Friend WithEvents Label32 As System.Windows.Forms.Label Friend WithEvents PnInertiaTI As System.Windows.Forms.Panel diff --git a/VECTO/GUI/F_GBX.vb b/VECTO/GUI/F_GBX.vb index 9e391c2f87..190e1326e9 100644 --- a/VECTO/GUI/F_GBX.vb +++ b/VECTO/GUI/F_GBX.vb @@ -55,7 +55,8 @@ Public Class F_GBX Me.CbGStype.Items.Add("Manual Transmission (MT)") Me.CbGStype.Items.Add("Automated Manual Transmission (AMT)") If Not Cfg.DeclMode Then - Me.CbGStype.Items.Add("Automatic Transmission (AT)") + Me.CbGStype.Items.Add("Automatic Transmission - Serial (AT-S)") + Me.CbGStype.Items.Add("Automatic Transmission - PowerSplit (AT-P)") Me.CbGStype.Items.Add("Custom") End If @@ -243,15 +244,15 @@ Public Class F_GBX lv0 = New ListViewItem(i.ToString("00")) End If - If Me.ChTCon.Checked And i > 0 Then - If GBX0.IsTCgear(i) Then - lv0.SubItems.Add("on") - Else - lv0.SubItems.Add("off") - End If - Else - lv0.SubItems.Add("-") - End If + 'If Me.ChTCon.Checked And i > 0 Then + ' If False Then ' GBX0.IsTCgear(i) Then + ' lv0.SubItems.Add("on") + ' Else + ' lv0.SubItems.Add("off") + ' End If + 'Else + lv0.SubItems.Add("-") + 'End If lv0.SubItems.Add(GBX0.Igetr(i)) lv0.SubItems.Add(GBX0.GetrMap(i, True)) lv0.SubItems.Add(GBX0.gsFile(i, True)) @@ -322,7 +323,7 @@ Public Class F_GBX GBX0.GbxInertia = fTextboxToNumString(Me.TBI_getr.Text) For i = 0 To Me.LvGears.Items.Count - 1 - GBX0.IsTCgear.Add(Me.LvGears.Items(i).SubItems(1).Text = "on" And i > 0) + 'GBX0.IsTCgear.Add(Me.LvGears.Items(i).SubItems(1).Text = "on" And i > 0) GBX0.Igetr.Add(CSng(Me.LvGears.Items(i).SubItems(2).Text)) GBX0.GetrMaps.Add(New cSubPath) GBX0.GetrMap(i) = Me.LvGears.Items(i).SubItems(3).Text @@ -497,7 +498,7 @@ Public Class F_GBX If GStype <> tGearbox.Custom Then Me.ChShiftInside.Checked = Declaration.ShiftInside(GStype) Me.ChSkipGears.Checked = Declaration.SkipGears(GStype) - Me.ChTCon.Checked = (GStype = tGearbox.Automatic) + Me.ChTCon.Checked = (GStype = tGearbox.AutomaticSerial OrElse GStype = tGearbox.AutomaticPowerSplit) End If End Sub @@ -542,7 +543,7 @@ Public Class F_GBX Do - GearDia.ChIsTCgear.Enabled = (Me.ChTCon.Checked And Me.LvGears.SelectedIndices(0) > 0) + 'GearDia.ChIsTCgear.Enabled = (Me.ChTCon.Checked And Me.LvGears.SelectedIndices(0) > 0) GearDia.PnShiftPoly.Enabled = (Not Cfg.DeclMode And Me.LvGears.SelectedIndices(0) > 0) GearDia.PnFld.Enabled = (Me.LvGears.SelectedIndices(0) > 0) GearDia.GbxPath = fPATH(GbxFile) @@ -567,15 +568,15 @@ Public Class F_GBX If GearDia.ShowDialog = Windows.Forms.DialogResult.OK Then - If GearDia.ChIsTCgear.Checked Then - Me.LvGears.SelectedItems(0).SubItems(1).Text = "on" - Else - If Me.ChTCon.Checked Then - Me.LvGears.SelectedItems(0).SubItems(1).Text = "off" - Else - Me.LvGears.SelectedItems(0).SubItems(1).Text = "-" - End If - End If + 'If GearDia.ChIsTCgear.Checked Then + ' Me.LvGears.SelectedItems(0).SubItems(1).Text = "on" + 'Else + ' If Me.ChTCon.Checked Then + ' Me.LvGears.SelectedItems(0).SubItems(1).Text = "off" + ' Else + Me.LvGears.SelectedItems(0).SubItems(1).Text = "-" + ' End If + 'End If Me.LvGears.SelectedItems(0).SubItems(2).Text = GearDia.TbRatio.Text Me.LvGears.SelectedItems(0).SubItems(3).Text = GearDia.TbMapPath.Text @@ -609,11 +610,11 @@ Public Class F_GBX Dim lvi As ListViewItem lvi = New ListViewItem(Me.LvGears.Items.Count.ToString("00")) - If Me.ChTCon.Checked Then - lvi.SubItems.Add("off") - Else - lvi.SubItems.Add("-") - End If + 'If Me.ChTCon.Checked Then + ' lvi.SubItems.Add("off") + 'Else + lvi.SubItems.Add("-") + 'End If lvi.SubItems.Add("") lvi.SubItems.Add("") lvi.SubItems.Add("") @@ -977,15 +978,15 @@ Public Class F_GBX If lv0.SubItems(0).Text = "Axle" Then Continue For - If Me.ChTCon.Checked Then - If lv0.Index = 1 Then - lv0.SubItems(1).Text = "on" - Else - lv0.SubItems(1).Text = "off" - End If - Else - lv0.SubItems(1).Text = "-" - End If + 'If Me.ChTCon.Checked Then + ' If lv0.Index = 1 Then + ' lv0.SubItems(1).Text = "on" + ' Else + ' lv0.SubItems(1).Text = "off" + ' End If + 'Else + lv0.SubItems(1).Text = "-" + 'End If Next End Sub diff --git a/VECTO/Input Files/cGBX.vb b/VECTO/Input Files/cGBX.vb index e3212d3854..d9abb0a251 100644 --- a/VECTO/Input Files/cGBX.vb +++ b/VECTO/Input Files/cGBX.vb @@ -11,7 +11,7 @@ Imports System.Collections.Generic Public Class cGBX - Private Const FormatVersion As Short = 5 + Private Const FormatVersion As Short = 6 Private FileVersion As Short Private MyPath As String @@ -23,7 +23,7 @@ Public Class cGBX Public Igetr As List(Of Single) Public GetrMaps As List(Of cSubPath) - Public IsTCgear As List(Of Boolean) + 'Public IsTCgear As List(Of Boolean) Private MyGBmaps As List(Of cDelaunayMap) Private GetrEffDef As List(Of Boolean) @@ -117,7 +117,7 @@ Public Class cGBX TracIntrSi = 0 Igetr = New List(Of Single) - IsTCgear = New List(Of Boolean) + 'IsTCgear = New List(Of Boolean) GetrMaps = New List(Of cSubPath) gs_files = New List(Of cSubPath) FldFiles = New List(Of cSubPath) @@ -183,7 +183,7 @@ Public Class cGBX dic0.Add("LossMap", GetrMaps(i).PathOrDummy) End If If i > 0 Then - dic0.Add("TCactive", IsTCgear(i)) + 'dic0.Add("TCactive", IsTCgear(i)) dic0.Add("ShiftPolygon", gs_files(i).PathOrDummy) dic0.Add("FullLoadCurve", FldFiles(i).PathOrDummy) End If @@ -263,11 +263,11 @@ Public Class cGBX FldFiles.Add(New cSubPath) If i = 0 Then - IsTCgear.Add(False) + 'IsTCgear.Add(False) gs_files(i).Init(MyPath, sKey.NoFile) FldFiles(i).Init(MyPath, sKey.NoFile) Else - IsTCgear.Add(dic("TCactive")) + 'IsTCgear.Add(dic("TCactive")) If FileVersion < 2 Then gs_files(i).Init(MyPath, JSON.Content("Body")("ShiftPolygons")) Else @@ -333,7 +333,7 @@ Public Class cGBX MsgSrc = "GBX/DeclInit" - If gs_Type = tGearbox.Custom Or gs_Type = tGearbox.Automatic Then + If gs_Type = tGearbox.Custom Or tGearboxExtension.AutomaticTransmission(gs_Type) Then WorkerMsg(tMsgID.Err, "Invalid gearbox type for Declaration Mode!", MsgSrc) Return False End If @@ -352,7 +352,7 @@ Public Class cGBX DownshiftAfterUpshift = 10 UpshiftMinAcceleration = 0.1 - TCon = (gs_Type = tGearbox.Automatic) + TCon = (AutomaticTransmission(gs_Type)) For i = 1 To GearCount() Shiftpolygons(i).SetGenericShiftPoly(FLD(i), ENG.Nidle) @@ -773,7 +773,7 @@ lbInt: If gs_Type <> tGearbox.Custom Then gs_ShiftInside = Declaration.ShiftInside(gs_Type) - TCon = (gs_Type = tGearbox.Automatic) + TCon = AutomaticTransmission(gs_Type) gs_SkipGears = Declaration.SkipGears(gs_Type) End If @@ -926,71 +926,71 @@ lbInt: 'Calculate average efficiency for fast approx. calculation If i > 0 Then - If GBX.IsTCgear(i) Then + 'If GBX.IsTCgear(i) Then - GetrEff(i) = -1 + ' GetrEff(i) = -1 - Else - - EffSum = 0 - Anz = 0 + 'Else - dnU = (2 / 3) * (ENG.Nrated - ENG.Nidle) / 10 - nU = ENG.Nidle + dnU + EffSum = 0 + Anz = 0 - Do While nU <= ENG.Nrated + dnU = (2 / 3) * (ENG.Nrated - ENG.Nidle) / 10 + nU = ENG.Nidle + dnU - dM = nPeToM(nU, (2 / 3) * FLD(i).Pfull(nU) / 10) - M_in = nPeToM(nU, (1 / 3) * FLD(i).Pfull(nU)) + Do While nU <= ENG.Nrated - Do While M_in <= nPeToM(nU, FLD(i).Pfull(nU)) + dM = nPeToM(nU, (2 / 3) * FLD(i).Pfull(nU) / 10) + M_in = nPeToM(nU, (1 / 3) * FLD(i).Pfull(nU)) - P_In = nMtoPe(nU, M_in) + Do While M_in <= nPeToM(nU, FLD(i).Pfull(nU)) - P_Loss = IntpolPeLossFwd(i, nU, P_In, False) + P_In = nMtoPe(nU, M_in) - EffSum += (P_In - P_Loss) / P_In - Anz += 1 + P_Loss = IntpolPeLossFwd(i, nU, P_In, False) + EffSum += (P_In - P_Loss) / P_In + Anz += 1 - plossG = P_Loss - MinG = M_in + plossG = P_Loss + MinG = M_in - 'Axle - P_In -= P_Loss - P_Loss = IntpolPeLossFwd(0, nU / GBX.Igetr(i), P_In, False) - EffDiffSum += (P_In - P_Loss) / P_In - AnzDiff += 1 - If MODdata.ModErrors.TrLossMapExtr <> "" Then - WorkerMsg(tMsgID.Err, "Transmission loss map does not cover full engine operating range!", MsgSrc) - WorkerMsg(tMsgID.Err, MODdata.ModErrors.TrLossMapExtr, MsgSrc) - WorkerMsg(tMsgID.Err, "nU_In(GB)=" & nU & " [1/min]", MsgSrc) - WorkerMsg(tMsgID.Err, "M_In(GB)=" & MinG & " [Nm]", MsgSrc) - WorkerMsg(tMsgID.Err, "P_Loss(GB)=" & plossG & " [kW]", MsgSrc) - WorkerMsg(tMsgID.Err, "nU_In(axle)=" & CStr(nU / Igetr(i)) & " [1/min]", MsgSrc) - WorkerMsg(tMsgID.Err, "M_In(axle)=" & CStr(nPeToM(nU / Igetr(i), P_In)) & " [Nm]", MsgSrc) - WorkerMsg(tMsgID.Err, "P_Loss(axle)=" & P_Loss & " [kW]", MsgSrc) - Return False - End If - - M_in += dM - Loop + 'Axle + P_In -= P_Loss + P_Loss = IntpolPeLossFwd(0, nU / GBX.Igetr(i), P_In, False) + EffDiffSum += (P_In - P_Loss) / P_In + AnzDiff += 1 + If MODdata.ModErrors.TrLossMapExtr <> "" Then + WorkerMsg(tMsgID.Err, "Transmission loss map does not cover full engine operating range!", MsgSrc) + WorkerMsg(tMsgID.Err, MODdata.ModErrors.TrLossMapExtr, MsgSrc) + WorkerMsg(tMsgID.Err, "nU_In(GB)=" & nU & " [1/min]", MsgSrc) + WorkerMsg(tMsgID.Err, "M_In(GB)=" & MinG & " [Nm]", MsgSrc) + WorkerMsg(tMsgID.Err, "P_Loss(GB)=" & plossG & " [kW]", MsgSrc) + WorkerMsg(tMsgID.Err, "nU_In(axle)=" & CStr(nU / Igetr(i)) & " [1/min]", MsgSrc) + WorkerMsg(tMsgID.Err, "M_In(axle)=" & CStr(nPeToM(nU / Igetr(i), P_In)) & " [Nm]", MsgSrc) + WorkerMsg(tMsgID.Err, "P_Loss(axle)=" & P_Loss & " [kW]", MsgSrc) + Return False + End If - nU += dnU + M_in += dM Loop - If Anz = 0 Then - WorkerMsg(tMsgID.Err, "Failed to calculate approx. transmission losses!", MsgSrc) - Return False - End If - GetrEff(i) = EffSum / Anz + nU += dnU + Loop + If Anz = 0 Then + WorkerMsg(tMsgID.Err, "Failed to calculate approx. transmission losses!", MsgSrc) + Return False End If + GetrEff(i) = EffSum / Anz + + ' End If + End If diff --git a/VECTO/MODcalc/cPower.vb b/VECTO/MODcalc/cPower.vb index 627cffe900..1dc7024ca2 100644 --- a/VECTO/MODcalc/cPower.vb +++ b/VECTO/MODcalc/cPower.vb @@ -989,7 +989,7 @@ lbCheck: Else - If GBX.TCon And GBX.IsTCgear(Gear) Then + If GBX.TCon And False Then 'GBX.IsTCgear(Gear) Then PlossGB = fPlossGB(Pwheel, Vact, Gear, False) PlossDiff = fPlossDiff(Pwheel, Vact, False) @@ -1121,7 +1121,7 @@ lb_nOK: PaGbx = 0 Case tEngClutch.Closed - If GBX.TCon And GBX.IsTCgear(Gear) Then + If GBX.TCon And False Then ' GBX.IsTCgear(Gear) Then Pclutch = nMtoPe(nU, GBX.TCMin) @@ -1258,7 +1258,9 @@ lb_nOK: If EngState0 = tEngState.Load Then Pbrake = 0 - If GBX.TCon And GBX.IsTCgear(Gear) Then Pbrake = GBX.TC_PeBrake + If GBX.TCon And False Then 'GBX.IsTCgear(Gear) Then + Pbrake = GBX.TC_PeBrake + End If If Math.Abs(P / Pmax - 1) < 0.02 Then EngState0 = tEngState.FullLoad Else ' tEngState.Drag (tEngState.Idle, tEngState.Stopped kann's hier nicht geben weil Clutch <> Closed) If P < Pmin Then @@ -1450,7 +1452,7 @@ lb_nOK: 'Torque Converter output If GBX.TCon Then - If GBX.IsTCgear(Gear) Then + If False Then 'GBX.IsTCgear(Gear) Then If nU = 0 Then MODdata.TCnu.Add(0) Else @@ -2201,19 +2203,19 @@ lb_nOK: If LastGear = 0 Then Return 1 If LastGear < GBX.GearCount Then - PlusGearLockUp = Not GBX.IsTCgear(LastGear + 1) + PlusGearLockUp = True 'Not GBX.IsTCgear(LastGear + 1) Else PlusGearLockUp = False End If If LastGear > 1 Then - MinusGearTC = GBX.IsTCgear(LastGear - 1) + MinusGearTC = False 'GBX.IsTCgear(LastGear - 1) Else MinusGearTC = False End If '2C-to-1C - If MinusGearTC And GBX.IsTCgear(LastGear) Then + If MinusGearTC And False Then ' GBX.IsTCgear(LastGear) Then If fnUout(Vact, LastGear) <= ENG.Nidle Then Return LastGear - 1 End If @@ -2226,7 +2228,7 @@ lb_nOK: End If 'nU - If GBX.IsTCgear(LastGear) Then + If False Then 'GBX.IsTCgear(LastGear) Then n = MODdata.TCnu(t - 1) nU = (Vact * 60.0 * GBX.Igetr(0) * GBX.Igetr(LastGear) / (2 * VEH.rdyn * Math.PI / 1000)) / n Else diff --git a/VECTO/VECTO_Global.vb b/VECTO/VECTO_Global.vb index da0443713b..0f08bf71e0 100644 --- a/VECTO/VECTO_Global.vb +++ b/VECTO/VECTO_Global.vb @@ -85,8 +85,10 @@ Public Module VECTO_Global Select Case Gearbox Case tGearbox.Manual Return "MT" - Case tGearbox.Automatic - Return "AT" + Case tGearbox.AutomaticSerial + Return "ATSerial" + Case tGearbox.AutomaticPowerSplit + Return "ATPowerSplit" Case tGearbox.SemiAutomatic Return "AMT" Case Else 'tGearbox.Custom @@ -99,7 +101,11 @@ Public Module VECTO_Global Case "MT" Return tGearbox.Manual Case "AT" - Return tGearbox.Automatic + Return tGearbox.AutomaticSerial + Case "ATSERIAL" + Return tGearbox.AutomaticSerial + Case "ATPOWERSPLIT" + Return tGearbox.AutomaticPowerSplit Case "AMT" Return tGearbox.SemiAutomatic Case Else '"Custom" diff --git a/VECTO/VECTO_Types.vb b/VECTO/VECTO_Types.vb index e9e8b68d66..bc848ef2b4 100644 --- a/VECTO/VECTO_Types.vb +++ b/VECTO/VECTO_Types.vb @@ -8,6 +8,7 @@ ' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ' ' See the LICENSE.txt for the specific language governing permissions and limitations. +Imports System.Runtime.CompilerServices ''' <summary> ''' Determines how file extensions are set in the File Browser @@ -114,10 +115,23 @@ End Enum Public Enum tGearbox Manual = 0 SemiAutomatic = 1 - Automatic = 2 - Custom = 3 + AutomaticSerial = 2 + AutomaticPowerSplit = 3 + Custom = 4 End Enum +<Extension> +Module tGearboxExtension + Public Function AutomaticTransmission(type As tGearbox) As Boolean + Return type = tGearbox.AutomaticPowerSplit OrElse type = tGearbox.AutomaticSerial + End Function + + + Public Function ManualTransmission(type As tGearbox) As Boolean + Return type = tGearbox.Manual OrElse type = tGearbox.SemiAutomatic + End Function +End Module + Public Enum tVehCat As Integer Undef = 0 RigidTruck = 1 diff --git a/VECTO/cDeclaration.vb b/VECTO/cDeclaration.vb index 046ef91cc8..def711d20a 100644 --- a/VECTO/cDeclaration.vb +++ b/VECTO/cDeclaration.vb @@ -695,7 +695,7 @@ Public Class cDeclaration End Function Public Function SkipGears(Gearbox As tGearbox) As Boolean - If Gearbox = tGearbox.Automatic Then + If AutomaticTransmission(Gearbox) Then Return False Else Return True -- GitLab