Changeset 1089:03726a21f686 for src/mlx


Ignore:
Timestamp:
03/19/23 14:02:32 (20 months ago)
Author:
István Váradi <ivaradi@…>
Branch:
python3
Phase:
public
Message:

FSUIPC offset 0x0590 is used to query altitude on MSFS 2020 (re #366)

Location:
src/mlx
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src/mlx/fsuipc.py

    r1088 r1089  
    12341234                      ("radioAltitude", 0x31e4, "d"),
    12351235                      ("altitude", 0x0570, "l"),
     1236                      ("msfs2020Altitude", 0x0590, "F"),
    12361237                      ("gLoad", 0x11ba, "h"),
    12371238                      ("flapsControl", 0x0bdc, "d"),
     
    14131414        state.radioAltitude = \
    14141415            Handler.fsuipc2radioAltitude(data[self._monidx_radioAltitude])
    1415         state.altitude = data[self._monidx_altitude]/const.FEETTOMETRES/65536.0/65536.0
     1416        if self._fsType==const.SIM_MSFS2020:
     1417            state.altitude = data[self._monidx_msfs2020Altitude]
     1418        else:
     1419            state.altitude = data[self._monidx_altitude]/const.FEETTOMETRES/65536.0/65536.0
    14161420
    14171421        state.gLoad = data[self._monidx_gLoad] / 625.0
  • src/mlx/pyuipc_sim.py

    r1077 r1089  
    420420        elif offset==0x0570:       # Altitude
    421421            return int(self.altitude * const.FEETTOMETRES * 65536.0 * 65536.0)
     422        elif offset==0x0590:       # Altitude (MSFS 2020)
     423            return self.altitude
    422424        elif offset==0x0578:       # Pitch
    423425            return int(self.pitch * 65536.0 * 65536.0 / 360.0)
     
    687689            self.altitude = value / const.FEETTOMETRES / 65536.0 / 65536.0
    688690            self.radioAltitude = self.altitude - 517
     691        elif offset==0x0590:       # Altitude
     692            self.altitude = value
     693            self.radioAltitude = self.altitude - 517
    689694        elif offset==0x0578:       # Pitch
    690695            self.pitch = value * 360.0 / 65536.0 / 65536.0
     
    13041309                                                             const.FEETTOMETRES *
    13051310                                                             65536.0 * 65536.0))
     1311        self._valueHandlers["msfs2020Altitude"] = ([(0x0590, "F")],
     1312                                                   lambda value: value,
     1313                                                   lambda word: float(word))
    13061314        self._valueHandlers["gLoad"] = ([(0x11ba, "H")],
    13071315                                        lambda value: value / 625.0,
Note: See TracChangeset for help on using the changeset viewer.