Commit dcb37703 authored by dogmaphobic's avatar dogmaphobic

Added RSSI Indicator to ToolBar.

parent 2810e4d3
...@@ -156,6 +156,7 @@ ...@@ -156,6 +156,7 @@
<file alias="Kill">resources/Kill.svg</file> <file alias="Kill">resources/Kill.svg</file>
<file alias="Shutdown">resources/Shutdown.svg</file> <file alias="Shutdown">resources/Shutdown.svg</file>
<file alias="Antenna">resources/antenna.svg</file>
<file alias="Gps">resources/Gps.svg</file> <file alias="Gps">resources/Gps.svg</file>
<file alias="Megaphone">resources/Megaphone.png</file> <file alias="Megaphone">resources/Megaphone.png</file>
<file alias="Yield">resources/Yield.png</file> <file alias="Yield">resources/Yield.png</file>
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> <!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" <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"
id="svg4264" sodipodi:docname="battery_0.svg" inkscape:version="0.91 r13725" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" viewBox="0 0 162 288" enable-background="new 0 0 162 288" xml:space="preserve">
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="-142 87 326.3 620" <path id="rect4970" inkscape:connector-curvature="0" fill="#E7E7E7" stroke="#E7E7E7" stroke-width="6" d="M14.742,264.074V40.618
enable-background="new -142 87 326.3 620" xml:space="preserve"> c0-6.588,5.831-11.93,13.042-11.93H134.26c7.211,0,13.042,5.342,13.042,11.93v223.456c0,6.588-5.831,11.93-13.042,11.93H27.785
<title id="title4294">Battery</title> C20.573,276.003,14.742,270.662,14.742,264.074z"/>
<sodipodi:namedview inkscape:window-maximized="0" inkscape:window-y="65" inkscape:window-x="2776" inkscape:window-height="1259" inkscape:window-width="2003" fit-margin-bottom="0.02" fit-margin-right="0.02" inkscape:current-layer="layer1" inkscape:pageshadow="2" inkscape:document-units="in" inkscape:pageopacity="0.0" units="in" borderopacity="1.0" bordercolor="#666666" pagecolor="#ffffff" showgrid="false" inkscape:cy="387.50002" inkscape:zoom="1.4103225" inkscape:cx="115.31779" id="base" fit-margin-top="0.02" fit-margin-left="0.02" showborder="true"> <path id="rect4360" inkscape:connector-curvature="0" fill="none" d="M9,268.391V36.255c0-6.855,6.321-12.419,14.155-12.419h115.69
</sodipodi:namedview> 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="rect4970" inkscape:connector-curvature="0" fill="#E6E7E8" stroke="#E6E7E8" stroke-width="6" d="M-127.7,667.9v-502
c0-14.8,13.1-26.8,29.3-26.8h239.2c16.2,0,29.3,12,29.3,26.8v502c0,14.8-13.1,26.8-29.3,26.8H-98.4
C-114.6,694.7-127.7,682.7-127.7,667.9z"/>
<path id="rect4360" inkscape:connector-curvature="0" fill="none" d="M-140.6,677.6V156.1c0-15.4,14.2-27.9,31.8-27.9h259.9
c17.6,0,31.8,12.6,31.8,27.9v521.5c0,15.4-14.2,27.9-31.8,27.9h-259.8C-126.3,705.5-140.6,693-140.6,677.6z"/>
<g id="g4222" transform="translate(-127.22081,216.20249)"> <g id="g4222" transform="translate(-127.22081,216.20249)">
<path id="path4224" inkscape:connector-curvature="0" fill="#E6E7E8" stroke="#E6E7E8" stroke-width="6" stroke-miterlimit="10" d=" <path id="path4224" inkscape:connector-curvature="0" fill="#E7E7E7" stroke="#E7E7E7" stroke-width="6" stroke-miterlimit="10" d="
M231.3-81.3c0,2.2-1.7,3.9-3.9,3.9h-155c-2.2,0-3.9-1.7-3.9-3.9v-40.2c0-2.2,1.7-3.9,3.9-3.9h155c2.2,0,3.9,1.7,3.9,3.9L231.3-81.3 M244.512-189.383c0,0.979-0.757,1.736-1.736,1.736h-68.995c-0.979,0-1.736-0.757-1.736-1.736v-17.894
L231.3-81.3L231.3-81.3z"/> c0-0.979,0.757-1.736,1.736-1.736h68.995c0.979,0,1.736,0.757,1.736,1.736V-189.383L244.512-189.383L244.512-189.383z"/>
</g> </g>
<text transform="matrix(0.757 0 0 1 -80.0776 552.9648)" font-family="'Helvetica'" font-size="406.7761">X</text>
</svg> </svg>
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> <!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" <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"
id="svg4264" sodipodi:docname="battery_100.svg" inkscape:version="0.91 r13725" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" viewBox="0 0 162 288" enable-background="new 0 0 162 288" xml:space="preserve">
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="-142 87 326.3 620" <path id="rect4970" inkscape:connector-curvature="0" fill="#E7E7E7" stroke="#E7E7E7" stroke-width="6" d="M14.742,264.074V40.618
enable-background="new -142 87 326.3 620" xml:space="preserve"> c0-6.588,5.831-11.93,13.042-11.93H134.26c7.211,0,13.042,5.342,13.042,11.93v223.456c0,6.588-5.831,11.93-13.042,11.93H27.785
<title id="title4294">Battery</title> C20.573,276.003,14.742,270.662,14.742,264.074z"/>
<sodipodi:namedview inkscape:window-maximized="0" inkscape:window-y="65" inkscape:window-x="2776" inkscape:window-height="1259" inkscape:window-width="2003" fit-margin-bottom="0.02" fit-margin-right="0.02" inkscape:current-layer="layer1" inkscape:pageshadow="2" inkscape:document-units="in" inkscape:pageopacity="0.0" units="in" borderopacity="1.0" bordercolor="#666666" pagecolor="#ffffff" showgrid="false" inkscape:cy="393.84035" inkscape:zoom="1.2144444" inkscape:cx="202.22082" id="base" fit-margin-top="0.02" fit-margin-left="0.02" showborder="true"> <path id="rect4360" inkscape:connector-curvature="0" fill="none" d="M9,268.391V36.255c0-6.855,6.321-12.419,14.155-12.419h115.69
</sodipodi:namedview> 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="rect4970" inkscape:connector-curvature="0" fill="#E6E7E8" stroke="#E6E7E8" stroke-width="6" d="M-127.7,667.9v-502 <path id="path4679" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccc" fill="#0F763C" d="M30.9,265.899V42.117H131.1
c0-14.8,13.1-26.8,29.3-26.8h239.2c16.2,0,29.3,12,29.3,26.8v502c0,14.8-13.1,26.8-29.3,26.8H-98.4 v223.782H30.9z"/>
C-114.6,694.7-127.7,682.7-127.7,667.9z"/>
<path id="rect4360" inkscape:connector-curvature="0" fill="none" d="M-140.6,677.6V156.1c0-15.4,14.2-27.9,31.8-27.9h259.9
c17.6,0,31.8,12.6,31.8,27.9v521.5c0,15.4-14.2,27.9-31.8,27.9h-259.8C-126.3,705.5-140.6,693-140.6,677.6z"/>
<path id="path4669" sodipodi:nodetypes="ccccc" inkscape:connector-curvature="0" fill="#09753B" d="M-91.4,260.4v-90.1h225.1v90.1
H-91.4L-91.4,260.4z"/>
<path id="path4671" sodipodi:nodetypes="ccccc" inkscape:connector-curvature="0" fill="#09753B" d="M-91.4,363.3v-90.1h225.1v90.1
H-91.4z"/>
<path id="path4673" sodipodi:nodetypes="ccccc" inkscape:connector-curvature="0" fill="#09753B" d="M-91.4,466.3v-90.1h225.1v90.1
H-91.4z"/>
<path id="path4675" sodipodi:nodetypes="ccccc" inkscape:connector-curvature="0" fill="#09753B" d="M-91.4,569.2v-90.1h225.1v90.1
H-91.4z"/>
<path id="path4679" sodipodi:nodetypes="ccccc" inkscape:connector-curvature="0" fill="#09753B" d="M-91.4,672V582h225.1V672H-91.4
z"/>
<g id="g4222" transform="translate(-127.22081,216.20249)"> <g id="g4222" transform="translate(-127.22081,216.20249)">
<path id="path4224" inkscape:connector-curvature="0" fill="#E6E7E8" stroke="#E6E7E8" stroke-width="6" stroke-miterlimit="10" d=" <path id="path4224" inkscape:connector-curvature="0" fill="#E7E7E7" stroke="#E7E7E7" stroke-width="6" stroke-miterlimit="10" d="
M229.9-81.3c0,2.2-1.7,3.9-3.9,3.9h-155c-2.2,0-3.9-1.7-3.9-3.9v-40.2c0-2.2,1.7-3.9,3.9-3.9h155c2.2,0,3.9,1.7,3.9,3.9L229.9-81.3 M244.512-189.383c0,0.979-0.757,1.736-1.736,1.736h-68.995c-0.979,0-1.736-0.757-1.736-1.736v-17.894
L229.9-81.3L229.9-81.3z"/> c0-0.979,0.757-1.736,1.736-1.736h68.995c0.979,0,1.736,0.757,1.736,1.736V-189.383L244.512-189.383L244.512-189.383z"/>
</g> </g>
</svg> </svg>
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> <!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" <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"
id="svg4264" sodipodi:docname="battery_100.svg" inkscape:version="0.91 r13725" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" viewBox="0 0 162 288" enable-background="new 0 0 162 288" xml:space="preserve">
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="-142 87 326.32 620" <path id="rect4970" inkscape:connector-curvature="0" fill="#E7E7E7" stroke="#E7E7E7" stroke-width="6" d="M14.742,264.074V40.618
enable-background="new -142 87 326.32 620" xml:space="preserve"> c0-6.588,5.831-11.93,13.042-11.93H134.26c7.211,0,13.042,5.342,13.042,11.93v223.456c0,6.588-5.831,11.93-13.042,11.93H27.785
<title id="title4294">Battery</title> C20.573,276.003,14.742,270.662,14.742,264.074z"/>
<sodipodi:namedview inkscape:window-maximized="0" inkscape:window-y="65" inkscape:window-x="2776" inkscape:window-height="1259" inkscape:window-width="2003" fit-margin-bottom="0.02" fit-margin-right="0.02" inkscape:current-layer="layer1" inkscape:pageshadow="2" inkscape:document-units="in" inkscape:pageopacity="0.0" units="in" borderopacity="1.0" bordercolor="#666666" pagecolor="#ffffff" showgrid="false" inkscape:cy="393.84035" inkscape:zoom="1.2144444" inkscape:cx="202.22082" id="base" fit-margin-top="0.02" fit-margin-left="0.02" showborder="true"> <path id="rect4360" inkscape:connector-curvature="0" fill="none" d="M9,268.391V36.255c0-6.855,6.321-12.419,14.155-12.419h115.69
</sodipodi:namedview> 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="rect4970" inkscape:connector-curvature="0" fill="#E6E7E8" stroke="#E6E7E8" stroke-width="6" d="M-127.68,667.88v-502 <path id="path4679" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccc" fill="#5B140E" d="M30.9,265.899v-39.866H131.1
c0-14.8,13.12-26.8,29.28-26.8h239.2c16.16,0,29.28,12,29.28,26.8v502c0,14.8-13.12,26.8-29.28,26.8H-98.4 v39.866H30.9z"/>
C-114.64,694.68-127.68,682.68-127.68,667.88z"/>
<path id="rect4360" inkscape:connector-curvature="0" fill="none" d="M-140.56,677.64V156.12c0-15.36,14.24-27.92,31.76-27.92
h259.92c17.6,0,31.76,12.56,31.76,27.92v521.52c0,15.36-14.24,27.92-31.76,27.92h-259.84C-126.32,705.48-140.56,693-140.56,677.64z"
/>
<path id="path4679" sodipodi:nodetypes="ccccc" inkscape:connector-curvature="0" fill="#471F0D" d="M-91.36,672.04v-90.08h225.12
v90.08H-91.36z"/>
<g id="g4222" transform="translate(-127.22081,216.20249)"> <g id="g4222" transform="translate(-127.22081,216.20249)">
<path id="path4224" inkscape:connector-curvature="0" fill="#E6E7E8" stroke="#E6E7E8" stroke-width="6" stroke-miterlimit="10" d=" <path id="path4224" inkscape:connector-curvature="0" fill="#E7E7E7" stroke="#E7E7E7" stroke-width="6" stroke-miterlimit="10" d="
M229.861-81.283c0,2.24-1.68,3.92-3.92,3.92H70.901c-2.24,0-3.92-1.68-3.92-3.92v-40.16c0-2.24,1.68-3.92,3.92-3.92h155.04 M244.512-189.383c0,0.979-0.757,1.736-1.736,1.736h-68.995c-0.979,0-1.736-0.757-1.736-1.736v-17.894
c2.24,0,3.92,1.68,3.92,3.92L229.861-81.283L229.861-81.283L229.861-81.283z"/> c0-0.979,0.757-1.736,1.736-1.736h68.995c0.979,0,1.736,0.757,1.736,1.736V-189.383L244.512-189.383L244.512-189.383z"/>
</g> </g>
</svg> </svg>
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> <!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" <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"
id="svg4264" sodipodi:docname="battery_100.svg" inkscape:version="0.91 r13725" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" viewBox="0 0 162 288" enable-background="new 0 0 162 288" xml:space="preserve">
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="-142 87 326.32 620" <path id="rect4970" inkscape:connector-curvature="0" fill="#E7E7E7" stroke="#E7E7E7" stroke-width="6" d="M14.742,264.074V40.618
enable-background="new -142 87 326.32 620" xml:space="preserve"> c0-6.588,5.831-11.93,13.042-11.93H134.26c7.211,0,13.042,5.342,13.042,11.93v223.456c0,6.588-5.831,11.93-13.042,11.93H27.785
<title id="title4294">Battery</title> C20.573,276.003,14.742,270.662,14.742,264.074z"/>
<sodipodi:namedview inkscape:window-maximized="0" inkscape:window-y="65" inkscape:window-x="2776" inkscape:window-height="1259" inkscape:window-width="2003" fit-margin-bottom="0.02" fit-margin-right="0.02" inkscape:current-layer="layer1" inkscape:pageshadow="2" inkscape:document-units="in" inkscape:pageopacity="0.0" units="in" borderopacity="1.0" bordercolor="#666666" pagecolor="#ffffff" showgrid="false" inkscape:cy="393.84035" inkscape:zoom="1.2144444" inkscape:cx="202.22082" id="base" fit-margin-top="0.02" fit-margin-left="0.02" showborder="true"> <path id="rect4360" inkscape:connector-curvature="0" fill="none" d="M9,268.391V36.255c0-6.855,6.321-12.419,14.155-12.419h115.69
</sodipodi:namedview> 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="rect4970" inkscape:connector-curvature="0" fill="#E6E7E8" stroke="#E6E7E8" stroke-width="6" d="M-127.68,667.88v-502 <path id="path4679" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccc" fill="#5B4219" d="M30.9,265.899v-86.02H131.1
c0-14.8,13.12-26.8,29.28-26.8h239.2c16.16,0,29.28,12,29.28,26.8v502c0,14.8-13.12,26.8-29.28,26.8H-98.4 v86.02H30.9z"/>
C-114.64,694.68-127.68,682.68-127.68,667.88z"/>
<path id="rect4360" inkscape:connector-curvature="0" fill="none" d="M-140.56,677.64V156.12c0-15.36,14.24-27.92,31.76-27.92
h259.92c17.6,0,31.76,12.56,31.76,27.92v521.52c0,15.36-14.24,27.92-31.76,27.92h-259.84C-126.32,705.48-140.56,693-140.56,677.64z"
/>
<path id="path4675" sodipodi:nodetypes="ccccc" inkscape:connector-curvature="0" fill="#9F4B23" d="M-91.36,569.16v-90.08h225.12
v90.08H-91.36z"/>
<path id="path4679" sodipodi:nodetypes="ccccc" inkscape:connector-curvature="0" fill="#9F4B23" d="M-91.36,672.04v-90.08h225.12
v90.08H-91.36z"/>
<g id="g4222" transform="translate(-127.22081,216.20249)"> <g id="g4222" transform="translate(-127.22081,216.20249)">
<path id="path4224" inkscape:connector-curvature="0" fill="#E6E7E8" stroke="#E6E7E8" stroke-width="6" stroke-miterlimit="10" d=" <path id="path4224" inkscape:connector-curvature="0" fill="#E7E7E7" stroke="#E7E7E7" stroke-width="6" stroke-miterlimit="10" d="
M229.861-81.283c0,2.24-1.68,3.92-3.92,3.92H70.901c-2.24,0-3.92-1.68-3.92-3.92v-40.16c0-2.24,1.68-3.92,3.92-3.92h155.04 M244.512-189.383c0,0.979-0.757,1.736-1.736,1.736h-68.995c-0.979,0-1.736-0.757-1.736-1.736v-17.894
c2.24,0,3.92,1.68,3.92,3.92L229.861-81.283L229.861-81.283L229.861-81.283z"/> c0-0.979,0.757-1.736,1.736-1.736h68.995c0.979,0,1.736,0.757,1.736,1.736V-189.383L244.512-189.383L244.512-189.383z"/>
</g> </g>
</svg> </svg>
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> <!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" <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"
id="svg4264" sodipodi:docname="battery_100.svg" inkscape:version="0.91 r13725" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" viewBox="0 0 162 288" enable-background="new 0 0 162 288" xml:space="preserve">
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="-142 87 326.32 620" <path id="rect4970" inkscape:connector-curvature="0" fill="#E7E7E7" stroke="#E7E7E7" stroke-width="6" d="M14.742,264.074V40.618
enable-background="new -142 87 326.32 620" xml:space="preserve"> c0-6.588,5.831-11.93,13.042-11.93H134.26c7.211,0,13.042,5.342,13.042,11.93v223.456c0,6.588-5.831,11.93-13.042,11.93H27.785
<title id="title4294">Battery</title> C20.573,276.003,14.742,270.662,14.742,264.074z"/>
<sodipodi:namedview inkscape:window-maximized="0" inkscape:window-y="65" inkscape:window-x="2776" inkscape:window-height="1259" inkscape:window-width="2003" fit-margin-bottom="0.02" fit-margin-right="0.02" inkscape:current-layer="layer1" inkscape:pageshadow="2" inkscape:document-units="in" inkscape:pageopacity="0.0" units="in" borderopacity="1.0" bordercolor="#666666" pagecolor="#ffffff" showgrid="false" inkscape:cy="393.84035" inkscape:zoom="1.2144444" inkscape:cx="202.22082" id="base" fit-margin-top="0.02" fit-margin-left="0.02" showborder="true"> <path id="rect4360" inkscape:connector-curvature="0" fill="none" d="M9,268.391V36.255c0-6.855,6.321-12.419,14.155-12.419h115.69
</sodipodi:namedview> 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="rect4970" inkscape:connector-curvature="0" fill="#E6E7E8" stroke="#E6E7E8" stroke-width="6" d="M-127.68,667.88v-502 <path id="path4679" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccc" fill="#5C5B27" d="M30.9,265.899V133.958H131.1
c0-14.8,13.12-26.8,29.28-26.8h239.2c16.16,0,29.28,12,29.28,26.8v502c0,14.8-13.12,26.8-29.28,26.8H-98.4 v131.941H30.9z"/>
C-114.64,694.68-127.68,682.68-127.68,667.88z"/>
<path id="rect4360" inkscape:connector-curvature="0" fill="none" d="M-140.56,677.64V156.12c0-15.36,14.24-27.92,31.76-27.92
h259.92c17.6,0,31.76,12.56,31.76,27.92v521.52c0,15.36-14.24,27.92-31.76,27.92h-259.84C-126.32,705.48-140.56,693-140.56,677.64z"
/>
<path id="path4673" sodipodi:nodetypes="ccccc" inkscape:connector-curvature="0" fill="#09753B" d="M-91.36,466.28V376.2h225.12
v90.08H-91.36z"/>
<path id="path4675" sodipodi:nodetypes="ccccc" inkscape:connector-curvature="0" fill="#09753B" d="M-91.36,569.16v-90.08h225.12
v90.08H-91.36z"/>
<path id="path4679" sodipodi:nodetypes="ccccc" inkscape:connector-curvature="0" fill="#09753B" d="M-91.36,672.04v-90.08h225.12
v90.08H-91.36z"/>
<g id="g4222" transform="translate(-127.22081,216.20249)"> <g id="g4222" transform="translate(-127.22081,216.20249)">
<path id="path4224" inkscape:connector-curvature="0" fill="#E6E7E8" stroke="#E6E7E8" stroke-width="6" stroke-miterlimit="10" d=" <path id="path4224" inkscape:connector-curvature="0" fill="#E7E7E7" stroke="#E7E7E7" stroke-width="6" stroke-miterlimit="10" d="
M229.861-81.283c0,2.24-1.68,3.92-3.92,3.92H70.901c-2.24,0-3.92-1.68-3.92-3.92v-40.16c0-2.24,1.68-3.92,3.92-3.92h155.04 M244.512-189.383c0,0.979-0.757,1.736-1.736,1.736h-68.995c-0.979,0-1.736-0.757-1.736-1.736v-17.894
c2.24,0,3.92,1.68,3.92,3.92L229.861-81.283L229.861-81.283L229.861-81.283z"/> c0-0.979,0.757-1.736,1.736-1.736h68.995c0.979,0,1.736,0.757,1.736,1.736V-189.383L244.512-189.383L244.512-189.383z"/>
</g> </g>
</svg> </svg>
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> <!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" <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"
id="svg4264" sodipodi:docname="battery_100.svg" inkscape:version="0.91 r13725" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" viewBox="0 0 162 288" enable-background="new 0 0 162 288" xml:space="preserve">
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="-142 87 326.32 620" <path id="rect4970" inkscape:connector-curvature="0" fill="#E7E7E7" stroke="#E7E7E7" stroke-width="6" d="M14.742,264.074V40.618
enable-background="new -142 87 326.32 620" xml:space="preserve"> c0-6.588,5.831-11.93,13.042-11.93H134.26c7.211,0,13.042,5.342,13.042,11.93v223.456c0,6.588-5.831,11.93-13.042,11.93H27.785
<title id="title4294">Battery</title> C20.573,276.003,14.742,270.662,14.742,264.074z"/>
<sodipodi:namedview inkscape:window-maximized="0" inkscape:window-y="65" inkscape:window-x="2776" inkscape:window-height="1259" inkscape:window-width="2003" fit-margin-bottom="0.02" fit-margin-right="0.02" inkscape:current-layer="layer1" inkscape:pageshadow="2" inkscape:document-units="in" inkscape:pageopacity="0.0" units="in" borderopacity="1.0" bordercolor="#666666" pagecolor="#ffffff" showgrid="false" inkscape:cy="393.84035" inkscape:zoom="1.2144444" inkscape:cx="202.22082" id="base" fit-margin-top="0.02" fit-margin-left="0.02" showborder="true"> <path id="rect4360" inkscape:connector-curvature="0" fill="none" d="M9,268.391V36.255c0-6.855,6.321-12.419,14.155-12.419h115.69
</sodipodi:namedview> 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="rect4970" inkscape:connector-curvature="0" fill="#E6E7E8" stroke="#E6E7E8" stroke-width="6" d="M-127.68,667.88v-502 <path id="path4679" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccc" fill="#0F763C" d="M30.9,265.899V88.27H131.1
c0-14.8,13.12-26.8,29.28-26.8h239.2c16.16,0,29.28,12,29.28,26.8v502c0,14.8-13.12,26.8-29.28,26.8H-98.4 v177.628H30.9z"/>
C-114.64,694.68-127.68,682.68-127.68,667.88z"/>
<path id="rect4360" inkscape:connector-curvature="0" fill="none" d="M-140.56,677.64V156.12c0-15.36,14.24-27.92,31.76-27.92
h259.92c17.6,0,31.76,12.56,31.76,27.92v521.52c0,15.36-14.24,27.92-31.76,27.92h-259.84C-126.32,705.48-140.56,693-140.56,677.64z"
/>
<path id="path4671" sodipodi:nodetypes="ccccc" inkscape:connector-curvature="0" fill="#09753B" d="M-91.36,363.32v-90.08h225.12
v90.08H-91.36z"/>
<path id="path4673" sodipodi:nodetypes="ccccc" inkscape:connector-curvature="0" fill="#09753B" d="M-91.36,466.28V376.2h225.12
v90.08H-91.36z"/>
<path id="path4675" sodipodi:nodetypes="ccccc" inkscape:connector-curvature="0" fill="#09753B" d="M-91.36,569.16v-90.08h225.12
v90.08H-91.36z"/>
<path id="path4679" sodipodi:nodetypes="ccccc" inkscape:connector-curvature="0" fill="#09753B" d="M-91.36,672.04v-90.08h225.12
v90.08H-91.36z"/>
<g id="g4222" transform="translate(-127.22081,216.20249)"> <g id="g4222" transform="translate(-127.22081,216.20249)">
<path id="path4224" inkscape:connector-curvature="0" fill="#E6E7E8" stroke="#E6E7E8" stroke-width="6" stroke-miterlimit="10" d=" <path id="path4224" inkscape:connector-curvature="0" fill="#E7E7E7" stroke="#E7E7E7" stroke-width="6" stroke-miterlimit="10" d="
M229.861-81.283c0,2.24-1.68,3.92-3.92,3.92H70.901c-2.24,0-3.92-1.68-3.92-3.92v-40.16c0-2.24,1.68-3.92,3.92-3.92h155.04 M244.512-189.383c0,0.979-0.757,1.736-1.736,1.736h-68.995c-0.979,0-1.736-0.757-1.736-1.736v-17.894
c2.24,0,3.92,1.68,3.92,3.92L229.861-81.283L229.861-81.283L229.861-81.283z"/> c0-0.979,0.757-1.736,1.736-1.736h68.995c0.979,0,1.736,0.757,1.736,1.736V-189.383L244.512-189.383L244.512-189.383z"/>
</g> </g>
</svg> </svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.1.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 288" enable-background="new 0 0 288 288" xml:space="preserve">
<path fill="#FFFFFF" d="M27,101.848c0,31.254,12.181,60.645,34.312,82.758l-19.09,19.09C14.994,176.484,0,140.309,0,101.848
S14.977,27.211,42.187,0.036l19.09,19.09C39.164,41.203,27,70.594,27,101.848z M102.621,60.469l-19.09-19.09
C67.394,57.551,58.5,79.031,58.5,101.847c0,22.852,8.895,44.332,25.067,60.469l19.09-19.09
C91.582,132.187,85.5,117.492,85.5,101.847C85.5,86.239,91.582,71.543,102.621,60.469z M245.777,0l-19.09,19.09
C248.818,41.204,261,70.594,261,101.848s-12.164,60.645-34.26,82.758l19.09,19.09C273.023,176.485,288,140.309,288,101.848
C287.999,63.352,273.005,27.176,245.777,0z M144,74.848c-14.906,0-27,12.094-27,27c0,9.984,5.467,18.598,13.5,23.256V288h27V125.121
c8.033-4.676,13.5-13.289,13.5-23.273C171,86.942,158.923,74.848,144,74.848z M204.433,41.379l-19.09,19.09
C196.4,71.543,202.5,86.239,202.5,101.848c0,15.645-6.082,30.34-17.121,41.379l19.09,19.09
C220.605,146.18,229.5,124.7,229.5,101.849S220.605,57.551,204.433,41.379z"/>
</svg>
...@@ -100,7 +100,7 @@ void QGCAudioWorker::say(QString inText, int severity) ...@@ -100,7 +100,7 @@ void QGCAudioWorker::say(QString inText, int severity)
if (!muted) if (!muted)
{ {
QString text = _fixMillisecondString(inText); QString text = _fixTextMessageForAudio(inText);
// Prepend high priority text with alert beep // Prepend high priority text with alert beep
if (severity < GAudioOutput::AUDIO_SEVERITY_CRITICAL) { if (severity < GAudioOutput::AUDIO_SEVERITY_CRITICAL) {
beep(); beep();
...@@ -187,10 +187,18 @@ bool QGCAudioWorker::_getMillisecondString(const QString& string, QString& match ...@@ -187,10 +187,18 @@ bool QGCAudioWorker::_getMillisecondString(const QString& string, QString& match
return false; return false;
} }
QString QGCAudioWorker::_fixMillisecondString(const QString& string) { QString QGCAudioWorker::_fixTextMessageForAudio(const QString& string) {
QString match; QString match;
QString newNumber; QString newNumber;
QString result = string; QString result = string;
//-- Look for modes
if(result.contains("POSCTL", Qt::CaseInsensitive)) {
result.replace("POSCTL", "Position Control", Qt::CaseInsensitive);
} else if(result.contains("ALTCTL", Qt::CaseInsensitive)) {
result.replace("ALTCTL", "Altitude Control", Qt::CaseInsensitive);
} else if(result.contains("RTL", Qt::CaseInsensitive)) {
result.replace("RTL", "Return To Land", Qt::CaseInsensitive);
}
int number; int number;
if(_getMillisecondString(string, match, number) && number > 1000) { if(_getMillisecondString(string, match, number) && number > 1000) {
if(number < 60000) { if(number < 60000) {
......
...@@ -51,7 +51,7 @@ protected: ...@@ -51,7 +51,7 @@ protected:
QTimer *emergencyTimer; QTimer *emergencyTimer;
bool muted; bool muted;
private: private:
QString _fixMillisecondString(const QString& string); QString _fixTextMessageForAudio(const QString& string);
bool _getMillisecondString(const QString& string, QString& match, int& number); bool _getMillisecondString(const QString& string, QString& match, int& number);
}; };
......
...@@ -254,7 +254,7 @@ signals: ...@@ -254,7 +254,7 @@ signals:
void paramRewriteTimeoutChanged(int ms); void paramRewriteTimeoutChanged(int ms);
/** @brief Emitted if action guard status changed */ /** @brief Emitted if action guard status changed */
void actionGuardChanged(bool enabled); void actionGuardChanged(bool enabled);
/** @brief Emitted if actiion request timeout changed */ /** @brief Emitted if action request timeout changed */
void actionRetransmissionTimeoutChanged(int ms); void actionRetransmissionTimeoutChanged(int ms);
/** @brief Update the packet loss from one system */ /** @brief Update the packet loss from one system */
void receiveLossChanged(int uasId, float loss); void receiveLossChanged(int uasId, float loss);
......
...@@ -81,6 +81,7 @@ _ui(new Ui::SettingsDialog) ...@@ -81,6 +81,7 @@ _ui(new Ui::SettingsDialog)
_ui->showGPS->setChecked(settings.value( TOOL_BAR_SHOW_GPS, true).toBool()); _ui->showGPS->setChecked(settings.value( TOOL_BAR_SHOW_GPS, true).toBool());
_ui->showMav->setChecked(settings.value( TOOL_BAR_SHOW_MAV, true).toBool()); _ui->showMav->setChecked(settings.value( TOOL_BAR_SHOW_MAV, true).toBool());
_ui->showMessages->setChecked(settings.value(TOOL_BAR_SHOW_MESSAGES, true).toBool()); _ui->showMessages->setChecked(settings.value(TOOL_BAR_SHOW_MESSAGES, true).toBool());
_ui->showRSSI->setChecked(settings.value( TOOL_BAR_SHOW_RSSI, true).toBool());
settings.endGroup(); settings.endGroup();
// Audio preferences // Audio preferences
_ui->audioMuteCheckBox->setChecked(GAudioOutput::instance()->isMuted()); _ui->audioMuteCheckBox->setChecked(GAudioOutput::instance()->isMuted());
...@@ -206,3 +207,8 @@ void SettingsDialog::on_showMav_clicked(bool checked) ...@@ -206,3 +207,8 @@ void SettingsDialog::on_showMav_clicked(bool checked)
{ {
_mainWindow->getMainToolBar()->viewStateChanged(TOOL_BAR_SHOW_MAV, checked); _mainWindow->getMainToolBar()->viewStateChanged(TOOL_BAR_SHOW_MAV, checked);
} }
void SettingsDialog::on_showRSSI_clicked(bool checked)
{
_mainWindow->getMainToolBar()->viewStateChanged(TOOL_BAR_SHOW_RSSI, checked);
}
...@@ -65,6 +65,8 @@ private slots: ...@@ -65,6 +65,8 @@ private slots:
void on_showMessages_clicked(bool checked); void on_showMessages_clicked(bool checked);
void on_showMav_clicked(bool checked); void on_showMav_clicked(bool checked);
void on_showRSSI_clicked(bool checked);
private: private:
MainWindow* _mainWindow; MainWindow* _mainWindow;
Ui::SettingsDialog* _ui; Ui::SettingsDialog* _ui;
......
This diff is collapsed.
...@@ -303,10 +303,14 @@ void QGCFlightDisplay::_checkUpdate() ...@@ -303,10 +303,14 @@ void QGCFlightDisplay::_checkUpdate()
emit longitudeChanged(); emit longitudeChanged();
} }
if(_mav) { if(_mav) {
_latitude = _mav->getLatitude(); if(_latitude != _mav->getLatitude()) {
_longitude = _mav->getLongitude(); _latitude = _mav->getLatitude();
if(_latitude) emit latitudeChanged(); emit latitudeChanged();
if(_longitude) emit longitudeChanged(); }
if(_longitude != _mav->getLongitude()) {
_longitude = _mav->getLongitude();
emit longitudeChanged();
}
} }
} }
...@@ -58,8 +58,11 @@ MainToolBar::MainToolBar(QWidget* parent) ...@@ -58,8 +58,11 @@ MainToolBar::MainToolBar(QWidget* parent)
, _showGPS(true) , _showGPS(true)
, _showMav(true) , _showMav(true)
, _showMessages(true) , _showMessages(true)
, _showRSSI(true)
, _showBattery(true) , _showBattery(true)
, _progressBarValue(0.0f) , _progressBarValue(0.0f)
, _remoteRSSI(0.0f)
, _telemetryRSSI(0)
, _rollDownMessages(0) , _rollDownMessages(0)
{ {
setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding); setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
...@@ -95,10 +98,14 @@ MainToolBar::MainToolBar(QWidget* parent) ...@@ -95,10 +98,14 @@ MainToolBar::MainToolBar(QWidget* parent)
emit heartbeatTimeoutChanged(_currentHeartbeatTimeout); emit heartbeatTimeoutChanged(_currentHeartbeatTimeout);
emit connectionCountChanged(_connectionCount); emit connectionCountChanged(_connectionCount);
// Link signals // Link signals
connect(UASManager::instance(), &UASManager::activeUASSet, this, &MainToolBar::_setActiveUAS); connect(UASManager::instance(), &UASManager::activeUASSet, this, &MainToolBar::_setActiveUAS);
connect(LinkManager::instance(), &LinkManager::linkConfigurationChanged, this, &MainToolBar::_updateConfigurations); connect(LinkManager::instance(), &LinkManager::linkConfigurationChanged, this, &MainToolBar::_updateConfigurations);
connect(LinkManager::instance(), &LinkManager::linkConnected, this, &MainToolBar::_linkConnected); connect(LinkManager::instance(), &LinkManager::linkConnected, this, &MainToolBar::_linkConnected);
connect(LinkManager::instance(), &LinkManager::linkDisconnected, this, &MainToolBar::_linkDisconnected); connect(LinkManager::instance(), &LinkManager::linkDisconnected, this, &MainToolBar::_linkDisconnected);
// RSSI (didn't like standard connection)
connect(MAVLinkProtocol::instance(),
SIGNAL(radioStatusChanged(LinkInterface*, unsigned, unsigned, unsigned, unsigned, unsigned, unsigned, unsigned)), this,
SLOT(_telemetryChanged(LinkInterface*, unsigned, unsigned, unsigned, unsigned, unsigned, unsigned, unsigned)));
} }
MainToolBar::~MainToolBar() MainToolBar::~MainToolBar()
...@@ -124,6 +131,9 @@ void MainToolBar::_setToolBarState(const QString& key, bool value) ...@@ -124,6 +131,9 @@ void MainToolBar::_setToolBarState(const QString& key, bool value)
} else if(key == TOOL_BAR_SHOW_MESSAGES) { } else if(key == TOOL_BAR_SHOW_MESSAGES) {
_showMessages = value; _showMessages = value;
emit showMessagesChanged(value); emit showMessagesChanged(value);
} else if(key == TOOL_BAR_SHOW_RSSI) {
_showRSSI = value;
emit showRSSIChanged(value);
} }
} }
...@@ -296,6 +306,7 @@ void MainToolBar::_setActiveUAS(UASInterface* active) ...@@ -296,6 +306,7 @@ void MainToolBar::_setActiveUAS(UASInterface* active)
disconnect(_mav, &UASInterface::nameChanged, this, &MainToolBar::_updateName); disconnect(_mav, &UASInterface::nameChanged, this, &MainToolBar::_updateName);
disconnect(_mav, &UASInterface::systemTypeSet, this, &MainToolBar::_setSystemType); disconnect(_mav, &UASInterface::systemTypeSet, this, &MainToolBar::_setSystemType);
disconnect(_mav, &UASInterface::localizationChanged, this, &MainToolBar::_setSatLoc); disconnect(_mav, &UASInterface::localizationChanged, this, &MainToolBar::_setSatLoc);
disconnect(_mav, &UASInterface::remoteControlRSSIChanged, this, &MainToolBar::_remoteControlRSSIChanged);
disconnect(_mav, SIGNAL(statusChanged(UASInterface*,QString,QString)), this, SLOT(_updateState(UASInterface*,QString,QString))); disconnect(_mav, SIGNAL(statusChanged(UASInterface*,QString,QString)), this, SLOT(_updateState(UASInterface*,QString,QString)));
disconnect(_mav, SIGNAL(armingChanged(bool)), this, SLOT(_updateArmingState(bool))); disconnect(_mav, SIGNAL(armingChanged(bool)), this, SLOT(_updateArmingState(bool)));
if (_mav->getWaypointManager()) if (_mav->getWaypointManager())
...@@ -324,6 +335,7 @@ void MainToolBar::_setActiveUAS(UASInterface* active) ...@@ -324,6 +335,7 @@ void MainToolBar::_setActiveUAS(UASInterface* active)
connect(_mav, &UASInterface::nameChanged, this, &MainToolBar::_updateName); connect(_mav, &UASInterface::nameChanged, this, &MainToolBar::_updateName);
connect(_mav, &UASInterface::systemTypeSet, this, &MainToolBar::_setSystemType); connect(_mav, &UASInterface::systemTypeSet, this, &MainToolBar::_setSystemType);
connect(_mav, &UASInterface::localizationChanged, this, &MainToolBar::_setSatLoc); connect(_mav, &UASInterface::localizationChanged, this, &MainToolBar::_setSatLoc);
connect(_mav, &UASInterface::remoteControlRSSIChanged, this, &MainToolBar::_remoteControlRSSIChanged);
connect(_mav, SIGNAL(statusChanged(UASInterface*,QString,QString)), this, SLOT(_updateState(UASInterface*, QString,QString))); connect(_mav, SIGNAL(statusChanged(UASInterface*,QString,QString)), this, SLOT(_updateState(UASInterface*, QString,QString)));
connect(_mav, SIGNAL(armingChanged(bool)), this, SLOT(_updateArmingState(bool))); connect(_mav, SIGNAL(armingChanged(bool)), this, SLOT(_updateArmingState(bool)));
if (_mav->getWaypointManager()) if (_mav->getWaypointManager())
...@@ -347,6 +359,26 @@ void MainToolBar::_setActiveUAS(UASInterface* active) ...@@ -347,6 +359,26 @@ void MainToolBar::_setActiveUAS(UASInterface* active)
emit mavPresentChanged(_mav != NULL); emit mavPresentChanged(_mav != NULL);
} }
void MainToolBar::_telemetryChanged(LinkInterface*, unsigned, unsigned, unsigned rssi, unsigned foo, unsigned, unsigned, unsigned)
{
// If we don't have any connections or more than one, ignore it
if(_connectionCount == 1) {
if((unsigned)_telemetryRSSI != rssi) {
_telemetryRSSI = rssi;
emit telemetryRSSIChanged(_telemetryRSSI);
}
}
qDebug() << rssi << foo;
}
void MainToolBar::_remoteControlRSSIChanged(float rssi)
{
if(_remoteRSSI != rssi) {
_remoteRSSI = rssi;
emit remoteRSSIChanged(_remoteRSSI);
}
}
void MainToolBar::_updateArmingState(bool armed) void MainToolBar::_updateArmingState(bool armed)
{ {
if(_systemArmed != armed) { if(_systemArmed != armed) {
...@@ -426,6 +458,15 @@ void MainToolBar::_updateConnection(LinkInterface *disconnectedLink) ...@@ -426,6 +458,15 @@ void MainToolBar::_updateConnection(LinkInterface *disconnectedLink)
_connectedList = connList; _connectedList = connList;
emit connectedListChanged(_connectedList); emit connectedListChanged(_connectedList);
} }
// Update telemetry RSSI display
if(_connectionCount == 0 && _telemetryRSSI > 0) {
_telemetryRSSI = 0;
emit telemetryRSSIChanged(_telemetryRSSI);
}
if(_connectionCount == 0 && _remoteRSSI > 0) {
_remoteRSSI = 0;
emit remoteRSSIChanged(_remoteRSSI);
}
} }
void MainToolBar::_updateState(UASInterface*, QString name, QString) void MainToolBar::_updateState(UASInterface*, QString name, QString)
......
...@@ -37,6 +37,7 @@ This file is part of the QGROUNDCONTROL project ...@@ -37,6 +37,7 @@ This file is part of the QGROUNDCONTROL project
#define TOOL_BAR_SHOW_GPS "ShowGPS" #define TOOL_BAR_SHOW_GPS "ShowGPS"
#define TOOL_BAR_SHOW_MAV "ShowMav" #define TOOL_BAR_SHOW_MAV "ShowMav"
#define TOOL_BAR_SHOW_MESSAGES "ShowMessages" #define TOOL_BAR_SHOW_MESSAGES "ShowMessages"
#define TOOL_BAR_SHOW_RSSI "ShowRSSI"
class UASInterface; class UASInterface;
class UASMessage; class UASMessage;
...@@ -96,12 +97,17 @@ public: ...@@ -96,12 +97,17 @@ public:
Q_PROPERTY(bool showMav MEMBER _showMav NOTIFY showMavChanged) Q_PROPERTY(bool showMav MEMBER _showMav NOTIFY showMavChanged)
Q_PROPERTY(bool showMessages MEMBER _showMessages NOTIFY showMessagesChanged) Q_PROPERTY(bool showMessages MEMBER _showMessages NOTIFY showMessagesChanged)
Q_PROPERTY(bool showBattery MEMBER _showBattery NOTIFY showBatteryChanged) Q_PROPERTY(bool showBattery MEMBER _showBattery NOTIFY showBatteryChanged)
Q_PROPERTY(bool showRSSI MEMBER _showRSSI NOTIFY showRSSIChanged)
Q_PROPERTY(float progressBarValue MEMBER _progressBarValue NOTIFY progressBarValueChanged) Q_PROPERTY(float progressBarValue MEMBER _progressBarValue NOTIFY progressBarValueChanged)
Q_PROPERTY(float remoteRSSI READ remoteRSSI NOTIFY remoteRSSIChanged)
Q_PROPERTY(int telemetryRSSI READ telemetryRSSI NOTIFY telemetryRSSIChanged)
bool mavPresent () { return _mav != NULL; } bool mavPresent () { return _mav != NULL; }
float remoteRSSI () { return _remoteRSSI; }
int telemetryRSSI () { return _telemetryRSSI; }
void setCurrentView (int currentView); void setCurrentView (int currentView);
void viewStateChanged (const QString& key, bool value); void viewStateChanged (const QString& key, bool value);
signals: signals:
void connectionCountChanged (int count); void connectionCountChanged (int count);
...@@ -126,7 +132,10 @@ signals: ...@@ -126,7 +132,10 @@ signals:
void showMavChanged (bool value); void showMavChanged (bool value);
void showMessagesChanged (bool value); void showMessagesChanged (bool value);
void showBatteryChanged (bool value); void showBatteryChanged (bool value);
void showRSSIChanged (bool value);
void progressBarValueChanged (float value); void progressBarValueChanged (float value);
void remoteRSSIChanged (float value);
void telemetryRSSIChanged (int value);
private slots: private slots:
void _setActiveUAS (UASInterface* active); void _setActiveUAS (UASInterface* active);
...@@ -147,6 +156,8 @@ private slots: ...@@ -147,6 +156,8 @@ private slots:
void _leaveMessageView (); void _leaveMessageView ();
void _setSatLoc (UASInterface* uas, int fix); void _setSatLoc (UASInterface* uas, int fix);
void _setProgressBarValue (float value); void _setProgressBarValue (float value);
void _remoteControlRSSIChanged (float rssi);
void _telemetryChanged (LinkInterface* link, unsigned rxerrors, unsigned fixed, unsigned rssi, unsigned remrssi, unsigned txbuf, unsigned noise, unsigned remnoise);
private: private:
void _updateConnection (LinkInterface *disconnectedLink = NULL); void _updateConnection (LinkInterface *disconnectedLink = NULL);
...@@ -180,8 +191,11 @@ private: ...@@ -180,8 +191,11 @@ private:
bool _showGPS; bool _showGPS;
bool _showMav; bool _showMav;
bool _showMessages; bool _showMessages;
bool _showRSSI;
bool _showBattery; bool _showBattery;
float _progressBarValue; float _progressBarValue;
float _remoteRSSI;
int _telemetryRSSI;
UASMessageViewRollDown* _rollDownMessages; UASMessageViewRollDown* _rollDownMessages;
}; };
......
...@@ -126,6 +126,11 @@ Rectangle { ...@@ -126,6 +126,11 @@ Rectangle {
return colorGreen; return colorGreen;
} }
function getRSSIColor() {
// TODO: Figure out RSSI threshold values
return colorBlue;
}
function showMavStatus() { function showMavStatus() {
return (mainToolBar.mavPresent && mainToolBar.heartbeatTimeout === 0 && mainToolBar.connectionCount > 0); return (mainToolBar.mavPresent && mainToolBar.heartbeatTimeout === 0 && mainToolBar.connectionCount > 0);
} }
...@@ -238,7 +243,7 @@ Rectangle { ...@@ -238,7 +243,7 @@ Rectangle {
fillMode: Image.PreserveAspectFit fillMode: Image.PreserveAspectFit
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
anchors.left: parent.left anchors.left: parent.left
anchors.leftMargin: getProportionalDimmension(10) anchors.leftMargin: getProportionalDimmension(8)
} }
Rectangle { Rectangle {
...@@ -314,7 +319,7 @@ Rectangle { ...@@ -314,7 +319,7 @@ Rectangle {
Rectangle { Rectangle {
id: satelitte id: satelitte
width: getProportionalDimmension(60) width: getProportionalDimmension(50)
height: cellHeight height: cellHeight
visible: showMavStatus() && (mainToolBar.showGPS) visible: showMavStatus() && (mainToolBar.showGPS)
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
...@@ -329,7 +334,7 @@ Rectangle { ...@@ -329,7 +334,7 @@ Rectangle {
fillMode: Image.PreserveAspectFit fillMode: Image.PreserveAspectFit
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
anchors.left: parent.left anchors.left: parent.left
anchors.leftMargin: getProportionalDimmension(10) anchors.leftMargin: getProportionalDimmension(6)
mipmap: true mipmap: true
smooth: true smooth: true
} }
...@@ -341,15 +346,124 @@ Rectangle { ...@@ -341,15 +346,124 @@ Rectangle {
font.weight: Font.DemiBold font.weight: Font.DemiBold
anchors.verticalCenter: parent.verticalCenter