Commit 6dcae15c authored by dogmaphobic's avatar dogmaphobic Committed by Lorenz Meier

Preliminary work on new Safety Panel

parent 9bd9a8ca
......@@ -49,6 +49,10 @@
<file alias="FirmwareUpgradeIcon.png">src/VehicleSetup/FirmwareUpgradeIcon.png</file>
<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="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="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>
......@@ -57,7 +61,9 @@
<file alias="PowerComponentBattery_06cell.svg">src/AutoPilotPlugins/PX4/Images/PowerComponentBattery_06cell.svg</file>
<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="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>
<file alias="SensorsComponentIcon.png">src/AutoPilotPlugins/PX4/Images/SensorsComponentIcon.png</file>
<file alias="TuningComponentIcon.png">src/AutoPilotPlugins/PX4/Images/TuningComponentIcon.png</file>
......
<?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">
<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;}
</style>
<g>
<ellipse class="st0" cx="42.135" cy="15.157" rx="41.127" ry="14.157"/>
</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>
<?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 39.07 60.197" style="enable-background:new 0 0 39.07 60.197;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFFFF;}
.st1{fill:none;stroke:#FFFFFF;stroke-miterlimit:10;}
.st2{fill:none;stroke:#FFFFFF;stroke-miterlimit:10;stroke-dasharray:3.0018,3.0018;}
</style>
<path class="st0" d="M39.022,8.423c0.114,0.401,0.022,0.755-0.277,1.064l-6.363,6.092l-1.061,7.694
c-0.072,0.405-0.29,0.681-0.654,0.828c-0.364,0.147-0.713,0.099-1.045-0.143l-3.348-2.531l-7.891,7.554
c-0.105,0.089-0.218,0.159-0.34,0.207c-0.162,0.065-0.34,0.09-0.534,0.074c-0.308-0.064-0.56-0.221-0.755-0.472L0.157,1.617
c-0.22-0.429-0.209-0.81,0.033-1.142c0.113-0.187,0.271-0.321,0.473-0.402s0.409-0.094,0.62-0.038l36.96,7.68
C38.648,7.786,38.908,8.023,39.022,8.423L39.022,8.423z M7.294,3.397L30.75,14.332l0.067-0.097c0.044-0.065,0.079-0.126,0.103-0.183
l4.933-4.74L7.294,3.397z M3.952,2.98l25.516,18.148l0.823-5.835L3.952,2.98z M4.649,4.886l13.253,21.679l6.909-6.665
c0.146-0.106,0.332-0.228,0.558-0.366L4.649,4.886z"/>
<g>
<g>
<line class="st1" x1="19.535" y1="54.901" x2="19.535" y2="53.401"/>
<line class="st2" x1="19.535" y1="50.4" x2="19.535" y2="33.89"/>
<line class="st1" x1="19.535" y1="32.389" x2="19.535" y2="30.889"/>
<g>
<polygon class="st0" points="19.535,60.197 22.584,52.735 19.535,54.506 16.486,52.735 "/>
</g>
</g>
</g>
</svg>
<?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 59.671 87.808" style="enable-background:new 0 0 59.671 87.808;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-miterlimit:10;}
.st1{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-miterlimit:10;stroke-dasharray:2.8321,2.8321;}
.st2{fill:#FFFFFF;}
.st3{fill:#FFFFFF;stroke:#FFFFFF;}
.st4{fill:none;stroke:#FFFFFF;stroke-width:3;stroke-linecap:round;}
.st5{fill:none;stroke:#FFFFFF;stroke-width:3;}
.st6{fill:#FFFFFF;stroke:#FFFFFF;stroke-width:3;}
</style>
<g>
<g>
<line class="st0" x1="29.835" y1="77.217" x2="29.835" y2="75.717"/>
<line class="st1" x1="29.835" y1="72.885" x2="29.835" y2="40.315"/>
<line class="st0" x1="29.835" y1="38.899" x2="29.835" y2="37.399"/>
<g>
<polygon class="st2" points="29.835,87.808 35.934,72.884 29.835,76.425 23.739,72.884 "/>
</g>
</g>
</g>
<sodipodi:namedview bordercolor="#666666" borderopacity="1.0" id="base" inkscape:current-layer="layer1" inkscape:cx="282.69484" inkscape:cy="221.0125" inkscape:document-units="px" inkscape:guide-bbox="true" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:window-height="1017" inkscape:window-maximized="1" inkscape:window-width="1920" inkscape:window-x="-8" inkscape:window-y="-8" inkscape:zoom="2.8" pagecolor="#ffffff" showgrid="true" showguides="true">
<sodipodi:guide id="guide2985" orientation="1,0" position="250,420"></sodipodi:guide>
<inkscape:grid empspacing="10" enabled="true" id="grid2987" snapvisiblegridlinesonly="true" type="xygrid" visible="true">
</inkscape:grid>
<sodipodi:guide id="guide2989" orientation="0,1" position="270,250"></sodipodi:guide>
</sodipodi:namedview>
<g>
<defs>
<inkscape:path-effect copytype="repeated" effect="skeletal" fuse_tolerance="0" id="path-effect4881" is_visible="true" normal_offset="0" pattern="M 0,0 1,0" prop_scale="1" prop_units="false" scale_y_rel="false" spacing="0" tang_offset="0" vertical_pattern="false">
</inkscape:path-effect>
<inkscape:path-effect bendpath="m 110,180 140,0" effect="bend_path" id="path-effect3765" is_visible="true" prop_scale="1" scale_y_rel="false" vertical="false">
</inkscape:path-effect>
</defs>
<g>
<g>
<path id="path2991_3_" sodipodi:cx="110" sodipodi:cy="110" sodipodi:rx="20" sodipodi:ry="20" sodipodi:type="arc" class="st3" d="
M18.734,7.918c-0.169,0.83-1.147,1.355-2.178,1.136c-1.031-0.218-1.679-1.087-1.455-1.906c0.225-0.819,1.193-1.288,2.168-1.081
C18.245,6.273,18.903,7.087,18.734,7.918z"/>
<path id="path3761_3_" sodipodi:cx="110" sodipodi:cy="110" sodipodi:end="6.4866523" sodipodi:open="true" sodipodi:rx="50" sodipodi:ry="50" sodipodi:start="1.374765" sodipodi:type="arc" class="st4" d="
M17.012,12.188c-3.308-0.136-5.924-2.602-5.69-5.147c0.234-2.545,2.84-4.234,5.668-4.091s5.181,2.08,5.427,4.618
c0.059,0.614-0.023,1.229-0.256,1.807"/>
<path id="path2991-6_3_" inkscape:transform-center-x="-140.5" inkscape:transform-center-y="-140.5" sodipodi:cx="110" sodipodi:cy="110" sodipodi:rx="20" sodipodi:ry="20" sodipodi:type="arc" class="st3" d="
M43.115,9.054c-1.031,0.218-2.009-0.306-2.178-1.136c-0.169-0.83,0.489-1.644,1.464-1.851c0.976-0.207,1.944,0.263,2.168,1.081
C44.794,7.967,44.146,8.835,43.115,9.054z"/>
<path id="path3761-1_3_" inkscape:transform-center-x="-140.5" inkscape:transform-center-y="-140.50478" sodipodi:cx="110" sodipodi:cy="110" sodipodi:end="6.4866523" sodipodi:open="true" sodipodi:rx="50" sodipodi:ry="50" sodipodi:start="1.374765" sodipodi:type="arc" class="st4" d="
M37.498,9.343c-0.942-2.394,0.618-4.969,3.233-5.979c2.615-1.011,5.647-0.216,7.03,1.977c1.384,2.192,0.25,5.149-2.807,6.362
c-0.74,0.293-1.54,0.46-2.34,0.488"/>
<path id="path2991-9_3_" sodipodi:cx="110" sodipodi:cy="110" sodipodi:rx="20" sodipodi:ry="20" sodipodi:type="arc" class="st3" d="
M45.245,29.041c-0.169-0.83,0.806-1.701,2.171-1.99s2.647,0.103,2.872,0.921s-0.737,1.765-2.158,2.066
C46.71,30.34,45.415,29.872,45.245,29.041z"/>
<path id="path3761-2_3_" sodipodi:cx="110" sodipodi:cy="110" sodipodi:end="6.4866523" sodipodi:open="true" sodipodi:rx="50" sodipodi:ry="50" sodipodi:start="1.374765" sodipodi:type="arc" class="st4" d="
M45.334,24.432c3.764-1.233,7.892-0.762,9.499,1.362c1.607,2.124-0.252,5.327-4.451,6.802c-4.199,1.475-8.784,0.445-9.957-1.921
c-0.284-0.572-0.359-1.188-0.237-1.809"/>
<path id="path2991-6-9_3_" inkscape:transform-center-x="140.5" inkscape:transform-center-y="140.50002" sodipodi:cx="110" sodipodi:cy="110" sodipodi:rx="20" sodipodi:ry="20" sodipodi:type="arc" class="st3" d="
M12.254,27.051c1.365,0.289,2.341,1.159,2.171,1.99c-0.169,0.83-1.465,1.298-2.885,0.997c-1.42-0.301-2.382-1.247-2.158-2.066
C9.608,27.154,10.889,26.762,12.254,27.051z"/>
<path id="path3761-1-5_3_" inkscape:transform-center-x="140.5" inkscape:transform-center-y="140.50476" sodipodi:cx="110" sodipodi:cy="110" sodipodi:end="6.4866523" sodipodi:open="true" sodipodi:rx="50" sodipodi:ry="50" sodipodi:start="1.374765" sodipodi:type="arc" class="st4" d="
M19.49,28.9c0.476,2.566-2.624,4.715-7.081,4.356c-4.457-0.359-8.169-3.149-8.159-5.762c0.01-2.613,3.343-4.056,7.313-3.651
c0.96,0.098,1.916,0.303,2.825,0.604"/>
</g>
<path class="st5" d="M11.897,28.545C23.883,24.596,34.911,17.522,42.758,7.56"/>
<path class="st5" d="M47.777,28.545C35.791,24.596,24.763,17.522,16.915,7.56"/>
<path class="st6" d="M38.681,19.141c0.453,3.364-3.496,6.665-8.845,6.665s-9.299-3.302-8.845-6.665
c0.453-3.364,4.404-5.613,8.845-5.613C34.276,13.527,38.228,15.777,38.681,19.141z"/>
</g>
</g>
</svg>
<?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">
<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;}
</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"/>
<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"/>
</g>
</svg>
<?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 72 72"
style="enable-background:new -250 452 72 72;" 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;}
.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;}
</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>
<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"/>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.1.0, 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 144 72" style="enable-background:new 0 0 144 72;" xml:space="preserve">
<style type="text/css">
.st0{opacity:0.5;}
.st1{fill:#FFFFFF;}
.st2{fill:none;stroke:#FFFFFF;stroke-miterlimit:10;}
.st3{fill:none;stroke:#FFFFFF;stroke-miterlimit:10;stroke-dasharray:3.0478,3.0478;}
.st4{fill:none;stroke:#FFFFFF;stroke-miterlimit:10;stroke-dasharray:3.6243,3.6243;}
.st5{fill:none;stroke:#FFFFFF;stroke-miterlimit:10;stroke-dasharray:3.0018,3.0018;}
.st6{fill:none;stroke:#FFFFFF;stroke-miterlimit:10;stroke-dasharray:2.9665,2.9665;}
</style>
<g class="st0">
<title>Layer 1</title>
<g id="layer1_1_">
<g id="g4623_1_">
<path id="rect2192_1_" class="st1" d="M77.2,59.3h3.4v7.1c-1,0.5-2.2,0.6-3.4,0V59.3z"/>
<path id="path1307_1_" class="st1" d="M90.9,60.2c-7.6-1.6-15.9,1.7-24,0c5.5-5.1,7.1-15.3,12-20.8
C82.8,44.7,85.2,55.1,90.9,60.2z"/>
<path id="path2183_1_" class="st1" d="M88.5,46.8c-6.1-1.2-12.7,1.4-19.2,0c4.4-4.1,5.7-12.3,9.6-16.6C82,34.5,84,42.8,88.5,46.8
z"/>
<path id="path2185_1_" class="st1" d="M86.3,36.2c-4.7-1-9.8,1-14.8,0c3.4-3.1,4.4-9.5,7.4-12.8C81.3,26.7,82.8,33.1,86.3,36.2z"
/>
</g>
</g>
</g>
<path class="st1" d="M143,37.1c0.1,0.4,0,0.8-0.3,1.1l-6.4,6.1l-1.1,7.7c-0.1,0.4-0.3,0.7-0.7,0.8s-0.7,0.1-1-0.1l-3.3-2.5l-7.9,7.6
c-0.1,0.1-0.2,0.2-0.3,0.2c-0.2,0.1-0.3,0.1-0.5,0.1c-0.3-0.1-0.6-0.2-0.8-0.5l-16.6-27.2c-0.2-0.4-0.2-0.8,0-1.1
c0.1-0.2,0.3-0.3,0.5-0.4c0.2-0.1,0.4-0.1,0.6,0l37,7.7C142.6,36.4,142.9,36.7,143,37.1L143,37.1z M111.3,32L134.8,43l0.1-0.1
c0-0.1,0.1-0.1,0.1-0.2l4.9-4.7L111.3,32z M108,31.6l25.5,18.1l0.8-5.8L108,31.6z M108.6,33.5l13.3,21.7l6.9-6.7
c0.1-0.1,0.3-0.2,0.6-0.4L108.6,33.5z"/>
<g>
<polygon class="st1" points="32,56.6 16.7,38.7 1.4,56.6 5.3,56.6 5.3,69.3 12.9,69.3 12.9,59.1 20.6,59.1 20.6,69.3 28.2,69.3
28.2,56.6 "/>
</g>
<g>
<title>Layer 1</title>
<g id="layer1">
<g id="g4623">
<path id="rect2192" class="st1" d="M69,61.6h3.9v8.3c-1.1,0.5-2.5,0.7-3.9,0V61.6z"/>
<path id="path1307" class="st1" d="M84.9,62.6c-8.9-1.8-18.4,2-27.8,0c6.4-5.9,8.3-17.8,13.9-24.1C75.5,44.7,78.4,56.7,84.9,62.6
z"/>
<path id="path2183" class="st1" d="M82.1,47.1c-7.1-1.4-14.7,1.6-22.2,0C65,42.4,66.5,32.9,71,27.9
C74.6,32.8,76.9,42.4,82.1,47.1z"/>
<path id="path2185" class="st1" d="M79.5,34.9c-5.5-1.1-11.3,1.2-17.1,0c4-3.6,5.1-11,8.6-14.8C73.8,23.8,75.5,31.2,79.5,34.9z"
/>
</g>
</g>
</g>
<g>
<g>
<line class="st2" x1="77.3" y1="5.4" x2="78.8" y2="5.4"/>
<line class="st3" x1="81.8" y1="5.4" x2="123" y2="5.4"/>
<polyline class="st2" points="124.5,5.4 126,5.4 126,6.9 "/>
<line class="st4" x1="126" y1="10.5" x2="126" y2="15.9"/>
<line class="st2" x1="126" y1="17.8" x2="126" y2="19.3"/>
<g>
<polygon class="st1" points="72,5.4 79.5,8.4 77.7,5.4 79.5,2.3 "/>
</g>
<g>
<g>
<polygon class="st1" points="123.3,21.1 123.5,21 125.6,18.8 125.6,25.3 123.3,27.6 "/>
<path class="st1" d="M128.6,27.6l-2.2-2.3v-6.5c0.6,0.8,1.4,1.6,2.2,2.3V27.6z"/>
</g>
</g>
</g>
</g>
<g>
<g>
<line class="st2" x1="16.7" y1="29.4" x2="16.7" y2="27.9"/>
<line class="st5" x1="16.7" y1="24.9" x2="16.7" y2="8.4"/>
<polyline class="st2" points="16.7,6.9 16.7,5.4 18.2,5.4 "/>
<line class="st6" x1="21.2" y1="5.4" x2="67.2" y2="5.4"/>
<line class="st2" x1="68.7" y1="5.4" x2="70.2" y2="5.4"/>
<g>
<polygon class="st1" points="16.7,34.7 19.8,27.2 16.7,29 13.7,27.2 "/>
</g>
</g>
</g>
</svg>
<?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 288 144.29" style="enable-background:new 0 0 288 144.29;" xml:space="preserve">
<style type="text/css">
.st0{opacity:0.5;}
.st1{fill:#FFFFFF;}
.st2{fill:none;stroke:#FFFFFF;stroke-width:4;stroke-miterlimit:10;}
.st3{fill:none;stroke:#FFFFFF;stroke-width:4;stroke-miterlimit:10;stroke-dasharray:3.0529,3.0529;}
.st4{fill:none;stroke:#FFFFFF;stroke-width:4;stroke-miterlimit:10;stroke-dasharray:2.6569,2.6569;}
.st5{fill:none;stroke:#FFFFFF;stroke-width:4;stroke-miterlimit:10;stroke-dasharray:3.2193,3.2193;}
.st6{fill:none;stroke:#FFFFFF;stroke-width:4;stroke-miterlimit:10;stroke-dasharray:3.0184,3.0184;}
</style>
<g class="st0">
<title>Layer 1</title>
<g id="layer1_1_">
<g id="g4623_1_">
<path id="rect2192_1_" class="st1" d="M154.008,121.881h6.853v14.527c-2.017,0.952-4.425,1.232-6.853,0V121.881z"/>
<path id="path1307_1_" class="st1" d="M181.83,123.599c-15.554-3.156-32.248,3.454-48.792,0
c11.278-10.345,14.527-31.183,24.386-42.256C165.417,92.117,170.384,113.254,181.83,123.599z"/>
<path id="path2183_1_" class="st1" d="M176.938,96.486c-12.436-2.521-25.787,2.764-39.007,0
c9.019-8.272,11.614-24.928,19.494-33.779C163.811,71.316,167.788,88.214,176.938,96.486z"/>
<path id="path2185_1_" class="st1" d="M172.475,74.919c-9.579-1.942-19.886,2.129-30.082,0
c6.965-6.386,8.963-19.233,15.05-26.048C162.355,55.518,165.417,68.552,172.475,74.919z"/>
</g>
</g>
</g>
<g>
<polygon class="st1" points="62.223,116.309 31.112,80.009 0,116.309 7.778,116.309 7.778,142.237 23.334,142.237 23.334,121.495
38.889,121.495 38.889,142.237 54.445,142.237 54.445,116.309 "/>
</g>
<g>
<title>Layer 1</title>
<g id="layer1">
<g id="g4623">
<path id="rect2192" class="st1" d="M137.457,126.519h7.934v16.819c-2.335,1.103-5.124,1.427-7.934,0V126.519z"/>
<path id="path1307" class="st1" d="M169.668,128.508c-18.008-3.654-37.335,3.999-56.489,0
c13.058-11.977,16.819-36.103,28.234-48.923C150.666,92.059,156.416,116.531,169.668,128.508z"/>
<path id="path2183" class="st1" d="M164.004,97.118c-14.398-2.918-29.855,3.2-45.161,0c10.442-9.577,13.447-28.861,22.57-39.108
C148.807,67.976,153.411,87.541,164.004,97.118z"/>
<path id="path2185" class="st1" d="M158.838,72.148c-11.09-2.248-23.024,2.465-34.827,0c8.064-7.394,10.377-22.267,17.424-30.158
C147.12,49.687,150.666,64.776,158.838,72.148z"/>
</g>
</g>
</g>
<g>
<g>
<line class="st2" x1="149.569" y1="12.193" x2="151.069" y2="12.193"/>
<line class="st3" x1="154.122" y1="12.193" x2="250.289" y2="12.193"/>
<polyline class="st2" points="251.816,12.193 253.316,12.193 253.316,13.693 "/>
<line class="st4" x1="253.316" y1="16.35" x2="253.316" y2="25.65"/>
<line class="st2" x1="253.316" y1="26.978" x2="253.316" y2="28.478"/>
<g>
<polygon class="st1" points="128.388,12.193 158.235,24.39 151.153,12.193 158.235,0 "/>
</g>
<g>
<polygon class="st1" points="254.291,26.308 262.775,40.365 262.775,57.465 253.316,48.007 243.856,57.465 243.856,40.365
252.338,26.308 "/>
</g>
</g>
</g>
<g>
<g>
<line class="st2" x1="31.112" y1="50.606" x2="31.112" y2="49.106"/>
<line class="st5" x1="31.112" y1="45.887" x2="31.112" y2="15.303"/>
<polyline class="st2" points="31.112,13.693 31.112,12.193 32.612,12.193 "/>
<line class="st6" x1="35.63" y1="12.193" x2="136.745" y2="12.193"/>
<line class="st2" x1="138.254" y1="12.193" x2="139.754" y2="12.193"/>
<g>
<polygon class="st1" points="31.112,71.788 43.308,41.94 31.112,49.023 18.918,41.94 "/>
</g>
</g>
</g>
<path class="st1" d="M287.912,80.523c0.212,0.742,0.041,1.398-0.512,1.97l-11.78,11.278l-1.965,14.245
c-0.133,0.75-0.537,1.261-1.211,1.533c-0.674,0.272-1.319,0.183-1.935-0.265l-6.198-4.685l-14.608,13.985
c-0.195,0.165-0.404,0.293-0.629,0.384c-0.3,0.121-0.629,0.167-0.989,0.138c-0.57-0.118-1.036-0.41-1.397-0.874l-30.725-50.309
c-0.407-0.794-0.386-1.499,0.062-2.115c0.209-0.345,0.501-0.594,0.875-0.745c0.375-0.151,0.757-0.174,1.147-0.07l68.423,14.218
C287.219,79.344,287.7,79.781,287.912,80.523L287.912,80.523z M229.175,71.217l43.424,20.245l0.123-0.18
c0.082-0.12,0.146-0.233,0.19-0.338l9.133-8.775L229.175,71.217z M222.987,70.446l47.238,33.597l1.524-10.802L222.987,70.446z
M224.278,73.975l24.535,40.135l12.79-12.338c0.269-0.196,0.614-0.422,1.033-0.678L224.278,73.975z"/>
</svg>
<?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 288 144.29" style="enable-background:new 0 0 288 144.29;" xml:space="preserve">
<style type="text/css">
.st0{opacity:0.5;}
.st1{fill:#FFFFFF;}
.st2{fill:none;stroke:#FFFFFF;stroke-width:4;stroke-miterlimit:10;}
.st3{fill:none;stroke:#FFFFFF;stroke-width:4;stroke-miterlimit:10;stroke-dasharray:3.0529,3.0529;}
.st4{fill:none;stroke:#FFFFFF;stroke-width:4;stroke-miterlimit:10;stroke-dasharray:2.6569,2.6569;}
.st5{fill:none;stroke:#FFFFFF;stroke-width:4;stroke-miterlimit:10;stroke-dasharray:3.2193,3.2193;}
.st6{fill:none;stroke:#FFFFFF;stroke-width:4;stroke-miterlimit:10;stroke-dasharray:3.0184,3.0184;}
.st7{fill:#FFFFFF;stroke:#FFFFFF;}
.st8{fill:none;stroke:#FFFFFF;stroke-width:3;stroke-linecap:round;}
.st9{fill:none;stroke:#FFFFFF;stroke-width:3;}
.st10{fill:#FFFFFF;stroke:#FFFFFF;stroke-width:3;}
</style>
<g class="st0">
<title>Layer 1</title>
<g id="layer1_1_">
<g id="g4623_1_">
<path id="rect2192_1_" class="st1" d="M154.008,121.881h6.853v14.527c-2.017,0.952-4.425,1.232-6.853,0V121.881z"/>
<path id="path1307_1_" class="st1" d="M181.83,123.599c-15.554-3.156-32.248,3.454-48.792,0
c11.278-10.345,14.527-31.183,24.386-42.256C165.417,92.117,170.384,113.254,181.83,123.599z"/>
<path id="path2183_1_" class="st1" d="M176.938,96.486c-12.436-2.521-25.787,2.764-39.007,0
c9.019-8.272,11.614-24.928,19.494-33.779C163.811,71.316,167.788,88.214,176.938,96.486z"/>
<path id="path2185_1_" class="st1" d="M172.475,74.919c-9.579-1.942-19.886,2.129-30.082,0
c6.965-6.386,8.963-19.233,15.05-26.048C162.355,55.518,165.417,68.552,172.475,74.919z"/>
</g>
</g>
</g>
<g>
<polygon class="st1" points="62.223,116.309 31.112,80.009 0,116.309 7.778,116.309 7.778,142.237 23.334,142.237 23.334,121.495
38.889,121.495 38.889,142.237 54.445,142.237 54.445,116.309 "/>
</g>
<g>
<title>Layer 1</title>
<g id="layer1">
<g id="g4623">
<path id="rect2192" class="st1" d="M137.457,126.519h7.934v16.819c-2.335,1.103-5.124,1.427-7.934,0V126.519z"/>
<path id="path1307" class="st1" d="M169.668,128.508c-18.008-3.654-37.335,3.999-56.489,0
c13.058-11.977,16.819-36.103,28.234-48.923C150.666,92.059,156.416,116.531,169.668,128.508z"/>
<path id="path2183" class="st1" d="M164.004,97.118c-14.398-2.918-29.855,3.2-45.161,0c10.442-9.577,13.447-28.861,22.57-39.108
C148.807,67.976,153.411,87.541,164.004,97.118z"/>
<path id="path2185" class="st1" d="M158.838,72.148c-11.09-2.248-23.024,2.465-34.827,0c8.064-7.394,10.377-22.267,17.424-30.158
C147.12,49.687,150.666,64.776,158.838,72.148z"/>
</g>
</g>
</g>
<g>
<g>
<line class="st2" x1="149.569" y1="12.193" x2="151.069" y2="12.193"/>
<line class="st3" x1="154.122" y1="12.193" x2="250.289" y2="12.193"/>
<polyline class="st2" points="251.816,12.193 253.316,12.193 253.316,13.693 "/>
<line class="st4" x1="253.316" y1="16.35" x2="253.316" y2="25.65"/>
<line class="st2" x1="253.316" y1="26.978" x2="253.316" y2="28.478"/>
<g>
<polygon class="st1" points="128.388,12.193 158.235,24.39 151.153,12.193 158.235,0 "/>
</g>
<g>
<polygon class="st1" points="254.291,26.308 262.775,40.365 262.775,57.465 253.316,48.007 243.856,57.465 243.856,40.365
252.338,26.308 "/>
</g>
</g>
</g>
<g>
<g>
<line class="st2" x1="31.112" y1="50.606" x2="31.112" y2="49.106"/>
<line class="st5" x1="31.112" y1="45.887" x2="31.112" y2="15.303"/>
<polyline class="st2" points="31.112,13.693 31.112,12.193 32.612,12.193 "/>
<line class="st6" x1="35.63" y1="12.193" x2="136.745" y2="12.193"/>
<line class="st2" x1="138.254" y1="12.193" x2="139.754" y2="12.193"/>
<g>
<polygon class="st1" points="31.112,71.788 43.308,41.94 31.112,49.023 18.918,41.94 "/>
</g>
</g>
</g>
<g>
<defs>
<inkscape:path-effect copytype="repeated" effect="skeletal" fuse_tolerance="0" id="path-effect4881" is_visible="true" normal_offset="0" pattern="M 0,0 1,0" prop_scale="1" prop_units="false" scale_y_rel="false" spacing="0" tang_offset="0" vertical_pattern="false">
</inkscape:path-effect>
<inkscape:path-effect bendpath="m 110,180 140,0" effect="bend_path" id="path-effect3765" is_visible="true" prop_scale="1" scale_y_rel="false" vertical="false">
</inkscape:path-effect>
</defs>
<g>
<g>
<path id="path2991_3_" sodipodi:cx="110" sodipodi:cy="110" sodipodi:rx="20" sodipodi:ry="20" sodipodi:type="arc" class="st7" d="
M238.687,69.157c-0.209,1.011-1.4,1.647-2.652,1.378c-1.252-0.269-2.036-1.329-1.758-2.326c0.278-0.996,1.456-1.565,2.64-1.31
C238.1,67.153,238.896,68.146,238.687,69.157z"/>
<path id="path3761_3_" sodipodi:cx="110" sodipodi:cy="110" sodipodi:end="6.4866523" sodipodi:open="true" sodipodi:rx="50" sodipodi:ry="50" sodipodi:start="1.374765" sodipodi:type="arc" class="st8" d="
M236.576,74.353c-4.023-0.176-7.193-3.191-6.892-6.289c0.301-3.098,3.479-5.143,6.909-4.961s6.277,2.544,6.568,5.636
c0.07,0.748-0.031,1.497-0.316,2.2"/>
<path id="path2991-6_3_" inkscape:transform-center-x="-140.5" inkscape:transform-center-y="-140.5" sodipodi:cx="110" sodipodi:cy="110" sodipodi:rx="20" sodipodi:ry="20" sodipodi:type="arc" class="st7" d="
M268.303,70.535c-1.252,0.269-2.443-0.367-2.652-1.378c-0.209-1.011,0.587-2.004,1.77-2.258c1.184-0.254,2.362,0.314,2.64,1.31
C270.338,69.205,269.555,70.266,268.303,70.535z"/>
<path id="path3761-1_3_" inkscape:transform-center-x="-140.5" inkscape:transform-center-y="-140.50478" sodipodi:cx="110" sodipodi:cy="110" sodipodi:end="6.4866523" sodipodi:open="true" sodipodi:rx="50" sodipodi:ry="50" sodipodi:start="1.374765" sodipodi:type="arc" class="st8" d="
M261.478,70.9c-1.151-2.914,0.736-6.052,3.903-7.288c3.167-1.237,6.851-0.28,8.547,2.384c1.696,2.664,0.337,6.271-3.376,7.758
c-0.898,0.36-1.871,0.566-2.844,0.602"/>
<path id="path2991-9_3_" sodipodi:cx="110" sodipodi:cy="110" sodipodi:rx="20" sodipodi:ry="20" sodipodi:type="arc" class="st7" d="
M270.972,94.871c-0.209-1.011,0.979-2.074,2.643-2.432c1.664-0.358,3.23,0.114,3.508,1.11s-0.893,2.154-2.626,2.526
C272.764,96.448,271.181,95.882,270.972,94.871z"/>
<path id="path3761-2_3_" sodipodi:cx="110" sodipodi:cy="110" sodipodi:end="6.4866523" sodipodi:open="true" sodipodi:rx="50" sodipodi:ry="50" sodipodi:start="1.374765" sodipodi:type="arc" class="st8" d="
M271.065,89.257c4.586-1.516,9.622-0.965,11.594,1.613c1.971,2.578-0.283,6.493-5.405,8.31
c-5.123,1.817-10.726,0.574-12.161-2.305c-0.347-0.697-0.441-1.446-0.293-2.203"/>
<path id="path2991-6-9_3_" inkscape:transform-center-x="140.5" inkscape:transform-center-y="140.50002" sodipodi:cx="110" sodipodi:cy="110" sodipodi:rx="20" sodipodi:ry="20" sodipodi:type="arc" class="st7" d="
M230.723,92.439c1.664,0.358,2.852,1.421,2.643,2.432c-0.209,1.011-1.792,1.576-3.525,1.204c-1.733-0.372-2.903-1.53-2.626-2.526
S229.058,92.082,230.723,92.439z"/>
<path id="path3761-1-5_3_" inkscape:transform-center-x="140.5" inkscape:transform-center-y="140.50476" sodipodi:cx="110" sodipodi:cy="110" sodipodi:end="6.4866523" sodipodi:open="true" sodipodi:rx="50" sodipodi:ry="50" sodipodi:start="1.374765" sodipodi:type="arc" class="st8" d="
M239.546,94.715c0.575,3.127-3.213,5.738-8.655,5.284s-9.964-3.876-9.939-7.059c0.025-3.183,4.098-4.92,8.939-4.409
c1.171,0.124,2.336,0.376,3.443,0.747"/>
</g>
<path class="st9" d="M230.281,94.257c15.501-6.427,26.238-13.176,37.581-25.54"/>
<path class="st9" d="M274.06,94.257c-15.501-6.427-26.238-13.175-37.581-25.54"/>
<path class="st10" d="M262.941,82.831c0.56,4.096-4.25,8.127-10.773,8.127s-11.332-4.031-10.773-8.127
c0.56-4.096,5.372-6.828,10.773-6.828C257.57,76.003,262.382,78.735,262.941,82.831z"/>
</g>
</g>
</svg>
......@@ -49,6 +49,8 @@ QGCView {
property Fact _fenceRadius: controller.getParameterFact(-1, "GF_MAX_HOR_DIST")
property Fact _fenceAlt: controller.getParameterFact(-1, "GF_MAX_VER_DIST")
property Fact _rtlLandDelay: controller.getParameterFact(-1, "RTL_LAND_DELAY")
property Fact _lowBattAction: controller.getParameterFact(-1, "COM_LOW_BAT_ACT")
property Fact _rcLossAction: controller.getParameterFact(-1, "NAV_RCL_ACT")
QGCViewPanel {
id: panel
......@@ -57,10 +59,414 @@ QGCView {
QGCFlickable {
clip: true
anchors.fill: parent
contentHeight: screenBottom.y + screenBottom.height
contentHeight: mainCol.height
contentWidth: parent.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
}
}
}
}
}
QGCLabel {
text: qsTr("Low Battery Trigger")
font.weight: Font.DemiBold
}
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")
......@@ -116,196 +522,7 @@ QGCView {
}
} // Rectangle - Trigger settings
QGCLabel {
id: geoFenceLabel
anchors.leftMargin: _margins
anchors.left: triggerSettings.right
anchors.top: parent.top
text: qsTr("GeoFence")
font.weight: Font.DemiBold
}
Rectangle {
id: geoFenceSettings
anchors.topMargin: _margins / 2
anchors.left: geoFenceLabel.left
anchors.top: geoFenceLabel.bottom
width: fenceActionCombo.x + fenceActionCombo.width + _margins
height: fenceAltMaxField.y + fenceAltMaxField.height + _margins
color: palette.windowShade
QGCLabel {
id: fenceActionLabel
anchors.margins: _margins
anchors.left: parent.left
anchors.baseline: fenceActionCombo.baseline
text: qsTr("Action on breach:")
}
FactComboBox {
id: fenceActionCombo
anchors.margins: _margins
anchors.left: fenceActionLabel.right
anchors.top: parent.top
width: fenceAltMaxField.width
model: [ qsTr("None"), qsTr("Warning"), qsTr("Loiter"), qsTr("Return Home"), qsTr("Flight termination") ]
fact: _fenceAction
}
QGCCheckBox {
id: fenceRadiusCheckBox
anchors.left: fenceActionLabel.left
anchors.baseline: fenceRadiusField.baseline
text: qsTr("Max radius:")
checked: _fenceRadius.value >= 0
onClicked: _fenceRadius.value = checked ? 100 : -1
}
FactTextField {
id: fenceRadiusField
anchors.topMargin: _margins
anchors.left: fenceActionCombo.left
anchors.top: fenceActionCombo.bottom
showUnits: true
fact: _fenceRadius
enabled: fenceRadiusCheckBox.checked
}
QGCCheckBox {
id: fenceAltMaxCheckBox
anchors.left: fenceActionLabel.left
anchors.baseline: fenceAltMaxField.baseline
text: qsTr("Max altitude:")
checked: _fenceAlt.value >= 0
onClicked: _fenceAlt.value = checked ? 100 : -1
}
FactTextField {
id: fenceAltMaxField
anchors.topMargin: _margins / 2
anchors.left: fenceActionCombo.left
anchors.top: fenceRadiusField.bottom
showUnits: true
fact: _fenceAlt
enabled: fenceAltMaxCheckBox.checked
}
} // Rectangle - GeoFence Settings
QGCLabel {
id: rtlLabel
anchors.topMargin: _margins
anchors.top: triggerSettings.bottom
text: qsTr("Return Home Settings")
font.weight: Font.DemiBold
}
Rectangle {
id: rtlSettings
anchors.topMargin: _margins / 2
anchors.left: parent.left
anchors.top: rtlLabel.bottom
width: landDelayField.x + landDelayField.width + _margins
height: descendField.y + descendField.height + _margins
color: palette.windowShade
Image {
id: icon
anchors.margins: _margins
anchors.left: parent.left
anchors.top: parent.top
height: ScreenTools.defaultFontPixelWidth * 10
width: ScreenTools.defaultFontPixelWidth * 20
mipmap: true
fillMode: Image.PreserveAspectFit
visible: false
source: "/qmlimages/ReturnToHomeAltitude.svg"
}
ColorOverlay {
anchors.fill: icon
source: icon
color: palette.text
}
QGCLabel {
id: climbLabel
anchors.margins: _margins
anchors.left: icon.right
anchors.baseline: climbField.baseline
text: qsTr("Climb to altitude of")
}
FactTextField {
id: climbField
anchors.topMargin: _margins
anchors.top: parent.top
anchors.left: landDelayField.left
fact: controller.getParameterFact(-1, "RTL_RETURN_ALT")
showUnits: true
}
QGCLabel {
id: returnHomeLabel
anchors.topMargin: _margins
anchors.top: climbField.bottom
anchors.left: climbLabel.left
text: "Return Home, then:"
}
ExclusiveGroup { id: homeLoiterGroup }
QGCRadioButton {
id: homeLoiterNoLandRadio
anchors.topMargin: _margins
anchors.top: returnHomeLabel.bottom
anchors.left: climbLabel.left
checked: _rtlLandDelay.value < 0
exclusiveGroup: homeLoiterGroup
text: "Loiter at Home altitude, do not land"
onClicked: _rtlLandDelay.value = -1
}
QGCRadioButton {
id: homeLoiterLandRadio
anchors.baseline: landDelayField.baseline
anchors.left: climbLabel.left
checked: _rtlLandDelay.value >= 0
exclusiveGroup: homeLoiterGroup
text: qsTr("Loiter at Home altitude for")
onClicked: _rtlLandDelay.value = 60
}
FactTextField {
id: landDelayField
anchors.margins: _margins
anchors.left: homeLoiterLandRadio.right
anchors.top: homeLoiterNoLandRadio.bottom
fact: controller.getParameterFact(-1, "RTL_LAND_DELAY")
showUnits: true
enabled: homeLoiterLandRadio.checked === true
}
QGCLabel {
text: qsTr("Home loiter altitude")
anchors.baseline: descendField.baseline
anchors.left: climbLabel.left
color: palette.text
enabled: homeLoiterLandRadio.checked === true
}
FactTextField {
id: descendField
anchors.topMargin: _margins
anchors.left: landDelayField.left
anchors.top: landDelayField.bottom
fact: controller.getParameterFact(-1, "RTL_DESCEND_ALT")
enabled: homeLoiterLandRadio.checked === true
showUnits: true
}
}
QGCLabel {
id: navRclObc
......@@ -341,6 +558,10 @@ QGCView {
width: 1
height: 1
}
*/
} // QGCFlickable
} // QGCViewPanel
} // QGCView
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment