From 83ac8234df464a617473bbd4feeb5ddb3651f38c Mon Sep 17 00:00:00 2001
From: Michael Krisper <michael.krisper@tugraz.at>
Date: Fri, 11 Nov 2016 16:01:54 +0100
Subject: [PATCH] AT ShiftStrategy: Check if upshift is possible (even in
 emergency upshift)

---
 .../Models/SimulationComponent/Impl/ATShiftStrategy.cs          | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/ATShiftStrategy.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/ATShiftStrategy.cs
index 411d17352d..30759237be 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/ATShiftStrategy.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/ATShiftStrategy.cs
@@ -126,7 +126,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 			}
 
 			// Emergency Upshift: if higher than engine rated speed
-			if (inAngularVelocity.IsGreaterOrEqual(DataBus.EngineRatedSpeed)) {
+			if (inAngularVelocity.IsGreaterOrEqual(DataBus.EngineRatedSpeed) && Data.Gears.ContainsKey(gear + 1)) {
 				Log.Debug("engine speed would be above rated speed - shift up");
 				Upshift(absTime, gear);
 				return true;
-- 
GitLab