From 6832d935f2143f749c072eca865f68f2c4fd7534 Mon Sep 17 00:00:00 2001
From: Markus Quaritsch <markus.quaritsch@tugraz.at>
Date: Thu, 24 Jan 2019 08:54:49 +0100
Subject: [PATCH] driver model: handle the case of  too high speed after
 gearshift and roll action.

---
 .../Models/SimulationComponent/Impl/DefaultDriverStrategy.cs  | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs
index 62b5c11890..270ec4ecc2 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs
@@ -750,6 +750,10 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 			response.Switch().
 				Case<ResponseGearShift>(r => {
 					response = Driver.DrivingActionRoll(absTime, ds, targetVelocity, gradient);
+						if (response is ResponseSpeedLimitExceeded) {
+							response = Driver.DrivingActionBrake(absTime, ds, DataBus.VehicleSpeed,
+																gradient);
+						}
 				}).
 				Case<ResponseSpeedLimitExceeded>(() => {
 					response = Driver.DrivingActionBrake(absTime, ds, DataBus.VehicleSpeed,
-- 
GitLab