Ignore:
Timestamp:
06/10/12 12:32:09 (12 years ago)
Author:
István Váradi <ivaradi@…>
Branch:
default
Phase:
public
Message:

Added support for calculating speeds in km/h for Soviet aircraft

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/mlx/acft.py

    r215 r241  
    145145        """Get the current aircraft state."""
    146146        return self._aircraftState
     147
     148    @property
     149    def speedInKnots(self):
     150        """Indicate if the speed is in knots.
     151
     152        This default implementation returns True."""
     153        return True
    147154   
    148155    def getFlapsSpeedLimit(self, flaps):
     
    200207                                   5)
    201208            elif newStage==const.STAGE_TAKEOFF:
    202                 self.logger.message(aircraftState.timestamp, "Flight time start")
     209                self.logger.message(aircraftState.timestamp,
     210                                    "Flight time start")
    203211                self.logger.message(aircraftState.timestamp,
    204212                                    "Takeoff weight: %.0f kg, MTOW: %.0f kg" % \
     
    281289                            "Touchdown rate was calculated by the %s" % \
    282290                            ("simulator" if tdRateCalculatedByFS else "logger",))
     291        flight = self._flight
    283292        self.logger.message(self._aircraftState.timestamp,
    284                             "Touchdown speed: %.0f knots" % (ias,))
     293                            "Touchdown speed: %.0f %s" % \
     294                            (flight.speedFromKnots(ias),
     295                             flight.getEnglishSpeedUnit()))
    285296        self.logger.message(self._aircraftState.timestamp,
    286297                            "Touchdown pitch: %.1f degrees" % (pitch,))
     
    329340        self._checkers.append(checks.StrobeLightsChecker())
    330341
     342    def _speedToLog(self, speed):
     343        """Convert the given speed (being either None or expressed in the
     344        flight's speed unit into a string."""
     345        if speed is None:
     346            return "-"
     347        else:
     348            return str(speed) + " " + self._flight.getEnglishSpeedUnit()
     349
    331350    def _logV1R2(self):
    332351        """Log the V1, Vr and V2 value either newly, or by updating the
    333352        corresponding line."""
    334353        message = "Speeds calculated by the pilot: V1: %s, VR: %s, V2: %s" % \
    335                   ("-" if self._flight.v1 is None
    336                    else str(self._flight.v1),
    337                    "-" if self._flight.vr is None
    338                    else str(self._flight.vr),
    339                    "-" if self._flight.v2 is None
    340                    else str(self._flight.v2))
     354                  (self._speedToLog(self._flight.v1),
     355                   self._speedToLog(self._flight.vr),
     356                   self._speedToLog(self._flight.v2))
    341357
    342358        if self._v1r2LineIndex is None:
     
    356372        line."""
    357373        message = "VRef speed calculated by the pilot: %s" % \
    358                   ("-" if self._flight.vref is None else str(self._flight.vref))
     374                  (self._speedToLog(self._flight.vref),)
    359375        if self._vrefLineIndex is None:
    360376            self._vrefLineIndex = \
     
    710726                                 30 : 300 }
    711727
     728    @property
     729    def speedInKnots(self):
     730        """Indicate if the speed is in knots."""
     731        return False
     732   
    712733    def logFuel(self, aircraftState):
    713734        """Log the amount of fuel"""
     
    758779                                 45 : 162 }
    759780
     781    @property
     782    def speedInKnots(self):
     783        """Indicate if the speed is in knots."""
     784        return False
     785   
    760786    def logFuel(self, aircraftState):
    761787        """Log the amount of fuel"""
     
    804830                                 35 : 135 }
    805831
     832    @property
     833    def speedInKnots(self):
     834        """Indicate if the speed is in knots."""
     835        return False
     836   
    806837    def logFuel(self, aircraftState):
    807838        """Log the amount of fuel"""
Note: See TracChangeset for help on using the changeset viewer.