From a50b0aa5bdbe43ec4371a1f7e1bb578b9501b159 Mon Sep 17 00:00:00 2001
From: Markus Quaritsch <markus.quaritsch@tugraz.at>
Date: Mon, 27 May 2019 18:24:39 +0200
Subject: [PATCH]  in case a requestDisengaged (driver model) fails and the
 gearbox is re-engaged, try a requestEngaged again.

---
 .../SimulationComponent/Impl/DefaultDriverStrategy.cs    | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs
index 2dc82a9a78..1c926f3c48 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs
@@ -431,9 +431,14 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 				}
 
 				throw new VectoException("HandleRequestEngaged found no operating point.");
-			} else {
-				return HandleRequestDisengaged(absTime, ds, gradient, velocity, debug);
+			} 
+
+			var response = HandleRequestDisengaged(absTime, ds, gradient, velocity, debug);
+			if (!(response is ResponseSuccess) && DataBus.ClutchClosed(absTime)) {
+				response = HandleRequestEngaged(absTime, ds, targetVelocity, gradient, prohibitOverspeed, velocity, debug);
 			}
+			
+			return response;
 		}
 
 		private IResponse HandleRequestDisengaged(
-- 
GitLab