Browse Source

Merge pull request #8601 from booo/joystick-emergency-stop

add emergency stop as joystick button action
QGC4.4
Don Gagne 5 years ago committed by GitHub
parent
commit
ff49ad04fc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 6
      src/Joystick/Joystick.cc
  2. 2
      src/Joystick/Joystick.h

6
src/Joystick/Joystick.cc

@ -64,6 +64,7 @@ const char* Joystick::_buttonActionGimbalUp = QT_TR_NOOP("Gimbal Up"); @@ -64,6 +64,7 @@ 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::_buttonActionEmergencyStop = QT_TR_NOOP("Emergency Stop");
const char* Joystick::_rgFunctionSettingsKey[Joystick::maxFunction] = {
"RollAxis",
@ -684,6 +685,7 @@ void Joystick::startPolling(Vehicle* vehicle) @@ -684,6 +685,7 @@ void Joystick::startPolling(Vehicle* vehicle)
disconnect(this, &Joystick::gimbalYawStep, _activeVehicle, &Vehicle::gimbalYawStep);
disconnect(this, &Joystick::centerGimbal, _activeVehicle, &Vehicle::centerGimbal);
disconnect(this, &Joystick::gimbalControlValue, _activeVehicle, &Vehicle::gimbalControlValue);
disconnect(this, &Joystick::emergencyStop, _activeVehicle, &Vehicle::emergencyStop);
}
// Always set up the new vehicle
_activeVehicle = vehicle;
@ -707,6 +709,7 @@ void Joystick::startPolling(Vehicle* vehicle) @@ -707,6 +709,7 @@ void Joystick::startPolling(Vehicle* vehicle)
connect(this, &Joystick::gimbalYawStep, _activeVehicle, &Vehicle::gimbalYawStep);
connect(this, &Joystick::centerGimbal, _activeVehicle, &Vehicle::centerGimbal);
connect(this, &Joystick::gimbalControlValue, _activeVehicle, &Vehicle::gimbalControlValue);
connect(this, &Joystick::emergencyStop, _activeVehicle, &Vehicle::emergencyStop);
// FIXME: ****
//connect(this, &Joystick::buttonActionTriggered, uas, &UAS::triggerAction);
}
@ -1028,6 +1031,8 @@ void Joystick::_executeButtonAction(const QString& action, bool buttonDown) @@ -1028,6 +1031,8 @@ void Joystick::_executeButtonAction(const QString& action, bool buttonDown)
_localYaw = 0.0;
emit gimbalControlValue(0.0, 0.0);
}
} else if(action == _buttonActionEmergencyStop) {
if(buttonDown) emit emergencyStop();
} else {
qCDebug(JoystickLog) << "_buttonAction unknown action:" << action;
}
@ -1116,6 +1121,7 @@ void Joystick::_buildActionList(Vehicle* activeVehicle) @@ -1116,6 +1121,7 @@ void Joystick::_buildActionList(Vehicle* activeVehicle)
_assignableButtonActions.append(new AssignableButtonAction(this, _buttonActionGimbalLeft, true));
_assignableButtonActions.append(new AssignableButtonAction(this, _buttonActionGimbalRight, true));
_assignableButtonActions.append(new AssignableButtonAction(this, _buttonActionGimbalCenter));
_assignableButtonActions.append(new AssignableButtonAction(this, _buttonActionEmergencyStop));
for(int i = 0; i < _assignableButtonActions.count(); i++) {
AssignableButtonAction* p = qobject_cast<AssignableButtonAction*>(_assignableButtonActions[i]);
_availableActionTitles << p->action();

2
src/Joystick/Joystick.h

@ -225,6 +225,7 @@ signals: @@ -225,6 +225,7 @@ signals:
void setArmed (bool arm);
void setVtolInFwdFlight (bool set);
void setFlightMode (const QString& flightMode);
void emergencyStop ();
protected:
void _setDefaultCalibration ();
@ -351,6 +352,7 @@ private: @@ -351,6 +352,7 @@ private:
static const char* _buttonActionGimbalLeft;
static const char* _buttonActionGimbalRight;
static const char* _buttonActionGimbalCenter;
static const char* _buttonActionEmergencyStop;
private slots:
void _activeVehicleChanged(Vehicle* activeVehicle);

Loading…
Cancel
Save