diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DrivingCycleProxy.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DrivingCycleProxy.cs index 079964e83be8668b3bbbaa065c070b99baa3f002..0045ee7d7c34262053f82ee5239ca158eb355d10 100644 --- a/VectoCore/VectoCore/InputData/Reader/Impl/DrivingCycleProxy.cs +++ b/VectoCore/VectoCore/InputData/Reader/Impl/DrivingCycleProxy.cs @@ -46,7 +46,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl } [JsonIgnore] - public List<DrivingCycleData.DrivingCycleEntry> Entries { get; private set; } + public List<DrivingCycleData.DrivingCycleEntry> Entries { get; protected internal set; } public string Name { get; private set; } diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs index 2da207c37a29e28851c8ec8121a92753b9eb0cd3..f939777d2f6a43bde3398def11fbeec6671588d4 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs @@ -99,6 +99,18 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl public IResponse Initialize() { + CycleStartDistance = Data.Entries.Count > 0 ? Data.Entries.First().Distance : 0.SI<Meter>(); + CycleEndDistance = Data.Entries.Count > 0 ? Data.Entries.Last().Distance : 0.SI<Meter>(); + var first = Data.Entries.First(); + PreviousState = new DrivingCycleState { + AbsTime = 0.SI<Second>(), + WaitTime = 0.SI<Second>(), + Distance = first.Distance, + Altitude = first.Altitude, + VehicleTargetSpeed = Data.Entries.First().VehicleTargetSpeed + }; + CurrentState = PreviousState.Clone(); + if (Left.VehicleTargetSpeed.IsEqual(0)) { var retVal = NextComponent.Initialize(StartSpeed, Left.RoadGradient, StartAcceleration);