From 0f91fff45d58bfce37ac9b906a393aab88213cd2 Mon Sep 17 00:00:00 2001 From: Markus Quaritsch <markus.quaritsch@tugraz.at> Date: Wed, 4 Sep 2019 09:59:10 +0200 Subject: [PATCH] turn engine on (if it is off) and no eco-roll or pcc action is active --- .../SimulationComponent/Impl/DefaultDriverStrategy.cs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs index 91caf0f824..0e5bdf0159 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs @@ -194,6 +194,12 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl HandleEcoRoll(absTime, targetVelocity); } + if (EcoRollState.State != EcoRollStates.EcoRollOn && PCCState != PCCStates.UseCase1 && + PCCState != PCCStates.UseCase2) { + EngineOffTimestamp = null; + Driver.DataBus.IgnitionOn = true; + } + if (CurrentDrivingMode == DrivingMode.DrivingModeBrake) { if (Driver.DataBus.Distance.IsGreaterOrEqual(BrakeTrigger.TriggerDistance, 1e-3.SI<Meter>())) { CurrentDrivingMode = DrivingMode.DrivingModeDrive; @@ -392,6 +398,11 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl var dBus = Driver.DataBus; var vehicleSpeedAboveLowerThreshold = dBus.VehicleSpeed >= Driver.DriverData.EcoRoll.MinSpeed; var slopeNegative = dBus.RoadGradient.IsSmaller(0); + // potential optimization... + //if (EcoRollState.State != EcoRollStates.EcoRollOn && !slopeNegative) { + // EcoRollState.State = EcoRollStates.EcoRollOff; + // return; + //} var forces = dBus.SlopeResistance(dBus.RoadGradient) + dBus.RollingResistance(dBus.RoadGradient) + dBus.AirDragResistance(dBus.VehicleSpeed, dBus.VehicleSpeed); -- GitLab