diff --git a/VECTO/GUI/VectoJobForm.Designer.vb b/VECTO/GUI/VectoJobForm.Designer.vb index 12597573857e716facb288a57af3a1ad60b53d0b..9817215ce0238b29f8bde58f622b5291df8bb00c 100644 --- a/VECTO/GUI/VectoJobForm.Designer.vb +++ b/VECTO/GUI/VectoJobForm.Designer.vb @@ -88,10 +88,6 @@ Partial Class VectoJobForm Me.tbLacDfVelocityDropFile = New System.Windows.Forms.TextBox() Me.CbLookAhead = New System.Windows.Forms.CheckBox() Me.GroupBox1 = New System.Windows.Forms.GroupBox() - Me.GroupBox2 = New System.Windows.Forms.GroupBox() - Me.Label22 = New System.Windows.Forms.Label() - Me.TbUnderSpeed = New System.Windows.Forms.TextBox() - Me.Label20 = New System.Windows.Forms.Label() Me.PnEcoRoll = New System.Windows.Forms.Panel() Me.Label21 = New System.Windows.Forms.Label() Me.Label14 = New System.Windows.Forms.Label() @@ -159,7 +155,6 @@ Partial Class VectoJobForm Me.GrLAC.SuspendLayout Me.pnLookAheadCoasting.SuspendLayout Me.GroupBox1.SuspendLayout - Me.GroupBox2.SuspendLayout Me.PnEcoRoll.SuspendLayout Me.StatusStrip1.SuspendLayout Me.ToolStrip1.SuspendLayout @@ -806,7 +801,6 @@ Partial Class VectoJobForm ' 'GroupBox1 ' - Me.GroupBox1.Controls.Add(Me.GroupBox2) Me.GroupBox1.Controls.Add(Me.PnEcoRoll) Me.GroupBox1.Controls.Add(Me.RdOverspeed) Me.GroupBox1.Controls.Add(Me.RdOff) @@ -817,48 +811,6 @@ Partial Class VectoJobForm Me.GroupBox1.TabStop = false Me.GroupBox1.Text = "Overspeed" ' - 'GroupBox2 - ' - Me.GroupBox2.Controls.Add(Me.Label22) - Me.GroupBox2.Controls.Add(Me.TbUnderSpeed) - Me.GroupBox2.Controls.Add(Me.Label20) - Me.GroupBox2.Enabled = false - Me.GroupBox2.Location = New System.Drawing.Point(338, 14) - Me.GroupBox2.Name = "GroupBox2" - Me.GroupBox2.Size = New System.Drawing.Size(168, 57) - Me.GroupBox2.TabIndex = 37 - Me.GroupBox2.TabStop = false - Me.GroupBox2.Text = "!! hidden !!" - Me.GroupBox2.Visible = false - ' - 'Label22 - ' - Me.Label22.AutoSize = true - Me.Label22.Location = New System.Drawing.Point(6, 16) - Me.Label22.Name = "Label22" - Me.Label22.Size = New System.Drawing.Size(91, 13) - Me.Label22.TabIndex = 1 - Me.Label22.Text = "Max. Underspeed" - Me.Label22.Visible = false - ' - 'TbUnderSpeed - ' - Me.TbUnderSpeed.Location = New System.Drawing.Point(9, 32) - Me.TbUnderSpeed.Name = "TbUnderSpeed" - Me.TbUnderSpeed.Size = New System.Drawing.Size(64, 20) - Me.TbUnderSpeed.TabIndex = 1 - Me.TbUnderSpeed.Visible = false - ' - 'Label20 - ' - Me.Label20.AutoSize = true - Me.Label20.Location = New System.Drawing.Point(75, 36) - Me.Label20.Name = "Label20" - Me.Label20.Size = New System.Drawing.Size(38, 13) - Me.Label20.TabIndex = 3 - Me.Label20.Text = "[km/h]" - Me.Label20.Visible = false - ' 'PnEcoRoll ' Me.PnEcoRoll.Controls.Add(Me.Label21) @@ -1411,8 +1363,6 @@ Partial Class VectoJobForm Me.pnLookAheadCoasting.PerformLayout Me.GroupBox1.ResumeLayout(false) Me.GroupBox1.PerformLayout - Me.GroupBox2.ResumeLayout(false) - Me.GroupBox2.PerformLayout Me.PnEcoRoll.ResumeLayout(false) Me.PnEcoRoll.PerformLayout Me.StatusStrip1.ResumeLayout(false) @@ -1482,13 +1432,10 @@ End Sub Friend WithEvents CbLookAhead As CheckBox Friend WithEvents GroupBox1 As GroupBox Friend WithEvents Label21 As Label - Friend WithEvents Label20 As Label Friend WithEvents Label14 As Label Friend WithEvents TbVmin As TextBox - Friend WithEvents TbUnderSpeed As TextBox Friend WithEvents TbOverspeed As TextBox Friend WithEvents Label23 As Label - Friend WithEvents Label22 As Label Friend WithEvents Label13 As Label Friend WithEvents RdOverspeed As RadioButton Friend WithEvents RdOff As RadioButton @@ -1532,7 +1479,6 @@ End Sub Friend WithEvents TbAuxPAdd As System.Windows.Forms.TextBox Friend WithEvents Label8 As System.Windows.Forms.Label Friend WithEvents Label15 As System.Windows.Forms.Label - Friend WithEvents GroupBox2 As System.Windows.Forms.GroupBox Friend WithEvents lblEngineCharacteristics As System.Windows.Forms.Label Friend WithEvents TabPgADAS As TabPage Friend WithEvents GroupBox4 As GroupBox diff --git a/VECTO/GUI/VectoJobForm.vb b/VECTO/GUI/VectoJobForm.vb index deec436512221bf79ece82640708f5d25f7fe6a7..3274de6dde798f251a3492ce1fe6f67c61428723 100644 --- a/VECTO/GUI/VectoJobForm.vb +++ b/VECTO/GUI/VectoJobForm.vb @@ -120,7 +120,6 @@ Public Class VectoJobForm tbLacDfVelocityDropFile.Text = "" TbOverspeed.Text = DeclarationData.Driver.OverSpeed.AllowedOverSpeed.AsKmph.ToGUIFormat() 'cDeclaration.Overspeed - TbUnderSpeed.Text = DeclarationData.Driver.OverSpeed.UnderSpeed.AsKmph.ToGUIFormat() _ ' cDeclaration.Underspeed TbVmin.Text = DeclarationData.Driver.OverSpeed.MinSpeed.AsKmph.ToGUIFormat() 'cDeclaration.ECvmin TbAuxPAdd.Text = "" @@ -512,17 +511,13 @@ Public Class VectoJobForm Catch ex As Exception End Try - If driver.OverSpeedData.Mode = DriverMode.EcoRoll Then - 'mk 2016-11-10: removed eco roll - instead automatically overspeed is used - 'RdEcoRoll.Checked = True - RdOverspeed.Checked = True - ElseIf driver.OverSpeedData.Mode = DriverMode.Overspeed Then + + If driver.OverSpeedData.Enabled Then RdOverspeed.Checked = True Else RdOff.Checked = True End If TbOverspeed.Text = driver.OverSpeedData.OverSpeed.AsKmph.ToGUIFormat() - TbUnderSpeed.Text = driver.OverSpeedData.UnderSpeed.AsKmph.ToGUIFormat() TbVmin.Text = driver.OverSpeedData.MinSpeed.AsKmph.ToGUIFormat() If Not driver.Lookahead Is Nothing Then CbLookAhead.Checked = driver.Lookahead.Enabled @@ -645,10 +640,8 @@ Public Class VectoJobForm vectoJob.EngineOnly = CbEngOnly.Checked - vectoJob.EcoRollOn = False 'RdEcoRoll.Checked vectoJob.OverSpeedOn = RdOverspeed.Checked vectoJob.OverSpeed = TbOverspeed.Text.ToDouble(0) - vectoJob.UnderSpeed = TbUnderSpeed.Text.ToDouble(0) vectoJob.VMin = TbVmin.Text.ToDouble(0) vectoJob.LookAheadOn = CbLookAhead.Checked 'vec0.ALookahead = CSng(fTextboxToNumString(TbAlookahead.Text)) @@ -706,7 +699,6 @@ Public Class VectoJobForm CbLookAhead.Checked = True 'TbAlookahead.Text = "-0.5" TbOverspeed.Text = DeclarationData.Driver.OverSpeed.AllowedOverSpeed.AsKmph.ToGUIFormat() - TbUnderSpeed.Text = DeclarationData.Driver.OverSpeed.UnderSpeed.AsKmph.ToGUIFormat() TbVmin.Text = DeclarationData.Driver.OverSpeed.MinSpeed.AsKmph.ToGUIFormat() 'TbVminLA.Text = "50" @@ -772,7 +764,7 @@ Public Class VectoJobForm Change() End Sub - Private Sub TbUnderSpeed_TextChanged(sender As Object, e As EventArgs) Handles TbUnderSpeed.TextChanged + Private Sub TbUnderSpeed_TextChanged(sender As Object, e As EventArgs) Change() End Sub @@ -1076,10 +1068,6 @@ lbDlog: Label13.Enabled = overspeed Or ecoRoll Label14.Enabled = overspeed Or ecoRoll - TbUnderSpeed.Enabled = ecoRoll - Label22.Enabled = ecoRoll - Label20.Enabled = ecoRoll - TbVmin.Enabled = overspeed Or ecoRoll Label23.Enabled = overspeed Or ecoRoll Label21.Enabled = overspeed Or ecoRoll diff --git a/VECTO/Input Files/VectoJob.vb b/VECTO/Input Files/VectoJob.vb index 9bf0bf77ce25af6d5b5e2274094a8948c218d93a..31023ceeae4c94096bf06e485ad734f98a978f98 100644 --- a/VECTO/Input Files/VectoJob.vb +++ b/VECTO/Input Files/VectoJob.vb @@ -68,8 +68,7 @@ Public Class VectoJob Public LookAheadOn As Boolean Public OverSpeedOn As Boolean Public OverSpeed As Double - Public UnderSpeed As Double - Public EcoRollOn As Boolean + Public LookAheadMinSpeed As Double Public EngineStopStartActivationThreshold As Double @@ -216,18 +215,10 @@ Public Class VectoJob Public ReadOnly Property OverSpeedData As IOverSpeedEngineeringInputData _ Implements IDriverEngineeringInputData.OverSpeedData Get - Dim mode As DriverMode = DriverMode.Off - If EcoRollOn Then - mode = DriverMode.EcoRoll - ElseIf OverSpeedOn Then - mode = DriverMode.Overspeed - End If - - Return New OverSpeedInputData() With { - .Mode = mode, + Return New OverSpeedInputData() With { + .Enabled = OverSpeedOn, .MinSpeed = VMin.KMPHtoMeterPerSecond(), - .OverSpeed = OverSpeed.KMPHtoMeterPerSecond(), - .UnderSpeed = UnderSpeed.KMPHtoMeterPerSecond() + .OverSpeed = OverSpeed.KMPHtoMeterPerSecond() } End Get End Property diff --git a/VECTO/OutputData/JSONFileWriter.vb b/VECTO/OutputData/JSONFileWriter.vb index 0fe9238eea9d7f3d29cdf348fbf424b9fb37680f..7929613598f718fc86458d82ec14384ad497bf3b 100644 --- a/VECTO/OutputData/JSONFileWriter.vb +++ b/VECTO/OutputData/JSONFileWriter.vb @@ -354,11 +354,10 @@ Public Class JSONFileWriter 'Overspeed / EcoRoll Dim overspeedDic As Dictionary(Of String, Object) = New Dictionary(Of String, Object) - overspeedDic.Add("Mode", driver.OverSpeedData.Mode.ToString()) + overspeedDic.Add("Mode", If(driver.OverSpeedData.Enabled, "Overspeed" ,"Off")) overspeedDic.Add("MinSpeed", driver.OverSpeedData.MinSpeed.AsKmph) overspeedDic.Add("OverSpeed", driver.OverSpeedData.OverSpeed.AsKmph) - overspeedDic.Add("UnderSpeed", driver.OverSpeedData.UnderSpeed.AsKmph) body.Add("OverSpeedEcoRoll", overspeedDic) 'Cycles diff --git a/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs b/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs index c32b74e64f87ebf3f0dda956950ecda317d2f756..f0ccab27402567e9c46d304aaf65698b7588db8a 100644 --- a/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs +++ b/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs @@ -570,7 +570,7 @@ namespace TUGraz.VectoCommon.InputData /// P015 /// cf. VECTO Input Parameters.xlsx /// </summary> - DriverMode Mode { get; } + bool Enabled { get; } } public interface IAuxiliaryDeclarationInputData diff --git a/VectoCommon/VectoCommon/InputData/EngineeringInputData.cs b/VectoCommon/VectoCommon/InputData/EngineeringInputData.cs index 24d8d42500b31bfebf5bf9d0f1b05dc111498f93..e56a294f5add6f7a6933ab53398dfc1c3fc3a693 100644 --- a/VectoCommon/VectoCommon/InputData/EngineeringInputData.cs +++ b/VectoCommon/VectoCommon/InputData/EngineeringInputData.cs @@ -368,11 +368,6 @@ namespace TUGraz.VectoCommon.InputData /// </summary> MeterPerSecond OverSpeed { get; } - /// <summary> - /// P018 - /// cf. VECTO Input Parameters.xlsx - /// </summary> - MeterPerSecond UnderSpeed { get; } } public interface ILookaheadCoastingInputData : IDriverModelData diff --git a/VectoCommon/VectoCommon/Models/DriverMode.cs b/VectoCommon/VectoCommon/Models/DriverMode.cs deleted file mode 100644 index 6ca9a003f5851089e11e35d21df0e0ec3658e8b1..0000000000000000000000000000000000000000 --- a/VectoCommon/VectoCommon/Models/DriverMode.cs +++ /dev/null @@ -1,40 +0,0 @@ -/* -* This file is part of VECTO. -* -* Copyright © 2012-2019 European Union -* -* Developed by Graz University of Technology, -* Institute of Internal Combustion Engines and Thermodynamics, -* Institute of Technical Informatics -* -* VECTO is licensed under the EUPL, Version 1.1 or - as soon they will be approved -* by the European Commission - subsequent versions of the EUPL (the "Licence"); -* You may not use VECTO except in compliance with the Licence. -* You may obtain a copy of the Licence at: -* -* https://joinup.ec.europa.eu/community/eupl/og_page/eupl -* -* Unless required by applicable law or agreed to in writing, VECTO -* distributed under the Licence is distributed on an "AS IS" basis, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the Licence for the specific language governing permissions and -* limitations under the Licence. -* -* Authors: -* Stefan Hausberger, hausberger@ivt.tugraz.at, IVT, Graz University of Technology -* Christian Kreiner, christian.kreiner@tugraz.at, ITI, Graz University of Technology -* Michael Krisper, michael.krisper@tugraz.at, ITI, Graz University of Technology -* Raphael Luz, luz@ivt.tugraz.at, IVT, Graz University of Technology -* Markus Quaritsch, markus.quaritsch@tugraz.at, IVT, Graz University of Technology -* Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology -*/ - -namespace TUGraz.VectoCommon.Models -{ - public enum DriverMode - { - Off, - Overspeed, - EcoRoll, - } -} \ No newline at end of file diff --git a/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs b/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs index bb705b763d3ca78d4e417c4b395a6a3553c30487..36fa3313aec7d47eea26f9f457016450875cf3a2 100644 --- a/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs +++ b/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs @@ -852,6 +852,15 @@ namespace TUGraz.VectoCommon.Resources { } } + /// <summary> + /// Looks up a localized string similar to Enabled. + /// </summary> + public static string DriverModel_Overspeed_Enabled { + get { + return ResourceManager.GetString("DriverModel_Overspeed_Enabled", resourceCulture); + } + } + /// <summary> /// Looks up a localized string similar to MinSpeed. /// </summary> diff --git a/VectoCommon/VectoCommon/Resources/XMLNames.resx b/VectoCommon/VectoCommon/Resources/XMLNames.resx index 0f45c51c26753852edce8c03dd04a602fbb82f2c..cc488d14ef86f80743965407b83caf5a1e8a68e0 100644 --- a/VectoCommon/VectoCommon/Resources/XMLNames.resx +++ b/VectoCommon/VectoCommon/Resources/XMLNames.resx @@ -1059,4 +1059,7 @@ <data name="DriverModel_EcoRoll" xml:space="preserve"> <value>EcoRoll</value> </data> + <data name="DriverModel_Overspeed_Enabled" xml:space="preserve"> + <value>Enabled</value> + </data> </root> \ No newline at end of file diff --git a/VectoCommon/VectoCommon/VectoCommon.csproj b/VectoCommon/VectoCommon/VectoCommon.csproj index 298bb028ec8c7d1d6834302e47dae3e564b5294e..3bc2cd03bea71748caffb45fdca697e075b3b4cc 100644 --- a/VectoCommon/VectoCommon/VectoCommon.csproj +++ b/VectoCommon/VectoCommon/VectoCommon.csproj @@ -73,7 +73,6 @@ <Compile Include="Models\AxleLineType.cs" /> <Compile Include="Models\CertificationMethod.cs" /> <Compile Include="Models\CrossWindCorrectionMode.cs" /> - <Compile Include="Models\DriverMode.cs" /> <Compile Include="Models\ExecutionMode.cs" /> <Compile Include="Models\FuelType.cs" /> <Compile Include="Models\GearboxType.cs" /> diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs index 4224708ebfa7d134a0b634c26fb236c0f116c0bc..42cd22086edd49fcfb9620dfc16ff061d981b5a6 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs @@ -465,14 +465,12 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON get { var overspeed = Body.GetEx(JsonKeys.DriverData_OverspeedEcoRoll); return new OverSpeedInputData() { - Mode = DriverData.ParseDriverMode( + Enabled = DriverData.ParseDriverMode( overspeed.GetEx<string>(JsonKeys.DriverData_OverspeedEcoRoll_Mode)), MinSpeed = overspeed.GetEx<double>(JsonKeys.DriverData_OverspeedEcoRoll_MinSpeed) .KMPHtoMeterPerSecond(), OverSpeed = overspeed.GetEx<double>(JsonKeys.DriverData_OverspeedEcoRoll_OverSpeed) .KMPHtoMeterPerSecond(), - UnderSpeed = - overspeed.GetEx<double>(JsonKeys.DriverData_OverspeedEcoRoll_UnderSpeed).KMPHtoMeterPerSecond() }; } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringOverspeed.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringOverspeed.cs index 49e444c0475befc86fd0f28830eaa8ad29e26a4a..210c8b1e6116a9e3f141f4084429b4db05883f60 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringOverspeed.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringOverspeed.cs @@ -1,3 +1,4 @@ +using System; using System.Xml; using System.Xml.Linq; using TUGraz.VectoCommon.Models; @@ -26,9 +27,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider #region Implementation of IOverSpeedEcoRollDeclarationInputData - public virtual DriverMode Mode + public virtual bool Enabled { - get { return GetNode(XMLNames.DriverModel_Overspeed_Mode, required: false)?.InnerText.ParseEnum<DriverMode>() ?? DriverMode.Off; } + get { return GetNode(XMLNames.DriverModel_Overspeed_Mode, required: false)?.InnerText.Equals("Overspeed", StringComparison.InvariantCultureIgnoreCase) ?? false; } } #endregion @@ -66,5 +67,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider public XMLEngineeringOverspeedV10(IXMLEngineeringDriverData driverData, XmlNode node) : base(driverData, node) { } + + public override bool Enabled + { + get { return XmlConvert.ToBoolean(GetNode(XMLNames.DriverModel_Overspeed_Enabled, required: false)?.InnerText ?? "false"); } + } + } } diff --git a/VectoCore/VectoCore/InputData/Impl/InputData.cs b/VectoCore/VectoCore/InputData/Impl/InputData.cs index f95031a34f85d1a768afe6519103648a4512b8e2..1b58b70b9da20c49633c5525968887b316735fbf 100644 --- a/VectoCore/VectoCore/InputData/Impl/InputData.cs +++ b/VectoCore/VectoCore/InputData/Impl/InputData.cs @@ -60,13 +60,12 @@ namespace TUGraz.VectoCore.InputData.Impl public class OverSpeedInputData : IOverSpeedEngineeringInputData { - public DriverMode Mode { get; internal set; } + public bool Enabled { get; internal set; } public MeterPerSecond MinSpeed { get; internal set; } public MeterPerSecond OverSpeed { get; internal set; } - public MeterPerSecond UnderSpeed { get; internal set; } } public class DriverAccelerationInputData : IDriverAccelerationData diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs index d395a74496ea3333b3f6ea7b14323668ad1ce063..e7d2a93c936334f4837506556bd6d62c38743724 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs @@ -64,17 +64,11 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter LookAheadDistanceFactor = DeclarationData.Driver.LookAhead.LookAheadDistanceFactor, }; var overspeedData = new DriverData.OverSpeedData { - Mode = DriverMode.Overspeed, + Enabled = true, MinSpeed = DeclarationData.Driver.OverSpeed.MinSpeed, OverSpeed = DeclarationData.Driver.OverSpeed.AllowedOverSpeed, - UnderSpeed = DeclarationData.Driver.OverSpeed.UnderSpeed }; - if (!DeclarationData.Driver.OverSpeed.AllowedModes.Contains(overspeedData.Mode)) { - throw new VectoSimulationException( - "Specified Overspeed/EcoRoll Mode not allowed in declaration mode! {0}", - overspeedData.Mode); - } - + var retVal = new DriverData { LookAheadCoasting = lookAheadData, OverSpeed = overspeedData, diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs index 8a2975ebae0189b04c736c3f0d2246a05b8ee38c..8efa64558e69d69ec9aea1bc8b25f815b590de19 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs @@ -363,10 +363,9 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter LookAheadDistanceFactor = driver.Lookahead.LookaheadDistanceFactor }; var overspeedData = new DriverData.OverSpeedData { - Mode = driver.OverSpeedData.Mode, + Enabled = driver.OverSpeedData.Enabled, MinSpeed = driver.OverSpeedData.MinSpeed, OverSpeed = driver.OverSpeedData.OverSpeed, - UnderSpeed = driver.OverSpeedData.UnderSpeed, }; var retVal = new DriverData { AccelerationCurve = accelerationData, diff --git a/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs b/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs index 29f5895aa85bcc6e28c990ac93ab0a985a578c1d..d4992092034428db7b90e3b41009ec7653de5bad 100644 --- a/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs +++ b/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs @@ -129,14 +129,8 @@ namespace TUGraz.VectoCore.Models.Declaration public static class OverSpeed { - public static readonly IList<DriverMode> AllowedModes = new List<DriverMode> { - DriverMode.EcoRoll, - DriverMode.Overspeed - }; - public static readonly MeterPerSecond MinSpeed = 50.KMPHtoMeterPerSecond(); public static readonly MeterPerSecond AllowedOverSpeed = 2.5.KMPHtoMeterPerSecond(); - public static readonly MeterPerSecond UnderSpeed = 5.KMPHtoMeterPerSecond(); } public static class EngineStopStart diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/DriverData.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/DriverData.cs index 129ec4c44151f1e7b7a864fe5a17720f839c10e8..b104fcf0a7394960963580ab697af1f1d57435b6 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Data/DriverData.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/DriverData.cs @@ -50,20 +50,30 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data [Required, ValidateObject] public EcoRollData EcoRoll; - public static DriverMode ParseDriverMode(string mode) + public static bool ParseDriverMode(string mode) { - return mode.Replace("-", "").ParseEnum<DriverMode>(); + if (mode == null) { + return false; + } + var txt = mode.Replace("-", ""); + if (txt.Equals("Off", StringComparison.InvariantCultureIgnoreCase)) { + return false; + } + + if (txt.Equals(bool.TrueString, StringComparison.InvariantCultureIgnoreCase)) { + return true; + } + + return false; } public class OverSpeedData { - public DriverMode Mode; + public bool Enabled; [Required, SIRange(0, 120 / Constants.MeterPerSecondToKMH)] public MeterPerSecond MinSpeed; [Required, SIRange(0, 50 / Constants.MeterPerSecondToKMH)] public MeterPerSecond OverSpeed; - - [Required, SIRange(0, 50 / Constants.MeterPerSecondToKMH)] public MeterPerSecond UnderSpeed; } public class EcoRollData diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs index f25d16c51c1314408fe6f1424b687378090bd865..8ed29105710467118c9dd4cc85c13cde62d5c31b 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs @@ -407,7 +407,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl return false; } - return Driver.DriverData.OverSpeed.Mode == DriverMode.Overspeed + return Driver.DriverData.OverSpeed.Enabled && velocity > Driver.DriverData.OverSpeed.MinSpeed && (velocity + Driver.DriverData.OverSpeed.OverSpeed) < (Driver.DataBus.MaxVehicleSpeed ?? 500.KMPHtoMeterPerSecond()); diff --git a/VectoCore/VectoCore/OutputData/XML/Engineering/NinjectModules/XMLEngineeringWriterV10InjectModule.cs b/VectoCore/VectoCore/OutputData/XML/Engineering/NinjectModules/XMLEngineeringWriterV10InjectModule.cs index f368c38b46fcf5fceebf061dccf3e9db3247aadf..1f91bb78b367e33f9aa11766916c23112ce4cffe 100644 --- a/VectoCore/VectoCore/OutputData/XML/Engineering/NinjectModules/XMLEngineeringWriterV10InjectModule.cs +++ b/VectoCore/VectoCore/OutputData/XML/Engineering/NinjectModules/XMLEngineeringWriterV10InjectModule.cs @@ -1,6 +1,7 @@ using Ninject.Modules; using TUGraz.VectoCore.OutputData.XML.Engineering.Interfaces; using TUGraz.VectoCore.OutputData.XML.Engineering.Writer; +using TUGraz.VectoCore.OutputData.XML.Engineering.Writer.DriverData; using TUGraz.VectoCore.OutputData.XML.Writer; using TUGraz.VectoCore.Utils; diff --git a/VectoCore/VectoCore/OutputData/XML/Engineering/Writer/DriverData/XMLAccelerationDataWriter.cs b/VectoCore/VectoCore/OutputData/XML/Engineering/Writer/DriverData/XMLAccelerationDataWriter.cs index 111392a0372a83a79f26e51b366f3901f31b435d..5c710154cf8d384845589c8d90f86249c086b46f 100644 --- a/VectoCore/VectoCore/OutputData/XML/Engineering/Writer/DriverData/XMLAccelerationDataWriter.cs +++ b/VectoCore/VectoCore/OutputData/XML/Engineering/Writer/DriverData/XMLAccelerationDataWriter.cs @@ -8,7 +8,7 @@ using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.OutputData.XML.Engineering.Interfaces; using TUGraz.VectoCore.Utils; -namespace TUGraz.VectoCore.OutputData.XML.Engineering.Writer +namespace TUGraz.VectoCore.OutputData.XML.Engineering.Writer.DriverData { internal class XMLAccelerationDataWriterV10 : AbstractXMLWriter, IXMLAccelerationDataWriter { diff --git a/VectoCore/VectoCore/OutputData/XML/Engineering/Writer/DriverData/XMLEngineeringLookaheadDataWriter.cs b/VectoCore/VectoCore/OutputData/XML/Engineering/Writer/DriverData/XMLEngineeringLookaheadDataWriter.cs index 9bfeda37e5479953424146a77e3fbc4152bbddeb..b53f5f7d3613821e42beae72a3f98585901076e4 100644 --- a/VectoCore/VectoCore/OutputData/XML/Engineering/Writer/DriverData/XMLEngineeringLookaheadDataWriter.cs +++ b/VectoCore/VectoCore/OutputData/XML/Engineering/Writer/DriverData/XMLEngineeringLookaheadDataWriter.cs @@ -6,7 +6,7 @@ using TUGraz.VectoCommon.Resources; using TUGraz.VectoCore.OutputData.XML.Engineering.Interfaces; using TUGraz.VectoCore.Utils; -namespace TUGraz.VectoCore.OutputData.XML.Engineering.Writer +namespace TUGraz.VectoCore.OutputData.XML.Engineering.Writer.DriverData { internal class XMLEngineeringLookaheadDataWriterV10 : AbstractXMLWriter, IXMLLookaheadDataWriter { diff --git a/VectoCore/VectoCore/OutputData/XML/Engineering/Writer/DriverData/XMLEngineeringOverspeedDataWriter.cs b/VectoCore/VectoCore/OutputData/XML/Engineering/Writer/DriverData/XMLEngineeringOverspeedDataWriter.cs index 0358a6d83c4df4e64d671e5fbc9ba1ef646a859e..2aec7d978519956dd9feb37fc02b28024c4efd8e 100644 --- a/VectoCore/VectoCore/OutputData/XML/Engineering/Writer/DriverData/XMLEngineeringOverspeedDataWriter.cs +++ b/VectoCore/VectoCore/OutputData/XML/Engineering/Writer/DriverData/XMLEngineeringOverspeedDataWriter.cs @@ -1,11 +1,10 @@ using System.Xml.Linq; using TUGraz.VectoCommon.InputData; -using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Resources; using TUGraz.VectoCore.OutputData.XML.Engineering.Interfaces; using TUGraz.VectoCore.Utils; -namespace TUGraz.VectoCore.OutputData.XML.Engineering.Writer +namespace TUGraz.VectoCore.OutputData.XML.Engineering.Writer.DriverData { internal class XMLEngineeringOverspeedDataWriterV10 : AbstractXMLWriter, IXMLOverspeedDataWriter { @@ -25,17 +24,16 @@ namespace TUGraz.VectoCore.OutputData.XML.Engineering.Writer return new object[] { }; } - if (overspeed.Mode != DriverMode.Off) { + if (overspeed.Enabled) { return new object[] { - new XElement(ns + XMLNames.DriverModel_Overspeed_Mode, overspeed.Mode), + new XElement(ns + XMLNames.DriverModel_Overspeed_Enabled, overspeed.Enabled), new XElement(ns + XMLNames.DriverModel_Overspeed_MinSpeed, overspeed.MinSpeed.AsKmph), new XElement(ns + XMLNames.DriverModel_Overspeed_AllowedOverspeed, overspeed.OverSpeed.AsKmph), - new XElement(ns + XMLNames.DriverModel_Overspeed_AllowedUnderspeed, overspeed.UnderSpeed.AsKmph) }; } return new object[] { - new XElement(ns + XMLNames.DriverModel_Overspeed_Mode, overspeed.Mode), + new XElement(ns + XMLNames.DriverModel_Overspeed_Enabled, overspeed.Enabled), }; } diff --git a/VectoCore/VectoCore/OutputData/XML/Engineering/Writer/DriverData/XMLShiftParmeterDataWriter.cs b/VectoCore/VectoCore/OutputData/XML/Engineering/Writer/DriverData/XMLShiftParmeterDataWriter.cs index 029c2e38d449ce4f1e3fc480e893c151d7a3af9c..c7593a35b4c459d9a8e3565679e0d0a6ae5d2a8d 100644 --- a/VectoCore/VectoCore/OutputData/XML/Engineering/Writer/DriverData/XMLShiftParmeterDataWriter.cs +++ b/VectoCore/VectoCore/OutputData/XML/Engineering/Writer/DriverData/XMLShiftParmeterDataWriter.cs @@ -4,7 +4,7 @@ using TUGraz.VectoCommon.Resources; using TUGraz.VectoCore.OutputData.XML.Engineering.Interfaces; using TUGraz.VectoCore.Utils; -namespace TUGraz.VectoCore.OutputData.XML.Engineering.Writer +namespace TUGraz.VectoCore.OutputData.XML.Engineering.Writer.DriverData { internal class XMLShiftParmeterDataWriterV10 : AbstractXMLWriter, IXMLGearshiftDataWriter { diff --git a/VectoCore/VectoCoreTest/FileIO/SimulationDataReaderTest.cs b/VectoCore/VectoCoreTest/FileIO/SimulationDataReaderTest.cs index d2f3451b6077053fde9142e4cf8b96ccee1ac4f9..494bff0e7e00b95c15d123e5a1339654925ad7a7 100644 --- a/VectoCore/VectoCoreTest/FileIO/SimulationDataReaderTest.cs +++ b/VectoCore/VectoCoreTest/FileIO/SimulationDataReaderTest.cs @@ -91,13 +91,11 @@ namespace TUGraz.VectoCore.Tests.FileIO //Assert.AreEqual(DeclarationData.Driver.LookAhead.Deceleration.Value(), // runData.DriverData.LookAheadCoasting.Deceleration.Value(), Tolerance); - Assert.AreNotEqual(DriverMode.Off, runData.DriverData.OverSpeed.Mode); + Assert.IsTrue(runData.DriverData.OverSpeed.Enabled); Assert.AreEqual(DeclarationData.Driver.OverSpeed.MinSpeed.Value(), runData.DriverData.OverSpeed.MinSpeed.Value(), Tolerance); Assert.AreEqual(DeclarationData.Driver.OverSpeed.AllowedOverSpeed.Value(), runData.DriverData.OverSpeed.OverSpeed.Value(), Tolerance); - Assert.AreEqual(DeclarationData.Driver.OverSpeed.UnderSpeed.Value(), - runData.DriverData.OverSpeed.UnderSpeed.Value(), Tolerance); Assert.AreEqual(3.7890, runData.EngineData.Inertia.Value(), 1e-6); diff --git a/VectoCore/VectoCoreTest/Integration/ATPowerTrain.cs b/VectoCore/VectoCoreTest/Integration/ATPowerTrain.cs index 8d9f9fc0b0e39da74df1ab2c88fc77241c62463b..7c559d2e9541f170f27ecc03707991238a27a606 100644 --- a/VectoCore/VectoCoreTest/Integration/ATPowerTrain.cs +++ b/VectoCore/VectoCoreTest/Integration/ATPowerTrain.cs @@ -238,15 +238,11 @@ namespace TUGraz.VectoCore.Tests.Integration LookAheadDistanceFactor = DeclarationData.Driver.LookAhead.LookAheadDistanceFactor, LookAheadDecisionFactor = new LACDecisionFactor() }, - OverSpeed = overspeed - ? new DriverData.OverSpeedData { - Mode = DriverMode.Overspeed, + OverSpeed = new DriverData.OverSpeedData { + Enabled = overspeed, MinSpeed = 50.KMPHtoMeterPerSecond(), OverSpeed = 5.KMPHtoMeterPerSecond() } - : new DriverData.OverSpeedData { - Mode = DriverMode.Off - }, }; } } diff --git a/VectoCore/VectoCoreTest/Integration/CoachAdvancedAuxPowertrain.cs b/VectoCore/VectoCoreTest/Integration/CoachAdvancedAuxPowertrain.cs index 7f623c19f6b711f1198181a6889eecef23177280..95b83362a83af55008981666bea11dbb2e88e9f4 100644 --- a/VectoCore/VectoCoreTest/Integration/CoachAdvancedAuxPowertrain.cs +++ b/VectoCore/VectoCoreTest/Integration/CoachAdvancedAuxPowertrain.cs @@ -219,15 +219,11 @@ namespace TUGraz.VectoCore.Tests.Integration LookAheadDistanceFactor = DeclarationData.Driver.LookAhead.LookAheadDistanceFactor, LookAheadDecisionFactor = new LACDecisionFactor() }, - OverSpeed = overspeed - ? new DriverData.OverSpeedData { - Mode = DriverMode.Overspeed, + OverSpeed = new DriverData.OverSpeedData { + Enabled = overspeed, MinSpeed = 50.KMPHtoMeterPerSecond(), OverSpeed = 5.KMPHtoMeterPerSecond() } - : new DriverData.OverSpeedData { - Mode = DriverMode.Off - }, }; } } diff --git a/VectoCore/VectoCoreTest/Integration/CoachPowerTrain.cs b/VectoCore/VectoCoreTest/Integration/CoachPowerTrain.cs index 4347dccd755ca1283fdda0990b2265a095c9d1ad..0f16de0c47993cc16f287da03eb4763fc4b95cc0 100644 --- a/VectoCore/VectoCoreTest/Integration/CoachPowerTrain.cs +++ b/VectoCore/VectoCoreTest/Integration/CoachPowerTrain.cs @@ -226,15 +226,11 @@ namespace TUGraz.VectoCore.Tests.Integration LookAheadDistanceFactor = DeclarationData.Driver.LookAhead.LookAheadDistanceFactor, LookAheadDecisionFactor = new LACDecisionFactor() }, - OverSpeed = overspeed - ? new DriverData.OverSpeedData { - Mode = DriverMode.Overspeed, + OverSpeed = new DriverData.OverSpeedData { + Enabled = overspeed, MinSpeed = 50.KMPHtoMeterPerSecond(), OverSpeed = 5.KMPHtoMeterPerSecond() } - : new DriverData.OverSpeedData { - Mode = DriverMode.Off - }, }; } } diff --git a/VectoCore/VectoCoreTest/Integration/SimulationRuns/FullPowertrain.cs b/VectoCore/VectoCoreTest/Integration/SimulationRuns/FullPowertrain.cs index 274b48027e58dfa122ac54a997b3e97063c4c9ef..168b2dd797151a04da29328d51cf10be6ad1268d 100644 --- a/VectoCore/VectoCoreTest/Integration/SimulationRuns/FullPowertrain.cs +++ b/VectoCore/VectoCoreTest/Integration/SimulationRuns/FullPowertrain.cs @@ -446,7 +446,7 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns LookAheadDecisionFactor = new LACDecisionFactor() }, OverSpeed = new DriverData.OverSpeedData { - Mode = DriverMode.Off + Enabled = false }, }; } diff --git a/VectoCore/VectoCoreTest/Integration/SimulationRuns/MinimalPowertrain.cs b/VectoCore/VectoCoreTest/Integration/SimulationRuns/MinimalPowertrain.cs index 37dc15e9d42dfdcb0b5467fda577f15d79661792..a04d079d9599464098755264b715cad8f37c5604 100644 --- a/VectoCore/VectoCoreTest/Integration/SimulationRuns/MinimalPowertrain.cs +++ b/VectoCore/VectoCoreTest/Integration/SimulationRuns/MinimalPowertrain.cs @@ -313,7 +313,7 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns LookAheadDecisionFactor = new LACDecisionFactor() }, OverSpeed = new DriverData.OverSpeedData { - Mode = DriverMode.Off + Enabled = false }, }; } diff --git a/VectoCore/VectoCoreTest/Integration/Truck40tPowerTrain.cs b/VectoCore/VectoCoreTest/Integration/Truck40tPowerTrain.cs index fe9ccf24b83c3cd4759b6a148b7b94096e0381f2..e39c805b85e8bc2e94541a93410ae3fff6f1cf56 100644 --- a/VectoCore/VectoCoreTest/Integration/Truck40tPowerTrain.cs +++ b/VectoCore/VectoCoreTest/Integration/Truck40tPowerTrain.cs @@ -255,15 +255,11 @@ namespace TUGraz.VectoCore.Tests.Integration LookAheadDistanceFactor = DeclarationData.Driver.LookAhead.LookAheadDistanceFactor, LookAheadDecisionFactor = new LACDecisionFactor() }, - OverSpeed = overspeed - ? new DriverData.OverSpeedData() { - Mode = DriverMode.Overspeed, + OverSpeed = new DriverData.OverSpeedData() { + Enabled = overspeed, MinSpeed = 50.KMPHtoMeterPerSecond(), OverSpeed = 5.KMPHtoMeterPerSecond(), } - : new DriverData.OverSpeedData { - Mode = DriverMode.Off - }, }; } } diff --git a/VectoCore/VectoCoreTest/Models/SimulationComponent/DriverTest.cs b/VectoCore/VectoCoreTest/Models/SimulationComponent/DriverTest.cs index b4d4bdb269d4be4750c5c67587a4ffd94f7ed066..e0706b0f16c3d98605b319ccd2e14c2839eec485 100644 --- a/VectoCore/VectoCoreTest/Models/SimulationComponent/DriverTest.cs +++ b/VectoCore/VectoCoreTest/Models/SimulationComponent/DriverTest.cs @@ -437,7 +437,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent //Deceleration = -0.5.SI<MeterPerSquareSecond>() }, OverSpeed = new DriverData.OverSpeedData { - Mode = DriverMode.Off + Enabled = false }, }; } diff --git a/VectoCore/VectoCoreTest/XML/XMLEngineeringInputRefTest.cs b/VectoCore/VectoCoreTest/XML/XMLEngineeringInputRefTest.cs index f50341906f22a6b013b56a008b3ef2754a12b731..0824fbc2d062299a826f32c0bc7947b0d24b3b93 100644 --- a/VectoCore/VectoCoreTest/XML/XMLEngineeringInputRefTest.cs +++ b/VectoCore/VectoCoreTest/XML/XMLEngineeringInputRefTest.cs @@ -265,7 +265,7 @@ namespace TUGraz.VectoCore.Tests.XML var adas = inputDataProvider.DriverInputData; - Assert.AreEqual(DriverMode.Overspeed, adas.OverSpeedData.Mode); + Assert.IsTrue(adas.OverSpeedData.Enabled); } [TestCase] diff --git a/VectoCore/VectoCoreTest/XML/XMLEngineeringInputSingleTest.cs b/VectoCore/VectoCoreTest/XML/XMLEngineeringInputSingleTest.cs index 98c74ef065d3b1da151db0ae4001884c63faf18a..694f361cd7ff63afdd51d91254b14864db752fe5 100644 --- a/VectoCore/VectoCoreTest/XML/XMLEngineeringInputSingleTest.cs +++ b/VectoCore/VectoCoreTest/XML/XMLEngineeringInputSingleTest.cs @@ -375,7 +375,7 @@ namespace TUGraz.VectoCore.Tests.XML var adas = inputDataProvider.DriverInputData; - Assert.AreEqual(DriverMode.Overspeed, adas.OverSpeedData.Mode); + Assert.IsTrue(adas.OverSpeedData.Enabled); } [TestCase] @@ -412,10 +412,9 @@ namespace TUGraz.VectoCore.Tests.XML Assert.AreEqual(DeclarationData.Driver.LookAhead.MinimumSpeed.AsKmph, lac.MinSpeed.AsKmph, 1e-6); var overspeed = driverDataProvider.OverSpeedData; - Assert.AreEqual(DriverMode.Overspeed, overspeed.Mode); + Assert.IsTrue(overspeed.Enabled); Assert.AreEqual(50, overspeed.MinSpeed.AsKmph, 1e-6); Assert.AreEqual(5, overspeed.OverSpeed.AsKmph, 1e-6); - Assert.AreEqual(5, overspeed.UnderSpeed.AsKmph, 1e-6); var driverAcc = driverDataProvider.AccelerationCurve.AccelerationCurve; Assert.AreEqual(2, driverAcc.Rows.Count); @@ -561,10 +560,9 @@ namespace TUGraz.VectoCore.Tests.XML Assert.AreEqual("1", lac.CoastingDecisionFactorVelocityDropLookup.Rows[1][1]); var overspeed = driverDataProvider.OverSpeedData; - Assert.AreEqual(DriverMode.Overspeed, overspeed.Mode); + Assert.IsTrue(overspeed.Enabled); Assert.AreEqual(50, overspeed.MinSpeed.AsKmph, 1e-6); Assert.AreEqual(5, overspeed.OverSpeed.AsKmph, 1e-6); - Assert.AreEqual(5, overspeed.UnderSpeed.AsKmph, 1e-6); var driverAcc = driverDataProvider.AccelerationCurve.AccelerationCurve; Assert.AreEqual(2, driverAcc.Rows.Count);