Code development platform for open source projects from the European Union institutions :large_blue_circle: EU Login authentication by SMS will be completely phased out by mid-2025. To see alternatives please check here

Skip to content
Snippets Groups Projects
Commit 77853d19 authored by Michael KRISPER's avatar Michael KRISPER
Browse files

ICombustionEngineIdleController --> IIdleController

parent 4acd62f1
No related branches found
No related tags found
No related merge requests found
Showing
with 24 additions and 26 deletions
......@@ -43,6 +43,6 @@ namespace TUGraz.VectoCore.Models.SimulationComponent
public interface IClutch : IPowerTrainComponent
{
//ITnOutPort IdleControlPort { get; }
ICombustionEngineIdleController IdleController { get; set; }
IIdleController IdleController { get; set; }
}
}
\ No newline at end of file
......@@ -39,6 +39,6 @@ namespace TUGraz.VectoCore.Models.SimulationComponent
/// </summary>
public interface ICombustionEngine : ITnOutProvider, IAuxOutProvider, IEngineInfo
{
ICombustionEngineIdleController IdleController { get; }
IIdleController IdleController { get; }
}
}
\ No newline at end of file
......@@ -37,8 +37,5 @@ namespace TUGraz.VectoCore.Models.SimulationComponent
/// <summary>
/// Defines interfaces for a gearbox.
/// </summary>
public interface IGearbox : IPowerTrainComponent, IAuxOutProvider, IGearboxInfo
{
PTOEngineCycleController PTOController { get; set; }
}
public interface IGearbox : IPowerTrainComponent, IAuxOutProvider, IGearboxInfo {}
}
\ No newline at end of file
......@@ -33,7 +33,7 @@ using TUGraz.VectoCore.Models.Connector.Ports;
namespace TUGraz.VectoCore.Models.SimulationComponent
{
public interface ICombustionEngineIdleController : ITnOutPort
public interface IIdleController : ITnOutPort
{
ITnOutPort RequestPort { set; }
......
......@@ -32,11 +32,11 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
TorqueConverter = new TorqueConverter(this, Strategy, container, gearboxModelData.TorqueConverterData);
}
private ICombustionEngineIdleController _idleController;
private IIdleController _idleController;
public bool TorqueConverterLocked { get; protected internal set; }
public ICombustionEngineIdleController IdleController
public IIdleController IdleController
{
get { return _idleController; }
set
......
......@@ -88,7 +88,6 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
#endregion
public abstract bool ClutchClosed(Second absTime);
public PTOEngineCycleController PTOController { get; set; }
}
public class GearboxState : SimpleComponentState
......
......@@ -50,7 +50,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
private const double ClutchEff = 1;
private ClutchState _clutchState = ClutchState.ClutchSlipping;
public ICombustionEngineIdleController IdleController
public IIdleController IdleController
{
get { return _idleController; }
set
......@@ -61,7 +61,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
}
private readonly SI _clutchSpeedSlippingFactor;
private ICombustionEngineIdleController _idleController;
private IIdleController _idleController;
protected Clutch(IVehicleContainer container) : base(container) {}
......
......@@ -128,7 +128,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
get { return ModelData.FullLoadCurve.N95hSpeed; }
}
public ICombustionEngineIdleController IdleController
public IIdleController IdleController
{
get { return EngineIdleController ?? (EngineIdleController = new CombustionEngineIdleController(this)); }
}
......@@ -481,7 +481,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
// ReSharper disable once InconsistentNaming
}
protected class CombustionEngineIdleController : LoggingObject, ICombustionEngineIdleController
protected class CombustionEngineIdleController : LoggingObject, IIdleController
{
protected readonly double PeDropSlope = -0.75;
protected readonly double PeDropOffset = 1.0;
......
......@@ -8,12 +8,16 @@ using TUGraz.VectoCore.Models.SimulationComponent.Data;
namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
{
public class PTOEngineCycleController : PowertrainDrivingCycle, ICombustionEngineIdleController
public class PTOCycleController : PowertrainDrivingCycle, IIdleController
{
public ITnOutPort RequestPort { get; set; }
public ITnOutPort RequestPort
{
set { NextComponent = value; }
}
protected Second IdleStart;
public PTOEngineCycleController(IVehicleContainer container, DrivingCycleData cycle)
public PTOCycleController(IVehicleContainer container, DrivingCycleData cycle)
: base(container, cycle) {}
public IResponse Request(Second absTime, Second dt, NewtonMeter outTorque, PerSecond outAngularVelocity,
......@@ -28,7 +32,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
if (IdleStart == null) {
IdleStart = absTime;
}
return base.Request(absTime, dt);
return base.Request(absTime - IdleStart, dt);
}
public IResponse Initialize(NewtonMeter outTorque, PerSecond outAngularVelocity)
......@@ -47,5 +51,10 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
IdleStart = null;
}
public Second GetNextCycleTime()
{
return IdleStart + RightSample.Current.Time;
}
}
}
\ No newline at end of file
......@@ -77,11 +77,6 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
AbsTime = 0.SI<Second>();
}
protected PowertrainDrivingCycle(IVehicleContainer container) : base(container)
{
AbsTime = 0.SI<Second>();
}
#region ISimulationOutPort
public IResponse Request(Second absTime, Meter ds)
......
......@@ -122,7 +122,5 @@ namespace TUGraz.VectoCore.Tests.Utils
{
throw new NotImplementedException();
}
public PTOEngineCycleController PTOController { get; set; }
}
}
\ No newline at end of file
......@@ -37,7 +37,7 @@ using TUGraz.VectoCore.Models.SimulationComponent;
namespace TUGraz.VectoCore.Tests.Utils
{
public class MockIdleController : ICombustionEngineIdleController
public class MockIdleController : IIdleController
{
public IResponse Request(Second absTime, Second dt, NewtonMeter outTorque, PerSecond outAngularVelocity, bool dryRun = false)
{
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment