@@ -322,6 +322,8 @@ public enum CABViewControlUnits
322322 METRES_SEC_SEC ,
323323 KMµHOURµHOUR ,
324324 KM_HOUR_HOUR ,
325+ KMµHOURµMIN ,
326+ KM_HOUR_MIN ,
325327 KMµHOURµSEC ,
326328 KM_HOUR_SEC ,
327329 METRESµSECµHOUR ,
@@ -468,6 +470,10 @@ public class CabViewControl
468470 public CABViewControlStyles ControlStyle = CABViewControlStyles . NONE ;
469471 public CABViewControlUnits Units = CABViewControlUnits . NONE ;
470472
473+ public double UnitsExponent = 1.0f ;
474+ public float UnitsScale = 1.0f ;
475+ public float UnitsOffset ;
476+
471477 public bool DisabledIfLowVoltagePowerSupplyOff { get ; private set ; } = false ;
472478 public bool DisabledIfCabPowerSupplyOff { get ; private set ; } = false ;
473479 public bool HideIfDisabled { get ; private set ; } = true ;
@@ -685,6 +691,9 @@ public CVCDial(STFReader stf, string basepath)
685691 new STFReader . TokenProcessor ( "ortsdisplay" , ( ) => { ParseDisplay ( stf ) ; } ) ,
686692 new STFReader . TokenProcessor ( "ortsscreenpage" , ( ) => { ParseScreen ( stf ) ; } ) ,
687693 new STFReader . TokenProcessor ( "ortscabviewpoint" , ( ) => { ParseCabViewpoint ( stf ) ; } ) ,
694+ new STFReader . TokenProcessor ( "ortsunitsexponent" , ( ) => { UnitsExponent = stf . ReadFloatBlock ( STFReader . UNITS . None , null ) ; } ) ,
695+ new STFReader . TokenProcessor ( "ortsunitsscalefactor" , ( ) => { UnitsScale = stf . ReadFloatBlock ( STFReader . UNITS . None , null ) ; } ) ,
696+ new STFReader . TokenProcessor ( "ortsunitsoffset" , ( ) => { UnitsOffset = stf . ReadFloatBlock ( STFReader . UNITS . None , null ) ; } ) ,
688697 } ) ;
689698 }
690699 }
@@ -781,6 +790,9 @@ public CVCGauge(STFReader stf, string basepath)
781790 new STFReader . TokenProcessor ( "ortsdisplay" , ( ) => { ParseDisplay ( stf ) ; } ) ,
782791 new STFReader . TokenProcessor ( "ortsscreenpage" , ( ) => { ParseScreen ( stf ) ; } ) ,
783792 new STFReader . TokenProcessor ( "ortscabviewpoint" , ( ) => { ParseCabViewpoint ( stf ) ; } ) ,
793+ new STFReader . TokenProcessor ( "ortsunitsexponent" , ( ) => { UnitsExponent = stf . ReadFloatBlock ( STFReader . UNITS . None , null ) ; } ) ,
794+ new STFReader . TokenProcessor ( "ortsunitsscalefactor" , ( ) => { UnitsScale = stf . ReadFloatBlock ( STFReader . UNITS . None , null ) ; } ) ,
795+ new STFReader . TokenProcessor ( "ortsunitsoffset" , ( ) => { UnitsOffset = stf . ReadFloatBlock ( STFReader . UNITS . None , null ) ; } ) ,
784796 } ) ;
785797 }
786798 }
@@ -923,6 +935,9 @@ public CVCDigital(STFReader stf, string basepath)
923935 new STFReader . TokenProcessor ( "ortsdisplay" , ( ) => { ParseDisplay ( stf ) ; } ) ,
924936 new STFReader . TokenProcessor ( "ortsscreenpage" , ( ) => { ParseScreen ( stf ) ; } ) ,
925937 new STFReader . TokenProcessor ( "ortscabviewpoint" , ( ) => { ParseCabViewpoint ( stf ) ; } ) ,
938+ new STFReader . TokenProcessor ( "ortsunitsexponent" , ( ) => { UnitsExponent = stf . ReadFloatBlock ( STFReader . UNITS . None , null ) ; } ) ,
939+ new STFReader . TokenProcessor ( "ortsunitsscalefactor" , ( ) => { UnitsScale = stf . ReadFloatBlock ( STFReader . UNITS . None , null ) ; } ) ,
940+ new STFReader . TokenProcessor ( "ortsunitsoffset" , ( ) => { UnitsOffset = stf . ReadFloatBlock ( STFReader . UNITS . None , null ) ; } ) ,
926941 } ) ;
927942 }
928943
@@ -1179,6 +1194,9 @@ public CVCDiscrete(STFReader stf, string basepath, DiscreteStates discreteState)
11791194 new STFReader . TokenProcessor ( "ortsnewscreenpage" , ( ) => { ParseNewScreen ( stf ) ; } ) ,
11801195 new STFReader . TokenProcessor ( "ortscabviewpoint" , ( ) => { ParseCabViewpoint ( stf ) ; } ) ,
11811196 new STFReader . TokenProcessor ( "ortsparameter1" , ( ) => { Parameter1 = stf . ReadFloatBlock ( STFReader . UNITS . Any , 0 ) ; } ) ,
1197+ new STFReader . TokenProcessor ( "ortsunitsexponent" , ( ) => { UnitsExponent = stf . ReadFloatBlock ( STFReader . UNITS . None , null ) ; } ) ,
1198+ new STFReader . TokenProcessor ( "ortsunitsscalefactor" , ( ) => { UnitsScale = stf . ReadFloatBlock ( STFReader . UNITS . None , null ) ; } ) ,
1199+ new STFReader . TokenProcessor ( "ortsunitsoffset" , ( ) => { UnitsOffset = stf . ReadFloatBlock ( STFReader . UNITS . None , null ) ; } ) ,
11821200 } ) ;
11831201
11841202 // If no ACE, just don't need any fixup
@@ -1425,6 +1443,9 @@ public CVCMultiStateDisplay(STFReader stf, string basepath)
14251443 new STFReader . TokenProcessor ( "ortsdisplay" , ( ) => { ParseDisplay ( stf ) ; } ) ,
14261444 new STFReader . TokenProcessor ( "ortsscreenpage" , ( ) => { ParseScreen ( stf ) ; } ) ,
14271445 new STFReader . TokenProcessor ( "ortscabviewpoint" , ( ) => { ParseCabViewpoint ( stf ) ; } ) ,
1446+ new STFReader . TokenProcessor ( "ortsunitsexponent" , ( ) => { UnitsExponent = stf . ReadFloatBlock ( STFReader . UNITS . None , null ) ; } ) ,
1447+ new STFReader . TokenProcessor ( "ortsunitsscalefactor" , ( ) => { UnitsScale = stf . ReadFloatBlock ( STFReader . UNITS . None , null ) ; } ) ,
1448+ new STFReader . TokenProcessor ( "ortsunitsoffset" , ( ) => { UnitsOffset = stf . ReadFloatBlock ( STFReader . UNITS . None , null ) ; } ) ,
14281449 } ) ;
14291450 }
14301451 protected int ParseNumStyle ( STFReader stf )
@@ -1475,6 +1496,9 @@ public CVCAnimatedDisplay(STFReader stf, string basepath)
14751496 new STFReader . TokenProcessor ( "ortsdisplay" , ( ) => { ParseDisplay ( stf ) ; } ) ,
14761497 new STFReader . TokenProcessor ( "ortsscreenpage" , ( ) => { ParseScreen ( stf ) ; } ) ,
14771498 new STFReader . TokenProcessor ( "ortscabviewpoint" , ( ) => { ParseCabViewpoint ( stf ) ; } ) ,
1499+ new STFReader . TokenProcessor ( "ortsunitsexponent" , ( ) => { UnitsExponent = stf . ReadFloatBlock ( STFReader . UNITS . None , null ) ; } ) ,
1500+ new STFReader . TokenProcessor ( "ortsunitsscalefactor" , ( ) => { UnitsScale = stf . ReadFloatBlock ( STFReader . UNITS . None , null ) ; } ) ,
1501+ new STFReader . TokenProcessor ( "ortsunitsoffset" , ( ) => { UnitsOffset = stf . ReadFloatBlock ( STFReader . UNITS . None , null ) ; } ) ,
14781502 } ) ;
14791503 }
14801504 protected int ParseNumStyle ( STFReader stf )
@@ -1516,6 +1540,9 @@ public CVCScreen(STFReader stf, string basepath)
15161540 new STFReader . TokenProcessor ( "ortsdisplay" , ( ) => { ParseDisplay ( stf ) ; } ) ,
15171541 new STFReader . TokenProcessor ( "ortsscreenpage" , ( ) => { ParseScreen ( stf ) ; } ) ,
15181542 new STFReader . TokenProcessor ( "ortscabviewpoint" , ( ) => { ParseCabViewpoint ( stf ) ; } ) ,
1543+ new STFReader . TokenProcessor ( "ortsunitsexponent" , ( ) => { UnitsExponent = stf . ReadFloatBlock ( STFReader . UNITS . None , null ) ; } ) ,
1544+ new STFReader . TokenProcessor ( "ortsunitsscalefactor" , ( ) => { UnitsScale = stf . ReadFloatBlock ( STFReader . UNITS . None , null ) ; } ) ,
1545+ new STFReader . TokenProcessor ( "ortsunitsoffset" , ( ) => { UnitsOffset = stf . ReadFloatBlock ( STFReader . UNITS . None , null ) ; } ) ,
15191546 } ) ;
15201547 }
15211548 protected void ParseCustomParameters ( STFReader stf )
0 commit comments