diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs index dd9f6ff97fa6a07d7c138a0b95fbf06e6f59a838..6537f031fbd106f6293dd1303979a7cdec869d1c 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs @@ -1297,6 +1297,10 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl } else { response = Driver.DrivingActionRoll(absTime, ds, targetVelocity, gradient); debug.Add("[DMB-DB-9] Roll", response); + if (!(response is ResponseSuccess) && DataBus.HybridControllerCtl != null) { + response = Driver.DrivingActionRoll(absTime, ds, targetVelocity, gradient); + debug.Add("[DMB-DB-10] Roll", response); + } } switch (response) { diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Strategies/HybridStrategy.cs b/VectoCore/VectoCore/Models/SimulationComponent/Strategies/HybridStrategy.cs index 44d00dcfe86ad01bea8313769f63d9452fc85c03..669132a8cf95aa2fc1905d6f7afd204b7e29dcde 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Strategies/HybridStrategy.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Strategies/HybridStrategy.cs @@ -1459,7 +1459,11 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Strategies protected virtual void HandleRollAction(Second absTime, Second dt, NewtonMeter outTorque, PerSecond outAngularVelocity, bool dryRun, List<HybridResultEntry> eval) { - eval.Add(ResponseEmOff); + var tmp = ResponseEmOff; + if (AllowEmergencyShift) { + tmp.Setting.GearboxInNeutral = true; + } + eval.Add(tmp); // in case of P3 or P4 the EM could propell/recuperate during roll acttion. but as we have no information // what the real vehicle does lets skip this