diff --git a/src/Camera/QGCCameraManager.cc b/src/Camera/QGCCameraManager.cc index d44c37660ee8c55155e58400d30eabf095c8af99..4a55f591b77bd9725017e04dc05a0e1bb873d837 100644 --- a/src/Camera/QGCCameraManager.cc +++ b/src/Camera/QGCCameraManager.cc @@ -378,15 +378,63 @@ QGCCameraManager::_activeJoystickChanged(Joystick* joystick) { qCDebug(CameraManagerLog) << "Joystick changed"; if(_activeJoystick) { - disconnect(_activeJoystick, &Joystick::stepZoom, this, &QGCCameraManager::_stepZoom); - disconnect(_activeJoystick, &Joystick::stepCamera, this, &QGCCameraManager::_stepCamera); - disconnect(_activeJoystick, &Joystick::stepStream, this, &QGCCameraManager::_stepStream); + disconnect(_activeJoystick, &Joystick::stepZoom, this, &QGCCameraManager::_stepZoom); + disconnect(_activeJoystick, &Joystick::stepCamera, this, &QGCCameraManager::_stepCamera); + disconnect(_activeJoystick, &Joystick::stepStream, this, &QGCCameraManager::_stepStream); + disconnect(_activeJoystick, &Joystick::triggerCamera, this, &QGCCameraManager::_triggerCamera); + disconnect(_activeJoystick, &Joystick::startVideoRecord, this, &QGCCameraManager::_startVideoRecording); + disconnect(_activeJoystick, &Joystick::stopVideoRecord, this, &QGCCameraManager::_stopVideoRecording); + disconnect(_activeJoystick, &Joystick::toggleVideoRecord, this, &QGCCameraManager::_toggleVideoRecording); } _activeJoystick = joystick; if(_activeJoystick) { - connect(_activeJoystick, &Joystick::stepZoom, this, &QGCCameraManager::_stepZoom); - connect(_activeJoystick, &Joystick::stepCamera, this, &QGCCameraManager::_stepCamera); - connect(_activeJoystick, &Joystick::stepStream, this, &QGCCameraManager::_stepStream); + connect(_activeJoystick, &Joystick::stepZoom, this, &QGCCameraManager::_stepZoom); + connect(_activeJoystick, &Joystick::stepCamera, this, &QGCCameraManager::_stepCamera); + connect(_activeJoystick, &Joystick::stepStream, this, &QGCCameraManager::_stepStream); + connect(_activeJoystick, &Joystick::triggerCamera, this, &QGCCameraManager::_triggerCamera); + connect(_activeJoystick, &Joystick::startVideoRecord, this, &QGCCameraManager::_startVideoRecording); + connect(_activeJoystick, &Joystick::stopVideoRecord, this, &QGCCameraManager::_stopVideoRecording); + connect(_activeJoystick, &Joystick::toggleVideoRecord, this, &QGCCameraManager::_toggleVideoRecording); + } +} + +//----------------------------------------------------------------------------- +void +QGCCameraManager::_triggerCamera() +{ + QGCCameraControl* pCamera = currentCameraInstance(); + if(pCamera) { + pCamera->takePhoto(); + } +} + +//----------------------------------------------------------------------------- +void +QGCCameraManager::_startVideoRecording() +{ + QGCCameraControl* pCamera = currentCameraInstance(); + if(pCamera) { + pCamera->startVideo(); + } +} + +//----------------------------------------------------------------------------- +void +QGCCameraManager::_stopVideoRecording() +{ + QGCCameraControl* pCamera = currentCameraInstance(); + if(pCamera) { + pCamera->stopVideo(); + } +} + +//----------------------------------------------------------------------------- +void +QGCCameraManager::_toggleVideoRecording() +{ + QGCCameraControl* pCamera = currentCameraInstance(); + if(pCamera) { + pCamera->toggleVideo(); } } diff --git a/src/Camera/QGCCameraManager.h b/src/Camera/QGCCameraManager.h index 4e2c802d7ceec72fcd7980e8f854b9a5fa2200a0..2c6964f40d75e63704037b1bb250065653ee3f21 100644 --- a/src/Camera/QGCCameraManager.h +++ b/src/Camera/QGCCameraManager.h @@ -60,6 +60,10 @@ protected slots: virtual void _stepCamera (int direction); virtual void _stepStream (int direction); virtual void _cameraTimeout (); + virtual void _triggerCamera (); + virtual void _startVideoRecording (); + virtual void _stopVideoRecording (); + virtual void _toggleVideoRecording (); protected: virtual QGCCameraControl* _findCamera (int id); diff --git a/src/Joystick/Joystick.cc b/src/Joystick/Joystick.cc index 171f20b2486cbf7416dee3c51450c5f1d6f0ae5f..16a34d5d8adb1ae6965a95c8b0a99224355fee1e 100644 --- a/src/Joystick/Joystick.cc +++ b/src/Joystick/Joystick.cc @@ -40,6 +40,7 @@ const char* Joystick::_submarineTXModeSettingsKey = "TXMode_Submarine"; const char* Joystick::_buttonActionArm = QT_TR_NOOP("Arm"); const char* Joystick::_buttonActionDisarm = QT_TR_NOOP("Disarm"); +const char* Joystick::_buttonActionToggleArm = QT_TR_NOOP("Toggle Arm"); const char* Joystick::_buttonActionVTOLFixedWing = QT_TR_NOOP("VTOL: Fixed Wing"); const char* Joystick::_buttonActionVTOLMultiRotor = QT_TR_NOOP("VTOL: Multi-Rotor"); const char* Joystick::_buttonActionZoomIn = QT_TR_NOOP("Zoom In"); @@ -52,6 +53,11 @@ const char* Joystick::_buttonActionTriggerCamera = QT_TR_NOOP("Trigger Came const char* Joystick::_buttonActionStartVideoRecord = QT_TR_NOOP("Start Recording Video"); const char* Joystick::_buttonActionStopVideoRecord = QT_TR_NOOP("Stop Recording Video"); const char* Joystick::_buttonActionToggleVideoRecord = QT_TR_NOOP("Toggle Recording Video"); +const char* Joystick::_buttonActionGimbalDown = QT_TR_NOOP("Gimbal Down"); +const char* Joystick::_buttonActionGimbalUp = QT_TR_NOOP("Gimbal Up"); +const char* Joystick::_buttonActionGimbalLeft = QT_TR_NOOP("Gimbal Left"); +const char* Joystick::_buttonActionGimbalRight = QT_TR_NOOP("Gimbal Right"); +const char* Joystick::_buttonActionGimbalCenter = QT_TR_NOOP("Gimbal Center"); const char* Joystick::_rgFunctionSettingsKey[Joystick::maxFunction] = { "RollAxis", @@ -482,9 +488,9 @@ void Joystick::run(void) throttle = std::max(-1.0f, std::min(tanf(asinf(throttle_limited)), 1.0f)); } - if ( _exponential != 0 ) { + if ( _exponential < -0.01f) { // Exponential (0% to -50% range like most RC radios) - //_exponential is set by a slider in joystickConfig.qml + //_exponential is set by a slider in joystickConfigAdvanced.qml // Calculate new RPY with exponential applied roll = -_exponential*powf(roll, 3) + (1+_exponential)*roll; @@ -507,7 +513,7 @@ void Joystick::run(void) quint16 buttonPressedBits = 0; // Buttons pressed for manualControl signal for (int buttonIndex = 0; buttonIndex < _totalButtonCount; buttonIndex++) { - quint16 buttonBit = 1 << buttonIndex; + quint16 buttonBit = static_cast(1 << buttonIndex); if (!_rgButtonValues[buttonIndex]) { // Button up, just record it @@ -528,9 +534,9 @@ void Joystick::run(void) } _lastButtonBits = newButtonBits; - qCDebug(JoystickValuesLog) << "name:roll:pitch:yaw:throttle" << name() << roll << -pitch << yaw << throttle; + qCDebug(JoystickValuesLog) << "name:roll:pitch:yaw:throttle:gimbalPitch:gimbalYaw" << name() << roll << -pitch << yaw << throttle << gimbalPitch << gimbalYaw; // NOTE: The buttonPressedBits going to MANUAL_CONTROL are currently used by ArduSub. - emit manualControl(roll, -pitch, yaw, throttle, gimbalPitch, gimbalYaw, buttonPressedBits, _activeVehicle->joystickMode()); + emit manualControl(roll, -pitch, yaw, throttle, buttonPressedBits, _activeVehicle->joystickMode()); } // Sleep. Update rate of joystick is by default 25 Hz @@ -643,7 +649,7 @@ int Joystick::getFunctionAxis(AxisFunction_t function) QStringList Joystick::actions(void) { QStringList list; - list << _buttonActionArm << _buttonActionDisarm; + list << _buttonActionArm << _buttonActionDisarm << _buttonActionToggleArm; if (_activeVehicle) { list << _activeVehicle->flightModes(); } @@ -655,6 +661,11 @@ QStringList Joystick::actions(void) list << _buttonActionStartVideoRecord; list << _buttonActionStopVideoRecord; list << _buttonActionToggleVideoRecord; + list << _buttonActionGimbalDown; + list << _buttonActionGimbalUp; + list << _buttonActionGimbalLeft; + list << _buttonActionGimbalRight; + list << _buttonActionGimbalCenter; return list; } @@ -808,6 +819,8 @@ void Joystick::_buttonAction(const QString& action) _activeVehicle->setArmed(true); } else if (action == _buttonActionDisarm) { _activeVehicle->setArmed(false); + } else if (action == _buttonActionToggleArm) { + _activeVehicle->setArmed(!_activeVehicle->armed()); } else if (action == _buttonActionVTOLFixedWing) { _activeVehicle->setVtolInFwdFlight(true); } else if (action == _buttonActionVTOLMultiRotor) { @@ -828,6 +841,16 @@ void Joystick::_buttonAction(const QString& action) emit stopVideoRecord(); } else if(action == _buttonActionToggleVideoRecord) { emit toggleVideoRecord(); + } else if(action == _buttonActionGimbalUp) { + _activeVehicle->gimbalPitchStep(1); + } else if(action == _buttonActionGimbalDown) { + _activeVehicle->gimbalPitchStep(-1); + } else if(action == _buttonActionGimbalLeft) { + _activeVehicle->gimbalYawStep(-1); + } else if(action == _buttonActionGimbalRight) { + _activeVehicle->gimbalYawStep(1); + } else if(action == _buttonActionGimbalCenter) { + _activeVehicle->centerGimbal(); } else { qCDebug(JoystickLog) << "_buttonAction unknown action:" << action; } diff --git a/src/Joystick/Joystick.h b/src/Joystick/Joystick.h index 0dbb0ad032024295a0c5c0539e27c68ec2b7cef6..f0b36a3df6cad3436eb9dc8580f09b7a2edd10aa 100644 --- a/src/Joystick/Joystick.h +++ b/src/Joystick/Joystick.h @@ -161,10 +161,8 @@ signals: /// @param pitch Range i -1:1, negative meaning pitch down, positive meaning pitch up /// @param yaw Range is -1:1, negative meaning yaw left, positive meaning yaw right /// @param throttle Range is 0:1, 0 meaning no throttle, 1 meaning full throttle - /// @param gimbalPitch Range is -1:1 - /// @param gimbalYaw Range is -1:1 /// @param mode See Vehicle::JoystickMode_t enum - void manualControl (float roll, float pitch, float yaw, float throttle, float gimbalPitch, float gimbalYaw, quint16 buttons, int joystickMmode); + void manualControl (float roll, float pitch, float yaw, float throttle, quint16 buttons, int joystickMmode); void buttonActionTriggered(int action); @@ -259,6 +257,7 @@ private: static const char* _buttonActionArm; static const char* _buttonActionDisarm; + static const char* _buttonActionToggleArm; static const char* _buttonActionVTOLFixedWing; static const char* _buttonActionVTOLMultiRotor; static const char* _buttonActionZoomIn; @@ -271,6 +270,11 @@ private: static const char* _buttonActionStartVideoRecord; static const char* _buttonActionStopVideoRecord; static const char* _buttonActionToggleVideoRecord; + static const char* _buttonActionGimbalDown; + static const char* _buttonActionGimbalUp; + static const char* _buttonActionGimbalLeft; + static const char* _buttonActionGimbalRight; + static const char* _buttonActionGimbalCenter; private slots: void _activeVehicleChanged(Vehicle* activeVehicle); diff --git a/src/Vehicle/Vehicle.cc b/src/Vehicle/Vehicle.cc index eb6505b5e9caaa8590722d7304588c65f32d2a26..b1aac0981fdc18fb941dba0355991325dcc6276f 100644 --- a/src/Vehicle/Vehicle.cc +++ b/src/Vehicle/Vehicle.cc @@ -809,6 +809,9 @@ void Vehicle::_mavlinkMessageReceived(LinkInterface* link, mavlink_message_t mes case MAVLINK_MSG_ID_PING: _handlePing(link, message); break; + case MAVLINK_MSG_ID_MOUNT_ORIENTATION: + _handleGimbalOrientation(message); + break; case MAVLINK_MSG_ID_SERIAL_CONTROL: { @@ -2241,18 +2244,13 @@ void Vehicle::_loadSettings(void) if (!_active) { return; } - QSettings settings; - settings.beginGroup(QString(_settingsGroup).arg(_id)); - bool convertOk; - - _joystickMode = (JoystickMode_t)settings.value(_joystickModeSettingsKey, JoystickModeRC).toInt(&convertOk); + _joystickMode = static_cast(settings.value(_joystickModeSettingsKey, JoystickModeRC).toInt(&convertOk)); if (!convertOk) { _joystickMode = JoystickModeRC; } - // Joystick enabled is a global setting so first make sure there are any joysticks connected if (_toolbox->joystickManager()->joysticks().count()) { setJoystickEnabled(settings.value(_joystickEnabledSettingsKey, false).toBool()); @@ -2741,7 +2739,7 @@ void Vehicle::_remoteControlRSSIChanged(uint8_t rssi) } } -void Vehicle::virtualTabletJoystickValue(double roll, double pitch, double yaw, double thrust, double gimbalPitch, double gimbalYaw) +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 if ( !_joystickEnabled && !_highLatencyLink) { @@ -2750,8 +2748,6 @@ void Vehicle::virtualTabletJoystickValue(double roll, double pitch, double yaw, static_cast(pitch), static_cast(yaw), static_cast(thrust), - static_cast(gimbalPitch), - static_cast(gimbalYaw), 0, JoystickModeRC); } } @@ -4009,6 +4005,51 @@ void Vehicle::gimbalControlValue(double pitch, double yaw) MAV_MOUNT_MODE_MAVLINK_TARGETING); // MAVLink Roll,Pitch,Yaw } +void Vehicle::gimbalPitchStep(int direction) +{ + if(!_haveGimbalData) { + double p = static_cast(_curGimbalPitch + direction); + gimbalControlValue(p, static_cast(_curGinmbalYaw)); + } +} + +void Vehicle::gimbalYawStep(int direction) +{ + if(!_haveGimbalData) { + double y = static_cast(_curGinmbalYaw + direction); + gimbalControlValue(static_cast(_curGinmbalYaw), y); + } +} + +void Vehicle::centerGimbal() +{ + if(!_haveGimbalData) { + gimbalControlValue(0.0, 0.0); + } +} + +void Vehicle::_handleGimbalOrientation(const mavlink_message_t& message) +{ + mavlink_mount_orientation_t o; + mavlink_msg_mount_orientation_decode(&message, &o); + if(fabsf(_curGimbalRoll - o.roll) > 0.5f) { + _curGimbalRoll = o.roll; + emit gimbalRollChanged(); + } + if(fabsf(_curGimbalPitch - o.pitch) > 0.5f) { + _curGimbalPitch = o.pitch; + emit gimbalPitchChanged(); + } + if(fabsf(_curGinmbalYaw - o.yaw) > 0.5f) { + _curGinmbalYaw = o.yaw; + emit gimbalYawChanged(); + } + if(!_haveGimbalData) { + _haveGimbalData = true; + emit gimbalDataChanged(); + } +} + //----------------------------------------------------------------------------- //----------------------------------------------------------------------------- diff --git a/src/Vehicle/Vehicle.h b/src/Vehicle/Vehicle.h index acf39023d81d78559ac46a13b34ce82f8c7c4499..d1044254128c850f2f17fec9d4ba59787e73c465 100644 --- a/src/Vehicle/Vehicle.h +++ b/src/Vehicle/Vehicle.h @@ -36,6 +36,7 @@ class UASMessage; class SettingsManager; class ADSBVehicle; class QGCCameraManager; +class Joystick; #if defined(QGC_AIRMAP_ENABLED) class AirspaceVehicleManager; #endif @@ -632,6 +633,10 @@ public: Q_PROPERTY(quint64 mavlinkReceivedCount READ mavlinkReceivedCount NOTIFY mavlinkStatusChanged) Q_PROPERTY(quint64 mavlinkLossCount READ mavlinkLossCount NOTIFY mavlinkStatusChanged) Q_PROPERTY(float mavlinkLossPercent READ mavlinkLossPercent NOTIFY mavlinkStatusChanged) + Q_PROPERTY(qreal gimbalRoll READ gimbalRoll NOTIFY gimbalRollChanged) + Q_PROPERTY(qreal gimbalPitch READ gimbalPitch NOTIFY gimbalPitchChanged) + Q_PROPERTY(qreal gimbalYaw READ gimbalYaw NOTIFY gimbalYawChanged) + Q_PROPERTY(bool gimbalData READ gimbalData NOTIFY gimbalDataChanged) // The following properties relate to Orbit status Q_PROPERTY(bool orbitActive READ orbitActive NOTIFY orbitActiveChanged) @@ -697,7 +702,7 @@ public: // Called when the message drop-down is invoked to clear current count Q_INVOKABLE void resetMessages(); - Q_INVOKABLE void virtualTabletJoystickValue(double roll, double pitch, double yaw, double thrust, double gimbalPitch = 0, double gimbalYaw = 0); + Q_INVOKABLE void virtualTabletJoystickValue(double roll, double pitch, double yaw, double thrust); Q_INVOKABLE void disconnectInactiveVehicle(void); /// Command vehicle to return to launch @@ -761,7 +766,10 @@ public: Q_INVOKABLE void setPIDTuningTelemetryMode(bool pidTuning); - Q_INVOKABLE void gimbalControlValue(double pitch, double yaw); + Q_INVOKABLE void gimbalControlValue (double pitch, double yaw); + Q_INVOKABLE void gimbalPitchStep (int direction); + Q_INVOKABLE void gimbalYawStep (int direction); + Q_INVOKABLE void centerGimbal (); #if !defined(NO_ARDUPILOT_DIALECT) Q_INVOKABLE void flashBootloader(void); @@ -1088,6 +1096,11 @@ public: quint64 mavlinkLossCount () { return _mavlinkLossCount; } /// Total number of lost messages float mavlinkLossPercent () { return _mavlinkLossPercent; } /// Running loss rate + qreal gimbalRoll () { return static_cast(_curGimbalRoll);} + qreal gimbalPitch () { return static_cast(_curGimbalPitch); } + qreal gimbalYaw () { return static_cast(_curGinmbalYaw); } + bool gimbalData () { return _haveGimbalData; } + signals: void allLinksInactive(Vehicle* vehicle); void coordinateChanged(QGeoCoordinate coordinate); @@ -1192,8 +1205,13 @@ signals: void mavlinkSerialControl(uint8_t device, uint8_t flags, uint16_t timeout, uint32_t baudrate, QByteArray data); // MAVLink protocol version - void requestProtocolVersion(unsigned version); - void mavlinkStatusChanged(); + void requestProtocolVersion (unsigned version); + void mavlinkStatusChanged (); + + void gimbalRollChanged (); + void gimbalPitchChanged (); + void gimbalYawChanged (); + void gimbalDataChanged (); private slots: void _mavlinkMessageReceived(LinkInterface* link, mavlink_message_t message); @@ -1235,8 +1253,9 @@ private slots: void _protocolVersionTimeOut(void); private: - bool _containsLink(LinkInterface* link); - void _addLink(LinkInterface* link); + bool _containsLink (LinkInterface* link); + void _addLink (LinkInterface* link); + void _joystickChanged (Joystick* joystick); void _loadSettings(void); void _saveSettings(void); void _startJoystick(bool start); @@ -1273,6 +1292,7 @@ private: void _handleStatusText(mavlink_message_t& message, bool longVersion); void _handleOrbitExecutionStatus(const mavlink_message_t& message); void _handleMessageInterval(const mavlink_message_t& message); + void _handleGimbalOrientation(const mavlink_message_t& message); // ArduPilot dialect messages #if !defined(NO_ARDUPILOT_DIALECT) void _handleCameraFeedback(const mavlink_message_t& message); @@ -1456,6 +1476,12 @@ private: uint8_t _compID; bool _heardFrom; + float _curGimbalRoll = 0.0f; + float _curGimbalPitch = 0.0f; + float _curGinmbalYaw = 0.0f; + bool _haveGimbalData = false; + Joystick* _activeJoystick = nullptr; + int _firmwareMajorVersion; int _firmwareMinorVersion; int _firmwarePatchVersion; diff --git a/src/VehicleSetup/JoystickConfigButtons.qml b/src/VehicleSetup/JoystickConfigButtons.qml index 6c32587c63dbdf03f9e6799153cea4d4610e0980..61960f31b9241fd6a55681041432647d7bf16377 100644 --- a/src/VehicleSetup/JoystickConfigButtons.qml +++ b/src/VehicleSetup/JoystickConfigButtons.qml @@ -68,7 +68,7 @@ Item { } QGCComboBox { id: buttonActionCombo - width: ScreenTools.defaultFontPixelWidth * 20 + width: ScreenTools.defaultFontPixelWidth * 26 model: _activeJoystick ? _activeJoystick.actions : 0 onActivated: _activeJoystick.setButtonAction(modelData, textAt(index)) Component.onCompleted: currentIndex = find(_activeJoystick.buttonActions[modelData]) diff --git a/src/VehicleSetup/JoystickConfigCalibration.qml b/src/VehicleSetup/JoystickConfigCalibration.qml index c4f01c03dba801d5b64c4486ab924943d82cb346..edb6a79b2f87d68d92002990c2fd501e58ca3bd9 100644 --- a/src/VehicleSetup/JoystickConfigCalibration.qml +++ b/src/VehicleSetup/JoystickConfigCalibration.qml @@ -27,6 +27,10 @@ Item { id: calCol spacing: ScreenTools.defaultFontPixelHeight anchors.centerIn: parent + Item { + height: 1 + width: 1 + } Row { spacing: ScreenTools.defaultFontPixelWidth * 4 anchors.horizontalCenter: parent.horizontalCenter @@ -131,10 +135,6 @@ Item { Column { spacing: ScreenTools.defaultFontPixelHeight * 0.5 anchors.verticalCenter: parent.verticalCenter - QGCLabel { - text: qsTr("Axis Monitor") - anchors.horizontalCenter: parent.horizontalCenter - } Connections { target: controller onAxisValueChanged: { diff --git a/src/comm/MockLink.cc b/src/comm/MockLink.cc index 6e0362d9139e8804efc47930cb0331f0bf73c979..f75e8ade47daf740d429aa240e79558403d5a28d 100644 --- a/src/comm/MockLink.cc +++ b/src/comm/MockLink.cc @@ -509,7 +509,7 @@ void MockLink::_handleManualControl(const mavlink_message_t& msg) mavlink_manual_control_t manualControl; mavlink_msg_manual_control_decode(&msg, &manualControl); - qDebug() << "MANUAL_CONTROL" << manualControl.x << manualControl.y << manualControl.z << manualControl.r; + qCDebug(MockLinkLog) << "MANUAL_CONTROL" << manualControl.x << manualControl.y << manualControl.z << manualControl.r; } void MockLink::_setParamFloatUnionIntoMap(int componentId, const QString& paramName, float paramFloat) diff --git a/src/uas/UAS.cc b/src/uas/UAS.cc index 48131bb473bb40a97bafefe5f2bbbc8cf82e12c7..ce7a04c9a492fa2dc3a63f12927a6cae4ef33585 100644 --- a/src/uas/UAS.cc +++ b/src/uas/UAS.cc @@ -839,12 +839,8 @@ void UAS::processParamValueMsg(mavlink_message_t& msg, const QString& paramName, * Set the manual control commands. * This can only be done if the system has manual inputs enabled and is armed. */ -void UAS::setExternalControlSetpoint(float roll, float pitch, float yaw, float thrust, float gimbalPitch, float gimbalYaw, quint16 buttons, int joystickMode) +void UAS::setExternalControlSetpoint(float roll, float pitch, float yaw, float thrust, quint16 buttons, int joystickMode) { - //-- TODO - Q_UNUSED(gimbalPitch); - Q_UNUSED(gimbalYaw); - if (!_vehicle) { return; } diff --git a/src/uas/UAS.h b/src/uas/UAS.h index 145345e1da10234b8c39f2b60e80b780a66e7447..39d842e2c262f3735ad34250b95c1632b517d1b1 100644 --- a/src/uas/UAS.h +++ b/src/uas/UAS.h @@ -263,7 +263,7 @@ public slots: #endif /** @brief Set the values for the manual control of the vehicle */ - void setExternalControlSetpoint(float roll, float pitch, float yaw, float thrust, float gimbalPitch, float gimbalYaw, quint16 buttons, int joystickMode); + void setExternalControlSetpoint(float roll, float pitch, float yaw, float thrust, quint16 buttons, int joystickMode); /** @brief Set the values for the 6dof manual control of the vehicle */ #ifndef __mobile__