Unverified Commit e4dc651d authored by Don Gagne's avatar Don Gagne Committed by GitHub

Merge pull request #6518 from acfloria/fix/high_latency_joystick

Do not send virtual joystick commmands over high latency links
parents c8672124 3e0c103a
...@@ -484,12 +484,12 @@ QGCView { ...@@ -484,12 +484,12 @@ QGCView {
z: _panel.z + 5 z: _panel.z + 5
width: parent.width - (_flightVideoPipControl.width / 2) width: parent.width - (_flightVideoPipControl.width / 2)
height: Math.min(ScreenTools.availableHeight * 0.25, ScreenTools.defaultFontPixelWidth * 16) height: Math.min(ScreenTools.availableHeight * 0.25, ScreenTools.defaultFontPixelWidth * 16)
visible: (_virtualJoystick ? _virtualJoystick.value : false) && !QGroundControl.videoManager.fullScreen visible: (_virtualJoystick ? _virtualJoystick.value : false) && !QGroundControl.videoManager.fullScreen && !(_activeVehicle ? _activeVehicle.highLatencyLink : false)
anchors.bottom: _flightVideoPipControl.top anchors.bottom: _flightVideoPipControl.top
anchors.bottomMargin: ScreenTools.defaultFontPixelHeight * 2 anchors.bottomMargin: ScreenTools.defaultFontPixelHeight * 2
anchors.horizontalCenter: flightDisplayViewWidgets.horizontalCenter anchors.horizontalCenter: flightDisplayViewWidgets.horizontalCenter
source: "qrc:/qml/VirtualJoystick.qml" source: "qrc:/qml/VirtualJoystick.qml"
active: _virtualJoystick ? _virtualJoystick.value : false active: (_virtualJoystick ? _virtualJoystick.value : false) && !(_activeVehicle ? _activeVehicle.highLatencyLink : false)
property bool useLightColors: isBackgroundDark property bool useLightColors: isBackgroundDark
......
...@@ -2465,7 +2465,7 @@ void Vehicle::_remoteControlRSSIChanged(uint8_t rssi) ...@@ -2465,7 +2465,7 @@ void Vehicle::_remoteControlRSSIChanged(uint8_t rssi)
void Vehicle::virtualTabletJoystickValue(double roll, double pitch, double yaw, double thrust) void Vehicle::virtualTabletJoystickValue(double roll, double pitch, double yaw, double thrust)
{ {
// The following if statement prevents the virtualTabletJoystick from sending values if the standard joystick is enabled // The following if statement prevents the virtualTabletJoystick from sending values if the standard joystick is enabled
if ( !_joystickEnabled ) { if ( !_joystickEnabled && !_highLatencyLink) {
_uas->setExternalControlSetpoint(roll, pitch, yaw, thrust, 0, JoystickModeRC); _uas->setExternalControlSetpoint(roll, pitch, yaw, thrust, 0, JoystickModeRC);
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment