From 6eeba19f3725fc64a951d29818ab19b8d88f125e Mon Sep 17 00:00:00 2001 From: Lars Toenning Date: Mon, 29 Apr 2019 17:53:28 +0200 Subject: [PATCH] Ref T646 Directly getting pressure altitude from FG --- .../simulator/flightgear/fgswiftbusserviceproxy.cpp | 11 +++++------ .../simulator/flightgear/fgswiftbusserviceproxy.h | 6 +++--- .../simulator/flightgear/simulatorflightgear.cpp | 5 +---- .../simulator/flightgear/simulatorflightgear.h | 2 +- 4 files changed, 10 insertions(+), 14 deletions(-) diff --git a/src/plugins/simulator/flightgear/fgswiftbusserviceproxy.cpp b/src/plugins/simulator/flightgear/fgswiftbusserviceproxy.cpp index b79aabb92..433993207 100644 --- a/src/plugins/simulator/flightgear/fgswiftbusserviceproxy.cpp +++ b/src/plugins/simulator/flightgear/fgswiftbusserviceproxy.cpp @@ -54,7 +54,7 @@ namespace BlackSimPlugin o_flightgearData->pitchDeg = reply.argumentAt<4>(); o_flightgearData->rollDeg = reply.argumentAt<5>(); o_flightgearData->trueHeadingDeg = reply.argumentAt<6>(); - o_flightgearData->seaLevelPressureInHg = reply.argumentAt<7>(); + o_flightgearData->pressureAltitudeFt = reply.argumentAt<7>(); } watcher->deleteLater(); }; @@ -324,15 +324,14 @@ namespace BlackSimPlugin m_dbusInterface->callDBusAsync(QLatin1String("getTaxiLightsOn"), setterCallback(o_taxiLightsOn)); } - - double CFGSwiftBusServiceProxy::getQNHInHg() const + double CFGSwiftBusServiceProxy::getPressureAltitudeFt() const { - return m_dbusInterface->callDBusRet(QLatin1String("getQNHInHg")); + return m_dbusInterface->callDBusRet(QLatin1String("getPressureAltitudeFt")); } - void CFGSwiftBusServiceProxy::getQNHInHgAsync(double *o_qnh) + void CFGSwiftBusServiceProxy::getPressureAltitudeFtAsync(double *o_qnh) { - m_dbusInterface->callDBusAsync(QLatin1String("getQNHInHg"), setterCallback(o_qnh)); + m_dbusInterface->callDBusAsync(QLatin1String("getPressureAltitudeFt"), setterCallback(o_qnh)); } diff --git a/src/plugins/simulator/flightgear/fgswiftbusserviceproxy.h b/src/plugins/simulator/flightgear/fgswiftbusserviceproxy.h index c68466b8a..216b1f124 100644 --- a/src/plugins/simulator/flightgear/fgswiftbusserviceproxy.h +++ b/src/plugins/simulator/flightgear/fgswiftbusserviceproxy.h @@ -271,10 +271,10 @@ namespace BlackSimPlugin void getTaxiLightsOnAsync(bool *o_taxiLightsOn); //! @} - //! Get barometric pressure at sea level in inches of mercury. + //! Get pressure altitude in feet. //! @{ - double getQNHInHg() const; - void getQNHInHgAsync(double *o_qnh); + double getPressureAltitudeFt() const; + void getPressureAltitudeFtAsync(double *o_qnh); //! @} //! Set the current COM1 active frequency in kHz diff --git a/src/plugins/simulator/flightgear/simulatorflightgear.cpp b/src/plugins/simulator/flightgear/simulatorflightgear.cpp index c3179cf99..7b0e78396 100644 --- a/src/plugins/simulator/flightgear/simulatorflightgear.cpp +++ b/src/plugins/simulator/flightgear/simulatorflightgear.cpp @@ -185,11 +185,8 @@ namespace BlackSimPlugin CAircraftSituation situation; situation.setPosition({ m_flightgearData.latitudeDeg, m_flightgearData.longitudeDeg, 0 }); - CAltitude altitude { m_flightgearData.altitudeM, CAltitude::MeanSeaLevel, CLengthUnit::ft() }; situation.setAltitude({ m_flightgearData.altitudeM, CAltitude::MeanSeaLevel, CLengthUnit::ft() }); - CPressure seaLevelPressure({ m_flightgearData.seaLevelPressureInHg, CPressureUnit::inHg() }); - CAltitude pressureAltitude(altitude.toPressureAltitude(seaLevelPressure)); - situation.setPressureAltitude(pressureAltitude); + situation.setPressureAltitude({m_flightgearData.pressureAltitudeFt, CAltitude::MeanSeaLevel, CAltitude::PressureAltitude, CLengthUnit::ft()}); situation.setHeading({ m_flightgearData.trueHeadingDeg, CHeading::True, CAngleUnit::deg() }); situation.setPitch({ m_flightgearData.pitchDeg, CAngleUnit::deg() }); situation.setBank({ m_flightgearData.rollDeg, CAngleUnit::deg() }); diff --git a/src/plugins/simulator/flightgear/simulatorflightgear.h b/src/plugins/simulator/flightgear/simulatorflightgear.h index 5e47c731d..c9a1c40c2 100644 --- a/src/plugins/simulator/flightgear/simulatorflightgear.h +++ b/src/plugins/simulator/flightgear/simulatorflightgear.h @@ -97,7 +97,7 @@ namespace BlackSimPlugin double gearReployRatio; //!< Gear deployment ratio [%] QList enginesN1Percentage; //!< N1 per engine [%] double speedBrakeRatio; //!< Speed break ratio [%] - double seaLevelPressureInHg; //!< Sea level pressure [inhg] + double pressureAltitudeFt; //!< Pressure altitude [inhg] }; //! Flightgear ISimulator implementation