Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Q
qgroundcontrol
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Valentin Platzgummer
qgroundcontrol
Commits
225dee4d
Commit
225dee4d
authored
Nov 10, 2019
by
olliw42
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' into pr-compid-2nd
parents
c92caca1
afcc3fb6
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
113 additions
and
105 deletions
+113
-105
v2.0
libs/mavlink/include/mavlink/v2.0
+1
-1
PX4ParameterFactMetaData.xml
src/FirmwarePlugin/PX4/PX4ParameterFactMetaData.xml
+7
-0
FlightDisplayView.qml
src/FlightDisplay/FlightDisplayView.qml
+51
-66
FlightDisplayViewWidgets.qml
src/FlightDisplay/FlightDisplayViewWidgets.qml
+1
-1
QGCMapPolygonVisuals.qml
src/MissionManager/QGCMapPolygonVisuals.qml
+5
-4
QGCMapPolylineVisuals.qml
src/MissionManager/QGCMapPolylineVisuals.qml
+5
-4
MissionItemEditor.qml
src/PlanView/MissionItemEditor.qml
+31
-21
PlanEditToolbar.qml
src/PlanView/PlanEditToolbar.qml
+9
-8
MainRootWindow.qml
src/ui/MainRootWindow.qml
+3
-0
No files found.
v2.0
@
6a160785
Subproject commit
cd003f27415dcb7abd94867fd5c44cda2fc3bdf5
Subproject commit
6a160785b46f14c31ec014517324f25d606066ce
src/FirmwarePlugin/PX4/PX4ParameterFactMetaData.xml
View file @
225dee4d
...
...
@@ -982,6 +982,13 @@ Set -1 to disable the check</short_desc>
<decimal>
2
</decimal>
<increment>
0.5
</increment>
</parameter>
<parameter
default=
"5.0"
name=
"COM_KILL_DISARM"
type=
"FLOAT"
>
<short_desc>
Timeout value for disarming when kill switch is engaged
</short_desc>
<min>
0.0
</min>
<max>
30.0
</max>
<unit>
s
</unit>
<increment>
0.1
</increment>
</parameter>
<parameter
default=
"0"
name=
"COM_LOW_BAT_ACT"
type=
"INT32"
>
<short_desc>
Battery failsafe mode
</short_desc>
<long_desc>
Action the system takes at critical battery. See also BAT_CRIT_THR and BAT_EMERGEN_THR for definition of battery states.
</long_desc>
...
...
src/FlightDisplay/FlightDisplayView.qml
View file @
225dee4d
...
...
@@ -144,33 +144,31 @@ Item {
}
}
// The following code is used to track vehicle states such that we prompt to remove mission from vehicle when mission completes
property
bool
vehicleArmed
:
activeVehicle
?
activeVehicle
.
armed
:
true
// true here prevents pop up from showing during shutdown
property
bool
vehicleWasArmed
:
false
property
bool
vehicleInMissionFlightMode
:
activeVehicle
?
(
activeVehicle
.
flightMode
===
activeVehicle
.
missionFlightMode
)
:
false
property
bool
promptForMissionRemove
:
false
// The following code is used to track vehicle states for showing the mission complete dialog
property
bool
vehicleArmed
:
activeVehicle
?
activeVehicle
.
armed
:
true
// true here prevents pop up from showing during shutdown
property
bool
vehicleWasArmed
:
false
property
bool
vehicleInMissionFlightMode
:
activeVehicle
?
(
activeVehicle
.
flightMode
===
activeVehicle
.
missionFlightMode
)
:
false
property
bool
vehicleWasInMissionFlightMode
:
false
property
bool
showMissionCompleteDialog
:
vehicleWasArmed
&&
vehicleWasInMissionFlightMode
&&
(
_missionController
.
containsItems
||
_geoFenceController
.
containsItems
||
_rallyPointController
.
containsItems
||
(
activeVehicle
?
activeVehicle
.
cameraTriggerPoints
.
count
!==
0
:
false
))
onVehicleArmedChanged
:
{
if
(
vehicleArmed
)
{
if
(
!
promptForMissionRemove
)
{
promptForMissionRemove
=
vehicleInMissionFlightMode
vehicleWasArmed
=
true
}
vehicleWasArmed
=
true
vehicleWasInMissionFlightMode
=
vehicleInMissionFlightMode
}
else
{
if
(
promptForMissionRemove
&&
(
_missionController
.
containsItems
||
_geoFenceController
.
containsItems
||
_rallyPointController
.
containsItems
))
{
// ArduPilot has a strange bug which prevents mission clear from working at certain times, so we can't show this dialog
if
(
!
activeVehicle
.
apmFirmware
)
{
mainWindow
.
showComponentDialog
(
missionCompleteDialogComponent
,
qsTr
(
"
Flight Plan complete
"
),
mainWindow
.
showDialogDefaultWidth
,
StandardButton
.
Close
)
}
if
(
showMissionCompleteDialog
)
{
mainWindow
.
showComponentDialog
(
missionCompleteDialogComponent
,
qsTr
(
"
Flight Plan complete
"
),
mainWindow
.
showDialogDefaultWidth
,
StandardButton
.
Close
)
}
promptForMissionRemove
=
false
vehicleWasArmed
=
false
vehicleWasInMissionFlightMode
=
false
}
}
onVehicleInMissionFlightModeChanged
:
{
if
(
!
promptForMissionRemov
e
&&
vehicleArmed
)
{
promptForMissionRemov
e
=
true
if
(
vehicleInMissionFlightMod
e
&&
vehicleArmed
)
{
vehicleWasInMissionFlightMod
e
=
true
}
}
...
...
@@ -193,46 +191,47 @@ Item {
anchors.margins
:
_margins
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
spacing
:
ScreenTools
.
defaultFontPixelHeight
ColumnLayout
{
Layout.fillWidth
:
true
spacing
:
ScreenTools
.
defaultFontPixelHeight
visible
:
!
activeVehicle
.
connectionLost
||
!
_guidedController
.
showResumeMission
QGCLabel
{
Layout.fillWidth
:
true
text
:
qsTr
(
"
%1 Images Taken
"
).
arg
(
activeVehicle
.
cameraTriggerPoints
.
count
)
horizontalAlignment
:
Text
.
AlignHCenter
visible
:
activeVehicle
.
cameraTriggerPoints
.
count
!==
0
}
QGCLabel
{
Layout.fillWidth
:
true
text
:
qsTr
(
"
%1 Images Taken
"
).
arg
(
activeVehicle
.
cameraTriggerPoints
.
count
)
horizontalAlignment
:
Text
.
AlignHCenter
visible
:
activeVehicle
.
cameraTriggerPoints
.
count
!==
0
QGCButton
{
Layout.fillWidth
:
true
text
:
qsTr
(
"
Remove plan from vehicle
"
)
visible
:
!
activeVehicle
.
connectionLost
// && !activeVehicle.apmFirmware // ArduPilot has a bug somewhere with mission clear
onClicked
:
{
_planController
.
removeAllFromVehicle
()
hideDialog
()
}
}
QGCButton
{
Layout.fillWidth
:
true
text
:
qsTr
(
"
Remove plan from vehicle
"
)
onClicked
:
{
_planController
.
removeAllFromVehicle
()
hideDialog
()
}
}
QGCButton
{
Layout.fillWidth
:
true
Layout.alignment
:
Qt
.
AlignHCenter
text
:
qsTr
(
"
Leave plan on vehicle
"
)
onClicked
:
hideDialog
()
}
QGCButton
{
Layout.fillWidth
:
true
Layout.alignment
:
Qt
.
AlignHCenter
text
:
qsTr
(
"
Leave plan on vehicle
"
)
onClicked
:
hideDialog
()
}
Rectangle
{
Layout.fillWidth
:
true
color
:
qgcPal
.
text
height
:
1
}
Rectangle
{
Layout.fillWidth
:
true
color
:
qgcPal
.
text
height
:
1
}
ColumnLayout
{
Layout.fillWidth
:
true
spacing
:
ScreenTools
.
defaultFontPixelHeight
visible
:
!
activeVehicle
.
connectionLost
&&
_guidedController
.
showResumeMission
QGCButton
{
Layout.fillWidth
:
true
Layout.alignment
:
Qt
.
AlignHCenter
text
:
qsTr
(
"
Resume Mission From Waypoint %1
"
).
arg
(
_guidedController
.
_resumeMissionIndex
)
visible
:
_guidedController
.
showResumeMission
onClicked
:
{
guidedController
.
executeAction
(
_guidedController
.
actionResumeMission
,
null
,
null
)
...
...
@@ -244,29 +243,15 @@ Item {
Layout.fillWidth
:
true
wrapMode
:
Text
.
WordWrap
text
:
qsTr
(
"
Resume Mission will rebuild the current mission from the last flown waypoint and upload it to the vehicle for the next flight.
"
)
visible
:
_guidedController
.
showResumeMission
}
QGCLabel
{
Layout.fillWidth
:
true
wrapMode
:
Text
.
WordWrap
color
:
qgcPal
.
warningText
text
:
qsTr
(
"
If you are changing batteries for Resume Mission do not disconnect from the vehicle when communication is lost.
"
)
visible
:
_guidedController
.
showResumeMission
}
}
ColumnLayout
{
QGCLabel
{
Layout.fillWidth
:
true
spacing
:
ScreenTools
.
defaultFontPixelHeight
visible
:
activeVehicle
.
connectionLost
&&
_guidedController
.
showResumeMission
QGCLabel
{
Layout.fillWidth
:
true
wrapMode
:
Text
.
WordWrap
color
:
qgcPal
.
warningText
text
:
qsTr
(
"
If you are changing batteries for Resume Mission do not disconnect from the vehicle.
"
)
}
wrapMode
:
Text
.
WordWrap
color
:
qgcPal
.
warningText
text
:
qsTr
(
"
If you are changing batteries for Resume Mission do not disconnect from the vehicle.
"
)
visible
:
_guidedController
.
showResumeMission
}
}
}
...
...
src/FlightDisplay/FlightDisplayViewWidgets.qml
View file @
225dee4d
...
...
@@ -134,7 +134,7 @@ Item {
spacing
:
ScreenTools
.
defaultFontPixelHeight
property
bool
noGPSLockVisible
:
activeVehicle
&&
!
activeVehicle
.
coordinate
.
isValid
&&
mainIsMap
property
bool
prearmErrorVisible
:
activeVehicle
&&
activeVehicle
.
prearmError
property
bool
prearmErrorVisible
:
activeVehicle
&&
!
activeVehicle
.
armed
&&
activeVehicle
.
prearmError
QGCLabel
{
anchors.horizontalCenter
:
parent
.
horizontalCenter
...
...
src/MissionManager/QGCMapPolygonVisuals.qml
View file @
225dee4d
...
...
@@ -516,10 +516,11 @@ Item {
id
:
toolbarComponent
PlanEditToolbar
{
x
:
mapControl
.
centerViewport
.
left
y
:
mapControl
.
centerViewport
.
top
width
:
mapControl
.
centerViewport
.
width
z
:
QGroundControl
.
zOrderMapItems
+
2
anchors.horizontalCenter
:
mapControl
.
left
anchors.horizontalCenterOffset
:
mapControl
.
centerViewport
.
left
+
(
mapControl
.
centerViewport
.
width
/
2
)
y
:
mapControl
.
centerViewport
.
top
z
:
QGroundControl
.
zOrderMapItems
+
2
availableWidth
:
mapControl
.
centerViewport
.
width
QGCButton
{
_horizontalPadding
:
0
...
...
src/MissionManager/QGCMapPolylineVisuals.qml
View file @
225dee4d
...
...
@@ -314,10 +314,11 @@ Item {
id
:
toolbarComponent
PlanEditToolbar
{
x
:
mapControl
.
centerViewport
.
left
y
:
mapControl
.
centerViewport
.
top
width
:
mapControl
.
centerViewport
.
width
z
:
QGroundControl
.
zOrderMapItems
+
2
anchors.horizontalCenter
:
mapControl
.
left
anchors.horizontalCenterOffset
:
mapControl
.
centerViewport
.
left
+
(
mapControl
.
centerViewport
.
width
/
2
)
y
:
mapControl
.
centerViewport
.
top
z
:
QGroundControl
.
zOrderMapItems
+
2
availableWidth
:
mapControl
.
centerViewport
.
width
QGCButton
{
_horizontalPadding
:
0
...
...
src/PlanView/MissionItemEditor.qml
View file @
225dee4d
...
...
@@ -14,11 +14,13 @@ import QGroundControl.Palette 1.0
/// Mission item edit control
Rectangle
{
id
:
_root
height
:
editorLoader
.
visible
?
(
editorLoader
.
y
+
editorLoader
.
height
+
(
_margin
*
2
))
:
(
commandPicker
.
y
+
commandPicker
.
height
+
_margin
/
2
)
color
:
_currentItem
?
qgcPal
.
missionItemEditor
:
qgcPal
.
windowShade
radius
:
_radius
opacity
:
_currentItem
?
1.0
:
0.7
id
:
_root
height
:
editorLoader
.
visible
?
(
editorLoader
.
y
+
editorLoader
.
height
+
(
_margin
*
2
))
:
(
commandPicker
.
y
+
commandPicker
.
height
+
_margin
/
2
)
color
:
_currentItem
?
qgcPal
.
missionItemEditor
:
qgcPal
.
windowShade
radius
:
_radius
opacity
:
_currentItem
?
1.0
:
0.7
border.width
:
_readyForSave
?
0
:
1
border.color
:
qgcPal
.
warningText
property
var
map
///< Map control
property
var
masterController
...
...
@@ -38,6 +40,7 @@ Rectangle {
property
bool
_noMissionItemsAdded
:
ListView
.
view
.
model
.
count
===
1
property
real
_sectionSpacer
:
ScreenTools
.
defaultFontPixelWidth
/
2
// spacing between section headings
property
bool
_singleComplexItem
:
_missionController
.
complexMissionItemNames
.
length
===
1
property
bool
_readyForSave
:
missionItem
.
readyForSaveState
===
VisualMissionItem
.
ReadyForSave
readonly
property
real
_editFieldWidth
:
Math
.
min
(
width
-
_margin
*
2
,
ScreenTools
.
defaultFontPixelWidth
*
12
)
readonly
property
real
_margin
:
ScreenTools
.
defaultFontPixelWidth
/
2
...
...
@@ -73,27 +76,43 @@ Rectangle {
}
Rectangle
{
anchors.verticalCenter
:
commandPicker
.
verticalCenter
id
:
notReadyForSaveIndicator
anchors.verticalCenter
:
notReadyForSaveLabel
.
visible
?
notReadyForSaveLabel
.
verticalCenter
:
commandPicker
.
verticalCenter
anchors.leftMargin
:
_margin
anchors.left
:
parent
.
left
width
:
readyForSaveLabel
.
contentHeight
height
:
width
border.width
:
1
border.color
:
"
red
"
border.color
:
qgcPal
.
warningText
color
:
"
white
"
radius
:
width
/
2
visible
:
missionItem
.
readyForSaveState
!==
VisualMissionItem
.
R
eadyForSave
visible
:
!
_r
eadyForSave
QGCLabel
{
id
:
readyForSaveLabel
anchors.centerIn
:
parent
//: Indicator in Plan view to show mission item is not ready for save/send
text
:
qsTr
(
"
?
"
)
color
:
"
red
"
color
:
qgcPal
.
warningText
font.pointSize
:
ScreenTools
.
smallFontPointSize
}
}
QGCLabel
{
id
:
notReadyForSaveLabel
anchors.margins
:
_margin
anchors.left
:
notReadyForSaveIndicator
.
right
anchors.right
:
parent
.
right
anchors.top
:
commandPicker
.
bottom
visible
:
_currentItem
&&
!
_readyForSave
text
:
missionItem
.
readyForSaveState
===
VisualMissionItem
.
NotReadyForSaveTerrain
?
qsTr
(
"
Incomplete: Waiting on terrain data.
"
)
:
qsTr
(
"
Incomplete: Item not fully specified.
"
)
wrapMode
:
Text
.
WordWrap
horizontalAlignment
:
Text
.
AlignHCenter
color
:
qgcPal
.
warningText
}
QGCColoredImage
{
id
:
hamburger
anchors.rightMargin
:
ScreenTools
.
defaultFontPixelWidth
...
...
@@ -197,18 +216,10 @@ Rectangle {
QGCButton
{
id
:
commandPicker
anchors.topMargin
:
_margin
/
2
anchors.topMargin
:
_margin
anchors.rightMargin
:
ScreenTools
.
defaultFontPixelWidth
anchors.leftMargin
:
_margin
anchors.left
:
parent
.
left
/*
Trying no sequence numbers in ui
anchors.leftMargin: ScreenTools.defaultFontPixelWidth * 2
anchors.left: label.right
*/
anchors.top
:
parent
.
top
visible
:
!
commandLabel
.
visible
text
:
missionItem
.
commandName
...
...
@@ -237,10 +248,9 @@ Rectangle {
Loader
{
id
:
editorLoader
anchors.leftMargin
:
_margin
anchors.topMargin
:
_margin
anchors.margins
:
_margin
anchors.left
:
parent
.
left
anchors.top
:
commandPicker
.
bottom
anchors.top
:
_readyForSave
?
commandPicker
.
bottom
:
notReadyForSaveLabel
.
bottom
source
:
missionItem
.
editorQml
visible
:
_currentItem
...
...
src/PlanView/PlanEditToolbar.qml
View file @
225dee4d
...
...
@@ -14,14 +14,18 @@ import QtQuick.Layouts 1.2
import
QGroundControl
1.0
import
QGroundControl
.
ScreenTools
1.0
import
QGroundControl
.
Controls
1.0
import
QGroundControl
.
Palette
1.0
/// Toolbar used for things like Polygon editing tools
Item
{
width
:
Math
.
min
(
toolsRowLayout
.
width
+
(
_margins
*
2
),
availableWidth
)
height
:
toolsFlickable
.
y
+
toolsFlickable
.
height
+
_margins
z
:
QGroundControl
.
zOrderMapItems
+
2
property
real
_radius
:
ScreenTools
.
defaultFontPixelWidth
/
2
property
real
_margins
:
ScreenTools
.
defaultFontPixelWidth
/
2
property
real
availableWidth
property
real
_radius
:
ScreenTools
.
defaultFontPixelWidth
/
2
property
real
_margins
:
ScreenTools
.
defaultFontPixelWidth
/
2
Component.onCompleted
:
{
// Move the child controls from consumer into the layout control
...
...
@@ -39,8 +43,7 @@ Item {
Rectangle
{
anchors.fill
:
parent
radius
:
_radius
color
:
"
white
"
opacity
:
0.75
color
:
qgcPal
.
globalTheme
===
QGCPalette
.
Light
?
QGroundControl
.
corePlugin
.
options
.
toolbarBackgroundLight
:
QGroundControl
.
corePlugin
.
options
.
toolbarBackgroundDark
}
QGCFlickable
{
...
...
@@ -64,10 +67,8 @@ Item {
id
:
instructionComponent
QGCLabel
{
id
:
instructionLabel
color
:
"
black
"
text
:
_instructionText
Layout.fillWidth
:
true
id
:
instructionLabel
text
:
_instructionText
}
}
}
src/ui/MainRootWindow.qml
View file @
225dee4d
...
...
@@ -153,6 +153,9 @@ ApplicationWindow {
mainWindowDialog
.
dialogButtons
=
buttons
mainWindowDialog
.
open
()
if
(
buttons
&
StandardButton
.
Cancel
||
buttons
&
StandardButton
.
Close
||
buttons
&
StandardButton
.
Discard
||
buttons
&
StandardButton
.
Abort
||
buttons
&
StandardButton
.
Ignore
)
{
mainWindowDialog
.
closePolicy
=
Popup
.
NoAutoClose
;
mainWindowDialog
.
interactive
=
false
;
}
else
{
mainWindowDialog
.
closePolicy
=
Popup
.
CloseOnEscape
|
Popup
.
CloseOnPressOutside
;
mainWindowDialog
.
interactive
=
true
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment