diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/Shiftstrategies/APTNShiftStrategy.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/Shiftstrategies/APTNShiftStrategy.cs index b449fe794b3f01f412412075a59b100c0f66bc64..610f937aa63d7b8f975dccaac9e217b9e60cf082 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/Shiftstrategies/APTNShiftStrategy.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/Shiftstrategies/APTNShiftStrategy.cs @@ -1,6 +1,7 @@ using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Models.Simulation; +using TUGraz.VectoCore.Configuration; namespace TUGraz.VectoCore.Models.SimulationComponent.Impl.Shiftstrategies { @@ -47,5 +48,12 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl.Shiftstrategies { return base.DoCheckUpshift(absTime, dt, outTorque, outAngularVelocity, inTorque, inAngularVelocity, currentGear, r); } + + public override bool ShiftRequired(Second absTime, Second dt, NewtonMeter outTorque, PerSecond outAngularVelocity, NewtonMeter inTorque, + PerSecond inAngularVelocity, GearshiftPosition gear, Second lastShiftTime, IResponse response) + { + var shiftAllowed = !dt.IsSmaller(Constants.SimulationSettings.TargetTimeInterval / 10); + return shiftAllowed && base.ShiftRequired(absTime, dt, outTorque, outAngularVelocity, inTorque, inAngularVelocity, gear, lastShiftTime, response) ; + } } } \ No newline at end of file diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/Shiftstrategies/PEVAMTShiftStrategy.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/Shiftstrategies/PEVAMTShiftStrategy.cs index 0774f7e19b8afa5def779ca943473e82e48479bd..262e96afbdb814835ecdb1babde4e3ba5de621f4 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/Shiftstrategies/PEVAMTShiftStrategy.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/Shiftstrategies/PEVAMTShiftStrategy.cs @@ -213,7 +213,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl.Shiftstrategies #region Implementation of IShiftStrategy - public bool ShiftRequired(Second absTime, Second dt, NewtonMeter outTorque, PerSecond outAngularVelocity, NewtonMeter inTorque, + public virtual bool ShiftRequired(Second absTime, Second dt, NewtonMeter outTorque, PerSecond outAngularVelocity, NewtonMeter inTorque, PerSecond inAngularVelocity, GearshiftPosition gear, Second lastShiftTime, IResponse response) { CheckGearshiftRequired = true;