Browse Source

Merge pull request #5011 from DonLakeFlyer/MoreFixes

More fixes
QGC4.4
Don Gagne 8 years ago committed by GitHub
parent
commit
9ef7929ef1
  1. 17
      src/FactSystem/FactMetaData.cc
  2. 3
      src/FactSystem/FactMetaData.h
  3. 2
      src/FirmwarePlugin/PX4/PX4ParameterFactMetaData.xml
  4. 6
      src/FlightDisplay/FlightDisplayView.qml
  5. 43
      src/FlightDisplay/GuidedActionsController.qml
  6. 2
      src/FlightMap/FlightMap.qml
  7. 4
      src/PlanView/PlanView.qml

17
src/FactSystem/FactMetaData.cc

@ -28,8 +28,9 @@ const qreal FactMetaData::UnitConsts_s::secondsPerHour = 3600.0;
const qreal FactMetaData::UnitConsts_s::knotsToKPH = 1.852; // exact, hence weird base for knotsToMetersPerSecond const qreal FactMetaData::UnitConsts_s::knotsToKPH = 1.852; // exact, hence weird base for knotsToMetersPerSecond
// Length // Length
const qreal FactMetaData::UnitConsts_s::milesToMeters = 1609.344; const qreal FactMetaData::UnitConsts_s::milesToMeters = 1609.344;
const qreal FactMetaData::UnitConsts_s::feetToMeters = 0.3048; const qreal FactMetaData::UnitConsts_s::feetToMeters = 0.3048;
const qreal FactMetaData::UnitConsts_s::inchesToCentimeters = 2.54;
// Built in translations for all Facts // Built in translations for all Facts
const FactMetaData::BuiltInTranslation_s FactMetaData::_rgBuiltInTranslations[] = { const FactMetaData::BuiltInTranslation_s FactMetaData::_rgBuiltInTranslations[] = {
@ -42,10 +43,12 @@ const FactMetaData::BuiltInTranslation_s FactMetaData::_rgBuiltInTranslations[]
const FactMetaData::AppSettingsTranslation_s FactMetaData::_rgAppSettingsTranslations[] = { const FactMetaData::AppSettingsTranslation_s FactMetaData::_rgAppSettingsTranslations[] = {
{ "m", "m", false, UnitsSettings::DistanceUnitsMeters, FactMetaData::_defaultTranslator, FactMetaData::_defaultTranslator }, { "m", "m", false, UnitsSettings::DistanceUnitsMeters, FactMetaData::_defaultTranslator, FactMetaData::_defaultTranslator },
{ "meters", "meters", false, UnitsSettings::DistanceUnitsMeters, FactMetaData::_defaultTranslator, FactMetaData::_defaultTranslator }, { "meters", "meters", false, UnitsSettings::DistanceUnitsMeters, FactMetaData::_defaultTranslator, FactMetaData::_defaultTranslator },
{ "cm/px", "cm/px", false, UnitsSettings::DistanceUnitsMeters, FactMetaData::_defaultTranslator, FactMetaData::_defaultTranslator },
{ "m/s", "m/s", true, UnitsSettings::SpeedUnitsMetersPerSecond, FactMetaData::_defaultTranslator, FactMetaData::_defaultTranslator }, { "m/s", "m/s", true, UnitsSettings::SpeedUnitsMetersPerSecond, FactMetaData::_defaultTranslator, FactMetaData::_defaultTranslator },
{ "m^2", "m^2", false, UnitsSettings::AreaUnitsSquareMeters, FactMetaData::_defaultTranslator, FactMetaData::_defaultTranslator }, { "m^2", "m^2", false, UnitsSettings::AreaUnitsSquareMeters, FactMetaData::_defaultTranslator, FactMetaData::_defaultTranslator },
{ "m", "ft", false, UnitsSettings::DistanceUnitsFeet, FactMetaData::_metersToFeet, FactMetaData::_feetToMeters }, { "m", "ft", false, UnitsSettings::DistanceUnitsFeet, FactMetaData::_metersToFeet, FactMetaData::_feetToMeters },
{ "meters", "ft", false, UnitsSettings::DistanceUnitsFeet, FactMetaData::_metersToFeet, FactMetaData::_feetToMeters }, { "meters", "ft", false, UnitsSettings::DistanceUnitsFeet, FactMetaData::_metersToFeet, FactMetaData::_feetToMeters },
{ "cm/px", "in/px", false, UnitsSettings::DistanceUnitsFeet, FactMetaData::_centimetersToInches, FactMetaData::_inchesToCentimeters },
{ "m^2", "km^2", false, UnitsSettings::AreaUnitsSquareKilometers, FactMetaData::_squareMetersToSquareKilometers, FactMetaData::_squareKilometersToSquareMeters }, { "m^2", "km^2", false, UnitsSettings::AreaUnitsSquareKilometers, FactMetaData::_squareMetersToSquareKilometers, FactMetaData::_squareKilometersToSquareMeters },
{ "m^2", "ha", false, UnitsSettings::AreaUnitsHectares, FactMetaData::_squareMetersToHectares, FactMetaData::_hectaresToSquareMeters }, { "m^2", "ha", false, UnitsSettings::AreaUnitsHectares, FactMetaData::_squareMetersToHectares, FactMetaData::_hectaresToSquareMeters },
{ "m^2", "ft^2", false, UnitsSettings::AreaUnitsSquareFeet, FactMetaData::_squareMetersToSquareFeet, FactMetaData::_squareFeetToSquareMeters }, { "m^2", "ft^2", false, UnitsSettings::AreaUnitsSquareFeet, FactMetaData::_squareMetersToSquareFeet, FactMetaData::_squareFeetToSquareMeters },
@ -552,6 +555,16 @@ QVariant FactMetaData::_normToPercent(const QVariant& normalized)
return QVariant(normalized.toDouble() * 100.0); return QVariant(normalized.toDouble() * 100.0);
} }
QVariant FactMetaData::_centimetersToInches(const QVariant& centimeters)
{
return QVariant(centimeters.toDouble() * 1.0/constants.inchesToCentimeters);
}
QVariant FactMetaData::_inchesToCentimeters(const QVariant& inches)
{
return QVariant(inches.toDouble() * constants.inchesToCentimeters);
}
void FactMetaData::setRawUnits(const QString& rawUnits) void FactMetaData::setRawUnits(const QString& rawUnits)
{ {
_rawUnits = rawUnits; _rawUnits = rawUnits;

3
src/FactSystem/FactMetaData.h

@ -175,6 +175,8 @@ private:
static QVariant _knotsToMetersPerSecond(const QVariant& knots); static QVariant _knotsToMetersPerSecond(const QVariant& knots);
static QVariant _percentToNorm(const QVariant& percent); static QVariant _percentToNorm(const QVariant& percent);
static QVariant _normToPercent(const QVariant& normalized); static QVariant _normToPercent(const QVariant& normalized);
static QVariant _centimetersToInches(const QVariant& centimeters);
static QVariant _inchesToCentimeters(const QVariant& inches);
struct AppSettingsTranslation_s { struct AppSettingsTranslation_s {
const char* rawUnits; const char* rawUnits;
@ -218,6 +220,7 @@ private:
static const qreal knotsToKPH; static const qreal knotsToKPH;
static const qreal milesToMeters; static const qreal milesToMeters;
static const qreal feetToMeters; static const qreal feetToMeters;
static const qreal inchesToCentimeters;
} constants; } constants;
struct BuiltInTranslation_s { struct BuiltInTranslation_s {

2
src/FirmwarePlugin/PX4/PX4ParameterFactMetaData.xml

@ -650,7 +650,7 @@ velocity</short_desc>
<values> <values>
<value code="1">Return to land</value> <value code="1">Return to land</value>
<value code="0">Warning</value> <value code="0">Warning</value>
<value code="3">Return to land at critically low level, land at current position if reaching dangerously low levels</value> <value code="3">RTL, land immediately if battery too low</value>
<value code="2">Land at current position</value> <value code="2">Land at current position</value>
</values> </values>
</parameter> </parameter>

6
src/FlightDisplay/FlightDisplayView.qml

@ -519,6 +519,12 @@ QGCView {
} }
} }
onShowContinueMissionChanged: {
if (showContinueMission) {
confirmAction(actionContinueMission)
}
}
onShowResumeMissionChanged: { onShowResumeMissionChanged: {
if (showResumeMission) { if (showResumeMission) {
confirmAction(actionResumeMission) confirmAction(actionResumeMission)

43
src/FlightDisplay/GuidedActionsController.qml

@ -37,6 +37,7 @@ Item {
readonly property string takeoffTitle: qsTr("Takeoff") readonly property string takeoffTitle: qsTr("Takeoff")
readonly property string landTitle: qsTr("Land") readonly property string landTitle: qsTr("Land")
readonly property string startMissionTitle: qsTr("Start Mission") readonly property string startMissionTitle: qsTr("Start Mission")
readonly property string continueMissionTitle: qsTr("Continue Mission")
readonly property string resumeMissionTitle: qsTr("Resume Mission") readonly property string resumeMissionTitle: qsTr("Resume Mission")
readonly property string pauseTitle: qsTr("Pause") readonly property string pauseTitle: qsTr("Pause")
readonly property string changeAltTitle: qsTr("Change Altitude") readonly property string changeAltTitle: qsTr("Change Altitude")
@ -50,6 +51,7 @@ Item {
readonly property string emergencyStopMessage: qsTr("WARNING: This still stop all motors. If vehicle is currently in air it will crash.") readonly property string emergencyStopMessage: qsTr("WARNING: This still stop all motors. If vehicle is currently in air it will crash.")
readonly property string takeoffMessage: qsTr("Takeoff from ground and hold position.") readonly property string takeoffMessage: qsTr("Takeoff from ground and hold position.")
readonly property string startMissionMessage: qsTr("Start the mission which is currently displayed above. If the vehicle is on the ground it will takeoff.") readonly property string startMissionMessage: qsTr("Start the mission which is currently displayed above. If the vehicle is on the ground it will takeoff.")
readonly property string continueMissionMessage: qsTr("Continue the mission from the current waypoint.")
property string resumeMissionMessage: qsTr("Resume the mission which is displayed above. This will re-generate the mission from waypoint %1, takeoff and continue the mission.").arg(_resumeMissionIndex) property string resumeMissionMessage: qsTr("Resume the mission which is displayed above. This will re-generate the mission from waypoint %1, takeoff and continue the mission.").arg(_resumeMissionIndex)
readonly property string resumeMissionReadyMessage: qsTr("Review the modified mission above. Confirm if you want to takeoff and begin mission.") readonly property string resumeMissionReadyMessage: qsTr("Review the modified mission above. Confirm if you want to takeoff and begin mission.")
readonly property string landMessage: qsTr("Land the vehicle at the current position.") readonly property string landMessage: qsTr("Land the vehicle at the current position.")
@ -73,29 +75,32 @@ Item {
readonly property int actionOrbit: 10 readonly property int actionOrbit: 10
readonly property int actionLandAbort: 11 readonly property int actionLandAbort: 11
readonly property int actionStartMission: 12 readonly property int actionStartMission: 12
readonly property int actionResumeMission: 13 readonly property int actionContinueMission: 13
readonly property int actionResumeMissionReady: 14 readonly property int actionResumeMission: 14
readonly property int actionPause: 15 readonly property int actionResumeMissionReady: 15
readonly property int actionPause: 16
property bool showEmergenyStop: !_hideEmergenyStop && _activeVehicle && _vehicleArmed && _activeVehicle.flying property bool showEmergenyStop: !_hideEmergenyStop && _activeVehicle && _vehicleArmed && _vehicleFlying
property bool showArm: _activeVehicle && !_vehicleArmed property bool showArm: _activeVehicle && !_vehicleArmed
property bool showDisarm: _activeVehicle && _vehicleArmed && !_activeVehicle.flying property bool showDisarm: _activeVehicle && _vehicleArmed && !_vehicleFlying
property bool showRTL: _activeVehicle && _vehicleArmed && _activeVehicle.guidedModeSupported && _activeVehicle.flying && !_vehicleInRTLMode property bool showRTL: _activeVehicle && _vehicleArmed && _activeVehicle.guidedModeSupported && _vehicleFlying && !_vehicleInRTLMode
property bool showTakeoff: _activeVehicle && _activeVehicle.guidedModeSupported && !_activeVehicle.flying && !_activeVehicle.fixedWing property bool showTakeoff: _activeVehicle && _activeVehicle.guidedModeSupported && !_vehicleFlying && !_activeVehicle.fixedWing
property bool showLand: _activeVehicle && _activeVehicle.guidedModeSupported && _vehicleArmed && !_activeVehicle.fixedWing && !_vehicleInLandMode property bool showLand: _activeVehicle && _activeVehicle.guidedModeSupported && _vehicleArmed && !_activeVehicle.fixedWing && !_vehicleInLandMode
property bool showStartMission: _activeVehicle && _missionAvailable && !_missionActive property bool showStartMission: _activeVehicle && _missionAvailable && !_missionActive && !_vehicleFlying
property bool showResumeMission: _activeVehicle && !_activeVehicle.flying && _missionAvailable && _resumeMissionIndex > 0 property bool showContinueMission: _activeVehicle && _missionAvailable && !_missionActive && _vehicleFlying
property bool showPause: _activeVehicle && _vehicleArmed && _activeVehicle.pauseVehicleSupported && _activeVehicle.flying && !_vehiclePaused property bool showResumeMission: _activeVehicle && !_vehicleFlying && _missionAvailable && _resumeMissionIndex > 0
property bool showChangeAlt: (_activeVehicle && _activeVehicle.flying) && _activeVehicle.guidedModeSupported && _vehicleArmed && !_missionActive property bool showPause: _activeVehicle && _vehicleArmed && _activeVehicle.pauseVehicleSupported && _vehicleFlying && !_vehiclePaused
property bool showOrbit: !_hideOrbit && _activeVehicle && _activeVehicle.flying && _activeVehicle.orbitModeSupported && _vehicleArmed && !_missionActive property bool showChangeAlt: (_activeVehicle && _vehicleFlying) && _activeVehicle.guidedModeSupported && _vehicleArmed && !_missionActive
property bool showLandAbort: _activeVehicle && _activeVehicle.flying && _activeVehicle.fixedWing property bool showOrbit: !_hideOrbit && _activeVehicle && _vehicleFlying && _activeVehicle.orbitModeSupported && _vehicleArmed && !_missionActive
property bool showGotoLocation: _activeVehicle && _activeVehicle.guidedMode && _activeVehicle.flying property bool showLandAbort: _activeVehicle && _vehicleFlying && _activeVehicle.fixedWing
property bool showGotoLocation: _activeVehicle && _activeVehicle.guidedMode && _vehicleFlying
property var _activeVehicle: QGroundControl.multiVehicleManager.activeVehicle property var _activeVehicle: QGroundControl.multiVehicleManager.activeVehicle
property string _flightMode: _activeVehicle ? _activeVehicle.flightMode : "" property string _flightMode: _activeVehicle ? _activeVehicle.flightMode : ""
property bool _missionAvailable: missionController.containsItems property bool _missionAvailable: missionController.containsItems
property bool _missionActive: _activeVehicle ? _vehicleArmed && (_vehicleInLandMode || _vehicleInRTLMode || _vehicleInMissionMode) : false property bool _missionActive: _activeVehicle ? _vehicleArmed && (_vehicleInLandMode || _vehicleInRTLMode || _vehicleInMissionMode) : false
property bool _vehicleArmed: _activeVehicle ? _activeVehicle.armed : false property bool _vehicleArmed: _activeVehicle ? _activeVehicle.armed : false
property bool _vehicleFlying: _activeVehicle ? _activeVehicle.flying : false
property bool _vehiclePaused: false property bool _vehiclePaused: false
property bool _vehicleInMissionMode: false property bool _vehicleInMissionMode: false
property bool _vehicleInRTLMode: false property bool _vehicleInRTLMode: false
@ -119,7 +124,7 @@ Item {
_actionData = actionData _actionData = actionData
switch (actionCode) { switch (actionCode) {
case actionArm: case actionArm:
if (_activeVehicle.flying) { if (_vehicleFlying) {
return return
} }
confirmDialog.title = armTitle confirmDialog.title = armTitle
@ -127,7 +132,7 @@ Item {
confirmDialog.hideTrigger = Qt.binding(function() { return !showArm }) confirmDialog.hideTrigger = Qt.binding(function() { return !showArm })
break; break;
case actionDisarm: case actionDisarm:
if (_activeVehicle.flying) { if (_vehicleFlying) {
return return
} }
confirmDialog.title = disarmTitle confirmDialog.title = disarmTitle
@ -149,6 +154,11 @@ Item {
confirmDialog.message = startMissionMessage confirmDialog.message = startMissionMessage
confirmDialog.hideTrigger = Qt.binding(function() { return !showStartMission }) confirmDialog.hideTrigger = Qt.binding(function() { return !showStartMission })
break; break;
case actionContinueMission:
confirmDialog.title = continueMissionTitle
confirmDialog.message = continueMissionMessage
confirmDialog.hideTrigger = Qt.binding(function() { return !showContinueMission })
break;
case actionResumeMission: case actionResumeMission:
confirmDialog.title = resumeMissionTitle confirmDialog.title = resumeMissionTitle
confirmDialog.message = resumeMissionMessage confirmDialog.message = resumeMissionMessage
@ -224,6 +234,7 @@ Item {
_activeVehicle.startMission() _activeVehicle.startMission()
break break
case actionStartMission: case actionStartMission:
case actionContinueMission:
_activeVehicle.startMission() _activeVehicle.startMission()
break break
case actionArm: case actionArm:

2
src/FlightMap/FlightMap.qml

@ -122,7 +122,7 @@ Map {
visible: gcsPosition.isValid visible: gcsPosition.isValid
coordinate: gcsPosition coordinate: gcsPosition
sourceItem: MissionItemIndexLabel { sourceItem: MissionItemIndexLabel {
label: "Q" label: QGroundControl.appName.charAt(0)
} }
} }
} // Map } // Map

4
src/PlanView/PlanView.qml

@ -822,10 +822,10 @@ QGCView {
Component { Component {
id: removeAllPromptDialog id: removeAllPromptDialog
QGCViewMessage { QGCViewMessage {
message: qsTr("Are you sure you want to remove all items?") message: qsTr("Are you sure you want to remove all items? This will also remove all items from the vehicle.")
function accept() { function accept() {
itemDragger.clearItem() itemDragger.clearItem()
_syncDropDownController.removeAll() _syncDropDownController.removeAllFromVehicle()
hideDialog() hideDialog()
} }
} }

Loading…
Cancel
Save