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
f68b5622
Commit
f68b5622
authored
Apr 25, 2016
by
dogmaphobic
Committed by
Lorenz Meier
Apr 25, 2016
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
All done but low battery parameter.
parent
6dcae15c
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
495 additions
and
460 deletions
+495
-460
qgcresources.qrc
qgcresources.qrc
+3
-0
GeoFence.svg
src/AutoPilotPlugins/PX4/Images/GeoFence.svg
+17
-31
GeoFenceLight.svg
src/AutoPilotPlugins/PX4/Images/GeoFenceLight.svg
+24
-0
LowBattery.svg
src/AutoPilotPlugins/PX4/Images/LowBattery.svg
+11
-15
LowBatteryLight.svg
src/AutoPilotPlugins/PX4/Images/LowBatteryLight.svg
+19
-0
RCLoss.svg
src/AutoPilotPlugins/PX4/Images/RCLoss.svg
+16
-12
RCLossLight.svg
src/AutoPilotPlugins/PX4/Images/RCLossLight.svg
+82
-0
SafetyComponent.qml
src/AutoPilotPlugins/PX4/SafetyComponent.qml
+323
-402
No files found.
qgcresources.qrc
View file @
f68b5622
...
...
@@ -50,9 +50,11 @@
<file alias="FlightModesComponentIcon.png">src/AutoPilotPlugins/PX4/Images/FlightModesComponentIcon.png</file>
<file alias="CameraComponentIcon.png">src/AutoPilotPlugins/PX4/Images/CameraComponentIcon.png</file>
<file alias="GeoFence.svg">src/AutoPilotPlugins/PX4/Images/GeoFence.svg</file>
<file alias="GeoFenceLight.svg">src/AutoPilotPlugins/PX4/Images/GeoFenceLight.svg</file>
<file alias="LandMode.svg">src/AutoPilotPlugins/PX4/Images/LandMode.svg</file>
<file alias="LandModeCopter.svg">src/AutoPilotPlugins/PX4/Images/LandModeCopter.svg</file>
<file alias="LowBattery.svg">src/AutoPilotPlugins/PX4/Images/LowBattery.svg</file>
<file alias="LowBatteryLight.svg">src/AutoPilotPlugins/PX4/Images/LowBatteryLight.svg</file>
<file alias="PowerComponentBattery_01cell.svg">src/AutoPilotPlugins/PX4/Images/PowerComponentBattery_01cell.svg</file>
<file alias="PowerComponentBattery_02cell.svg">src/AutoPilotPlugins/PX4/Images/PowerComponentBattery_02cell.svg</file>
<file alias="PowerComponentBattery_03cell.svg">src/AutoPilotPlugins/PX4/Images/PowerComponentBattery_03cell.svg</file>
...
...
@@ -62,6 +64,7 @@
<file alias="PowerComponentIcon.png">src/AutoPilotPlugins/PX4/Images/PowerComponentIcon.png</file>
<file alias="RadioComponentIcon.png">src/AutoPilotPlugins/PX4/Images/RadioComponentIcon.png</file>
<file alias="RCLoss.svg">src/AutoPilotPlugins/PX4/Images/RCLoss.svg</file>
<file alias="RCLossLight.svg">src/AutoPilotPlugins/PX4/Images/RCLossLight.svg</file>
<file alias="ReturnToHomeAltitude.svg">src/AutoPilotPlugins/PX4/Images/ReturnToHomeAltitude.svg</file>
<file alias="ReturnToHomeAltitudeCopter.svg">src/AutoPilotPlugins/PX4/Images/ReturnToHomeAltitudeCopter.svg</file>
<file alias="SafetyComponentIcon.png">src/AutoPilotPlugins/PX4/Images/SafetyComponentIcon.png</file>
...
...
src/AutoPilotPlugins/PX4/Images/GeoFence.svg
View file @
f68b5622
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
version=
"1.1"
id=
"Layer_1"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
x=
"0px"
y=
"0px"
viewBox=
"0 0
84.295 121.246"
style=
"enable-background:new 0 0 84.295 121.246
;"
xml:space=
"preserve"
>
viewBox=
"0 0
201.6 155.534"
style=
"enable-background:new 0 0 201.6 155.534
;"
xml:space=
"preserve"
>
<style
type=
"text/css"
>
.st0{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linejoin:round;stroke-dasharray:2.9701,2.9701;}
.st1{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.st2{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:3.0241,3.0241;}
.st3{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:3.024,3.024;}
.st4{fill:#FFFFFF;}
.st0{fill:#00AA10;}
.st1{fill:none;stroke:#FFFFFF;stroke-width:4;stroke-linejoin:round;stroke-miterlimit:10;}
.st2{fill:none;stroke:#FFFFFF;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st3{fill:#FFFFFF;}
</style>
<g>
<ellipse
class=
"st0"
cx=
"42.135"
cy=
"15.157"
rx=
"41.127"
ry=
"14.157"
/>
<ellipse
class=
"st0"
cx=
"100.8"
cy=
"119.056"
rx=
"97.2"
ry=
"32.784"
/>
<ellipse
class=
"st1"
cx=
"100.8"
cy=
"24.593"
rx=
"68.894"
ry=
"20.9"
/>
<line
class=
"st2"
x1=
"32.295"
y1=
"26.396"
x2=
"32.287"
y2=
"113.914"
/>
<line
class=
"st2"
x1=
"169.207"
y1=
"114.115"
x2=
"169.262"
y2=
"23.213"
/>
<path
class=
"st3"
d=
"M79.006,78.38c-0.05-0.477,0.126-0.842,0.528-1.093l36.177-24.118c0.201-0.151,0.427-0.226,0.678-0.226
c0.251,0,0.477,0.075,0.678,0.226c0.402,0.251,0.578,0.653,0.528,1.206l-6.03,36.177c-0.1,0.352-0.301,0.628-0.603,0.829
c-0.201,0.1-0.402,0.151-0.603,0.151c-0.151,0-0.301-0.025-0.452-0.075l-11.682-4.673l-2.487,4.145
c-0.251,0.402-0.603,0.603-1.055,0.603s-0.804-0.201-1.055-0.603l-4.447-7.763l-9.421-3.768
C79.307,79.197,79.056,78.857,79.006,78.38L79.006,78.38z M82.774,77.966l7.311,2.939c0.05,0.05,0.113,0.1,0.188,0.151l0.113,0.075
l20.35-21.782L82.774,77.966z M91.291,81.96l3.392,5.879l19.445-30.374L91.291,81.96z M98.375,84.372
c0.301,0.05,0.553,0.1,0.754,0.151l10.25,4.145l4.824-28.866L98.375,84.372z"
/>
<ellipse
class=
"st1"
cx=
"100.8"
cy=
"116.605"
rx=
"68.894"
ry=
"20.9"
/>
</g>
<g>
<ellipse
class=
"st0"
cx=
"42.135"
cy=
"106.089"
rx=
"41.127"
ry=
"14.157"
/>
</g>
<g>
<g>
<line
class=
"st1"
x1=
"1.007"
y1=
"14.788"
x2=
"1.007"
y2=
"16.288"
/>
<line
class=
"st2"
x1=
"1.007"
y1=
"19.313"
x2=
"1"
y2=
"102.477"
/>
<line
class=
"st1"
x1=
"1"
y1=
"103.989"
x2=
"1"
y2=
"105.489"
/>
</g>
</g>
<g>
<g>
<line
class=
"st1"
x1=
"83.262"
y1=
"106.089"
x2=
"83.262"
y2=
"104.589"
/>
<line
class=
"st3"
x1=
"83.264"
y1=
"101.565"
x2=
"83.294"
y2=
"18.405"
/>
<line
class=
"st1"
x1=
"83.294"
y1=
"16.893"
x2=
"83.295"
y2=
"15.393"
/>
</g>
</g>
<path
class=
"st4"
d=
"M15.016,72.932c-0.064-0.608,0.16-1.073,0.672-1.393l46.104-30.736c0.256-0.192,0.544-0.288,0.864-0.288
c0.32,0,0.608,0.096,0.864,0.288c0.512,0.32,0.736,0.832,0.672,1.537L56.51,88.444c-0.128,0.448-0.384,0.8-0.768,1.057
c-0.256,0.128-0.512,0.192-0.768,0.192c-0.192,0-0.384-0.032-0.576-0.096l-14.888-5.955l-3.17,5.283
c-0.32,0.512-0.768,0.768-1.345,0.768s-1.025-0.256-1.345-0.768l-5.667-9.893l-12.006-4.803C15.4,73.972,15.08,73.54,15.016,72.932
L15.016,72.932z M19.818,72.404l9.317,3.746c0.064,0.064,0.144,0.128,0.24,0.192l0.144,0.096l25.934-27.759L19.818,72.404z
M30.672,77.494l4.322,7.492l24.781-38.709L30.672,77.494z M39.701,80.568c0.384,0.064,0.704,0.128,0.961,0.192l13.063,5.283
l6.147-36.787L39.701,80.568z"
/>
</svg>
src/AutoPilotPlugins/PX4/Images/GeoFenceLight.svg
0 → 100644
View file @
f68b5622
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
version=
"1.1"
id=
"Layer_1"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
x=
"0px"
y=
"0px"
viewBox=
"0 0 201.6 155.534"
style=
"enable-background:new 0 0 201.6 155.534;"
xml:space=
"preserve"
>
<style
type=
"text/css"
>
.st0{fill:#008A0D;}
.st1{fill:none;stroke:#231F20;stroke-width:4;stroke-linejoin:round;stroke-miterlimit:10;}
.st2{fill:#231F20;stroke:#231F20;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st3{fill:none;stroke:#231F20;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st4{fill:#231F20;stroke:#231F20;stroke-miterlimit:10;}
</style>
<ellipse
class=
"st0"
cx=
"100.8"
cy=
"119.056"
rx=
"97.2"
ry=
"32.784"
/>
<ellipse
class=
"st1"
cx=
"100.8"
cy=
"24.593"
rx=
"68.894"
ry=
"20.9"
/>
<line
class=
"st2"
x1=
"32.295"
y1=
"26.396"
x2=
"32.287"
y2=
"113.914"
/>
<line
class=
"st3"
x1=
"169.207"
y1=
"114.115"
x2=
"169.262"
y2=
"23.213"
/>
<path
class=
"st4"
d=
"M79.006,78.38c-0.05-0.477,0.126-0.842,0.528-1.093l36.177-24.118c0.201-0.151,0.427-0.226,0.678-0.226
c0.251,0,0.477,0.075,0.678,0.226c0.402,0.251,0.578,0.653,0.528,1.206l-6.03,36.177c-0.1,0.352-0.301,0.628-0.603,0.829
c-0.201,0.1-0.402,0.151-0.603,0.151c-0.151,0-0.301-0.025-0.452-0.075l-11.682-4.673l-2.487,4.145
c-0.251,0.402-0.603,0.603-1.055,0.603s-0.804-0.201-1.055-0.603l-4.447-7.763l-9.421-3.768
C79.307,79.197,79.056,78.857,79.006,78.38L79.006,78.38z M82.774,77.966l7.311,2.939c0.05,0.05,0.113,0.1,0.188,0.151l0.113,0.075
l20.35-21.782L82.774,77.966z M91.291,81.96l3.392,5.879l19.445-30.374L91.291,81.96z M98.375,84.372
c0.301,0.05,0.553,0.1,0.754,0.151l10.25,4.145l4.824-28.866L98.375,84.372z"
/>
<ellipse
class=
"st1"
cx=
"100.8"
cy=
"116.605"
rx=
"68.894"
ry=
"20.9"
/>
</svg>
src/AutoPilotPlugins/PX4/Images/LowBattery.svg
View file @
f68b5622
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
version=
"1.1"
id=
"Layer_1"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
x=
"0px"
y=
"0px"
viewBox=
"0 0 1
62 288"
style=
"enable-background:new 0 0 162 288
;"
xml:space=
"preserve"
>
viewBox=
"0 0 1
42.56 230.096"
style=
"enable-background:new 0 0 142.56 230.096
;"
xml:space=
"preserve"
>
<style
type=
"text/css"
>
.st0{fill:#E7E7E7;stroke:#E7E7E7;stroke-width:6;}
.st1{fill:none;}
.st2{fill:#CB2027;}
.st3{fill:#E7E7E7;stroke:#E7E7E7;stroke-width:6;stroke-miterlimit:10;}
.st0{fill:none;stroke:#FFFFFF;stroke-width:10;}
.st1{fill:#A01D20;}
.st2{fill:none;stroke:#FFFFFF;stroke-width:10;stroke-miterlimit:10;}
</style>
<path
id=
"rect4970"
inkscape:connector-curvature=
"0"
class=
"st0"
d=
"M14.742,264.074V40.618c0-6.588,5.831-11.93,13.042-11.93
H134.26c7.211,0,13.042,5.342,13.042,11.93v223.456c0,6.588-5.831,11.93-13.042,11.93H27.785
C20.573,276.003,14.742,270.662,14.742,264.074z"
/>
<path
id=
"rect4360"
inkscape:connector-curvature=
"0"
class=
"st1"
d=
"M9,268.391V36.255c0-6.855,6.321-12.419,14.155-12.419h115.69
c7.834,0,14.155,5.609,14.155,12.419v232.136c0,6.855-6.321,12.419-14.155,12.419H23.2C15.365,280.811,9,275.246,9,268.391z"
/>
<path
id=
"path4679"
inkscape:connector-curvature=
"0"
sodipodi:nodetypes=
"ccccc"
class=
"st2"
d=
"M30.9,265.899v-39.866H131.1
v39.866H30.9z"
/>
<path
id=
"rect4970"
inkscape:connector-curvature=
"0"
class=
"st0"
d=
"M5,215.908V43.8c0-5.074,5.831-9.188,13.042-9.188h106.475
c7.211,0,13.042,4.114,13.042,9.188v172.107c0,5.074-5.831,9.188-13.042,9.188H18.042C10.831,225.096,5,220.982,5,215.908z"
/>
<path
id=
"path4679"
inkscape:connector-curvature=
"0"
sodipodi:nodetypes=
"ccccc"
class=
"st1"
d=
"M21.158,214.991v-39.866h100.199
v39.866H21.158z"
/>
<g
id=
"g4222"
transform=
"translate(-127.22081,216.20249)"
>
<path
id=
"path4224"
inkscape:connector-curvature=
"0"
class=
"st
3"
d=
"M244.512-189.383c0,0.979-0.757,1.736-1.736,1.736
h-68.995
c-0.979,0-1.736-
0.757-1.736-1.736v-17.894c0-0.979,0.757-1.736,1.736-1.736h68.995c0.979,0,1.736,0.757,1.736,1.736V-189.383
L2
44.512-189.383L244.512-189.383
z"
/>
<path
id=
"path4224"
inkscape:connector-curvature=
"0"
class=
"st
2"
d=
"M234.77-184.09c0,1.353-0.757,2.398-1.736,2.398
h-68.995
c-0.979,0-1.736-
1.045-1.736-2.398v-24.715c0-1.353,0.757-2.398,1.736-2.398h68.995c0.979,0,1.736,1.045,1.736,2.398V-184.09
L2
34.77-184.09L234.77-184.09
z"
/>
</g>
</svg>
src/AutoPilotPlugins/PX4/Images/LowBatteryLight.svg
0 → 100644
View file @
f68b5622
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
version=
"1.1"
id=
"Layer_1"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
x=
"0px"
y=
"0px"
viewBox=
"0 0 142.56 230.096"
style=
"enable-background:new 0 0 142.56 230.096;"
xml:space=
"preserve"
>
<style
type=
"text/css"
>
.st0{fill:none;stroke:#000000;stroke-width:10;}
.st1{fill:#CB2027;}
.st2{fill:none;stroke:#000000;stroke-width:10;stroke-miterlimit:10;}
</style>
<path
id=
"rect4970"
inkscape:connector-curvature=
"0"
class=
"st0"
d=
"M5,215.908V43.8c0-5.074,5.831-9.188,13.042-9.188h106.475
c7.211,0,13.042,4.114,13.042,9.188v172.107c0,5.074-5.831,9.188-13.042,9.188H18.042C10.831,225.096,5,220.982,5,215.908z"
/>
<path
id=
"path4679"
inkscape:connector-curvature=
"0"
sodipodi:nodetypes=
"ccccc"
class=
"st1"
d=
"M21.158,214.991v-39.866h100.199
v39.866H21.158z"
/>
<g
id=
"g4222"
transform=
"translate(-127.22081,216.20249)"
>
<path
id=
"path4224"
inkscape:connector-curvature=
"0"
class=
"st2"
d=
"M234.77-184.09c0,1.353-0.757,2.398-1.736,2.398h-68.995
c-0.979,0-1.736-1.045-1.736-2.398v-24.715c0-1.353,0.757-2.398,1.736-2.398h68.995c0.979,0,1.736,1.045,1.736,2.398V-184.09
L234.77-184.09L234.77-184.09z"
/>
</g>
</svg>
src/AutoPilotPlugins/PX4/Images/RCLoss.svg
View file @
f68b5622
...
...
@@ -2,17 +2,17 @@
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
version=
"1.1"
id=
"svg3852"
inkscape:version=
"0.91 r13725"
sodipodi:docname=
"gps.svg"
xmlns:cc=
"http://creativecommons.org/ns#"
xmlns:dc=
"http://purl.org/dc/elements/1.1/"
xmlns:inkscape=
"http://www.inkscape.org/namespaces/inkscape"
xmlns:rdf=
"http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:sodipodi=
"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:svg=
"http://www.w3.org/2000/svg"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
x=
"0px"
y=
"0px"
viewBox=
"-250 452 7
2 72
"
style=
"enable-background:new -250 452 7
2 72
;"
xml:space=
"preserve"
>
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
x=
"0px"
y=
"0px"
viewBox=
"-250 452 7
8.5 81.4
"
style=
"enable-background:new -250 452 7
8.5 81.4
;"
xml:space=
"preserve"
>
<style
type=
"text/css"
>
.st0{display:none;}
.st1{display:inline;}
.st2{fill:none;stroke:#EB008B;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st3{display:inline;fill:none;stroke:#224A80;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st4{fill:none;stroke:#FFFFFF;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st5{fill:#FFFFFF;}
.st5{fill:#FFFFFF;
stroke:#FFFFFF;stroke-miterlimit:10;
}
.st6{fill:#FFFFFF;stroke:#FFFFFF;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st7{fill:none;stroke:#
DD0000;stroke-width:3
;stroke-linecap:round;stroke-miterlimit:10;}
.st7{fill:none;stroke:#
A10000;stroke-width:10
;stroke-linecap:round;stroke-miterlimit:10;}
</style>
<title
id=
"title4758"
>
GPS
</title>
<sodipodi:namedview
bordercolor=
"#666666"
borderopacity=
"1"
gridtolerance=
"10"
guidetolerance=
"10"
id=
"namedview3929"
inkscape:current-layer=
"svg3852"
inkscape:cx=
"55"
inkscape:cy=
"55"
inkscape:pageopacity=
"0"
inkscape:pageshadow=
"2"
inkscape:window-height=
"480"
inkscape:window-width=
"640"
inkscape:zoom=
"11.136364"
objecttolerance=
"10"
pagecolor=
"#808080"
showgrid=
"false"
>
...
...
@@ -67,12 +67,16 @@
<polygon
id=
"polygon3927"
class=
"st3"
points=
"-264.6,453.2 -269.5,453.2 -269.5,494.2 -246.6,494.2 -246.6,453.2 -251.5,453.2
-251.5,446.7 -264.6,446.7 "
/>
</g>
<line
class=
"st4"
x1=
"-214"
y1=
"479.9"
x2=
"-214"
y2=
"459.8"
/>
<circle
class=
"st5"
cx=
"-227"
cy=
"497"
r=
"4.1"
/>
<path
class=
"st6"
d=
"M-237,481.9v30.3h46.8v-30.3H-237z M-227,505.7c-4.8,0-8.7-3.9-8.7-8.7s3.9-8.7,8.7-8.7c4.8,0,8.7,3.9,8.7,8.7
S-222.2,505.7-227,505.7z M-200.1,505.7c-4.8,0-8.7-3.9-8.7-8.7s3.9-8.7,8.7-8.7c4.8,0,8.7,3.9,8.7,8.7S-195.3,505.7-200.1,505.7z"
/>
<circle
class=
"st5"
cx=
"-200.1"
cy=
"497"
r=
"4.1"
/>
<line
class=
"st7"
x1=
"-239.5"
y1=
"513.5"
x2=
"-188.5"
y2=
"462.5"
/>
<line
class=
"st7"
x1=
"-188.5"
y1=
"513.4"
x2=
"-239.5"
y2=
"462.5"
/>
<g>
<line
class=
"st4"
x1=
"-211.3"
y1=
"484.9"
x2=
"-211.4"
y2=
"459.4"
/>
<circle
class=
"st5"
cx=
"-227.8"
cy=
"506.7"
r=
"5.2"
/>
<path
class=
"st6"
d=
"M-240.5,487.5V526h59.6v-38.5H-240.5z M-227.8,517.8c-6.1,0-11.1-4.9-11.1-11.1s4.9-11.1,11.1-11.1
c6.1,0,11.1,4.9,11.1,11.1S-221.7,517.8-227.8,517.8z M-193.7,517.8c-6.1,0-11.1-4.9-11.1-11.1s4.9-11.1,11.1-11.1
c6.1,0,11.1,4.9,11.1,11.1S-187.6,517.8-193.7,517.8z"
/>
<circle
class=
"st5"
cx=
"-193.7"
cy=
"506.7"
r=
"5.2"
/>
</g>
<g>
<line
class=
"st7"
x1=
"-243.2"
y1=
"525.1"
x2=
"-178.4"
y2=
"460.3"
/>
<line
class=
"st7"
x1=
"-178.4"
y1=
"525.1"
x2=
"-243.2"
y2=
"460.3"
/>
</g>
</svg>
src/AutoPilotPlugins/PX4/Images/RCLossLight.svg
0 → 100644
View file @
f68b5622
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
version=
"1.1"
id=
"svg3852"
inkscape:version=
"0.91 r13725"
sodipodi:docname=
"gps.svg"
xmlns:cc=
"http://creativecommons.org/ns#"
xmlns:dc=
"http://purl.org/dc/elements/1.1/"
xmlns:inkscape=
"http://www.inkscape.org/namespaces/inkscape"
xmlns:rdf=
"http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:sodipodi=
"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:svg=
"http://www.w3.org/2000/svg"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
x=
"0px"
y=
"0px"
viewBox=
"-250 452 78.5 81.4"
style=
"enable-background:new -250 452 78.5 81.4;"
xml:space=
"preserve"
>
<style
type=
"text/css"
>
.st0{display:none;}
.st1{display:inline;}
.st2{fill:none;stroke:#EB008B;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st3{display:inline;fill:none;stroke:#224A80;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st4{stroke:#000000;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st5{stroke:#000000;stroke-miterlimit:10;}
.st6{stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st7{fill:none;stroke:#CB2027;stroke-width:10;stroke-linecap:round;stroke-miterlimit:10;}
</style>
<title
id=
"title4758"
>
GPS
</title>
<sodipodi:namedview
bordercolor=
"#666666"
borderopacity=
"1"
gridtolerance=
"10"
guidetolerance=
"10"
id=
"namedview3929"
inkscape:current-layer=
"svg3852"
inkscape:cx=
"55"
inkscape:cy=
"55"
inkscape:pageopacity=
"0"
inkscape:pageshadow=
"2"
inkscape:window-height=
"480"
inkscape:window-width=
"640"
inkscape:zoom=
"11.136364"
objecttolerance=
"10"
pagecolor=
"#808080"
showgrid=
"false"
>
</sodipodi:namedview>
<g
id=
"Layer_2"
class=
"st0"
>
</g>
<g
id=
"ex_thick"
transform=
"matrix(-1,0,0,-1,111.82126,108.29692)"
>
</g>
<g
id=
"Layer_2_copy_3"
class=
"st0"
>
</g>
<g
id=
"ex_thin"
transform=
"matrix(-1,0,0,-1,111.82126,108.29692)"
>
</g>
<g
id=
"Layer_2_copy"
class=
"st0"
>
</g>
<g
id=
"em_thick"
transform=
"matrix(-1,0,0,-1,111.82126,108.29692)"
>
</g>
<g
id=
"Layer_2_copy_4"
class=
"st0"
>
<g
id=
"g3861"
class=
"st1"
>
<rect
id=
"rect3863"
x=
"-286.1"
y=
"320.7"
class=
"st2"
width=
"56.3"
height=
"56.3"
/>
<circle
id=
"circle3865"
class=
"st2"
cx=
"-258"
cy=
"348.8"
r=
"28.2"
/>
</g>
<g
id=
"g3867"
class=
"st1"
>
<rect
id=
"rect3869"
x=
"-221.7"
y=
"320.7"
class=
"st2"
width=
"56.3"
height=
"56.3"
/>
<circle
id=
"circle3871"
class=
"st2"
cx=
"-193.5"
cy=
"348.8"
r=
"28.2"
/>
</g>
<g
id=
"g3873"
class=
"st1"
>
<rect
id=
"rect3875"
x=
"-158.5"
y=
"320.7"
class=
"st2"
width=
"56.3"
height=
"56.3"
/>
<circle
id=
"circle3877"
class=
"st2"
cx=
"-130.3"
cy=
"348.8"
r=
"28.2"
/>
</g>
</g>
<g
id=
"Layer_2_copy_2"
class=
"st0"
>
<g
id=
"g3905"
class=
"st1"
>
<rect
id=
"rect3907"
x=
"-286.1"
y=
"425.3"
class=
"st2"
width=
"56.3"
height=
"56.3"
/>
<circle
id=
"circle3909"
class=
"st2"
cx=
"-258"
cy=
"453.5"
r=
"28.2"
/>
</g>
<g
id=
"g3911"
class=
"st1"
>
<rect
id=
"rect3913"
x=
"-221.7"
y=
"425.3"
class=
"st2"
width=
"56.3"
height=
"56.3"
/>
<circle
id=
"circle3915"
class=
"st2"
cx=
"-193.5"
cy=
"453.5"
r=
"28.2"
/>
</g>
<g
id=
"g3917"
class=
"st1"
>
<rect
id=
"rect3919"
x=
"-158.5"
y=
"425.3"
class=
"st2"
width=
"56.3"
height=
"56.3"
/>
<circle
id=
"circle3921"
class=
"st2"
cx=
"-130.3"
cy=
"453.5"
r=
"28.2"
/>
</g>
</g>
<g
id=
"hornet"
transform=
"matrix(-1,0,0,-1,111.82126,108.29692)"
>
</g>
<g
id=
"Layer_2_copy_5"
class=
"st0"
>
</g>
<g
id=
"hornet_THIN"
transform=
"matrix(-1,0,0,-1,111.82126,108.29692)"
>
</g>
<g
id=
"Layer_6"
class=
"st0"
>
<polygon
id=
"polygon3927"
class=
"st3"
points=
"-264.6,453.2 -269.5,453.2 -269.5,494.2 -246.6,494.2 -246.6,453.2 -251.5,453.2
-251.5,446.7 -264.6,446.7 "
/>
</g>
<g>
<line
class=
"st4"
x1=
"-211.3"
y1=
"484.9"
x2=
"-211.4"
y2=
"459.4"
/>
<circle
class=
"st5"
cx=
"-227.8"
cy=
"506.7"
r=
"5.2"
/>
<path
class=
"st6"
d=
"M-240.5,487.5V526h59.6v-38.5H-240.5z M-227.8,517.8c-6.1,0-11.1-4.9-11.1-11.1s4.9-11.1,11.1-11.1
c6.1,0,11.1,4.9,11.1,11.1S-221.7,517.8-227.8,517.8z M-193.7,517.8c-6.1,0-11.1-4.9-11.1-11.1s4.9-11.1,11.1-11.1
c6.1,0,11.1,4.9,11.1,11.1S-187.6,517.8-193.7,517.8z"
/>
<circle
class=
"st5"
cx=
"-193.7"
cy=
"506.7"
r=
"5.2"
/>
</g>
<g>
<line
class=
"st7"
x1=
"-243.2"
y1=
"525.1"
x2=
"-178.4"
y2=
"460.3"
/>
<line
class=
"st7"
x1=
"-178.4"
y1=
"525.1"
x2=
"-243.2"
y2=
"460.3"
/>
</g>
</svg>
src/AutoPilotPlugins/PX4/SafetyComponent.qml
View file @
f68b5622
...
...
@@ -43,7 +43,10 @@ QGCView {
QGCPalette
{
id
:
palette
;
colorGroupEnabled
:
enabled
}
property
real
_margins
:
ScreenTools
.
defaultFontPixelHeight
property
real
_margins
:
ScreenTools
.
defaultFontPixelHeight
property
real
_middleRowWidth
:
ScreenTools
.
defaultFontPixelWidth
*
22
property
real
_editFieldWidth
:
ScreenTools
.
defaultFontPixelWidth
*
18
property
bool
_fixedWing
:
controller
.
fixedWing
property
Fact
_fenceAction
:
controller
.
getParameterFact
(
-
1
,
"
GF_ACTION
"
)
property
Fact
_fenceRadius
:
controller
.
getParameterFact
(
-
1
,
"
GF_MAX_HOR_DIST
"
)
...
...
@@ -55,108 +58,314 @@ QGCView {
QGCViewPanel
{
id
:
panel
anchors.fill
:
parent
QGCFlickable
{
clip
:
true
anchors.fill
:
parent
contentHeight
:
mainCol
.
height
contentWidth
:
parent
.
width
flickableDirection
:
Flickable
.
VerticalFlick
clip
:
true
anchors.top
:
parent
.
top
anchors.bottom
:
parent
.
bottom
anchors.horizontalCenter
:
parent
.
horizontalCenter
width
:
mainCol
.
width
contentHeight
:
mainCol
.
height
contentWidth
:
mainCol
.
width
flickableDirection
:
Flickable
.
VerticalFlick
Column
{
id
:
mainCol
spacing
:
_margins
id
:
mainCol
spacing
:
_margins
/*
**** Low Battery ****
*/
Item
{
width
:
1
;
height
:
_margins
*
0.5
;
}
QGCLabel
{
id
:
rtlLabel
text
:
qsTr
(
"
Return Home Settings
"
)
font.weight
:
Font
.
DemiBold
text
:
qsTr
(
"
Low Battery Trigger
"
)
font.weight
:
Font
.
DemiBold
}
Rectangle
{
id
:
rtlSettings
color
:
palette
.
windowShade
width
:
rtlRow
.
width
+
_margins
*
2
height
:
rtlRow
.
height
+
_margins
*
2
color
:
palette
.
windowShade
width
:
rtlSettings
.
width
height
:
lowBattRow
.
height
+
_margins
*
2
Row
{
id
:
rtlRow
spacing
:
_margins
anchors.verticalCenter
:
parent
.
verticalCenter
Item
{
width
:
_margins
*
0.5
height
:
1
id
:
lowBattRow
spacing
:
_margins
anchors.verticalCenter
:
parent
.
verticalCenter
Item
{
width
:
_margins
*
0.5
;
height
:
1
;
}
Image
{
height
:
ScreenTools
.
defaultFontPixelWidth
*
6
width
:
ScreenTools
.
defaultFontPixelWidth
*
20
mipmap
:
true
fillMode
:
Image
.
PreserveAspectFit
source
:
qgcPal
.
globalTheme
===
QGCPalette
.
Light
?
"
/qmlimages/LowBatteryLight.svg
"
:
"
/qmlimages/LowBattery.svg
"
anchors.verticalCenter
:
parent
.
verticalCenter
}
QGCColoredImage
{
id
:
icon
height
:
ScreenTools
.
defaultFontPixelWidth
*
10
width
:
ScreenTools
.
defaultFontPixelWidth
*
20
mipmap
:
true
fillMode
:
Image
.
PreserveAspectFit
source
:
controller
.
fixedWing
?
"
/qmlimages/ReturnToHomeAltitude.svg
"
:
"
/qmlimages/ReturnToHomeAltitudeCopter.svg
"
anchors.verticalCenter
:
parent
.
verticalCenter
Item
{
width
:
_margins
*
0.5
;
height
:
1
;
}
Column
{
spacing
:
_margins
*
0.5
anchors.verticalCenter
:
parent
.
verticalCenter
Row
{
visible
:
!
_fixedWing
QGCLabel
{
anchors.baseline
:
lowBattCombo
.
baseline
width
:
_middleRowWidth
text
:
qsTr
(
"
Action:
"
)
}
FactComboBox
{
id
:
lowBattCombo
width
:
_editFieldWidth
model
:
[
qsTr
(
"
No Action
"
),
qsTr
(
"
Return To Land
"
)
]
fact
:
_lowBattAction
}
}
Row
{
QGCLabel
{
anchors.baseline
:
batLowLevelField
.
baseline
width
:
_middleRowWidth
text
:
qsTr
(
"
Battery Low Level:
"
)
}
FactTextField
{
id
:
batLowLevelField
fact
:
controller
.
getParameterFact
(
-
1
,
"
COM_DISARM_LAND
"
)
showUnits
:
true
width
:
_editFieldWidth
}
}
}
Item
{
width
:
_margins
*
0.5
height
:
1
}
}
/*
**** RC Loss ****
*/
QGCLabel
{
text
:
qsTr
(
"
RC Loss Trigger
"
)
font.weight
:
Font
.
DemiBold
}
Rectangle
{
color
:
palette
.
windowShade
width
:
rtlSettings
.
width
height
:
rcLossRow
.
height
+
_margins
*
2
Row
{
id
:
rcLossRow
spacing
:
_margins
anchors.verticalCenter
:
parent
.
verticalCenter
Item
{
width
:
_margins
*
0.5
;
height
:
1
;
}
Image
{
height
:
ScreenTools
.
defaultFontPixelWidth
*
6
width
:
ScreenTools
.
defaultFontPixelWidth
*
20
mipmap
:
true
fillMode
:
Image
.
PreserveAspectFit
source
:
qgcPal
.
globalTheme
===
QGCPalette
.
Light
?
"
/qmlimages/RCLossLight.svg
"
:
"
/qmlimages/RCLoss.svg
"
anchors.verticalCenter
:
parent
.
verticalCenter
}
Item
{
width
:
_margins
*
0.5
;
height
:
1
;
}
Column
{
spacing
:
_margins
*
0.5
spacing
:
_margins
*
0.5
anchors.verticalCenter
:
parent
.
verticalCenter
Row
{
QGCLabel
{
anchors.baseline
:
rcLossCombo
.
baseline
width
:
_middleRowWidth
text
:
qsTr
(
"
Action:
"
)
}
FactComboBox
{
id
:
rcLossCombo
width
:
_editFieldWidth
model
:
[
qsTr
(
"
Loiter
"
),
qsTr
(
"
Return To Land
"
),
qsTr
(
"
Land at current position
"
)
]
fact
:
_rcLossAction
}
}
Row
{
QGCLabel
{
anchors.baseline
:
rcLossField
.
baseline
width
:
_middleRowWidth
text
:
qsTr
(
"
RC Loss Timeout:
"
)
}
FactTextField
{
id
:
rcLossField
fact
:
controller
.
getParameterFact
(
-
1
,
"
COM_RC_LOSS_T
"
)
showUnits
:
true
width
:
_editFieldWidth
}
}
/*
This is defined in the parameter specification but it is not clear how it is used.
The actions above (RTL, Loiter, and Land At Current Position) makes its meaning
ambiguous. Loiter before RTL and/or Land At Current Position? What if the action
is set to "Loiter"? What happens after the timeout?
Row {
QGCLabel {
anchors.baseline: rcLossLoiterField.baseline
width: _middleRowWidth
text: qsTr("RC Loss Loiter Period:")
}
FactTextField {
id: rcLossLoiterField
fact: controller.getParameterFact(-1, "NAV_RCL_LT")
showUnits: true
}
}
*/
}
}
}
/*
**** Geofence ****
*/
QGCLabel
{
text
:
qsTr
(
"
Geofence Trigger
"
)
font.weight
:
Font
.
DemiBold
}
Rectangle
{
color
:
palette
.
windowShade
width
:
rtlSettings
.
width
height
:
geofenceRow
.
height
+
_margins
*
2
Row
{
id
:
geofenceRow
spacing
:
_margins
anchors.verticalCenter
:
parent
.
verticalCenter
Item
{
width
:
_margins
*
0.5
;
height
:
1
;
}
Image
{
height
:
ScreenTools
.
defaultFontPixelWidth
*
8
width
:
ScreenTools
.
defaultFontPixelWidth
*
20
mipmap
:
true
fillMode
:
Image
.
PreserveAspectFit
source
:
qgcPal
.
globalTheme
===
QGCPalette
.
Light
?
"
/qmlimages/GeoFenceLight.svg
"
:
"
/qmlimages/GeoFence.svg
"
anchors.verticalCenter
:
parent
.
verticalCenter
}
Item
{
width
:
_margins
*
0.5
;
height
:
1
;
}
Column
{
spacing
:
_margins
*
0.5
anchors.verticalCenter
:
parent
.
verticalCenter
Row
{
QGCLabel
{
id
:
fenceActionLabel
anchors.baseline
:
fenceActionCombo
.
baseline
text
:
qsTr
(
"
Action on breach:
"
)
width
:
_middleRowWidth
}
FactComboBox
{
id
:
fenceActionCombo
width
:
_editFieldWidth
model
:
[
qsTr
(
"
None
"
),
qsTr
(
"
Warning
"
),
qsTr
(
"
Loiter
"
),
qsTr
(
"
Return Home
"
),
qsTr
(
"
Flight termination
"
)
]
fact
:
_fenceAction
}
}
Row
{
QGCCheckBox
{
id
:
fenceRadiusCheckBox
anchors.baseline
:
fenceRadiusField
.
baseline
text
:
qsTr
(
"
Max radius:
"
)
checked
:
_fenceRadius
.
value
>=
0
onClicked
:
_fenceRadius
.
value
=
checked
?
100
:
-
1
width
:
_middleRowWidth
}
FactTextField
{
id
:
fenceRadiusField
showUnits
:
true
fact
:
_fenceRadius
enabled
:
fenceRadiusCheckBox
.
checked
width
:
_editFieldWidth
}
}
Row
{
QGCCheckBox
{
id
:
fenceAltMaxCheckBox
anchors.baseline
:
fenceAltMaxField
.
baseline
text
:
qsTr
(
"
Max altitude:
"
)
checked
:
_fenceAlt
.
value
>=
0
onClicked
:
_fenceAlt
.
value
=
checked
?
100
:
-
1
width
:
_middleRowWidth
}
FactTextField
{
id
:
fenceAltMaxField
showUnits
:
true
fact
:
_fenceAlt
enabled
:
fenceAltMaxCheckBox
.
checked
width
:
_editFieldWidth
}
}
}
}
}
/*
**** Return Home Settings ****
*/
QGCLabel
{
id
:
rtlLabel
text
:
qsTr
(
"
Return Home Settings
"
)
font.weight
:
Font
.
DemiBold
}
Rectangle
{
id
:
rtlSettings
color
:
palette
.
windowShade
width
:
rtlRow
.
width
+
_margins
*
2
height
:
rtlRow
.
height
+
_margins
*
2
Row
{
id
:
rtlRow
spacing
:
_margins
anchors.verticalCenter
:
parent
.
verticalCenter
Item
{
width
:
_margins
*
0.5
;
height
:
1
;
}
QGCColoredImage
{
id
:
icon
color
:
palette
.
text
height
:
ScreenTools
.
defaultFontPixelWidth
*
10
width
:
ScreenTools
.
defaultFontPixelWidth
*
20
mipmap
:
true
fillMode
:
Image
.
PreserveAspectFit
source
:
_fixedWing
?
"
/qmlimages/ReturnToHomeAltitude.svg
"
:
"
/qmlimages/ReturnToHomeAltitudeCopter.svg
"
anchors.verticalCenter
:
parent
.
verticalCenter
}
Item
{
width
:
_margins
*
0.5
;
height
:
1
;
}
Column
{
spacing
:
_margins
*
0.5
Row
{
QGCLabel
{
id
:
climbLabel
anchors.baseline
:
climbField
.
baseline
width
:
ScreenTools
.
defaultFontPixelWidth
*
22
width
:
_middleRowWidth
text
:
qsTr
(
"
Climb to altitude of:
"
)
}
FactTextField
{
id
:
climbField
fact
:
controller
.
getParameterFact
(
-
1
,
"
RTL_RETURN_ALT
"
)
showUnits
:
true
width
:
_editFieldWidth
}
}
Item
{
width
:
1
;
height
:
_margins
*
0.5
;
}
QGCLabel
{
id
:
returnHomeLabel
text
:
"
Return home, then:
"
id
:
returnHomeLabel
text
:
"
Return home, then:
"
}
Row
{
Item
{
height
:
1
width
:
_margins
}
Item
{
height
:
1
;
width
:
_margins
;
}
Column
{
spacing
:
_margins
*
0.5
ExclusiveGroup
{
id
:
homeLoiterGroup
}
QGCRadioButton
{
id
:
homeLandRadio
checked
:
_rtlLandDelay
.
value
<
0
exclusiveGroup
:
homeLoiterGroup
text
:
"
Land immediately
"
onClicked
:
_rtlLandDelay
.
value
=
0
id
:
homeLandRadio
checked
:
_rtlLandDelay
.
value
===
0
exclusiveGroup
:
homeLoiterGroup
text
:
"
Land immediately
"
onClicked
:
_rtlLandDelay
.
value
=
0
}
QGCRadioButton
{
id
:
homeLoiterNoLandRadio
checked
:
_rtlLandDelay
.
value
<
0
exclusiveGroup
:
homeLoiterGroup
text
:
"
Loiter,
do not land
"
onClicked
:
_rtlLandDelay
.
value
=
-
1
id
:
homeLoiterNoLandRadio
checked
:
_rtlLandDelay
.
value
<
0
exclusiveGroup
:
homeLoiterGroup
text
:
"
Loiter and
do not land
"
onClicked
:
_rtlLandDelay
.
value
=
-
1
}
QGCRadioButton
{
id
:
homeLoiterLandRadio
checked
:
_rtlLandDelay
.
value
>=
0
exclusiveGroup
:
homeLoiterGroup
text
:
qsTr
(
"
Loiter and land after specified time
"
)
onClicked
:
_rtlLandDelay
.
value
=
60
id
:
homeLoiterLandRadio
checked
:
_rtlLandDelay
.
value
>
0
exclusiveGroup
:
homeLoiterGroup
text
:
qsTr
(
"
Loiter and land after specified time
"
)
onClicked
:
_rtlLandDelay
.
value
=
60
}
}
}
Item
{
width
:
1
height
:
_margins
}
Item
{
width
:
1
;
height
:
_margins
*
0.5
;
}
Row
{
QGCLabel
{
text
:
qsTr
(
"
Loiter Time
"
)
width
:
ScreenTools
.
defaultFontPixelWidth
*
22
width
:
_middleRowWidth
anchors.baseline
:
landDelayField
.
baseline
color
:
palette
.
text
enabled
:
homeLoiterLandRadio
.
checked
===
true
...
...
@@ -166,402 +375,114 @@ QGCView {
fact
:
controller
.
getParameterFact
(
-
1
,
"
RTL_LAND_DELAY
"
)
showUnits
:
true
enabled
:
homeLoiterLandRadio
.
checked
===
true
width
:
_editFieldWidth
}
}
Row
{
QGCLabel
{
text
:
qsTr
(
"
Loiter Altitude
"
)
width
:
ScreenTools
.
defaultFontPixelWidth
*
22
width
:
_middleRowWidth
anchors.baseline
:
descendField
.
baseline
color
:
palette
.
text
enabled
:
homeLoiterLandRadio
.
checked
===
true
enabled
:
homeLoiterLandRadio
.
checked
===
true
||
homeLoiterNoLandRadio
.
checked
===
true
}
FactTextField
{
id
:
descendField
fact
:
controller
.
getParameterFact
(
-
1
,
"
RTL_DESCEND_ALT
"
)
enabled
:
homeLoiterLandRadio
.
checked
===
true
enabled
:
homeLoiterLandRadio
.
checked
===
true
||
homeLoiterNoLandRadio
.
checked
===
true
showUnits
:
true
width
:
_editFieldWidth
}
}
}
}
}
/*
**** Land Mode Settings ****
*/
QGCLabel
{
text
:
qsTr
(
"
Land Mode
"
)
font.weight
:
Font
.
DemiBold
text
:
qsTr
(
"
Land Mode Settings
"
)
font.weight
:
Font
.
DemiBold
}
Rectangle
{
color
:
palette
.
windowShade
width
:
rtlSettings
.
width
height
:
landModeRow
.
height
+
_margins
*
2
color
:
palette
.
windowShade
width
:
rtlSettings
.
width
height
:
landModeRow
.
height
+
_margins
*
2
Row
{
id
:
landModeRow
spacing
:
_margins
anchors.verticalCenter
:
parent
.
verticalCenter
id
:
landModeRow
spacing
:
_margins
anchors.verticalCenter
:
parent
.
verticalCenter
Item
{
width
:
_margins
*
0.5
height
:
1
width
:
_margins
*
0.5
height
:
1
}
QGCColoredImage
{
height
:
ScreenTools
.
defaultFontPixelWidth
*
10
width
:
ScreenTools
.
defaultFontPixelWidth
*
20
mipmap
:
true
fillMode
:
Image
.
PreserveAspectFit
source
:
controller
.
fixedWing
?
"
/qmlimages/LandMode.svg
"
:
"
/qmlimages/LandModeCopter.svg
"
anchors.verticalCenter
:
parent
.
verticalCenter
color
:
palette
.
text
height
:
ScreenTools
.
defaultFontPixelWidth
*
10
width
:
ScreenTools
.
defaultFontPixelWidth
*
20
mipmap
:
true
fillMode
:
Image
.
PreserveAspectFit
source
:
_fixedWing
?
"
/qmlimages/LandMode.svg
"
:
"
/qmlimages/LandModeCopter.svg
"
anchors.verticalCenter
:
parent
.
verticalCenter
}
Item
{
width
:
_margins
*
0.5
height
:
1
width
:
_margins
*
0.5
height
:
1
}
Column
{
spacing
:
_margins
*
0.5
anchors.verticalCenter
:
parent
.
verticalCenter
Row
{
visible
:
!
controller
.
fixedWing
visible
:
!
_
fixedWing
QGCLabel
{
anchors.baseline
:
landVelField
.
baseline
width
:
ScreenTools
.
defaultFontPixelWidth
*
22
text
:
qsTr
(
"
Land Velocity:
"
)
width
:
_middleRowWidth
text
:
qsTr
(
"
Land
ing
Velocity:
"
)
}
FactTextField
{
id
:
landVelField
fact
:
controller
.
getParameterFact
(
-
1
,
"
MPC_LAND_SPEED
"
)
showUnits
:
true
width
:
_editFieldWidth
}
}
Row
{
QGCLabel
{
anchors.baseline
:
disarmField
.
baseline
width
:
ScreenTools
.
defaultFontPixelWidth
*
22
width
:
_middleRowWidth
text
:
qsTr
(
"
Disarm After:
"
)
}
FactTextField
{
id
:
disarmField
fact
:
controller
.
getParameterFact
(
-
1
,
"
COM_DISARM_LAND
"
)
showUnits
:
true
width
:
_editFieldWidth
}
}
}
}
}
/* Don't know about these
QGCLabel {
text
:
qsTr
(
"
Low Battery Trigger
"
)
font.weight
:
Font
.
DemiBold
id: navRclObc
font.pixelSize: ScreenTools.mediumFontPixelSize
text: qsTr("Warning: You have an advanced safety configuration set using the NAV_RCL_OBC parameter. The above settings may not apply.")
visible: fact.value !== 0
wrapMode: Text.Wrap
property Fact fact: controller.getParameterFact(-1, "NAV_RCL_OBC")
}
Rectangle
{
color
:
palette
.
windowShade
width
:
rtlSettings
.
width
height
:
lowBattRow
.
height
+
_margins
*
2
Row
{
id
:
lowBattRow
spacing
:
_margins
anchors.verticalCenter
:
parent
.
verticalCenter
Item
{
width
:
_margins
*
0.5
height
:
1
}
QGCColoredImage
{
height
:
ScreenTools
.
defaultFontPixelWidth
*
10
width
:
ScreenTools
.
defaultFontPixelWidth
*
20
mipmap
:
true
fillMode
:
Image
.
PreserveAspectFit
source
:
"
/qmlimages/LowBattery.svg
"
anchors.verticalCenter
:
parent
.
verticalCenter
}
Item
{
width
:
_margins
*
0.5
height
:
1
}
Column
{
spacing
:
_margins
*
0.5
anchors.verticalCenter
:
parent
.
verticalCenter
Row
{
visible
:
!
controller
.
fixedWing
QGCLabel
{
anchors.baseline
:
lowBattCombo
.
baseline
width
:
ScreenTools
.
defaultFontPixelWidth
*
22
text
:
qsTr
(
"
Action:
"
)
}
FactComboBox
{
id
:
lowBattCombo
width
:
climbField
.
width
model
:
[
qsTr
(
"
No Action
"
),
qsTr
(
"
Return To Land
"
)
]
fact
:
_lowBattAction
}
}
Row
{
QGCLabel
{
anchors.baseline
:
batLowLevelField
.
baseline
width
:
ScreenTools
.
defaultFontPixelWidth
*
22
text
:
qsTr
(
"
Battery Low Level:
"
)
}
FactTextField
{
id
:
batLowLevelField
fact
:
controller
.
getParameterFact
(
-
1
,
"
COM_DISARM_LAND
"
)
showUnits
:
true
}
}
}
}
}
Rectangle
{
color
:
palette
.
windowShade
width
:
rtlSettings
.
width
height
:
_triggerCol
.
height
+
_margins
*
2
Column
{
id
:
_triggerCol
spacing
:
_margins
anchors.verticalCenter
:
parent
.
verticalCenter
Row
{
id
:
rcLossRow
spacing
:
_margins
Item
{
width
:
_margins
*
0.5
height
:
1
}
QGCLabel
{
text
:
qsTr
(
"
RC Loss
"
)
font.weight
:
Font
.
DemiBold
width
:
ScreenTools
.
defaultFontPixelWidth
*
20
}
Item
{
width
:
_margins
*
0.5
height
:
1
}
Column
{
spacing
:
_margins
*
0.5
Row
{
QGCLabel
{
anchors.baseline
:
rcLossCombo
.
baseline
width
:
ScreenTools
.
defaultFontPixelWidth
*
22
text
:
qsTr
(
"
Action:
"
)
}
FactComboBox
{
id
:
rcLossCombo
width
:
climbField
.
width
model
:
[
qsTr
(
"
Loiter
"
),
qsTr
(
"
Return To Land
"
),
qsTr
(
"
Land at current position
"
)
]
fact
:
_rcLossAction
}
}
Row
{
QGCLabel
{
anchors.baseline
:
rcLossField
.
baseline
width
:
ScreenTools
.
defaultFontPixelWidth
*
22
text
:
qsTr
(
"
RC Loss Timeout:
"
)
}
FactTextField
{
id
:
rcLossField
fact
:
controller
.
getParameterFact
(
-
1
,
"
COM_RC_LOSS_T
"
)
showUnits
:
true
}
}
/*
This is defined in the parameter specification but it is not clear how it is used.
The actions above (RTL, Loiter, and Land At Current Position) makes its meaning
ambiguous. Loiter before RTL and/or Land At Current Position? What if the action
is set to "Loiter"? What happens after the timeout?
Row {
QGCLabel {
anchors.baseline: rcLossLoiterField.baseline
width: ScreenTools.defaultFontPixelWidth * 22
text: qsTr("RC Loss Loiter Period:")
}
FactTextField {
id: rcLossLoiterField
fact: controller.getParameterFact(-1, "NAV_RCL_LT")
showUnits: true
}
}
*/
}
}
Item
{
width
:
1
height
:
_margins
}
Row
{
id
:
geofenceRow
spacing
:
_margins
Item
{
width
:
_margins
*
0.5
height
:
1
}
QGCLabel
{
text
:
qsTr
(
"
GeoFence
"
)
font.weight
:
Font
.
DemiBold
width
:
ScreenTools
.
defaultFontPixelWidth
*
20
}
Item
{
width
:
_margins
*
0.5
height
:
1
}
Column
{
spacing
:
_margins
*
0.5
Row
{
QGCLabel
{
id
:
fenceActionLabel
anchors.baseline
:
fenceActionCombo
.
baseline
text
:
qsTr
(
"
Action on breach:
"
)
width
:
ScreenTools
.
defaultFontPixelWidth
*
22
}
FactComboBox
{
id
:
fenceActionCombo
width
:
fenceAltMaxField
.
width
model
:
[
qsTr
(
"
None
"
),
qsTr
(
"
Warning
"
),
qsTr
(
"
Loiter
"
),
qsTr
(
"
Return Home
"
),
qsTr
(
"
Flight termination
"
)
]
fact
:
_fenceAction
}
}
Row
{
QGCCheckBox
{
id
:
fenceRadiusCheckBox
anchors.baseline
:
fenceRadiusField
.
baseline
text
:
qsTr
(
"
Max radius:
"
)
checked
:
_fenceRadius
.
value
>=
0
onClicked
:
_fenceRadius
.
value
=
checked
?
100
:
-
1
width
:
ScreenTools
.
defaultFontPixelWidth
*
22
}
FactTextField
{
id
:
fenceRadiusField
showUnits
:
true
fact
:
_fenceRadius
enabled
:
fenceRadiusCheckBox
.
checked
}
}
Row
{
QGCCheckBox
{
id
:
fenceAltMaxCheckBox
anchors.baseline
:
fenceAltMaxField
.
baseline
text
:
qsTr
(
"
Max altitude:
"
)
checked
:
_fenceAlt
.
value
>=
0
onClicked
:
_fenceAlt
.
value
=
checked
?
100
:
-
1
width
:
ScreenTools
.
defaultFontPixelWidth
*
22
}
FactTextField
{
id
:
fenceAltMaxField
showUnits
:
true
fact
:
_fenceAlt
enabled
:
fenceAltMaxCheckBox
.
checked
}
}
}
}
}
}
}
/*
QGCLabel {
id: triggerLabel
text: qsTr("Triggers For Return Home")
font.weight: Font.DemiBold
}
Rectangle {
id: triggerSettings
anchors.topMargin: _margins / 2
anchors.rightMargin: _margins
anchors.left: parent.left
anchors.top: triggerLabel.bottom
anchors.bottom: geoFenceSettings.bottom
width: telemetryLossField.x + telemetryLossField.width + (_margins * 2)
color: palette.windowShade
QGCLabel {
text: qsTr("RC Transmitter Signal Loss: Return Home after")
anchors.margins: _margins
anchors.left: parent.left
anchors.baseline: rcLossField.baseline
}
FactTextField {
id: rcLossField
anchors.topMargin: _margins
anchors.top: parent.top
anchors.left: telemetryLossField.left
fact: controller.getParameterFact(-1, "COM_RC_LOSS_T")
showUnits: true
}
FactCheckBox {
id: telemetryTimeoutCheckbox
anchors.margins: _margins
anchors.left: parent.left
anchors.baseline: telemetryLossField.baseline
fact: controller.getParameterFact(-1, "COM_DL_LOSS_EN")
checkedValue: 1
uncheckedValue: 0
text: qsTr("Telemetry Signal Timeout: Return Home after")
id: navDllObc
font.pixelSize: ScreenTools.mediumFontPixelSize
text: qsTr("Warning: You have an advanced safety configuration set using the NAV_DLL_OBC parameter. The above settings may not apply.")
visible: fact.value !== 0
wrapMode: Text.Wrap
property Fact fact: controller.getParameterFact(-1, "NAV_DLL_OBC")
}
FactTextField {
id: telemetryLossField
anchors.leftMargin: _margins
anchors.topMargin: _margins / 2
anchors.left: telemetryTimeoutCheckbox.right
anchors.top: rcLossField.bottom
fact: controller.getParameterFact(-1, "COM_DL_LOSS_T")
showUnits: true
enabled: telemetryTimeoutCheckbox.checked
}
} // Rectangle - Trigger settings
QGCLabel {
id: navRclObc
anchors.topMargin: _margins
anchors.top: rtlSettings.bottom
anchors.left: parent.left
anchors.right: parent.right
font.pixelSize: ScreenTools.mediumFontPixelSize
text: qsTr("Warning: You have an advanced safety configuration set using the NAV_RCL_OBC parameter. The above settings may not apply.")
visible: fact.value !== 0
wrapMode: Text.Wrap
property Fact fact: controller.getParameterFact(-1, "NAV_RCL_OBC")
*/
}
QGCLabel {
id: navDllObc
anchors.topMargin: _margins / 2
anchors.top: navRclObc.bottom
anchors.left: parent.left
anchors.right: parent.right
font.pixelSize: ScreenTools.mediumFontPixelSize
text: qsTr("Warning: You have an advanced safety configuration set using the NAV_DLL_OBC parameter. The above settings may not apply.")
visible: fact.value !== 0
wrapMode: Text.Wrap
property Fact fact: controller.getParameterFact(-1, "NAV_DLL_OBC")
}
Item {
id: screenBottom
anchors.top: navDllObc.bottom
width: 1
height: 1
}
*/
}
// QGCFlickable
}
// QGCViewPanel
}
// QGCView
}
}
}
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