Browse Source

Merge pull request #2332 from NaterGator/joystick-modeswitch

Enable binding mode commands to joystick buttons
QGC4.4
Lorenz Meier 10 years ago
parent
commit
070a77b197
  1. 2
      src/FirmwarePlugin/PX4/PX4FirmwarePlugin.cc
  2. 6
      src/Joystick/Joystick.cc

2
src/FirmwarePlugin/PX4/PX4FirmwarePlugin.cc

@ -174,7 +174,7 @@ bool PX4FirmwarePlugin::setFlightMode(const QString& flightMode, uint8_t* base_m @@ -174,7 +174,7 @@ bool PX4FirmwarePlugin::setFlightMode(const QString& flightMode, uint8_t* base_m
int PX4FirmwarePlugin::manualControlReservedButtonCount(void)
{
return 8; // 8 buttons reserved for rc switch simulation
return 0; // 0 buttons reserved for rc switch simulation
}
void PX4FirmwarePlugin::adjustMavlinkMessage(mavlink_message_t* message)

6
src/Joystick/Joystick.cc

@ -461,6 +461,10 @@ QStringList Joystick::actions(void) @@ -461,6 +461,10 @@ QStringList Joystick::actions(void)
QStringList list;
list << "Arm" << "Disarm";
if (_activeVehicle) {
list << _activeVehicle->flightModes();
}
return list;
}
@ -558,6 +562,8 @@ void Joystick::_buttonAction(const QString& action) @@ -558,6 +562,8 @@ void Joystick::_buttonAction(const QString& action)
_activeVehicle->setArmed(true);
} else if (action == "Disarm") {
_activeVehicle->setArmed(false);
} else if (_activeVehicle->flightModes().contains(action)) {
_activeVehicle->setFlightMode(action);
} else {
qCDebug(JoystickLog) << "_buttonAction unknown action:" << action;
}

Loading…
Cancel
Save