Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/mlx/checks.py

    r496 r521  
    641641#---------------------------------------------------------------------------------------
    642642
    643 class FlapsLogger(StateChangeLogger, SingleValueMixin, SimpleChangeMixin):
     643class FlapsLogger(StateChangeLogger, SingleValueMixin, DelayedChangeMixin):
    644644    """Logger for the flaps setting."""
    645645    def __init__(self):
     
    652652                                    const.STAGE_TAKEOFF])
    653653        SingleValueMixin.__init__(self, "flapsSet")
     654        DelayedChangeMixin.__init__(self)
     655        self._getLogTimestamp = \
     656            lambda state, forced: \
     657            DelayedChangeMixin._getLogTimestamp(self, state, forced)
    654658
    655659    def _getMessage(self, flight, state, forced):
    656660        """Get the message to log on a change."""
    657         speed = state.groundSpeed if state.groundSpeed<80.0 else state.ias
     661        logState = self._lastChangeState if \
     662                   self._lastChangeState is not None else state
     663        speed = logState.groundSpeed if logState.groundSpeed<80.0 \
     664                else logState.ias
    658665        return "Flaps %.0f - %.0f %s" % \
    659                (state.flapsSet, flight.speedFromKnots(speed),
     666               (logState.flapsSet, flight.speedFromKnots(speed),
    660667                flight.getEnglishSpeedUnit())
    661668
     
    910917    def isCondition(self, flight, aircraft, oldState, state):
    911918        """Check if the fault condition holds."""
    912         return (flight.stage!=const.STAGE_PARKING or \
    913                 not flight.config.usingFS2Crew) and \
     919        return (not flight.config.usingFS2Crew or not state.parking or
     920                flight.stage!=const.STAGE_TAXIAFTERLAND) and \
    914921                not state.antiCollisionLightsOn and \
    915922                self.isEngineCondition(state)
     
    11261133                  [const.STAGE_CRUISE, const.STAGE_DESCENT,
    11271134                   const.STAGE_GOAROUND] or \
    1128                   (flight.stage==const.STAGE_LANDING  and
     1135                  (flight.stage==const.STAGE_LANDING and
    11291136                   state.groundSpeed>50.0) or \
    11301137                  ((not state.autoXPDR or \
    11311138                    (self._liftOffTime is not None and
    11321139                     state.timestamp > (self._liftOffTime+8))) and \
    1133                    flight.stage in
    1134                    [const.STAGE_TAKEOFF, const.STAGE_RTO, const.STAGE_CLIMB])
     1140                   ((flight.stage==const.STAGE_TAKEOFF and
     1141                     not state.onTheGround) or flight.stage==const.STAGE_CLIMB))
    11351142                  )
    11361143                 )
Note: See TracChangeset for help on using the changeset viewer.