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
916d996e
Commit
916d996e
authored
Feb 23, 2016
by
Don Gagne
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Restructure ui not parent to bottom
- Added new Advanced visualization
parent
28625888
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
196 additions
and
159 deletions
+196
-159
ParameterEditorDialog.qml
src/QmlControls/ParameterEditorDialog.qml
+126
-95
FirmwareUpgrade.qml
src/VehicleSetup/FirmwareUpgrade.qml
+70
-64
No files found.
src/QmlControls/ParameterEditorDialog.qml
View file @
916d996e
...
...
@@ -44,6 +44,8 @@ QGCViewDialog {
ParameterEditorController
{
id
:
controller
;
factPanel
:
parent
}
QGCPalette
{
id
:
qgcPal
;
colorGroupEnabled
:
true
}
function
accept
()
{
if
(
factCombo
.
visible
)
{
fact
.
enumIndex
=
factCombo
.
currentIndex
...
...
@@ -69,126 +71,155 @@ QGCViewDialog {
//valueField.forceActiveFocus()
}
Column
{
spacing
:
defaultTextHeight
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
QGCFlickable
{
anchors.fill
:
parent
contentHeight
:
_column
.
y
+
_column
.
height
flickableDirection
:
Flickable
.
VerticalFlick
Column
{
id
:
_column
spacing
:
defaultTextHeight
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
QGCLabel
{
width
:
parent
.
width
wrapMode
:
Text
.
WordWrap
text
:
fact
.
shortDescription
?
fact
.
shortDescription
:
"
Description missing
"
}
QGCLabel
{
width
:
parent
.
width
wrapMode
:
Text
.
WordWrap
text
:
fact
.
shortDescription
?
fact
.
shortDescription
:
"
Description missing
"
}
QGCLabel
{
width
:
parent
.
width
wrapMode
:
Text
.
WordWrap
visible
:
fact
.
longDescription
text
:
fact
.
longDescription
}
QGCLabel
{
width
:
parent
.
width
wrapMode
:
Text
.
WordWrap
visible
:
fact
.
longDescription
text
:
fact
.
longDescription
}
Row
{
spacing
:
defaultTextWidth
QGCTextField
{
id
:
valueField
text
:
validate
?
validateValue
:
fact
.
valueString
visible
:
fact
.
enumStrings
.
length
==
0
||
validate
//focus: true
QGCTextField
{
id
:
valueField
text
:
validate
?
validateValue
:
fact
.
valueString
visible
:
fact
.
enumStrings
.
length
==
0
||
validate
//focus: true
// At this point all Facts are numeric
inputMethodHints
:
Qt
.
ImhFormattedNumbersOnly
}
// At this point all Facts are numeric
inputMethodHints
:
Qt
.
ImhFormattedNumbersOnly
}
QGCButton
{
anchors.baseline
:
valueField
.
baseline
visible
:
fact
.
defaultValueAvailable
text
:
"
Reset to default
"
onClicked
:
{
fact
.
value
=
fact
.
defaultValue
fact
.
valueChanged
(
fact
.
value
)
hideDialog
()
}
}
}
QGCComboBox
{
id
:
factCombo
width
:
valueField
.
width
visible
:
_showCombo
model
:
fact
.
enumStrings
QGCComboBox
{
id
:
factCombo
width
:
valueField
.
width
visible
:
_showCombo
model
:
fact
.
enumStrings
property
bool
_showCombo
:
fact
.
enumStrings
.
length
!=
0
&&
!
validate
property
bool
_showCombo
:
fact
.
enumStrings
.
length
!=
0
&&
!
validate
Component.onCompleted
:
{
// We can't bind directly to fact.enumIndex since that would add an unknown value
// if there are no enum strings.
if
(
_showCombo
)
{
currentIndex
=
fact
.
enumIndex
Component.onCompleted
:
{
// We can't bind directly to fact.enumIndex since that would add an unknown value
// if there are no enum strings.
if
(
_showCombo
)
{
currentIndex
=
fact
.
enumIndex
}
}
}
}
QGCLabel
{
text
:
fact
.
name
}
QGCLabel
{
text
:
fact
.
name
}
Row
{
spacing
:
defaultTextWidth
Row
{
spacing
:
defaultTextWidth
QGCLabel
{
text
:
"
Units:
"
}
QGCLabel
{
text
:
fact
.
units
?
fact
.
units
:
"
none
"
}
}
QGCLabel
{
text
:
"
Units:
"
}
QGCLabel
{
text
:
fact
.
units
?
fact
.
units
:
"
none
"
}
}
Row
{
spacing
:
defaultTextWidth
visible
:
!
fact
.
minIsDefaultForType
Row
{
spacing
:
defaultTextWidth
visible
:
!
fact
.
minIsDefaultForType
QGCLabel
{
text
:
"
Minimum value:
"
}
QGCLabel
{
text
:
fact
.
minString
}
}
QGCLabel
{
text
:
"
Minimum value:
"
}
QGCLabel
{
text
:
fact
.
minString
}
}
Row
{
spacing
:
defaultTextWidth
visible
:
!
fact
.
maxIsDefaultForType
Row
{
spacing
:
defaultTextWidth
visible
:
!
fact
.
maxIsDefaultForType
QGCLabel
{
text
:
"
Maximum value:
"
}
QGCLabel
{
text
:
fact
.
maxString
}
}
QGCLabel
{
text
:
"
Maximum value:
"
}
QGCLabel
{
text
:
fact
.
maxString
}
}
Row
{
spacing
:
defaultTextWidth
Row
{
spacing
:
defaultTextWidth
QGCLabel
{
text
:
"
Default value:
"
}
QGCLabel
{
text
:
fact
.
defaultValueAvailable
?
fact
.
defaultValueString
:
"
none
"
}
}
QGCLabel
{
text
:
"
Default value:
"
}
QGCLabel
{
text
:
fact
.
defaultValueAvailable
?
fact
.
defaultValueString
:
"
none
"
}
}
QGCLabel
{
width
:
parent
.
width
wrapMode
:
Text
.
WordWrap
text
:
"
Warning: Modifying parameters while vehicle is in flight can lead to vehicle instability and possible vehicle loss.
"
+
QGCLabel
{
width
:
parent
.
width
wrapMode
:
Text
.
WordWrap
text
:
"
Warning: Modifying parameters while vehicle is in flight can lead to vehicle instability and possible vehicle loss.
"
+
"
Make sure you know what you are doing and double-check your values before Save!
"
}
}
QGCLabel
{
id
:
validationError
width
:
parent
.
width
wrapMode
:
Text
.
WordWrap
color
:
"
yellow
"
}
QGCLabel
{
id
:
validationError
width
:
parent
.
width
wrapMode
:
Text
.
WordWrap
color
:
"
yellow
"
}
QGCCheckBox
{
id
:
forceSave
visible
:
false
text
:
"
Force save (dangerous!)
"
}
}
// Column - Fact information
QGCCheckBox
{
id
:
forceSave
visible
:
false
text
:
"
Force save (dangerous!)
"
}
Row
{
width
:
parent
.
width
spacing
:
ScreenTools
.
defaultFontPixelWidth
/
2
visible
:
showRCToParam
QGCButton
{
id
:
bottomButton
anchors.rightMargin
:
defaultTextWidth
anchors.right
:
rcButton
.
left
anchors.bottom
:
parent
.
bottom
visible
:
fact
.
defaultValueAvailable
text
:
"
Reset to default
"
Rectangle
{
height
:
1
width
:
ScreenTools
.
defaultFontPixelWidth
*
5
color
:
qgcPal
.
text
anchors.verticalCenter
:
_advanced
.
verticalCenter
}
onClicked
:
{
fact
.
value
=
fact
.
defaultValue
fact
.
valueChanged
(
fact
.
value
)
hideDialog
()
}
}
QGCCheckBox
{
id
:
_advanced
text
:
"
Advanced settings
"
}
QGCButton
{
id
:
rcButton
anchors.right
:
parent
.
right
anchors.bottom
:
parent
.
bottom
text
:
"
Set RC to Param...
"
visible
:
!
validate
&&
showRCToParam
onClicked
:
controller
.
setRCToParam
(
fact
.
name
)
Rectangle
{
height
:
1
width
:
ScreenTools
.
defaultFontPixelWidth
*
5
color
:
qgcPal
.
text
anchors.verticalCenter
:
_advanced
.
verticalCenter
}
}
QGCButton
{
text
:
"
Set RC to Param...
"
visible
:
_advanced
.
checked
&&
!
validate
&&
showRCToParam
onClicked
:
controller
.
setRCToParam
(
fact
.
name
)
}
}
// Column
}
}
// QGCViewDialog
src/VehicleSetup/FirmwareUpgrade.qml
View file @
916d996e
...
...
@@ -108,9 +108,9 @@ QGCView {
statusTextArea
.
append
(
highlightPrefix
+
"
Found device
"
+
highlightSuffix
+
"
:
"
+
controller
.
boardType
)
if
(
controller
.
boardType
==
"
Pixhawk
"
||
controller
.
boardType
==
"
AeroCore
"
||
controller
.
boardType
==
"
PX4 Flow
"
||
controller
.
boardType
==
"
PX4 FMU V1
"
)
{
showDialog
(
pixhawkFirmwareSelectDialog
,
title
,
qgcView
.
showDialogDefaultWidth
,
StandardButton
.
Ok
|
StandardButton
.
Cancel
)
}
}
}
}
}
}
onError
:
{
hideDialog
()
...
...
@@ -131,7 +131,7 @@ QGCView {
QGCViewDialog
{
anchors.fill
:
parent
property
bool
showFirmwareTypeSelection
:
advancedMode
.
checked
property
bool
showFirmwareTypeSelection
:
_advanced
.
checked
property
bool
px4Flow
:
controller
.
boardType
==
"
PX4 Flow
"
function
accept
()
{
...
...
@@ -176,7 +176,7 @@ QGCView {
ListElement
{
text
:
"
Custom firmware file...
"
;
firmwareType
:
FirmwareUpgradeController
.
CustomFirmware
}
}
}
ListModel
{
...
...
@@ -189,7 +189,7 @@ QGCView {
ListElement
{
text
:
"
Custom firmware file...
"
;
firmwareType
:
FirmwareUpgradeController
.
CustomFirmware
}
}
}
Column
{
...
...
@@ -232,6 +232,44 @@ QGCView {
onClicked
:
parent
.
firmwareVersionChanged
(
firmwareTypeList
)
}
QGCComboBox
{
id
:
vehicleTypeSelectionCombo
width
:
200
visible
:
apmFlightStack
.
checked
model
:
controller
.
apmAvailableVersions
}
Row
{
width
:
parent
.
width
spacing
:
ScreenTools
.
defaultFontPixelWidth
/
2
visible
:
!
px4Flow
Rectangle
{
height
:
1
width
:
ScreenTools
.
defaultFontPixelWidth
*
5
color
:
qgcPal
.
text
anchors.verticalCenter
:
_advanced
.
verticalCenter
}
QGCCheckBox
{
id
:
_advanced
text
:
"
Advanced settings
"
checked
:
px4Flow
?
true
:
false
onClicked
:
{
firmwareVersionCombo
.
currentIndex
=
0
firmwareVersionWarningLabel
.
visible
=
false
}
}
Rectangle
{
height
:
1
width
:
ScreenTools
.
defaultFontPixelWidth
*
5
color
:
qgcPal
.
text
anchors.verticalCenter
:
_advanced
.
verticalCenter
}
}
QGCLabel
{
width
:
parent
.
width
wrapMode
:
Text
.
WordWrap
...
...
@@ -239,43 +277,33 @@ QGCView {
text
:
px4Flow
?
"
Select which version of the firmware you would like to install:
"
:
"
Select which version of the above flight stack you would like to install:
"
}
Row
{
spacing
:
10
QGCComboBox
{
id
:
firmwareVersionCombo
width
:
200
visible
:
showFirmwareTypeSelection
model
:
px4Flow
?
px4FlowTypeList
:
firmwareTypeList
currentIndex
:
controller
.
selectedFirmwareType
onActivated
:
{
controller
.
selectedFirmwareType
=
index
if
(
model
.
get
(
index
).
firmwareType
==
FirmwareUpgradeController
.
BetaFirmware
)
{
firmwareVersionWarningLabel
.
visible
=
true
firmwareVersionWarningLabel
.
text
=
"
WARNING: BETA FIRMWARE.
"
+
"
This firmware version is ONLY intended for beta testers.
"
+
"
Although it has received FLIGHT TESTING, it represents actively changed code.
"
+
"
Do NOT use for normal operation.
"
}
else
if
(
model
.
get
(
index
).
firmwareType
==
FirmwareUpgradeController
.
DeveloperFirmware
)
{
firmwareVersionWarningLabel
.
visible
=
true
firmwareVersionWarningLabel
.
text
=
"
WARNING: CONTINUOUS BUILD FIRMWARE.
"
+
"
This firmware has NOT BEEN FLIGHT TESTED.
"
+
"
It is only intended for DEVELOPERS.
"
+
"
Run bench tests without props first.
"
+
"
Do NOT fly this without additonal safety precautions.
"
+
"
Follow the mailing list actively when using it.
"
}
else
{
firmwareVersionWarningLabel
.
visible
=
false
}
QGCComboBox
{
id
:
firmwareVersionCombo
width
:
200
visible
:
showFirmwareTypeSelection
model
:
px4Flow
?
px4FlowTypeList
:
firmwareTypeList
currentIndex
:
controller
.
selectedFirmwareType
onActivated
:
{
controller
.
selectedFirmwareType
=
index
if
(
model
.
get
(
index
).
firmwareType
==
FirmwareUpgradeController
.
BetaFirmware
)
{
firmwareVersionWarningLabel
.
visible
=
true
firmwareVersionWarningLabel
.
text
=
"
WARNING: BETA FIRMWARE.
"
+
"
This firmware version is ONLY intended for beta testers.
"
+
"
Although it has received FLIGHT TESTING, it represents actively changed code.
"
+
"
Do NOT use for normal operation.
"
}
else
if
(
model
.
get
(
index
).
firmwareType
==
FirmwareUpgradeController
.
DeveloperFirmware
)
{
firmwareVersionWarningLabel
.
visible
=
true
firmwareVersionWarningLabel
.
text
=
"
WARNING: CONTINUOUS BUILD FIRMWARE.
"
+
"
This firmware has NOT BEEN FLIGHT TESTED.
"
+
"
It is only intended for DEVELOPERS.
"
+
"
Run bench tests without props first.
"
+
"
Do NOT fly this without additonal safety precautions.
"
+
"
Follow the mailing list actively when using it.
"
}
else
{
firmwareVersionWarningLabel
.
visible
=
false
}
}
QGCComboBox
{
id
:
vehicleTypeSelectionCombo
width
:
200
visible
:
apmFlightStack
.
checked
model
:
controller
.
apmAvailableVersions
}
}
QGCLabel
{
...
...
@@ -284,29 +312,7 @@ QGCView {
wrapMode
:
Text
.
WordWrap
visible
:
false
}
}
QGCCheckBox
{
id
:
advancedMode
anchors.bottom
:
parent
.
bottom
text
:
"
Advanced mode
"
checked
:
px4Flow
?
true
:
false
visible
:
!
px4Flow
onClicked
:
{
firmwareVersionCombo
.
currentIndex
=
0
firmwareVersionWarningLabel
.
visible
=
false
}
}
QGCButton
{
anchors.leftMargin
:
ScreenTools
.
defaultFontPixelWidth
*
2
anchors.left
:
advancedMode
.
right
anchors.bottom
:
parent
.
bottom
text
:
"
Help me pick a flight stack
"
onClicked
:
Qt
.
openUrlExternally
(
"
http://pixhawk.org/choice
"
)
visible
:
!
px4Flow
}
}
// Column
}
// QGCViewDialog
}
// Component - pixhawkFirmwareSelectDialog
...
...
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