From d205dbc41890f830c0d47124c395717c4bb515fd Mon Sep 17 00:00:00 2001
From: Markus Quaritsch <markus.quaritsch@tugraz.at>
Date: Thu, 23 Apr 2020 08:41:26 +0200
Subject: [PATCH] fix: completed vehicle: use max from vehicle and engine as
 idle speed

---
 .../Models/GenericModelData/GenericBusEngineData.cs    | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/VectoCore/VectoCore/Models/GenericModelData/GenericBusEngineData.cs b/VectoCore/VectoCore/Models/GenericModelData/GenericBusEngineData.cs
index 9e66b0feb5..a2612fa5ac 100644
--- a/VectoCore/VectoCore/Models/GenericModelData/GenericBusEngineData.cs
+++ b/VectoCore/VectoCore/Models/GenericModelData/GenericBusEngineData.cs
@@ -52,9 +52,9 @@ namespace TUGraz.VectoCore.Models.Declaration
 			}
 			var engineData = primaryVehicle.Components.EngineInputData;
 			var gearbox = primaryVehicle.Components.GearboxInputData;
-
+			var idleSpeed = VectoMath.Max(engineData.EngineModes[modeIdx].IdleSpeed, primaryVehicle.EngineIdleSpeed);
 			var engine = new CombustionEngineData {
-				IdleSpeed = engineData.EngineModes[modeIdx].IdleSpeed,
+				IdleSpeed = idleSpeed,
 				Displacement = engineData.Displacement,
 				WHRType = WHRType.None,
 				Inertia = DeclarationData.Engine.EngineInertia(engineData.Displacement, gearbox.Type),
@@ -80,7 +80,7 @@ namespace TUGraz.VectoCore.Models.Declaration
 			engine.FullLoadCurves = fullLoadCurves;
 			
 
-			var fuel = GetCombustionEngineFuelData(primaryVehicle.Components.EngineInputData.EngineModes[modeIdx], fullLoadCurves[0]);
+			var fuel = GetCombustionEngineFuelData(primaryVehicle.Components.EngineInputData.EngineModes[modeIdx], fullLoadCurves[0], idleSpeed);
 			
 			
 
@@ -127,11 +127,11 @@ namespace TUGraz.VectoCore.Models.Declaration
 		}
 
 		private CombustionEngineFuelData GetCombustionEngineFuelData(IEngineModeDeclarationInputData engineMode,
-			EngineFullLoadCurve fullLoadCurve)
+			EngineFullLoadCurve fullLoadCurve, PerSecond idleSpeed)
 		{
 			var ressourceId = GetEngineRessourceId(engineMode);
 
-			var nIdle = engineMode.IdleSpeed.AsRPM;
+			var nIdle = idleSpeed.AsRPM;
 			var ratedSpeed = fullLoadCurve.RatedSpeed.AsRPM;
 			var maxTorque = fullLoadCurve.MaxTorque.Value();
 			
-- 
GitLab