Ignore:
Timestamp:
04/30/12 14:42:59 (12 years ago)
Author:
István Váradi <ivaradi@…>
Branch:
default
Phase:
public
Message:

Most of the remaining messages are implemented

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/mlx/acft.py

    r117 r134  
    55import const
    66import checks
     7import fs
    78import util
    89
     
    5455        self._checkers.append(checks.CruiseSpeedLogger())
    5556        self._checkers.append(checks.SpoilerLogger())
     57
     58        if flight.config.isMessageTypeFS(const.MESSAGETYPE_VISIBILITY):
     59            self._checkers.append(checks.VisibilityChecker())
    5660
    5761        # Fault checkers
     
    134138                self.logger.message(aircraftState.timestamp,
    135139                                    "Zero-fuel weight: %.0f kg" % (aircraftState.zfw))
     140                flight = self._flight
     141                if flight.v1 is None or flight.vr is None or flight.v2 is None:
     142                    fs.sendMessage(const.MESSAGETYPE_HELP,
     143                                   "Don't forget to set the takeoff V-speeds!",
     144                                   5)
    136145            elif newStage==const.STAGE_TAKEOFF:
    137146                self.logger.message(aircraftState.timestamp, "Flight time start")
     
    145154                self._logV1R2()
    146155            elif newStage==const.STAGE_TAXIAFTERLAND:
     156                bookedFlight = self._flight.bookedFlight
     157                if bookedFlight.arrivalICAO=="LHBP" and \
     158                   self._flight.config.isMessageTypeFS(const.MESSAGETYPE_GATE_SYSTEM):
     159                    self._flight.getFleet(callback = self._fleetRetrieved,
     160                                          force = True)
    147161                self.logger.message(aircraftState.timestamp, "Flight time end")
    148162                self.logFuel(aircraftState)
     
    167181                                    "Block time: " +
    168182                                    util.getTimeIntervalString(blockLength))
     183                bookedFlight = self._flight.bookedFlight
     184                # FIXME: translate the ICAO into an airport name
     185                fs.sendMessage(const.MESSAGETYPE_ENVIRONMENT,
     186                               "Flight plan closed. Welcome to %s" % \
     187                               (bookedFlight.arrivalICAO,),
     188                               5)
    169189
    170190    def prepareFlare(self):
     
    189209        self._logVRef()
    190210        self.flight.flareStarted(flareStart, flareStartFS)
     211        fs.sendMessage(const.MESSAGETYPE_INFORMATION, "Flare-time", 3)
    191212         
    192213    def flareFinished(self, flareEnd, flareEndFS, tdRate, tdRateCalculatedByFS,
     
    265286        else:
    266287            self.logger.updateLine(self._vrefLineIndex, message)
     288
     289    def _fleetRetrieved(self, fleet):
     290        """Callback for the fleet retrieval result."""
     291        if fleet is not None:
     292            gateList = ""
     293            occupiedGateNumbers = fleet.getOccupiedGateNumbers()
     294            for gateNumber in const.lhbpGateNumbers:
     295                if gateNumber not in occupiedGateNumbers:
     296                    if gateList: gateList += ", "
     297                    gateList += gateNumber
     298            fs.sendMessage(const.MESSAGETYPE_GATE_SYSTEM,
     299                           "Free gates: " + gateList, 20)
     300       
    267301
    268302#---------------------------------------------------------------------------------------
Note: See TracChangeset for help on using the changeset viewer.