Ignore:
Timestamp:
05/31/12 17:25:32 (12 years ago)
Author:
István Váradi <ivaradi@…>
Branch:
default
hg-Phase:
(<MercurialRepository 1 'hg:/home/ivaradi/mlx/hg' '/'>, 'public')
Message:

Added support for the lights switches of the PMDG 737 NGX

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/mlx/fsuipc.py

    r209 r212  
    343343                     pyuipc.fs_version)
    344344                if not autoReconnection:
     345                    fsType = const.SIM_MSFSX \
     346                             if pyuipc.fs_version == pyuipc.SIM_FSX \
     347                             else const.SIM_MSFS9
     348               
    345349                    Handler._callSafe(lambda:     
    346                                       self._connectionListener.connected(const.SIM_MSFS9,
     350                                      self._connectionListener.connected(fsType,
    347351                                                                         description))
    348352                self._connected = True
     
    531535         from the simulator or was calculated by the adapter. The other data
    532536         are self-explanatory and expressed in their 'natural' units."""
     537        self._fsType = None
    533538        self._aircraft = None
    534539
     
    749754        """Called when a connection has been established to the flight
    750755        simulator of the given type."""
     756        self._fsType = fsType
    751757        with self._hotkeyLock:
    752758            if self._hotkeys is not None:
     
    892898        """Start monitoring with the current aircraft model."""
    893899        data = Simulator.normalData[:]
    894         self._aircraftModel.addMonitoringData(data)
     900        self._aircraftModel.addMonitoringData(data, self._fsType)
    895901       
    896902        self._normalRequestID = \
     
    12391245            self._addOffsetWithIndexMember(dest, offset, type, prefix + name)
    12401246           
    1241     def addMonitoringData(self, data):
     1247    def addMonitoringData(self, data, fsType):
    12421248        """Add the model-specific monitoring data to the given array."""
    12431249        self._addDataWithIndexMembers(data, "_monidx_",
     
    13671373        return True
    13681374
    1369     def addMonitoringData(self, data):
     1375    def addMonitoringData(self, data, fsType):
    13701376        """Add the model-specific monitoring data to the given array."""
    1371         super(GenericAircraftModel, self).addMonitoringData(data)
     1377        super(GenericAircraftModel, self).addMonitoringData(data, fsType)
    13721378       
    13731379        self._addOffsetWithIndexMember(data, 0x0af4, "H", "_monidx_fuelWeight")
     
    14641470    def name(self):
    14651471        """Get the name for this aircraft model."""
    1466         return "FSUIPC/PMDG Boeing 737NG"
    1467 
    1468     def addMonitoringData(self, data):
     1472        return "FSUIPC/PMDG Boeing 737NG(X)"
     1473
     1474    def addMonitoringData(self, data, fsType):
    14691475        """Add the model-specific monitoring data to the given array."""
    1470         super(PMDGBoeing737NGModel, self).addMonitoringData(data)
     1476        self._fsType = fsType
     1477       
     1478        super(PMDGBoeing737NGModel, self).addMonitoringData(data, fsType)
    14711479               
    14721480        self._addOffsetWithIndexMember(data, 0x6202, "b", "_pmdgidx_switches")
     1481
     1482        if fsType==const.SIM_MSFSX:
     1483            print "FSX detected, adding position lights switch offset"
     1484            self._addOffsetWithIndexMember(data, 0x6500, "b",
     1485                                           "_pmdgidx_lts_positionsw")
    14731486
    14741487    def getAircraftState(self, aircraft, timestamp, data):
     
    14811494        if data[self._pmdgidx_switches]&0x01==0x01:
    14821495            state.altimeter = 1013.25
     1496
     1497        if self._fsType==const.SIM_MSFSX:
     1498            state.strobeLightsOn = data[self._pmdgidx_lts_positionsw]==0x02
    14831499
    14841500        return state
Note: See TracChangeset for help on using the changeset viewer.