Changeset 361:297b84854dfc
- Timestamp:
- 12/14/12 18:39:04 (12 years ago)
- Branch:
- default
- Phase:
- public
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
src/mlx/checks.py
r360 r361 1070 1070 class TransponderChecker(PatientFaultChecker): 1071 1071 """Check if the transponder is used properly.""" 1072 def isCondition(self, flight, aircraft, oldState, state): 1073 """Check if the fault condition holds.""" 1072 def __init__(self): 1073 """Construct the transponder checker.""" 1074 super(TransponderChecker, self).__init__() 1075 self._liftOffTime = None 1076 1077 def isCondition(self, flight, aircraft, oldState, state): 1078 """Check if the fault condition holds.""" 1079 if state.onTheGround: 1080 self._liftOffTime = None 1081 elif self._liftOffTime is None: 1082 self._liftOffTime = state.timestamp 1083 1074 1084 return state.xpdrC is not None and \ 1075 1085 ((state.xpdrC and flight.stage in 1076 1086 [const.STAGE_BOARDING, const.STAGE_PARKING]) or \ 1077 (not state.xpdrC and flight.stage in 1078 [const.STAGE_TAKEOFF, const.STAGE_RTO, const.STAGE_CLIMB, 1079 const.STAGE_CRUISE, const.STAGE_DESCENT, 1080 const.STAGE_LANDING, const.STAGE_GOAROUND])) 1087 (not state.xpdrC and 1088 (flight.stage in 1089 [const.STAGE_CRUISE, const.STAGE_DESCENT, 1090 const.STAGE_LANDING, const.STAGE_GOAROUND] or \ 1091 ((not state.autoXPDR or \ 1092 (self._liftOffTime is not None and 1093 state.timestamp > (self._liftOffTime+8))) and \ 1094 flight.stage in 1095 [const.STAGE_TAKEOFF, const.STAGE_RTO, const.STAGE_CLIMB]) 1096 ) 1097 ) 1098 ) 1081 1099 1082 1100 def logFault(self, flight, aircraft, logger, oldState, state): -
src/mlx/fs.py
r341 r361 250 250 - xpdrC: a boolean indicating whether the transponder is in C mode, or 251 251 None, if the state cannot be read properly 252 - autoXPDR: a boolean indicating whether the transponder is turned on 253 automatically if the aircraft becomes airborne 252 254 - apMaster: a boolean indicating whether the autopilot is switched on, or 253 255 None, if the state cannot be read properly -
src/mlx/fsuipc.py
r341 r361 1394 1394 1395 1395 state.xpdrC = data[self._monidx_xpdrC]==0 1396 state.autoXPDR = False 1396 1397 1397 1398 state.apMaster = data[self._monidx_apMaster]!=0 … … 1792 1793 state.landingLightsOn = None 1793 1794 state.nav2_manual = aircraft.flight.stage!=const.STAGE_CRUISE 1795 self.autoXPDR = True 1794 1796 1795 1797 return state -
test/test1.txt
r360 r361 4 4 set gs=0 5 5 set xpdrC=1 6 set lights= 06 set lights=1 7 7 set noseGear=100 8 8 set flapsControl=0 … … 13 13 set parking=yes 14 14 set parking=no 15 set gs=10 ias=1015 set lights=3 16 16 set n1_1=25 17 17 set n1_2=25 18 set pitot=yes 19 set gs=10 ias=10 18 20 set flapsControl=37.5 19 21 set nav2=112.3 20 22 set adf1=540 21 23 set xpdrC=0 24 set lights=23 22 25 set gs=60 ias=60 23 set lights=2124 26 set gs=80 ias=80 25 27 set n1_1=70 … … 41 43 set altitude=22001 42 44 set vs=-200 45 set altitude=15000 43 46 set nav1=116.3 47 set altitude=10000 44 48 set adf2=540 49 set ias=160 gs=170 45 50 set flapsControl=87.5 46 51 set ias=130 gs=130 47 set altitude= 55752 set altitude=3500 48 53 set ias=125 gs=125 49 54 set radioAltitude=3200 50 55 set radioAltitude=1100 51 56 set noseGear=100 57 set radioAltitude=50 52 58 set radioAltitude=29 53 59 set radioAltitude=9
Note:
See TracChangeset
for help on using the changeset viewer.