Browse Source

All done but low battery parameter.

QGC4.4
dogmaphobic 9 years ago committed by Lorenz Meier
parent
commit
f68b562230
  1. 3
      qgcresources.qrc
  2. 48
      src/AutoPilotPlugins/PX4/Images/GeoFence.svg
  3. 24
      src/AutoPilotPlugins/PX4/Images/GeoFenceLight.svg
  4. 26
      src/AutoPilotPlugins/PX4/Images/LowBattery.svg
  5. 19
      src/AutoPilotPlugins/PX4/Images/LowBatteryLight.svg
  6. 28
      src/AutoPilotPlugins/PX4/Images/RCLoss.svg
  7. 82
      src/AutoPilotPlugins/PX4/Images/RCLossLight.svg
  8. 557
      src/AutoPilotPlugins/PX4/SafetyComponent.qml

3
qgcresources.qrc

@ -50,9 +50,11 @@ @@ -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 @@ @@ -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>

48
src/AutoPilotPlugins/PX4/Images/GeoFence.svg

@ -1,39 +1,25 @@ @@ -1,39 +1,25 @@
<?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>

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

24
src/AutoPilotPlugins/PX4/Images/GeoFenceLight.svg

@ -0,0 +1,24 @@ @@ -0,0 +1,24 @@
<?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>

After

Width:  |  Height:  |  Size: 1.8 KiB

26
src/AutoPilotPlugins/PX4/Images/LowBattery.svg

@ -1,23 +1,19 @@ @@ -1,23 +1,19 @@
<?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 162 288" style="enable-background:new 0 0 162 288;" xml:space="preserve">
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:#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="st3" d="M244.512-189.383c0,0.979-0.757,1.736-1.736,1.736h-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
L244.512-189.383L244.512-189.383z"/>
<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>

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

19
src/AutoPilotPlugins/PX4/Images/LowBatteryLight.svg

@ -0,0 +1,19 @@ @@ -0,0 +1,19 @@
<?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>

After

Width:  |  Height:  |  Size: 1.3 KiB

28
src/AutoPilotPlugins/PX4/Images/RCLoss.svg

@ -2,17 +2,17 @@ @@ -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 72 72"
style="enable-background:new -250 452 72 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 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{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 @@ @@ -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>

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

82
src/AutoPilotPlugins/PX4/Images/RCLossLight.svg

@ -0,0 +1,82 @@ @@ -0,0 +1,82 @@
<?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>

After

Width:  |  Height:  |  Size: 4.3 KiB

557
src/AutoPilotPlugins/PX4/SafetyComponent.qml

@ -44,6 +44,9 @@ QGCView { @@ -44,6 +44,9 @@ QGCView {
QGCPalette { id: palette; colorGroupEnabled: enabled }
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,204 +58,26 @@ QGCView { @@ -55,204 +58,26 @@ QGCView {
QGCViewPanel {
id: panel
anchors.fill: parent
QGCFlickable {
clip: true
anchors.fill: parent
anchors.top: parent.top
anchors.bottom: parent.bottom
anchors.horizontalCenter: parent.horizontalCenter
width: mainCol.width
contentHeight: mainCol.height
contentWidth: parent.width
contentWidth: mainCol.width
flickableDirection: Flickable.VerticalFlick
Column {
id: mainCol
spacing: _margins
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
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
Row {
QGCLabel {
id: climbLabel
anchors.baseline: climbField.baseline
width: ScreenTools.defaultFontPixelWidth * 22
text: qsTr("Climb to altitude of:")
}
FactTextField {
id: climbField
fact: controller.getParameterFact(-1, "RTL_RETURN_ALT")
showUnits: true
}
}
QGCLabel {
id: returnHomeLabel
text: "Return home, then:"
}
Row {
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
}
QGCRadioButton {
id: homeLoiterNoLandRadio
checked: _rtlLandDelay.value < 0
exclusiveGroup: homeLoiterGroup
text: "Loiter, 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
}
}
}
Item {
width: 1
height: _margins
}
Row {
QGCLabel {
text: qsTr("Loiter Time")
width: ScreenTools.defaultFontPixelWidth * 22
anchors.baseline: landDelayField.baseline
color: palette.text
enabled: homeLoiterLandRadio.checked === true
}
FactTextField {
id: landDelayField
fact: controller.getParameterFact(-1, "RTL_LAND_DELAY")
showUnits: true
enabled: homeLoiterLandRadio.checked === true
}
}
Row {
QGCLabel {
text: qsTr("Loiter Altitude")
width: ScreenTools.defaultFontPixelWidth * 22
anchors.baseline: descendField.baseline
color: palette.text
enabled: homeLoiterLandRadio.checked === true
}
FactTextField {
id: descendField
fact: controller.getParameterFact(-1, "RTL_DESCEND_ALT")
enabled: homeLoiterLandRadio.checked === true
showUnits: true
}
}
}
}
}
QGCLabel {
text: qsTr("Land Mode")
font.weight: Font.DemiBold
}
Rectangle {
color: palette.windowShade
width: rtlSettings.width
height: landModeRow.height + _margins * 2
Row {
id: landModeRow
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: controller.fixedWing ? "/qmlimages/LandMode.svg" : "/qmlimages/LandModeCopter.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: landVelField.baseline
width: ScreenTools.defaultFontPixelWidth * 22
text: qsTr("Land Velocity:")
}
FactTextField {
id: landVelField
fact: controller.getParameterFact(-1, "MPC_LAND_SPEED")
showUnits: true
}
}
Row {
QGCLabel {
anchors.baseline: disarmField.baseline
width: ScreenTools.defaultFontPixelWidth * 22
text: qsTr("Disarm After:")
}
FactTextField {
id: disarmField
fact: controller.getParameterFact(-1, "COM_DISARM_LAND")
showUnits: true
}
}
}
}
}
/*
**** Low Battery ****
*/
Item { width: 1; height: _margins * 0.5; }
QGCLabel {
text: qsTr("Low Battery Trigger")
font.weight: Font.DemiBold
}
Rectangle {
color: palette.windowShade
width: rtlSettings.width
@ -261,35 +86,29 @@ QGCView { @@ -261,35 +86,29 @@ QGCView {
id: lowBattRow
spacing: _margins
anchors.verticalCenter: parent.verticalCenter
Item {
width: _margins * 0.5
height: 1
}
QGCColoredImage {
height: ScreenTools.defaultFontPixelWidth * 10
Item { width: _margins * 0.5; height: 1; }
Image {
height: ScreenTools.defaultFontPixelWidth * 6
width: ScreenTools.defaultFontPixelWidth * 20
mipmap: true
fillMode: Image.PreserveAspectFit
source: "/qmlimages/LowBattery.svg"
source: qgcPal.globalTheme === QGCPalette.Light ? "/qmlimages/LowBatteryLight.svg" : "/qmlimages/LowBattery.svg"
anchors.verticalCenter: parent.verticalCenter
}
Item {
width: _margins * 0.5
height: 1
}
Item { width: _margins * 0.5; height: 1; }
Column {
spacing: _margins * 0.5
anchors.verticalCenter: parent.verticalCenter
Row {
visible: !controller.fixedWing
visible: !_fixedWing
QGCLabel {
anchors.baseline: lowBattCombo.baseline
width: ScreenTools.defaultFontPixelWidth * 22
width: _middleRowWidth
text: qsTr("Action:")
}
FactComboBox {
id: lowBattCombo
width: climbField.width
width: _editFieldWidth
model: [ qsTr("No Action"), qsTr("Return To Land") ]
fact: _lowBattAction
}
@ -297,64 +116,56 @@ QGCView { @@ -297,64 +116,56 @@ QGCView {
Row {
QGCLabel {
anchors.baseline: batLowLevelField.baseline
width: ScreenTools.defaultFontPixelWidth * 22
width: _middleRowWidth
text: qsTr("Battery Low Level:")
}
FactTextField {
id: batLowLevelField
fact: controller.getParameterFact(-1, "COM_DISARM_LAND")
showUnits: true
width: _editFieldWidth
}
}
}
}
}
/*
**** RC Loss ****
*/
QGCLabel {
text: qsTr("RC Loss Trigger")
font.weight: Font.DemiBold
}
Rectangle {
color: palette.windowShade
width: rtlSettings.width
height: _triggerCol.height + _margins * 2
Column {
id: _triggerCol
spacing: _margins
anchors.verticalCenter: parent.verticalCenter
height: rcLossRow.height + _margins * 2
Row {
id: rcLossRow
spacing: _margins
Item {
width: _margins * 0.5
height: 1
}
QGCLabel {
text: qsTr("RC Loss")
font.weight: Font.DemiBold
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
}
Item { width: _margins * 0.5; height: 1; }
Column {
spacing: _margins * 0.5
anchors.verticalCenter: parent.verticalCenter
Row {
QGCLabel {
anchors.baseline: rcLossCombo.baseline
width: ScreenTools.defaultFontPixelWidth * 22
width: _middleRowWidth
text: qsTr("Action:")
}
FactComboBox {
id: rcLossCombo
width: climbField.width
width: _editFieldWidth
model: [ qsTr("Loiter"), qsTr("Return To Land"), qsTr("Land at current position") ]
fact: _rcLossAction
}
@ -362,13 +173,14 @@ QGCView { @@ -362,13 +173,14 @@ QGCView {
Row {
QGCLabel {
anchors.baseline: rcLossField.baseline
width: ScreenTools.defaultFontPixelWidth * 22
width: _middleRowWidth
text: qsTr("RC Loss Timeout:")
}
FactTextField {
id: rcLossField
fact: controller.getParameterFact(-1, "COM_RC_LOSS_T")
showUnits: true
width: _editFieldWidth
}
}
/*
@ -379,7 +191,7 @@ QGCView { @@ -379,7 +191,7 @@ QGCView {
Row {
QGCLabel {
anchors.baseline: rcLossLoiterField.baseline
width: ScreenTools.defaultFontPixelWidth * 22
width: _middleRowWidth
text: qsTr("RC Loss Loiter Period:")
}
FactTextField {
@ -391,38 +203,45 @@ QGCView { @@ -391,38 +203,45 @@ QGCView {
*/
}
}
Item {
width: 1
height: _margins
}
/*
**** 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
Item {
width: _margins * 0.5
height: 1
}
QGCLabel {
text: qsTr("GeoFence")
font.weight: Font.DemiBold
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
}
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: ScreenTools.defaultFontPixelWidth * 22
width: _middleRowWidth
}
FactComboBox {
id: fenceActionCombo
width: fenceAltMaxField.width
width: _editFieldWidth
model: [ qsTr("None"), qsTr("Warning"), qsTr("Loiter"), qsTr("Return Home"), qsTr("Flight termination") ]
fact: _fenceAction
}
@ -434,13 +253,14 @@ QGCView { @@ -434,13 +253,14 @@ QGCView {
text: qsTr("Max radius:")
checked: _fenceRadius.value >= 0
onClicked: _fenceRadius.value = checked ? 100 : -1
width: ScreenTools.defaultFontPixelWidth * 22
width: _middleRowWidth
}
FactTextField {
id: fenceRadiusField
showUnits: true
fact: _fenceRadius
enabled: fenceRadiusCheckBox.checked
width: _editFieldWidth
}
}
Row {
@ -450,118 +270,219 @@ QGCView { @@ -450,118 +270,219 @@ QGCView {
text: qsTr("Max altitude:")
checked: _fenceAlt.value >= 0
onClicked: _fenceAlt.value = checked ? 100 : -1
width: ScreenTools.defaultFontPixelWidth * 22
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: _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:"
}
Row {
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
}
QGCRadioButton {
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
}
}
}
Item { width: 1; height: _margins * 0.5; }
Row {
QGCLabel {
text: qsTr("Loiter Time")
width: _middleRowWidth
anchors.baseline: landDelayField.baseline
color: palette.text
enabled: homeLoiterLandRadio.checked === true
}
FactTextField {
id: landDelayField
fact: controller.getParameterFact(-1, "RTL_LAND_DELAY")
showUnits: true
enabled: homeLoiterLandRadio.checked === true
width: _editFieldWidth
}
}
Row {
QGCLabel {
text: qsTr("Loiter Altitude")
width: _middleRowWidth
anchors.baseline: descendField.baseline
color: palette.text
enabled: homeLoiterLandRadio.checked === true || homeLoiterNoLandRadio.checked === true
}
FactTextField {
id: descendField
fact: controller.getParameterFact(-1, "RTL_DESCEND_ALT")
enabled: homeLoiterLandRadio.checked === true || homeLoiterNoLandRadio.checked === true
showUnits: true
width: _editFieldWidth
}
}
}
}
}
/*
**** Land Mode Settings ****
*/
QGCLabel {
id: triggerLabel
text: qsTr("Triggers For Return Home")
text: qsTr("Land Mode Settings")
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
width: rtlSettings.width
height: landModeRow.height + _margins * 2
Row {
id: landModeRow
spacing: _margins
anchors.verticalCenter: parent.verticalCenter
Item {
width: _margins * 0.5
height: 1
}
QGCColoredImage {
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
}
Column {
spacing: _margins * 0.5
anchors.verticalCenter: parent.verticalCenter
Row {
visible: !_fixedWing
QGCLabel {
text: qsTr("RC Transmitter Signal Loss: Return Home after")
anchors.margins: _margins
anchors.left: parent.left
anchors.baseline: rcLossField.baseline
anchors.baseline: landVelField.baseline
width: _middleRowWidth
text: qsTr("Landing Velocity:")
}
FactTextField {
id: rcLossField
anchors.topMargin: _margins
anchors.top: parent.top
anchors.left: telemetryLossField.left
fact: controller.getParameterFact(-1, "COM_RC_LOSS_T")
id: landVelField
fact: controller.getParameterFact(-1, "MPC_LAND_SPEED")
showUnits: true
width: _editFieldWidth
}
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")
}
Row {
QGCLabel {
anchors.baseline: disarmField.baseline
width: _middleRowWidth
text: qsTr("Disarm After:")
}
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")
id: disarmField
fact: controller.getParameterFact(-1, "COM_DISARM_LAND")
showUnits: true
enabled: telemetryTimeoutCheckbox.checked
width: _editFieldWidth
}
} // Rectangle - Trigger settings
}
}
}
}
/* Don't know about these
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
}
}
}
}

Loading…
Cancel
Save