Skip to content

Commit b7b097b

Browse files
committed
Remove filtered force as it is no longer necessary
1 parent a10de3a commit b7b097b

File tree

3 files changed

+12
-35
lines changed

3 files changed

+12
-35
lines changed

Source/Orts.Simulation/Simulation/RollingStocks/MSTSDieselLocomotive.cs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1032,11 +1032,8 @@ public string GetDpuStatus(bool dataDpu, CABViewControlUnits loadUnits = CABView
10321032

10331033
// Load
10341034
var data = 0f;
1035-
if (FilteredTractiveForceN != 0)
1036-
data = Math.Abs(this.FilteredTractiveForceN);
1037-
else
1038-
data = Math.Abs(TractiveForceN);
1039-
if (DynamicBrakePercent > 0)
1035+
data = Math.Abs(TractiveForceN);
1036+
if (DynamicBrakeForceN > 0)
10401037
{
10411038
data = -Math.Abs(DynamicBrakeForceN);
10421039
}

Source/Orts.Simulation/Simulation/RollingStocks/MSTSLocomotive.cs

Lines changed: 7 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -508,13 +508,10 @@ public enum TractionMotorTypes
508508
public ILocomotivePowerSupply LocomotivePowerSupply => PowerSupply as ILocomotivePowerSupply;
509509
public ScriptedTrainControlSystem TrainControlSystem;
510510

511-
public IIRFilter CurrentFilter;
512511
public IIRFilter AdhesionFilter;
513512
public float SaveAdhesionFilter;
514513
public float AdhesionConditions;
515514

516-
public float FilteredTractiveForceN;
517-
518515
public double CommandStartTime;
519516

520517
public double LastBrakeSoundTime = 0;
@@ -535,7 +532,6 @@ public MSTSLocomotive(Simulator simulator, string wagPath)
535532
BrakeCutsPowerAtBrakeCylinderPressurePSI = 4.0f;
536533

537534
LocomotiveAxles.Add(new Axle());
538-
CurrentFilter = new IIRFilter(IIRFilter.FilterTypes.Butterworth, 1, IIRFilter.HzToRad(0.5f), 0.001f);
539535
AdhesionFilter = new IIRFilter(IIRFilter.FilterTypes.Butterworth, 1, IIRFilter.HzToRad(1f), 0.001f);
540536
AFMFilter = new IIRFilter(IIRFilter.FilterTypes.Butterworth, 1, IIRFilter.HzToRad(0.1f), 1.0f);
541537

@@ -2220,7 +2216,6 @@ public override void Update(float elapsedClockSeconds)
22202216
AntiSlip = true; // Always set AI trains to AntiSlip
22212217
SimpleAdhesion(); // Simple adhesion model used for AI trains
22222218
AdvancedAdhesionModel = false;
2223-
if (Train.IsActualPlayerTrain) FilteredTractiveForceN = CurrentFilter.Filter(TractiveForceN, elapsedClockSeconds);
22242219
WheelSpeedMpS = Flipped ? -AbsSpeedMpS : AbsSpeedMpS; //make the wheels go round
22252220
break;
22262221
case Train.TRAINTYPE.STATIC:
@@ -2278,9 +2273,6 @@ public override void Update(float elapsedClockSeconds)
22782273
if (WheelslipCausesThrottleDown && WheelSlip)
22792274
ThrottleController.SetValue(0.0f);
22802275
}
2281-
2282-
//Force to display
2283-
FilteredTractiveForceN = CurrentFilter.Filter(TractiveForceN, elapsedClockSeconds);
22842276
break;
22852277
default:
22862278
break;
@@ -5450,10 +5442,7 @@ public virtual float GetDataOf(CabViewControl cvc)
54505442
{
54515443
//float rangeFactor = direction == 0 ? (float)cvc.MaxValue : (float)cvc.MinValue;
54525444
float rangeFactor = direction == 0 ? MaxCurrentA : (float)cvc.MinValue;
5453-
if (FilteredTractiveForceN != 0)
5454-
data = FilteredTractiveForceN / MaxForceN * rangeFactor;
5455-
else
5456-
data = TractionForceN / MaxForceN * rangeFactor;
5445+
data = TractionForceN / MaxForceN * rangeFactor;
54575446
data = Math.Abs(data);
54585447
}
54595448
if (DynamicBrakeForceN > 0)
@@ -5496,10 +5485,7 @@ public virtual float GetDataOf(CabViewControl cvc)
54965485
data = 0.0f;
54975486
if (TractionForceN > 0)
54985487
{
5499-
if (FilteredTractiveForceN != 0)
5500-
data = FilteredTractiveForceN / MaxForceN * MaxCurrentA;
5501-
else
5502-
data = TractiveForceN / MaxForceN * MaxCurrentA;
5488+
data = TractiveForceN / MaxForceN * MaxCurrentA;
55035489
data = Math.Abs(data);
55045490
}
55055491
if (DynamicBrakeForceN > 0)
@@ -5517,10 +5503,7 @@ public virtual float GetDataOf(CabViewControl cvc)
55175503
if (cvc is CVCGauge && ((CVCGauge)cvc).Orientation == 0)
55185504
direction = ((CVCGauge)cvc).Direction;
55195505
data = 0.0f;
5520-
if (FilteredTractiveForceN != 0)
5521-
data = FilteredTractiveForceN;
5522-
else
5523-
data = TractiveForceN;
5506+
data = TractiveForceN;
55245507
if (DynamicBrakeForceN > 0)
55255508
{
55265509
data = DynamicBrakeForceN;
@@ -5565,10 +5548,7 @@ public virtual float GetDataOf(CabViewControl cvc)
55655548
if (cvc is CVCGauge && ((CVCGauge)cvc).Orientation == 0)
55665549
direction = ((CVCGauge)cvc).Direction;
55675550
data = 0.0f;
5568-
if (FilteredTractiveForceN != 0)
5569-
data = Math.Abs(FilteredTractiveForceN);
5570-
else
5571-
data = Math.Abs(TractiveForceN);
5551+
data = Math.Abs(TractiveForceN);
55725552
if (DynamicBrake && DynamicBrakePercent > 0)
55735553
{
55745554
data = -Math.Abs(DynamicBrakeForceN);
@@ -5614,9 +5594,9 @@ public virtual float GetDataOf(CabViewControl cvc)
56145594
data = 0.0f;
56155595
if (Math.Abs(SpeedMpS) == 0.0f)
56165596
data = 0.0f;
5617-
else if (Math.Abs(FilteredTractiveForceN) - Math.Abs(BrakeForceN + DynamicBrakeForceN) > 0)
5618-
data = Math.Abs(FilteredTractiveForceN);
5619-
else if (Math.Abs(FilteredTractiveForceN) - Math.Abs(BrakeForceN + DynamicBrakeForceN) < 0)
5597+
else if (Math.Abs(TractiveForceN) - Math.Abs(BrakeForceN + DynamicBrakeForceN) > 0)
5598+
data = Math.Abs(TractiveForceN);
5599+
else if (Math.Abs(TractiveForceN) - Math.Abs(BrakeForceN + DynamicBrakeForceN) < 0)
56205600
data = -Math.Abs(BrakeForceN + DynamicBrakeForceN);
56215601
switch (cvc.Units)
56225602
{

Source/Orts.Simulation/Simulation/RollingStocks/SubSystems/CruiseControl.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1492,11 +1492,11 @@ public float GetDataOf(CabViewControl cvc)
14921492
}
14931493
break;
14941494
case CABViewControlTypes.ORTS_MOTIVE_FORCE:
1495-
data = Locomotive.FilteredTractiveForceN;
1495+
data = Locomotive.TractiveForceN;
14961496
break;
14971497
case CABViewControlTypes.ORTS_MOTIVE_FORCE_KILONEWTON:
1498-
if (Locomotive.FilteredTractiveForceN > Locomotive.DynamicBrakeForceN)
1499-
data = (float)Math.Round(Locomotive.FilteredTractiveForceN / 1000, 0);
1498+
if (Locomotive.TractionForceN >0)
1499+
data = (float)Math.Round(Locomotive.TractionForceN / 1000, 0);
15001500
else if (Locomotive.DynamicBrakeForceN > 0)
15011501
data = -(float)Math.Round(Locomotive.DynamicBrakeForceN / 1000, 0);
15021502
break;

0 commit comments

Comments
 (0)