From f21be59db453d74e74b4669d2a68c09b5ec706c4 Mon Sep 17 00:00:00 2001 From: Markus Quaritsch <markus.quaritsch@tugraz.at> Date: Mon, 31 Dec 2018 13:19:54 +0100 Subject: [PATCH] add info about current gradient to data bus --- .../VectoCore/Models/Simulation/Impl/VehicleContainer.cs | 5 +++++ .../Models/SimulationComponent/IDrivingCycleInfo.cs | 2 ++ .../SimulationComponent/Impl/DistanceBasedDrivingCycle.cs | 3 +++ .../SimulationComponent/Impl/MeasuredSpeedDrivingCycle.cs | 2 ++ .../SimulationComponent/Impl/PowertrainDrivingCycle.cs | 2 ++ VectoCore/VectoCoreTest/Utils/MockAuxiliaryDemand.cs | 2 ++ VectoCore/VectoCoreTest/Utils/MockVehicleContainer.cs | 1 + 7 files changed, 17 insertions(+) diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/VehicleContainer.cs b/VectoCore/VectoCore/Models/Simulation/Impl/VehicleContainer.cs index a6e16a6e0a..b06f9f3f59 100644 --- a/VectoCore/VectoCore/Models/Simulation/Impl/VehicleContainer.cs +++ b/VectoCore/VectoCore/Models/Simulation/Impl/VehicleContainer.cs @@ -425,6 +425,11 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl get { return Driver != null ? Driver.DriverAcceleration : 0.SI<MeterPerSquareSecond>(); } } + public Radian RoadGradient + { + get { return DrivingCycle.RoadGradient; } + } + public Meter CycleStartDistance { get { return DrivingCycle == null ? 0.SI<Meter>() : DrivingCycle.CycleStartDistance; } diff --git a/VectoCore/VectoCore/Models/SimulationComponent/IDrivingCycleInfo.cs b/VectoCore/VectoCore/Models/SimulationComponent/IDrivingCycleInfo.cs index 71bde5add4..b1dbbb4f80 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/IDrivingCycleInfo.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/IDrivingCycleInfo.cs @@ -58,6 +58,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent Meter Altitude { get; } + Radian RoadGradient { get; } + Meter CycleStartDistance { get; } IReadOnlyList<DrivingCycleData.DrivingCycleEntry> LookAhead(Meter lookaheadDistance); diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs index 41e0fb4be6..880d2db7d8 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs @@ -496,6 +496,9 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl get { return PreviousState.Altitude; } } + public Radian RoadGradient { get { return CurrentState.Gradient; } } + + public sealed class DrivingCycleState { public DrivingCycleState Clone() diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/MeasuredSpeedDrivingCycle.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/MeasuredSpeedDrivingCycle.cs index 488de7cd83..0a034b7e93 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/MeasuredSpeedDrivingCycle.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/MeasuredSpeedDrivingCycle.cs @@ -360,6 +360,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl get { return CycleIterator.LeftSample.Altitude; } } + public Radian RoadGradient { get { return CycleIterator.LeftSample.RoadGradient; } } + public Meter CycleStartDistance { get { return 0.SI<Meter>(); } diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/PowertrainDrivingCycle.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/PowertrainDrivingCycle.cs index 8ab87a9c10..ca9a5ad198 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/PowertrainDrivingCycle.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/PowertrainDrivingCycle.cs @@ -203,6 +203,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl get { return 0.SI<Meter>(); } } + public Radian RoadGradient { get { return 0.SI<Radian>(); } } + public Meter CycleStartDistance { get { return 0.SI<Meter>(); } diff --git a/VectoCore/VectoCoreTest/Utils/MockAuxiliaryDemand.cs b/VectoCore/VectoCoreTest/Utils/MockAuxiliaryDemand.cs index 5727095d70..e7c52d8c31 100644 --- a/VectoCore/VectoCoreTest/Utils/MockAuxiliaryDemand.cs +++ b/VectoCore/VectoCoreTest/Utils/MockAuxiliaryDemand.cs @@ -88,6 +88,8 @@ namespace TUGraz.VectoCore.Tests.Utils get { return 0.SI<Meter>(); } } + public Radian RoadGradient { get { return 0.SI<Radian>(); } } + protected override void DoWriteModalResults(IModalDataContainer container) { container[ModalResultField.dist] = 0.SI<Meter>(); diff --git a/VectoCore/VectoCoreTest/Utils/MockVehicleContainer.cs b/VectoCore/VectoCoreTest/Utils/MockVehicleContainer.cs index 51429c000e..297349fcf0 100644 --- a/VectoCore/VectoCoreTest/Utils/MockVehicleContainer.cs +++ b/VectoCore/VectoCoreTest/Utils/MockVehicleContainer.cs @@ -163,6 +163,7 @@ namespace TUGraz.VectoCore.Tests.Utils } public Watt BrakePower { get; set; } + public Radian RoadGradient { get; set; } public Meter CycleStartDistance { get; set; } public IReadOnlyList<DrivingCycleData.DrivingCycleEntry> LookAhead(Meter lookaheadDistance) -- GitLab