@@ -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 {
0 commit comments