Ignore:
Timestamp:
12/22/12 08:42:13 (11 years ago)
Author:
István Váradi <ivaradi@…>
Branch:
default
hg-Phase:
(<MercurialRepository 1 'hg:/home/ivaradi/mlx/hg' '/'>, 'public')
Message:

Added support for logging the state of the anti-ice system (re #159)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/mlx/acft.py

    r384 r391  
    7676        self._v1r2LineIndex = None
    7777        self._derateLineID = None
     78        self._takeoffAntiIceLineID = None
    7879        self._vrefLineIndex = None
     80        self._landingAntiIceLineID = None
    7981
    8082        self.humanWeight = 82.0
     
    294296                self._logV1R2(aircraftState)
    295297                self._logDerate(aircraftState)
     298                self._logTakeoffAntiIce(aircraftState)
    296299            elif newStage==const.STAGE_DESCENT or newStage==const.STAGE_LANDING:
    297300                self._logRadios(aircraftState)
     
    351354                            (self._aircraftState.altimeter,))
    352355        self._logVRef()
     356        self._logLandingAntiIce(self._aircraftState)
    353357        self.flight.flareStarted(flareStart, flareStartFS)
    354358        fs.sendMessage(const.MESSAGETYPE_INFORMATION, "Flare-time", 3)
     
    409413            self._logDerate()
    410414
     415    def updateTakeoffAntiIce(self):
     416        """Update the take-off anti-ice setting."""
     417        if self._takeoffAntiIceLineID is not None:
     418            self._logTakeoffAntiIce()
     419
    411420    def _appendLightsLoggers(self):
    412421        """Append the loggers needed for the lights.
     
    475484        else:
    476485            self.logger.updateLine(self._derateLineID, message)
     486
     487    def _logTakeoffAntiIce(self, state = None):
     488        """Log the take-off anti-ice setting either newly or by updating the
     489        corresponding line."""
     490        antiIceOn = self._flight.takeoffAntiIceOn
     491        if state is not None:
     492            antiIceOn = antiIceOn or state.antiIceOn is True
     493            self._flight.takeoffAntiIceOn = antiIceOn
     494
     495        message = "Anti-ice was turned %s" % \
     496                  ("ON" if antiIceOn else "OFF")
     497
     498        if self._takeoffAntiIceLineID is None:
     499            if state is None:
     500                state = self._aircraftState
     501            self._takeoffAntiIceLineID = \
     502                self.logger.message(state.timestamp, message)
     503        else:
     504            self.logger.updateLine(self._takeoffAntiIceLineID, message)
    477505
    478506    def updateVRef(self):
     
    492520        else:
    493521            self.logger.updateLine(self._vrefLineIndex, message)
     522
     523    def updateLandingAntiIce(self):
     524        """Update the landing anti-ice setting."""
     525        if self._landingAntiIceLineID is not None:
     526            self._logLandingAntiIce()
     527
     528    def _logLandingAntiIce(self, state = None):
     529        """Log the landing anti-ice setting either newly or by updating the
     530        corresponding line."""
     531        antiIceOn = self._flight.landingAntiIceOn
     532        if state is not None:
     533            antiIceOn = antiIceOn or state.antiIceOn is True
     534            self._flight.landingAntiIceOn = antiIceOn
     535
     536        message = "Anti-ice was turned %s" % \
     537                  ("ON" if antiIceOn else "OFF")
     538
     539        if self._landingAntiIceLineID is None:
     540            if state is None:
     541                state = self._aircraftState
     542            self._landingAntiIceLineID = \
     543                self.logger.message(state.timestamp, message)
     544        else:
     545            self.logger.updateLine(self._landingAntiIceLineID, message)
    494546
    495547    def _fleetRetrieved(self, fleet):
Note: See TracChangeset for help on using the changeset viewer.