Ignore:
Timestamp:
09/18/13 04:52:50 (11 years ago)
Author:
István Váradi <ivaradi@…>
Branch:
default
Phase:
public
Message:

The no-strobe speed checker also works for models without strobe and transponder (re #211)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/mlx/checks.py

    r529 r539  
    13421342    """Check if the speed is in the prescribed limits."""
    13431343    @staticmethod
     1344    def needNoStrobe(aircraft, state):
     1345        """Determine if the given aircraft and state needs a strobeless speed
     1346        checking."""
     1347        return aircraft.needNoStrobeSpeedCheck or \
     1348               (state.strobeLightsOn is None and state.xpdrC is None)
     1349
     1350    @staticmethod
    13441351    def logSpeedFault(flight, state, stage = None, updateID = None):
    13451352        """Log the speed fault."""
     
    13561363    def isCondition(self, flight, aircraft, oldState, state):
    13571364        """Check if the fault condition holds."""
    1358         return flight.stage in [const.STAGE_PUSHANDTAXI,
    1359                                 const.STAGE_RTO,
    1360                                 const.STAGE_TAXIAFTERLAND] and \
     1365        return not self.needNoStrobe(aircraft, state) and \
     1366            flight.stage in [const.STAGE_PUSHANDTAXI,
     1367                             const.STAGE_RTO,
     1368                             const.STAGE_TAXIAFTERLAND] and \
    13611369            state.groundSpeed>50
    13621370
     
    13891397    def check(self, flight, aircraft, logger, oldState, state):
    13901398        """Check the state as described above."""
    1391         if flight.stage==const.STAGE_PUSHANDTAXI or \
    1392            flight.stage==const.STAGE_RTO:
    1393             self._checkPushAndTaxi(flight, aircraft, state)
    1394         elif flight.stage==const.STAGE_TAXIAFTERLAND:
    1395             if state.groundSpeed>50:
    1396                 SpeedChecker.logSpeedFault(flight, state)
    1397         else:
    1398             self._takeoffState = None
     1399        if SpeedChecker.needNoStrobe(aircraft, state):
     1400            if flight.stage==const.STAGE_PUSHANDTAXI or \
     1401               flight.stage==const.STAGE_RTO:
     1402                self._checkPushAndTaxi(flight, aircraft, state)
     1403            elif flight.stage==const.STAGE_TAXIAFTERLAND:
     1404                if state.groundSpeed>50:
     1405                    SpeedChecker.logSpeedFault(flight, state)
     1406            else:
     1407                self._takeoffState = None
    13991408
    14001409    def _checkPushAndTaxi(self, flight, aircraft, state):
Note: See TracChangeset for help on using the changeset viewer.