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
947d582c
Commit
947d582c
authored
Aug 21, 2017
by
khancyr
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ArduRover: add failsafe to safety page
parent
28e83155
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
265 additions
and
14 deletions
+265
-14
APMSafetyComponentRover.qml
src/AutoPilotPlugins/APM/APMSafetyComponentRover.qml
+170
-8
APMSafetyComponentSummaryRover.qml
src/AutoPilotPlugins/APM/APMSafetyComponentSummaryRover.qml
+95
-6
No files found.
src/AutoPilotPlugins/APM/APMSafetyComponentRover.qml
View file @
947d582c
...
...
@@ -8,13 +8,175 @@
****************************************************************************/
import
QtQuick
2.3
import
QtQuick
2.3
import
QtQuick
.
Controls
1.2
import
QtGraphicalEffects
1.0
import
QGroundControl
.
Controls
1.0
import
QGroundControl
.
FactSystem
1.0
import
QGroundControl
.
FactControls
1.0
import
QGroundControl
.
Palette
1.0
import
QGroundControl
.
Controls
1.0
import
QGroundControl
.
ScreenTools
1.0
QGCLabel
{
anchors.fill
:
parent
text
:
qsTr
(
"
Not supported
"
)
horizontalAlignment
:
Text
.
AlignHCenter
verticalAlignment
:
Text
.
AlignVCenter
}
SetupPage
{
id
:
safetyPage
pageComponent
:
safetyPageComponent
Component
{
id
:
safetyPageComponent
Flow
{
id
:
flowLayout
width
:
availableWidth
spacing
:
_margins
FactPanelController
{
id
:
controller
;
factPanel
:
safetyPage
.
viewPanel
}
QGCPalette
{
id
:
ggcPal
;
colorGroupEnabled
:
true
}
property
Fact
_failsafeGCSEnable
:
controller
.
getParameterFact
(
-
1
,
"
FS_GCS_ENABLE
"
)
property
Fact
_failsafeThrEnable
:
controller
.
getParameterFact
(
-
1
,
"
FS_THR_ENABLE
"
)
property
Fact
_failsafeThrValue
:
controller
.
getParameterFact
(
-
1
,
"
FS_THR_VALUE
"
)
property
Fact
_failsafeAction
:
controller
.
getParameterFact
(
-
1
,
"
FS_ACTION
"
)
property
Fact
_failsafeCrashCheck
:
controller
.
getParameterFact
(
-
1
,
"
FS_CRASH_CHECK
"
)
property
Fact
_armingCheck
:
controller
.
getParameterFact
(
-
1
,
"
ARMING_CHECK
"
)
property
real
_margins
:
ScreenTools
.
defaultFontPixelHeight
property
bool
_showIcon
:
!
ScreenTools
.
isTinyScreen
Column
{
spacing
:
_margins
/
2
QGCLabel
{
id
:
failsafeLabel
text
:
qsTr
(
"
Failsafe Triggers
"
)
font.family
:
ScreenTools
.
demiboldFontFamily
}
Rectangle
{
id
:
failsafeSettings
width
:
throttleEnableCombo
.
x
+
throttleEnableCombo
.
width
+
_margins
height
:
crashCheckCombo
.
y
+
crashCheckCombo
.
height
+
_margins
color
:
ggcPal
.
windowShade
QGCLabel
{
id
:
gcsEnableLabel
anchors.margins
:
_margins
anchors.left
:
parent
.
left
anchors.baseline
:
gcsEnableCombo
.
baseline
text
:
qsTr
(
"
Ground Station failsafe:
"
)
}
FactComboBox
{
id
:
gcsEnableCombo
anchors.topMargin
:
_margins
anchors.leftMargin
:
_margins
anchors.left
:
gcsEnableLabel
.
right
anchors.top
:
parent
.
top
width
:
throttlePWMField
.
width
fact
:
_failsafeGCSEnable
indexModel
:
false
}
QGCLabel
{
id
:
throttleEnableLabel
anchors.margins
:
_margins
anchors.left
:
parent
.
left
anchors.baseline
:
throttleEnableCombo
.
baseline
text
:
qsTr
(
"
Throttle failsafe:
"
)
}
FactComboBox
{
id
:
throttleEnableCombo
anchors.topMargin
:
_margins
anchors.left
:
gcsEnableCombo
.
left
anchors.top
:
gcsEnableCombo
.
bottom
width
:
throttlePWMField
.
width
fact
:
_failsafeThrEnable
indexModel
:
false
}
QGCLabel
{
id
:
throttlePWMLabel
anchors.margins
:
_margins
anchors.left
:
parent
.
left
anchors.baseline
:
throttlePWMField
.
baseline
text
:
qsTr
(
"
PWM threshold:
"
)
}
FactTextField
{
id
:
throttlePWMField
anchors.topMargin
:
_margins
/
2
anchors.left
:
gcsEnableCombo
.
left
anchors.top
:
throttleEnableCombo
.
bottom
fact
:
_failsafeThrValue
showUnits
:
true
}
QGCLabel
{
id
:
crashCheckLabel
anchors.margins
:
_margins
anchors.left
:
parent
.
left
anchors.baseline
:
crashCheckCombo
.
baseline
text
:
qsTr
(
"
Failsafe Crash Check:
"
)
}
QGCComboBox
{
id
:
crashCheckCombo
anchors.topMargin
:
_margins
anchors.left
:
gcsEnableCombo
.
left
anchors.top
:
throttlePWMField
.
bottom
width
:
throttlePWMField
.
width
model
:
[
qsTr
(
"
Disabled
"
),
qsTr
(
"
Hold
"
),
qsTr
(
"
Hold and Disarm
"
)]
currentIndex
:
_failsafeCrashCheck
.
value
onActivated
:
_failsafeCrashCheck
.
value
=
index
}
}
// Rectangle - Failsafe Settings
}
// Column - Failsafe Settings
Column
{
spacing
:
_margins
/
2
QGCLabel
{
text
:
qsTr
(
"
Arming Checks
"
)
font.family
:
ScreenTools
.
demiboldFontFamily
}
Rectangle
{
width
:
flowLayout
.
width
height
:
armingCheckInnerColumn
.
height
+
(
_margins
*
2
)
color
:
ggcPal
.
windowShade
Column
{
id
:
armingCheckInnerColumn
anchors.margins
:
_margins
anchors.top
:
parent
.
top
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
spacing
:
_margins
FactBitmask
{
id
:
armingCheckBitmask
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
firstEntryIsAll
:
true
fact
:
_armingCheck
}
QGCLabel
{
id
:
armingCheckWarning
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
wrapMode
:
Text
.
WordWrap
color
:
qgcPal
.
warningText
text
:
qsTr
(
"
Warning: Turning off arming checks can lead to loss of Vehicle control.
"
)
visible
:
_armingCheck
.
value
!=
1
}
}
}
// Rectangle - Arming checks
}
// Column - Arming Checks
}
// Flow
}
// Component - safetyPageComponent
}
// SetupView
src/AutoPilotPlugins/APM/APMSafetyComponentSummaryRover.qml
View file @
947d582c
...
...
@@ -7,14 +7,103 @@
*
****************************************************************************/
import
QtQuick
2.3
import
QtQuick
.
Controls
1.2
import
QGroundControl
.
FactSystem
1.0
import
QGroundControl
.
FactControls
1.0
import
QGroundControl
.
Controls
1.0
import
QGroundControl
.
Palette
1.0
FactPanel
{
id
:
panel
anchors.fill
:
parent
color
:
qgcPal
.
windowShadeDark
QGCPalette
{
id
:
qgcPal
;
colorGroupEnabled
:
enabled
}
FactPanelController
{
id
:
controller
;
factPanel
:
panel
}
property
Fact
_failsafeThrEnable
:
controller
.
getParameterFact
(
-
1
,
"
FS_THR_ENABLE
"
)
property
Fact
_failsafeThrValue
:
controller
.
getParameterFact
(
-
1
,
"
FS_THR_VALUE
"
)
property
Fact
_failsafeAction
:
controller
.
getParameterFact
(
-
1
,
"
FS_ACTION
"
)
property
Fact
_failsafeCrashCheck
:
controller
.
getParameterFact
(
-
1
,
"
FS_CRASH_CHECK
"
)
property
Fact
_armingCheck
:
controller
.
getParameterFact
(
-
1
,
"
ARMING_CHECK
"
)
property
string
_failsafeActionText
property
string
_failsafeCrashCheckText
Component.onCompleted
:
{
setFailsafeActionText
()
setFailsafeCrashCheckText
()
}
Connections
{
target
:
_failsafeAction
onValueChanged
:
setFailsafeActionText
()
}
Connections
{
target
:
_failsafeCrashCheck
onValueChanged
:
setFailsafeCrashCheckText
()
}
function
setFailsafeActionText
()
{
switch
(
_failsafeAction
.
value
)
{
case
0
:
_failsafeActionText
=
qsTr
(
"
Disabled
"
)
break
case
1
:
_failsafeActionText
=
qsTr
(
"
Always RTL
"
)
break
case
2
:
_failsafeActionText
=
qsTr
(
"
Always Hold
"
)
break
default
:
_failsafeActionText
=
qsTr
(
"
Unknown
"
)
}
}
function
setFailsafeCrashCheckText
()
{
switch
(
_failsafeCrashCheck
.
value
)
{
case
0
:
_failsafeCrashCheckText
=
qsTr
(
"
Disabled
"
)
break
case
1
:
_failsafeCrashCheckText
=
qsTr
(
"
Hold
"
)
break
case
2
:
_failsafeCrashCheckText
=
qsTr
(
"
Hold and Disarm
"
)
break
default
:
_failsafeCrashCheckText
=
qsTr
(
"
Unknown
"
)
}
}
Column
{
anchors.fill
:
parent
VehicleSummaryRow
{
labelText
:
qsTr
(
"
Arming Checks:
"
)
valueText
:
_armingCheck
.
value
&
1
?
qsTr
(
"
Enabled
"
)
:
qsTr
(
"
Some disabled
"
)
}
VehicleSummaryRow
{
labelText
:
qsTr
(
"
Throttle failsafe:
"
)
valueText
:
_failsafeThrEnable
.
value
!=
0
?
_failsafeThrValue
.
valueString
:
qsTr
(
"
Disabled
"
)
}
VehicleSummaryRow
{
labelText
:
qsTr
(
"
Failsafe Action:
"
)
valueText
:
_failsafeActionText
}
VehicleSummaryRow
{
labelText
:
qsTr
(
"
Failsafe Crash Check:
"
)
valueText
:
_failsafeCrashCheckText
}
QGCLabel
{
anchors.fill
:
parent
text
:
qsTr
(
"
Not supported
"
)
horizontalAlignment
:
Text
.
AlignHCenter
verticalAlignment
:
Text
.
AlignVCenter
}
}
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