Merge branch 'pt/CC3D_Release' of ssh://gitolite@git.openpilot.org/OpenPilot.git into CC3D_Release
@ -147,6 +147,7 @@ C: Sergey Solodennikov (alconaft43)
|
||||
D: August 2011
|
||||
V: http://www.youtube.com/watch?v=8SrfIS7OkB4
|
||||
|
||||
|
||||
M: First CopterControl Return to Base Fixed Wing
|
||||
C: Eric Price (Corvus Corax)
|
||||
D: August 2011
|
||||
@ -157,13 +158,23 @@ C: Anders Johansson (dezent)
|
||||
D: November 2011
|
||||
V: http://www.youtube.com/watch?v=Xfas2TUhOPw
|
||||
|
||||
M: First OpenPilot over 1km FixedWing navigation flight
|
||||
M: First CopterControl over 1km FixedWing navigation flight
|
||||
C: Eric Price (Corvus Corax)
|
||||
D: December 2011
|
||||
V: http://www.youtube.com/watch?v=nWNWuUiUTNg
|
||||
|
||||
M: First successful flight using the GCS only and no RC TX
|
||||
C:
|
||||
D:
|
||||
V:
|
||||
|
||||
M: First successful flight using just a mobile phone
|
||||
C: Jose (please complete details), demoed in Portugal
|
||||
D:
|
||||
V:
|
||||
|
||||
|
||||
M: First Altitude Hold using Sonar
|
||||
M: First Revo Altitude Hold using Sonar
|
||||
C:
|
||||
D:
|
||||
V:
|
||||
@ -178,17 +189,74 @@ C:
|
||||
D:
|
||||
V:
|
||||
|
||||
M: First Revo Navigated flight on a FixedWing
|
||||
C: It got done somewhere along the line, likely Corvus.
|
||||
|
||||
An incomplete list of some future Milestones is below:
|
||||
M: First Revo Navigated flight on a MultiRotor
|
||||
C: It got done somewhere along the line, James or Sami
|
||||
|
||||
M: First Revo Navigated flight on a Heli
|
||||
C:
|
||||
D:
|
||||
V:
|
||||
|
||||
M: First Revo 1km Navigated flight on a MultiRotor
|
||||
C:
|
||||
D:
|
||||
V:
|
||||
|
||||
M: First Revo 5km Navigated flight on a MultiRotor
|
||||
C:
|
||||
D:
|
||||
V:
|
||||
|
||||
M: First Revo 5km Navigated flight on a FixedWing
|
||||
C:
|
||||
D:
|
||||
V:
|
||||
|
||||
M: First Revo 1km Navigated flight on a Heli
|
||||
C:
|
||||
D:
|
||||
V:
|
||||
|
||||
M: First Revo 5km Navigated flight on a Heli
|
||||
C:
|
||||
D:
|
||||
V:
|
||||
|
||||
M: First use of the Magic Waypoint feature
|
||||
C:
|
||||
D:
|
||||
V:
|
||||
|
||||
M: First Auto landing on a fixed Wing using CC
|
||||
C:
|
||||
D:
|
||||
V:
|
||||
|
||||
M: First Auto landing on a fixed Wing using Revo
|
||||
C:
|
||||
D:
|
||||
V:
|
||||
|
||||
M: First Auto take-off on a MultiRotor using Revo
|
||||
C:
|
||||
D:
|
||||
V:
|
||||
|
||||
M: First Auto landing on a MultiRotor using Revo
|
||||
C:
|
||||
D:
|
||||
V:
|
||||
|
||||
M: First Auto take-off on a Heli using Revo
|
||||
C:
|
||||
D:
|
||||
V:
|
||||
|
||||
M: First Auto landing on a Heli using Revo
|
||||
C:
|
||||
D:
|
||||
V:
|
||||
|
||||
* First Helicopter flight with OpenPilot Pro
|
||||
* First fixed wing navigation flight on CopterControl
|
||||
* First successful flight using the GCS only and no RC TX
|
||||
* First use of Magic Waypoint
|
||||
* First Flybarless Helicopter flight with OpenPilot Pro
|
||||
* First fixed wing navigation flight
|
||||
* First Multirotor navigation flight
|
||||
* First Helicopter navigation flight
|
||||
* First over 5km navigation flight
|
||||
* First "Follow Me" navigation flight
|
||||
* First Channel Crossing with OpenPilot
|
||||
|
@ -94,7 +94,7 @@
|
||||
|
||||
/* Task stack sizes */
|
||||
#define PIOS_ACTUATOR_STACK_SIZE 1020
|
||||
#define PIOS_MANUAL_STACK_SIZE 724
|
||||
#define PIOS_MANUAL_STACK_SIZE 800
|
||||
#define PIOS_SYSTEM_STACK_SIZE 660
|
||||
#define PIOS_STABILIZATION_STACK_SIZE 524
|
||||
#define PIOS_TELEM_STACK_SIZE 500
|
||||
|
@ -242,7 +242,7 @@ int WMM_GetMagVector(float Lat, float Lon, float AltEllipsoid, uint16_t Month, u
|
||||
{
|
||||
CoordGeodetic->lambda = Lon;
|
||||
CoordGeodetic->phi = Lat;
|
||||
CoordGeodetic->HeightAboveEllipsoid = AltEllipsoid;
|
||||
CoordGeodetic->HeightAboveEllipsoid = AltEllipsoid/1000.0; // convert to km
|
||||
|
||||
// Convert from geodeitic to Spherical Equations: 17-18, WMM Technical report
|
||||
if (WMM_GeodeticToSpherical(CoordGeodetic, CoordSpherical) < 0)
|
||||
|
@ -66,7 +66,7 @@ static float GravityAccel(float latitude, float longitude, float altitude);
|
||||
|
||||
#ifdef PIOS_GPS_SETS_HOMELOCATION
|
||||
// Unfortunately need a good size stack for the WMM calculation
|
||||
#define STACK_SIZE_BYTES 750
|
||||
#define STACK_SIZE_BYTES 784
|
||||
#else
|
||||
#if defined(PIOS_GPS_MINIMAL)
|
||||
#define STACK_SIZE_BYTES 500
|
||||
|
@ -14,8 +14,8 @@
|
||||
height="80.827866"
|
||||
id="svg10068"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.2 r9819"
|
||||
sodipodi:docname="arm-status-new.svg"
|
||||
inkscape:version="0.48.3.1 r9886"
|
||||
sodipodi:docname="arm-status.svg"
|
||||
inkscape:export-filename="H:\Documents\Hobbies\W433\My Gauges\vbat-001.png"
|
||||
inkscape:export-xdpi="103.61"
|
||||
inkscape:export-ydpi="103.61"
|
||||
@ -1300,6 +1300,156 @@
|
||||
id="linearGradient3966"
|
||||
xlink:href="#linearGradient3790-4-8"
|
||||
inkscape:collect="always" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3790-4-8"
|
||||
id="linearGradient3252"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.79280486,0,0,0.72374721,74.461167,-1.3787785)"
|
||||
x1="298.43829"
|
||||
y1="368.20679"
|
||||
x2="300.36011"
|
||||
y2="506.89417" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3259-9-2"
|
||||
id="linearGradient3255"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.79280486,0,0,0.72374721,74.461167,-1.3787785)"
|
||||
x1="311.52808"
|
||||
y1="572.13867"
|
||||
x2="310.94031"
|
||||
y2="526.29114" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3285-6-3"
|
||||
id="linearGradient3259"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.79280486,0,0,0.72374721,74.461167,-1.3787785)"
|
||||
x1="295.07001"
|
||||
y1="573.90204"
|
||||
x2="295.65781"
|
||||
y2="418.138" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3285-6-3"
|
||||
id="linearGradient3261"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.79280486,0,0,0.72374721,74.461167,-1.3787785)"
|
||||
x1="295.07001"
|
||||
y1="573.90204"
|
||||
x2="295.65781"
|
||||
y2="418.138" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3259-9-2"
|
||||
id="linearGradient3263"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.79280486,0,0,0.72374721,74.461167,-1.3787785)"
|
||||
x1="311.52808"
|
||||
y1="572.13867"
|
||||
x2="310.94031"
|
||||
y2="526.29114" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3790-4-8"
|
||||
id="linearGradient3265"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.79280486,0,0,0.72374721,74.461167,-1.3787785)"
|
||||
x1="298.43829"
|
||||
y1="368.20679"
|
||||
x2="300.36011"
|
||||
y2="506.89417" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3790-4-8"
|
||||
id="linearGradient3273"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.79280486,0,0,0.72374721,-180.09727,12.763357)"
|
||||
x1="298.43829"
|
||||
y1="368.20679"
|
||||
x2="300.36011"
|
||||
y2="506.89417" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3259-9-2"
|
||||
id="linearGradient3276"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.79280486,0,0,0.72374721,74.461167,-1.3787785)"
|
||||
x1="311.52808"
|
||||
y1="572.13867"
|
||||
x2="310.94031"
|
||||
y2="526.29114" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3285-6-3"
|
||||
id="linearGradient3280"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.79280486,0,0,0.72374721,74.461167,-1.3787785)"
|
||||
x1="295.07001"
|
||||
y1="573.90204"
|
||||
x2="295.65781"
|
||||
y2="418.138" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3259-9-2"
|
||||
id="linearGradient3282"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.79280486,0,0,0.72374721,-176.05666,-22.591982)"
|
||||
x1="311.52808"
|
||||
y1="572.13867"
|
||||
x2="310.94031"
|
||||
y2="526.29114" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3755-1"
|
||||
id="linearGradient3209"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.31025181,0,0,0.29604738,51.62655,372.04954)"
|
||||
x1="393.51294"
|
||||
y1="832.61218"
|
||||
x2="394.48703"
|
||||
y2="529.75507" />
|
||||
<linearGradient
|
||||
id="linearGradient3755-1">
|
||||
<stop
|
||||
style="stop-color:#1e1e1e;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3757-3" />
|
||||
<stop
|
||||
style="stop-color:#4d4d4d;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop3759-6" />
|
||||
</linearGradient>
|
||||
<filter
|
||||
color-interpolation-filters="sRGB"
|
||||
inkscape:collect="always"
|
||||
id="filter4045">
|
||||
<feGaussianBlur
|
||||
inkscape:collect="always"
|
||||
stdDeviation="0.45575892"
|
||||
id="feGaussianBlur4047" />
|
||||
</filter>
|
||||
<linearGradient
|
||||
y2="529.75507"
|
||||
x2="394.48703"
|
||||
y1="832.61218"
|
||||
x1="393.51294"
|
||||
gradientTransform="matrix(0.31025181,0,0,0.29604738,51.62655,372.04954)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient4085"
|
||||
xlink:href="#linearGradient3755-1"
|
||||
inkscape:collect="always" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3755-1"
|
||||
id="linearGradient3312"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.31025181,0,0,0.29604738,51.62655,372.04954)"
|
||||
x1="393.51294"
|
||||
y1="832.61218"
|
||||
x2="394.48703"
|
||||
y2="529.75507" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
@ -1312,12 +1462,12 @@
|
||||
inkscape:cx="75.4641"
|
||||
inkscape:cy="94.18186"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="background"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1600"
|
||||
inkscape:window-height="823"
|
||||
inkscape:window-x="-9"
|
||||
inkscape:window-y="-9"
|
||||
inkscape:window-width="1440"
|
||||
inkscape:window-height="838"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:object-paths="true"
|
||||
showguides="true"
|
||||
@ -1348,49 +1498,31 @@
|
||||
id="g2932"
|
||||
inkscape:groupmode="layer"
|
||||
transform="translate(-205.8687,-331.45166)">
|
||||
<rect
|
||||
style="fill:none;stroke:none"
|
||||
id="bargraph"
|
||||
width="205.45833"
|
||||
height="64.785042"
|
||||
x="217.77841"
|
||||
y="339.47308"
|
||||
ry="4.7808909"
|
||||
inkscape:export-filename="H:\Documents\Hobbies\W433\g9905.png"
|
||||
inkscape:export-xdpi="88.809998"
|
||||
inkscape:export-ydpi="88.809998"
|
||||
inkscape:label="#rect4388" />
|
||||
<g
|
||||
id="background"
|
||||
inkscape:label="#g8543">
|
||||
<g
|
||||
transform="matrix(0.79280486,0,0,0.72374721,322.67019,100.52996)"
|
||||
id="g4023"
|
||||
style="display:inline">
|
||||
<rect
|
||||
style="fill:url(#linearGradient4033);fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline"
|
||||
id="rect4025"
|
||||
width="289.19211"
|
||||
height="111.67988"
|
||||
x="-147.32065"
|
||||
y="319.06393"
|
||||
ry="17.712246" />
|
||||
<path
|
||||
style="fill:#1a1a1a;fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline"
|
||||
d="m -130.38957,321.09916 c -10.40328,0.13552 -16.79656,11.11379 -14.9375,20.75 0.24853,24.79185 -0.48485,49.65785 0.34375,74.40625 1.69659,9.71009 12.36903,14.16124 21.4375,12.5 83.37176,-0.12573 166.769249,0.25097 250.125,-0.1875 9.57786,-1.24954 15.0045,-11.39003 13.28125,-20.53125 -0.32065,-25.06939 0.63636,-50.246 -0.46875,-75.25 -1.99885,-8.70345 -11.6919,-13.22175 -20.28125,-11.71875 -83.166451,0.0209 -166.33459,-0.0417 -249.5,0.0312 z"
|
||||
id="path4027"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:url(#linearGradient4035);fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline"
|
||||
d="m -130.38957,321.09916 c -10.40328,0.13552 -16.79656,11.11379 -14.9375,20.75 0.24853,24.79185 -0.48485,49.65785 0.34375,74.40625 1.69659,9.71009 12.36903,14.16124 21.4375,12.5 83.37176,-0.12573 166.769248,0.25097 250.125,-0.1875 9.57786,-1.24954 15.0045,-11.39003 13.28125,-20.53125 -0.32065,-25.06939 0.63636,-50.246 -0.46875,-75.25 -1.99885,-8.70345 -11.6919,-13.22175 -20.28125,-11.71875 -83.166452,0.0209 -166.33459,-0.0417 -249.5,0.0312 z"
|
||||
id="path4029"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:url(#linearGradient3966);fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline"
|
||||
d="m -129.60832,319.06791 c -9.81258,0 -17.71875,7.90617 -17.71875,17.71875 l 0,7.46875 c 21.91332,13.37842 82.3034,23 153.4062474,23 56.8274986,0 106.8063826,-6.14199 135.7812526,-15.4375 l 0,-15.03125 c 0,-9.81258 -7.87492,-17.71875 -17.6875,-17.71875 l -253.78125,0 z"
|
||||
id="path4031"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
inkscape:label="#g3319">
|
||||
<rect
|
||||
inkscape:label="#rect4388"
|
||||
inkscape:export-ydpi="88.809998"
|
||||
inkscape:export-xdpi="88.809998"
|
||||
inkscape:export-filename="H:\Documents\Hobbies\W433\g9905.png"
|
||||
ry="4.7808909"
|
||||
y="339.47308"
|
||||
x="217.77841"
|
||||
height="64.785042"
|
||||
width="205.45833"
|
||||
id="bargraph"
|
||||
style="fill:none;fill-opacity:1;stroke:none" />
|
||||
inkscape:label="#rect2985-5"
|
||||
transform="matrix(0.81679353,0,0,0.88235114,142.08795,-134.58341)"
|
||||
id="solid_bg"
|
||||
ry="10.434186"
|
||||
y="528.80811"
|
||||
x="79.017357"
|
||||
height="91.499794"
|
||||
width="280.11307"
|
||||
style="fill:url(#linearGradient3312);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline;filter:url(#filter4045)" />
|
||||
<g
|
||||
transform="translate(215.8687,364.87409)"
|
||||
style="font-size:40px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
@ -1424,7 +1556,7 @@
|
||||
id="layer1"
|
||||
inkscape:label="Status-Symbol">
|
||||
<g
|
||||
transform="matrix(1.6946172,0,0,1.6946172,-104.16402,177.63069)"
|
||||
transform="matrix(1.6946172,0,0,1.6946172,-104.16402,179.63069)"
|
||||
inkscape:label="#g4504"
|
||||
id="symbol">
|
||||
<path
|
||||
|
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 59 KiB |
@ -10,12 +10,12 @@
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="229.27776"
|
||||
width="270"
|
||||
height="80.827866"
|
||||
id="svg10068"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.2 r9819"
|
||||
sodipodi:docname="flightmode-status-new.svg"
|
||||
inkscape:version="0.48.3.1 r9886"
|
||||
sodipodi:docname="flightmode-status.svg"
|
||||
inkscape:export-filename="H:\Documents\Hobbies\W433\My Gauges\vbat-001.png"
|
||||
inkscape:export-xdpi="103.61"
|
||||
inkscape:export-ydpi="103.61"
|
||||
@ -86,7 +86,8 @@
|
||||
id="path4640"
|
||||
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
transform="matrix(0.3,0,0,0.3,-0.69,0)" />
|
||||
transform="matrix(0.3,0,0,0.3,-0.69,0)"
|
||||
inkscape:connector-curvature="0" />
|
||||
</marker>
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
@ -766,94 +767,6 @@
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5224-4"
|
||||
id="radialGradient3814"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.29375,0,18.848047)"
|
||||
cx="14.5"
|
||||
cy="26.6875"
|
||||
fx="14.5"
|
||||
fy="26.6875"
|
||||
r="10" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5224-4"
|
||||
id="radialGradient3816"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.29375,0,18.848047)"
|
||||
cx="14.5"
|
||||
cy="26.6875"
|
||||
fx="14.5"
|
||||
fy="26.6875"
|
||||
r="10" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5237-2"
|
||||
id="radialGradient3818"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.5354369,0,0,1.5485894,-15.737913,-10.36738)"
|
||||
cx="29.392656"
|
||||
cy="18.898249"
|
||||
fx="29.392656"
|
||||
fy="18.898249"
|
||||
r="29.699959" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5300-7"
|
||||
id="radialGradient3820"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(2.2469896,0,0,2.2469896,-37.128341,-8.8439229)"
|
||||
cx="29.77438"
|
||||
cy="7.0922189"
|
||||
fx="29.77438"
|
||||
fy="7.0922189"
|
||||
r="25.380436" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5224-4"
|
||||
id="radialGradient3856"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.29375,0,18.848047)"
|
||||
cx="14.5"
|
||||
cy="26.6875"
|
||||
fx="14.5"
|
||||
fy="26.6875"
|
||||
r="10" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5224-4"
|
||||
id="radialGradient3858"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.29375,0,18.848047)"
|
||||
cx="14.5"
|
||||
cy="26.6875"
|
||||
fx="14.5"
|
||||
fy="26.6875"
|
||||
r="10" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5237-2"
|
||||
id="radialGradient3860"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.5354369,0,0,1.5485894,-15.737913,-10.36738)"
|
||||
cx="29.392656"
|
||||
cy="18.898249"
|
||||
fx="29.392656"
|
||||
fy="18.898249"
|
||||
r="29.699959" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5300-7"
|
||||
id="radialGradient3862"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(2.2469896,0,0,2.2469896,-37.128341,-8.8439229)"
|
||||
cx="29.77438"
|
||||
cy="7.0922189"
|
||||
fx="29.77438"
|
||||
fy="7.0922189"
|
||||
r="25.380436" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5224-4"
|
||||
@ -949,138 +862,6 @@
|
||||
fx="29.77438"
|
||||
fy="7.0922189"
|
||||
r="25.380436" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5224-4"
|
||||
id="radialGradient3197"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.29375,0,18.848047)"
|
||||
cx="14.5"
|
||||
cy="26.6875"
|
||||
fx="14.5"
|
||||
fy="26.6875"
|
||||
r="10" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5224-4"
|
||||
id="radialGradient3199"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.29375,0,18.848047)"
|
||||
cx="14.5"
|
||||
cy="26.6875"
|
||||
fx="14.5"
|
||||
fy="26.6875"
|
||||
r="10" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5237-2"
|
||||
id="radialGradient3201"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.5354369,0,0,1.5485894,-15.737913,-10.36738)"
|
||||
cx="29.392656"
|
||||
cy="18.898249"
|
||||
fx="29.392656"
|
||||
fy="18.898249"
|
||||
r="29.699959" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5300-7"
|
||||
id="radialGradient3203"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(2.2469896,0,0,2.2469896,-37.128341,-8.8439229)"
|
||||
cx="29.77438"
|
||||
cy="7.0922189"
|
||||
fx="29.77438"
|
||||
fy="7.0922189"
|
||||
r="25.380436" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5224-4"
|
||||
id="radialGradient3231"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.29375,0,18.848047)"
|
||||
cx="14.5"
|
||||
cy="26.6875"
|
||||
fx="14.5"
|
||||
fy="26.6875"
|
||||
r="10" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5224-4"
|
||||
id="radialGradient3233"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.29375,0,18.848047)"
|
||||
cx="14.5"
|
||||
cy="26.6875"
|
||||
fx="14.5"
|
||||
fy="26.6875"
|
||||
r="10" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5237-2"
|
||||
id="radialGradient3235"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.5354369,0,0,1.5485894,-15.737913,-10.36738)"
|
||||
cx="29.392656"
|
||||
cy="18.898249"
|
||||
fx="29.392656"
|
||||
fy="18.898249"
|
||||
r="29.699959" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5300-7"
|
||||
id="radialGradient3237"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(2.2469896,0,0,2.2469896,-37.128341,-8.8439229)"
|
||||
cx="29.77438"
|
||||
cy="7.0922189"
|
||||
fx="29.77438"
|
||||
fy="7.0922189"
|
||||
r="25.380436" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3285-6-3"
|
||||
id="linearGradient4033"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(-313.07707,-140.80709)"
|
||||
x1="295.07001"
|
||||
y1="573.90204"
|
||||
x2="295.65781"
|
||||
y2="418.138" />
|
||||
<linearGradient
|
||||
id="linearGradient3285-6-3"
|
||||
inkscape:collect="always">
|
||||
<stop
|
||||
id="stop3287-9-8"
|
||||
offset="0"
|
||||
style="stop-color:#333333;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop3289-8-2"
|
||||
offset="1"
|
||||
style="stop-color:#000000;stop-opacity:0;" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3259-9-2"
|
||||
id="linearGradient4035"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(-313.07707,-140.80709)"
|
||||
x1="311.52808"
|
||||
y1="572.13867"
|
||||
x2="310.94031"
|
||||
y2="526.29114" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient3259-9-2">
|
||||
<stop
|
||||
style="stop-color:#000000;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3261-8-7" />
|
||||
<stop
|
||||
style="stop-color:#000000;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop3263-3-5" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
y2="506.89417"
|
||||
x2="300.36011"
|
||||
@ -1104,14 +885,44 @@
|
||||
id="stop3794-2-7" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
y2="506.89417"
|
||||
x2="300.36011"
|
||||
y1="368.20679"
|
||||
x1="298.43829"
|
||||
gradientTransform="translate(-313.07707,-140.80709)"
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3755-1"
|
||||
id="linearGradient3312"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient3302"
|
||||
xlink:href="#linearGradient3790-4-8"
|
||||
gradientTransform="matrix(0.31025181,0,0,0.29604738,51.62655,372.04954)"
|
||||
x1="393.51294"
|
||||
y1="832.61218"
|
||||
x2="394.48703"
|
||||
y2="529.75507" />
|
||||
<linearGradient
|
||||
id="linearGradient3755-1">
|
||||
<stop
|
||||
style="stop-color:#1e1e1e;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3757-3" />
|
||||
<stop
|
||||
style="stop-color:#4d4d4d;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop3759-6" />
|
||||
</linearGradient>
|
||||
<filter
|
||||
color-interpolation-filters="sRGB"
|
||||
inkscape:collect="always"
|
||||
id="filter4045">
|
||||
<feGaussianBlur
|
||||
inkscape:collect="always"
|
||||
stdDeviation="0.45575892"
|
||||
id="feGaussianBlur4047" />
|
||||
</filter>
|
||||
<linearGradient
|
||||
y2="529.75507"
|
||||
x2="394.48703"
|
||||
y1="832.61218"
|
||||
x1="393.51294"
|
||||
gradientTransform="matrix(0.31025181,0,0,0.29604738,51.62655,372.04954)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient3287"
|
||||
xlink:href="#linearGradient3755-1"
|
||||
inkscape:collect="always" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
@ -1122,15 +933,15 @@
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1.979899"
|
||||
inkscape:cx="-7.1957738"
|
||||
inkscape:cx="54.735681"
|
||||
inkscape:cy="90.710362"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="background"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1600"
|
||||
inkscape:window-height="823"
|
||||
inkscape:window-x="-9"
|
||||
inkscape:window-y="-9"
|
||||
inkscape:window-width="1440"
|
||||
inkscape:window-height="838"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:object-paths="true"
|
||||
showguides="true"
|
||||
@ -1146,7 +957,7 @@
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
<dc:title />
|
||||
<dc:creator>
|
||||
<cc:Agent>
|
||||
<dc:title>Edouard Lafargue</dc:title>
|
||||
@ -1160,38 +971,12 @@
|
||||
inkscape:label="Background"
|
||||
id="g2932"
|
||||
inkscape:groupmode="layer"
|
||||
transform="translate(-205.8687,-331.45166)">
|
||||
transform="translate(-205.8687,-331.45166)"
|
||||
sodipodi:insensitive="true">
|
||||
<g
|
||||
id="background"
|
||||
inkscape:label="#g8543">
|
||||
<g
|
||||
transform="matrix(0.79280486,0,0,0.72374721,322.67019,100.52996)"
|
||||
id="g4023"
|
||||
style="display:inline">
|
||||
<rect
|
||||
style="fill:url(#linearGradient4033);fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline"
|
||||
id="rect4025"
|
||||
width="289.19211"
|
||||
height="111.67988"
|
||||
x="-147.32065"
|
||||
y="319.06393"
|
||||
ry="17.712246" />
|
||||
<path
|
||||
style="fill:#1a1a1a;fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline"
|
||||
d="m -130.38957,321.09916 c -10.40328,0.13552 -16.79656,11.11379 -14.9375,20.75 0.24853,24.79185 -0.48485,49.65785 0.34375,74.40625 1.69659,9.71009 12.36903,14.16124 21.4375,12.5 83.37176,-0.12573 166.769249,0.25097 250.125,-0.1875 9.57786,-1.24954 15.0045,-11.39003 13.28125,-20.53125 -0.32065,-25.06939 0.63636,-50.246 -0.46875,-75.25 -1.99885,-8.70345 -11.6919,-13.22175 -20.28125,-11.71875 -83.166451,0.0209 -166.33459,-0.0417 -249.5,0.0312 z"
|
||||
id="path4027"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:url(#linearGradient4035);fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline"
|
||||
d="m -130.38957,321.09916 c -10.40328,0.13552 -16.79656,11.11379 -14.9375,20.75 0.24853,24.79185 -0.48485,49.65785 0.34375,74.40625 1.69659,9.71009 12.36903,14.16124 21.4375,12.5 83.37176,-0.12573 166.769248,0.25097 250.125,-0.1875 9.57786,-1.24954 15.0045,-11.39003 13.28125,-20.53125 -0.32065,-25.06939 0.63636,-50.246 -0.46875,-75.25 -1.99885,-8.70345 -11.6919,-13.22175 -20.28125,-11.71875 -83.166452,0.0209 -166.33459,-0.0417 -249.5,0.0312 z"
|
||||
id="path4029"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:url(#linearGradient3302);fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline"
|
||||
d="m -129.60832,319.06791 c -9.81258,0 -17.71875,7.90617 -17.71875,17.71875 l 0,7.46875 c 21.91332,13.37842 82.3034,23 153.4062474,23 56.8274986,0 106.8063826,-6.14199 135.7812526,-15.4375 l 0,-15.03125 c 0,-9.81258 -7.87492,-17.71875 -17.6875,-17.71875 l -253.78125,0 z"
|
||||
id="path4031"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
inkscape:label="#g8543"
|
||||
transform="matrix(0.96748131,0,0,1,6.7388582,0)">
|
||||
<rect
|
||||
inkscape:label="#rect4388"
|
||||
inkscape:export-ydpi="88.809998"
|
||||
@ -1203,7 +988,7 @@
|
||||
height="64.785042"
|
||||
width="205.45833"
|
||||
id="bargraph"
|
||||
style="fill:none;fill-opacity:1;stroke:none" />
|
||||
style="fill:none;stroke:none" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
@ -1215,574 +1000,334 @@
|
||||
id="tspan2987"
|
||||
x="30"
|
||||
y="37.256439" /></text>
|
||||
<rect
|
||||
style="fill:url(#linearGradient3287);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline;filter:url(#filter4045)"
|
||||
width="280.11307"
|
||||
height="91.499794"
|
||||
x="79.017357"
|
||||
y="528.80811"
|
||||
ry="10.434186"
|
||||
id="solid_bg"
|
||||
transform="matrix(0.99034038,0,0,0.88235114,130.0595,-134.58341)"
|
||||
inkscape:label="#rect2985-5" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
inkscape:label="Status-Symbol"
|
||||
style="display:none"
|
||||
sodipodi:insensitive="true">
|
||||
style="display:inline;opacity:1">
|
||||
<g
|
||||
transform="matrix(2.0683135,0,0,2.0683135,-162.1788,206.61155)"
|
||||
transform="matrix(2.0683135,0,0,2.0683135,-116.1788,214.61155)"
|
||||
inkscape:label="#g4504"
|
||||
id="symbol">
|
||||
id="symbol"
|
||||
style="opacity:0">
|
||||
<path
|
||||
transform="matrix(1.3565115,0,0,1.3564842,148.6163,-105.84566)"
|
||||
style="opacity:0.53012049;color:#000000;fill:url(#radialGradient4814);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter5296-2);enable-background:accumulate"
|
||||
style="opacity:0.53012049000000006;color:#000000;fill:url(#radialGradient4814);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter5296-2);enable-background:accumulate"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:ry="2.9375"
|
||||
sodipodi:rx="10"
|
||||
sodipodi:cy="26.6875"
|
||||
sodipodi:cx="14.5"
|
||||
id="path4798"
|
||||
d="m 24.5,26.6875 a 10,2.9375 0 1 1 -20,0 10,2.9375 0 1 1 20,0 z" />
|
||||
d="m 24.5,26.6875 c 0,1.622336 -4.477153,2.9375 -10,2.9375 -5.5228475,0 -10,-1.315164 -10,-2.9375 0,-1.622336 4.4771525,-2.9375 10,-2.9375 5.522847,0 10,1.315164 10,2.9375 z" />
|
||||
<path
|
||||
transform="matrix(0.8476709,0,0,0.8476539,155.99448,-91.479567)"
|
||||
style="opacity:0.80120479;color:#000000;fill:url(#radialGradient4816);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter5296-2);enable-background:accumulate"
|
||||
style="opacity:0.80120479000000000;color:#000000;fill:url(#radialGradient4816);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter5296-2);enable-background:accumulate"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:ry="2.9375"
|
||||
sodipodi:rx="10"
|
||||
sodipodi:cy="26.6875"
|
||||
sodipodi:cx="14.5"
|
||||
id="path4800"
|
||||
d="m 24.5,26.6875 a 10,2.9375 0 1 1 -20,0 10,2.9375 0 1 1 20,0 z" />
|
||||
d="m 24.5,26.6875 c 0,1.622336 -4.477153,2.9375 -10,2.9375 -5.5228475,0 -10,-1.315164 -10,-2.9375 0,-1.622336 4.4771525,-2.9375 10,-2.9375 5.522847,0 10,1.315164 10,2.9375 z" />
|
||||
<path
|
||||
transform="matrix(0.4552142,0,0,0.4578395,154.92379,-94.080092)"
|
||||
style="fill:url(#radialGradient4818);fill-opacity:1;fill-rule:evenodd;stroke:#d4d0d0;stroke-width:2.19046068;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
style="fill:url(#radialGradient4818);fill-opacity:1;fill-rule:evenodd;stroke:#d4d0d0;stroke-width:2.19046068000000020;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:ry="29.010935"
|
||||
sodipodi:rx="29.010935"
|
||||
sodipodi:cy="29.207693"
|
||||
sodipodi:cx="29.392656"
|
||||
id="path4802"
|
||||
d="m 58.403591,29.207693 a 29.010935,29.010935 0 1 1 -58.0218695,0 29.010935,29.010935 0 1 1 58.0218695,0 z" />
|
||||
d="m 58.403591,29.207693 c 0,16.022297 -12.988638,29.010935 -29.010935,29.010935 -16.022297,0 -29.0109345,-12.988638 -29.0109345,-29.010935 0,-16.022297 12.9886375,-29.01093473 29.0109345,-29.01093473 16.022297,0 29.010935,12.98863773 29.010935,29.01093473 z" />
|
||||
<path
|
||||
transform="matrix(0.5041973,0,0,0.5044661,153.2742,-96.019639)"
|
||||
style="fill:none;stroke:url(#radialGradient4820);stroke-width:1.98282218;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
style="fill:none;stroke:url(#radialGradient4820);stroke-width:1.98282218000000010;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:ry="24.175779"
|
||||
sodipodi:rx="24.175779"
|
||||
sodipodi:cy="30.352861"
|
||||
sodipodi:cx="29.77438"
|
||||
id="path4804"
|
||||
d="m 53.950159,30.352861 a 24.175779,24.175779 0 1 1 -48.3515586,0 24.175779,24.175779 0 1 1 48.3515586,0 z" />
|
||||
d="m 53.950159,30.352861 c 0,13.351915 -10.823865,24.17578 -24.175779,24.17578 -13.351915,0 -24.1757796,-10.823865 -24.1757796,-24.17578 0,-13.351914 10.8238646,-24.1757789 24.1757796,-24.1757789 13.351914,0 24.175779,10.8238649 24.175779,24.1757789 z" />
|
||||
</g>
|
||||
<rect
|
||||
style="opacity:0.98000004;fill:#ffffff;fill-opacity:1;stroke:#e31717;stroke-width:3.18836617;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
style="opacity:0.98000003999999996;fill:#ffffff;fill-opacity:1;stroke:#e31717;stroke-width:3.18836617000000010;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
id="value"
|
||||
width="132.66878"
|
||||
height="23"
|
||||
x="15"
|
||||
y="41"
|
||||
y="29"
|
||||
ry="3.4474616"
|
||||
inkscape:label="#rect2989" />
|
||||
<g
|
||||
id="symbol-Stabilized1"
|
||||
inkscape:label="#g3832"
|
||||
transform="matrix(1.2181818,0,0,1.2181818,-416.7342,39.213763)">
|
||||
<g
|
||||
transform="matrix(1.6946172,0,0,1.6946172,90.69312,69.91641)"
|
||||
inkscape:label="#g4504"
|
||||
id="g3804"
|
||||
style="display:inline">
|
||||
<path
|
||||
transform="matrix(1.3565115,0,0,1.3564842,148.6163,-105.84566)"
|
||||
style="opacity:0.53012049;color:#000000;fill:url(#radialGradient3814);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter5296-2);enable-background:accumulate"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:ry="2.9375"
|
||||
sodipodi:rx="10"
|
||||
sodipodi:cy="26.6875"
|
||||
sodipodi:cx="14.5"
|
||||
id="path3806"
|
||||
d="m 24.5,26.6875 a 10,2.9375 0 1 1 -20,0 10,2.9375 0 1 1 20,0 z" />
|
||||
<path
|
||||
transform="matrix(0.8476709,0,0,0.8476539,155.99448,-91.479567)"
|
||||
style="opacity:0.80120479;color:#000000;fill:url(#radialGradient3816);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter5296-2);enable-background:accumulate"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:ry="2.9375"
|
||||
sodipodi:rx="10"
|
||||
sodipodi:cy="26.6875"
|
||||
sodipodi:cx="14.5"
|
||||
id="path3808"
|
||||
d="m 24.5,26.6875 a 10,2.9375 0 1 1 -20,0 10,2.9375 0 1 1 20,0 z" />
|
||||
<path
|
||||
transform="matrix(0.4552142,0,0,0.4578395,154.92379,-94.080092)"
|
||||
style="fill:url(#radialGradient3818);fill-opacity:1;fill-rule:evenodd;stroke:#d4d0d0;stroke-width:2.19046068;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:ry="29.010935"
|
||||
sodipodi:rx="29.010935"
|
||||
sodipodi:cy="29.207693"
|
||||
sodipodi:cx="29.392656"
|
||||
id="path3810"
|
||||
d="m 58.403591,29.207693 a 29.010935,29.010935 0 1 1 -58.0218695,0 29.010935,29.010935 0 1 1 58.0218695,0 z" />
|
||||
<path
|
||||
transform="matrix(0.5041973,0,0,0.5044661,153.2742,-96.019639)"
|
||||
style="fill:none;stroke:url(#radialGradient3820);stroke-width:1.98282218;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:ry="24.175779"
|
||||
sodipodi:rx="24.175779"
|
||||
sodipodi:cy="30.352861"
|
||||
sodipodi:cx="29.77438"
|
||||
id="path3812"
|
||||
d="m 53.950159,30.352861 a 24.175779,24.175779 0 1 1 -48.3515586,0 24.175779,24.175779 0 1 1 48.3515586,0 z" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(0.33832187,0,0,0.33832187,410.06766,-39.187259)"
|
||||
id="g3796"
|
||||
style="stroke-width:5.32037735;stroke-miterlimit:4;stroke-dasharray:none">
|
||||
<path
|
||||
sodipodi:end="6.2831853"
|
||||
sodipodi:start="3.1415927"
|
||||
transform="matrix(0.9559435,0,0,0.9559435,-2.74581,-3.77127)"
|
||||
d="m -124.28571,-85.600701 a 21.428572,5.7142859 0 0 1 42.857142,10e-7"
|
||||
sodipodi:ry="5.7142859"
|
||||
sodipodi:rx="21.428572"
|
||||
sodipodi:cy="-85.6007"
|
||||
sodipodi:cx="-102.85714"
|
||||
id="path3782"
|
||||
style="opacity:0.98000004;fill:none;stroke:#ff4e34;stroke-width:5.56557703;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:open="true" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="opacity:0.98000004;fill:none;stroke:#ff4e34;stroke-width:5.32037735;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline"
|
||||
id="path2993"
|
||||
sodipodi:cx="-101.07143"
|
||||
sodipodi:cy="-85.243561"
|
||||
sodipodi:rx="49.642857"
|
||||
sodipodi:ry="11.785714"
|
||||
d="m -51.42857,-85.243561 a 49.642857,11.785714 0 1 1 -99.28571,0 49.642857,11.785714 0 1 1 99.28571,0 z"
|
||||
transform="translate(0,-0.35714)" />
|
||||
<path
|
||||
style="fill:none;stroke:#ff4e34;stroke-width:5.32037735;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m -101.07143,-37.895278 0,-96.382562"
|
||||
id="path2991"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
sodipodi:end="3.1415927"
|
||||
sodipodi:start="0"
|
||||
sodipodi:type="arc"
|
||||
style="opacity:0.98000004;fill:none;stroke:#ff4e34;stroke-width:5.56557703;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
id="path2995"
|
||||
sodipodi:cx="-102.85714"
|
||||
sodipodi:cy="-85.6007"
|
||||
sodipodi:rx="21.428572"
|
||||
sodipodi:ry="5.7142859"
|
||||
d="m -81.428568,-85.6007 a 21.428572,5.7142859 0 1 1 -42.857142,-10e-7"
|
||||
transform="matrix(0.9559435,0,0,0.9559435,-2.7458124,-3.7712673)"
|
||||
sodipodi:open="true" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="opacity:0.98000004;fill:none;stroke:#ff4e34;stroke-width:5.30381203;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
id="path2997"
|
||||
sodipodi:cx="-101.78571"
|
||||
sodipodi:cy="-85.6007"
|
||||
sodipodi:rx="20.357143"
|
||||
sodipodi:ry="39.285713"
|
||||
d="m -81.42857,-85.6007 a 20.357143,39.285713 0 1 1 -40.71429,0 20.357143,39.285713 0 1 1 40.71429,0 z"
|
||||
transform="matrix(1.0062564,0,0,1,1.3510971,0)" />
|
||||
<path
|
||||
transform="translate(0,-0.35713959)"
|
||||
d="m -51.42857,-85.243561 a 49.642857,11.785714 0 1 1 -99.28571,0"
|
||||
sodipodi:ry="11.785714"
|
||||
sodipodi:rx="49.642857"
|
||||
sodipodi:cy="-85.243561"
|
||||
sodipodi:cx="-101.07143"
|
||||
id="path3791"
|
||||
style="opacity:0.98000004;fill:none;stroke:#ff4e34;stroke-width:5.32037735;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:start="0"
|
||||
sodipodi:end="3.1415927"
|
||||
sodipodi:open="true" />
|
||||
</g>
|
||||
inkscape:label="#g4061"
|
||||
transform="matrix(1.0119788,0,0,1.0116202,67.434626,1.7534722)">
|
||||
<path
|
||||
sodipodi:open="true"
|
||||
sodipodi:type="arc"
|
||||
style="opacity:0.98000003999999996;fill:none;stroke:#4e94f6;stroke-width:5.56557703000000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline"
|
||||
id="path3782"
|
||||
sodipodi:cx="-102.85714"
|
||||
sodipodi:cy="-85.6007"
|
||||
sodipodi:rx="21.428572"
|
||||
sodipodi:ry="5.7142859"
|
||||
d="m -124.28571,-85.600701 c 0,-3.155913 9.5939,-5.714285 21.42857,-5.714285 11.834674,0 21.428572,2.558373 21.428572,5.714286"
|
||||
transform="matrix(0.38288032,0.12642058,-0.13394556,0.40567065,69.500572,5.6999542)"
|
||||
sodipodi:start="3.1415927"
|
||||
sodipodi:end="6.2831853" />
|
||||
<path
|
||||
transform="matrix(0.4005261,0.13224692,-0.1401187,0.42436676,70.121957,7.5119224)"
|
||||
d="m -51.42857,-85.243561 c 0,6.50907 -22.225864,11.785714 -49.64286,11.785714 -27.41699,0 -49.64285,-5.276644 -49.64285,-11.785714 0,-6.50907 22.22586,-11.785714 49.64285,-11.785714 27.416996,0 49.64286,5.276644 49.64286,11.785714 z"
|
||||
sodipodi:ry="11.785714"
|
||||
sodipodi:rx="49.642857"
|
||||
sodipodi:cy="-85.243561"
|
||||
sodipodi:cx="-101.07143"
|
||||
id="path2993"
|
||||
style="opacity:0.98000003999999996;fill:none;stroke:#4e94f6;stroke-width:5.32037735000000020;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline"
|
||||
sodipodi:type="arc" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path2991"
|
||||
d="m 34.900006,-21.784401 13.505,-40.901556"
|
||||
style="fill:none;stroke:#4e94f6;stroke-width:2.30992769999999980;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
sodipodi:open="true"
|
||||
transform="matrix(0.38288032,0.12642058,-0.13394556,0.40567065,69.500571,5.699955)"
|
||||
d="m -81.428568,-85.6007 c 0,3.155913 -9.593898,5.714285 -21.428572,5.714285 -11.83467,0 -21.42857,-2.558372 -21.42857,-5.714285 0,0 0,-10e-7 0,-10e-7"
|
||||
sodipodi:ry="5.7142859"
|
||||
sodipodi:rx="21.428572"
|
||||
sodipodi:cy="-85.6007"
|
||||
sodipodi:cx="-102.85714"
|
||||
id="path2995"
|
||||
style="opacity:0.98000003999999996;fill:none;stroke:#4e94f6;stroke-width:5.56557703000000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:start="0"
|
||||
sodipodi:end="3.1415927" />
|
||||
<path
|
||||
transform="matrix(0.40303195,0.13307431,-0.1401187,0.42436676,70.613065,7.8421591)"
|
||||
d="m -81.42857,-85.6007 c 0,21.6969 -9.114203,39.285713 -20.35714,39.285713 -11.24294,0 -20.35715,-17.588813 -20.35715,-39.285713 0,-21.6969 9.11421,-39.28571 20.35715,-39.28571 11.242937,0 20.35714,17.58881 20.35714,39.28571 z"
|
||||
sodipodi:ry="39.285713"
|
||||
sodipodi:rx="20.357143"
|
||||
sodipodi:cy="-85.6007"
|
||||
sodipodi:cx="-101.78571"
|
||||
id="path2997"
|
||||
style="opacity:0.98000003999999996;fill:none;stroke:#4e94f6;stroke-width:5.30381202999999960;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
sodipodi:type="arc" />
|
||||
<path
|
||||
sodipodi:open="true"
|
||||
sodipodi:end="3.1415927"
|
||||
sodipodi:start="0"
|
||||
sodipodi:type="arc"
|
||||
style="opacity:0.98000003999999996;fill:none;stroke:#4e94f6;stroke-width:5.32037735000000020;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
id="path3791"
|
||||
sodipodi:cx="-101.07143"
|
||||
sodipodi:cy="-85.243561"
|
||||
sodipodi:rx="49.642857"
|
||||
sodipodi:ry="11.785714"
|
||||
d="m -51.42857,-85.243561 c 0,6.50907 -22.225864,11.785714 -49.64286,11.785714 -27.41699,0 -49.64285,-5.276644 -49.64285,-11.785714 0,0 0,0 0,0"
|
||||
transform="matrix(0.4005261,0.13224692,-0.1401187,0.42436676,70.121957,7.5119225)" />
|
||||
</g>
|
||||
<g
|
||||
id="symbol-Manual"
|
||||
inkscape:label="#g3891"
|
||||
transform="matrix(1.2181818,0,0,1.2181818,-114.36834,91.421566)">
|
||||
<g
|
||||
transform="matrix(1.6946172,0,0,1.6946172,-96.936102,27.05926)"
|
||||
inkscape:label="#g4504"
|
||||
id="g3846">
|
||||
<path
|
||||
transform="matrix(1.3565115,0,0,1.3564842,148.6163,-105.84566)"
|
||||
style="opacity:0.53012049;color:#000000;fill:url(#radialGradient3856);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter5296-2);enable-background:accumulate"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:ry="2.9375"
|
||||
sodipodi:rx="10"
|
||||
sodipodi:cy="26.6875"
|
||||
sodipodi:cx="14.5"
|
||||
id="path3848"
|
||||
d="m 24.5,26.6875 a 10,2.9375 0 1 1 -20,0 10,2.9375 0 1 1 20,0 z" />
|
||||
<path
|
||||
transform="matrix(0.8476709,0,0,0.8476539,155.99448,-91.479567)"
|
||||
style="opacity:0.80120479;color:#000000;fill:url(#radialGradient3858);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter5296-2);enable-background:accumulate"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:ry="2.9375"
|
||||
sodipodi:rx="10"
|
||||
sodipodi:cy="26.6875"
|
||||
sodipodi:cx="14.5"
|
||||
id="path3850"
|
||||
d="m 24.5,26.6875 a 10,2.9375 0 1 1 -20,0 10,2.9375 0 1 1 20,0 z" />
|
||||
<path
|
||||
transform="matrix(0.4552142,0,0,0.4578395,154.92379,-94.080092)"
|
||||
style="fill:url(#radialGradient3860);fill-opacity:1;fill-rule:evenodd;stroke:#d4d0d0;stroke-width:2.19046068;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:ry="29.010935"
|
||||
sodipodi:rx="29.010935"
|
||||
sodipodi:cy="29.207693"
|
||||
sodipodi:cx="29.392656"
|
||||
id="path3852"
|
||||
d="m 58.403591,29.207693 a 29.010935,29.010935 0 1 1 -58.0218695,0 29.010935,29.010935 0 1 1 58.0218695,0 z" />
|
||||
<path
|
||||
transform="matrix(0.5041973,0,0,0.5044661,153.2742,-96.019639)"
|
||||
style="fill:none;stroke:url(#radialGradient3862);stroke-width:1.98282218;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:ry="24.175779"
|
||||
sodipodi:rx="24.175779"
|
||||
sodipodi:cy="30.352861"
|
||||
sodipodi:cx="29.77438"
|
||||
id="path3854"
|
||||
d="m 53.950159,30.352861 a 24.175779,24.175779 0 1 1 -48.3515586,0 24.175779,24.175779 0 1 1 48.3515586,0 z" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(0.72825401,0,0,0.72825401,0.26819761,-37.594811)"
|
||||
id="g3882"
|
||||
style="stroke-width:2.7462945;stroke-miterlimit:4;stroke-dasharray:none">
|
||||
<path
|
||||
id="path3864"
|
||||
d="m 263.57143,-113.1007 c 0,3.35316 -2.55837,6.07143 -5.71428,6.07143 -3.15592,0 -5.71429,-2.71827 -5.71429,-6.07143 0,-3.35316 2.55837,-6.07143 5.71429,-6.07143 3.15591,0 5.71428,2.71827 5.71428,6.07143 z"
|
||||
style="opacity:0.98000004;fill:none;stroke:#ff4e34;stroke-width:2.7462945;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#ff4e34;stroke-width:2.7462945;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 257.85715,-106.32128 0,16.203659"
|
||||
id="path3872"
|
||||
sodipodi:nodetypes="cc"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#ff4e34;stroke-width:2.7462945;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 249.76021,-82.544001 7.95495,-7.954951"
|
||||
id="path3874"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
id="path3876"
|
||||
d="m 265.71516,-82.544001 -7.95495,-7.954951"
|
||||
style="fill:none;stroke:#ff4e34;stroke-width:2.7462945;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#ff4e34;stroke-width:2.7462945;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 257.85715,-98.624972 8.92824,-2.711038"
|
||||
id="path3878"
|
||||
sodipodi:nodetypes="cc"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
id="path3880"
|
||||
d="m 257.89812,-98.637413 -8.62061,-2.698597"
|
||||
style="fill:none;stroke:#ff4e34;stroke-width:2.7462945;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
sodipodi:nodetypes="cc"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="symbol-VelocityControl"
|
||||
inkscape:label="#g4229"
|
||||
transform="matrix(1.2181818,0,0,1.2181818,-132.92733,94.550987)">
|
||||
<g
|
||||
transform="matrix(1.6946172,0,0,1.6946172,-11.87408,24.490332)"
|
||||
inkscape:label="#g4504"
|
||||
id="g3905">
|
||||
<path
|
||||
transform="matrix(1.3565115,0,0,1.3564842,148.6163,-105.84566)"
|
||||
style="opacity:0.53012049;color:#000000;fill:url(#radialGradient4237);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter5296-2);enable-background:accumulate"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:ry="2.9375"
|
||||
sodipodi:rx="10"
|
||||
sodipodi:cy="26.6875"
|
||||
sodipodi:cx="14.5"
|
||||
id="path3907"
|
||||
d="m 24.5,26.6875 a 10,2.9375 0 1 1 -20,0 10,2.9375 0 1 1 20,0 z" />
|
||||
<path
|
||||
transform="matrix(0.8476709,0,0,0.8476539,155.99448,-91.479567)"
|
||||
style="opacity:0.80120479;color:#000000;fill:url(#radialGradient4239);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter5296-2);enable-background:accumulate"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:ry="2.9375"
|
||||
sodipodi:rx="10"
|
||||
sodipodi:cy="26.6875"
|
||||
sodipodi:cx="14.5"
|
||||
id="path3909"
|
||||
d="m 24.5,26.6875 a 10,2.9375 0 1 1 -20,0 10,2.9375 0 1 1 20,0 z" />
|
||||
<path
|
||||
transform="matrix(0.4552142,0,0,0.4578395,154.92379,-94.080092)"
|
||||
style="fill:url(#radialGradient4241);fill-opacity:1;fill-rule:evenodd;stroke:#d4d0d0;stroke-width:2.19046068;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:ry="29.010935"
|
||||
sodipodi:rx="29.010935"
|
||||
sodipodi:cy="29.207693"
|
||||
sodipodi:cx="29.392656"
|
||||
id="path3911"
|
||||
d="m 58.403591,29.207693 a 29.010935,29.010935 0 1 1 -58.0218695,0 29.010935,29.010935 0 1 1 58.0218695,0 z" />
|
||||
<path
|
||||
transform="matrix(0.5041973,0,0,0.5044661,153.2742,-96.019639)"
|
||||
style="fill:none;stroke:url(#radialGradient4243);stroke-width:1.98282218;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:ry="24.175779"
|
||||
sodipodi:rx="24.175779"
|
||||
sodipodi:cy="30.352861"
|
||||
sodipodi:cx="29.77438"
|
||||
id="path3913"
|
||||
d="m 53.950159,30.352861 a 24.175779,24.175779 0 1 1 -48.3515586,0 24.175779,24.175779 0 1 1 48.3515586,0 z" />
|
||||
</g>
|
||||
inkscape:label="#g4185">
|
||||
<path
|
||||
id="path34138-1-7"
|
||||
style="fill:none;stroke:#ff4e34;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
|
||||
d="m 273.30882,-128.36777 c 1.48829,2.45185 1.90489,5.20754 1.97538,8.2047 l 9.09496,8.66832 0.2675,3.29229 -9.52708,-5.12363 -0.32923,8.21016 3.60095,3.49806 -0.0617,2.798457 -4.03306,-2.304607 -0.90629,1.196568 -0.16982,1.66e-4 -0.90539,-1.193454 -4.03306,2.304606 -0.0617,-2.798456 3.60095,-3.49806 -0.32923,-8.21016 -9.52708,5.12363 0.2675,-3.29229 9.09497,-8.66832 c 0.0705,-2.99716 0.48708,-5.75285 1.97537,-8.2047"
|
||||
sodipodi:nodetypes="cccccccccccccccccccc"
|
||||
inkscape:export-filename="H:\Documents\Hobbies\W433\g9905.png"
|
||||
inkscape:export-xdpi="103.61"
|
||||
inkscape:export-ydpi="103.61"
|
||||
inkscape:connector-curvature="0" />
|
||||
inkscape:connector-curvature="0"
|
||||
style="opacity:0.98000003999999996;fill:none;stroke:#4e94f6;stroke-width:3.08949876000000010;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
d="m 154.47291,-53.37562 c 0,3.57692 -3.03523,6.476584 -6.77936,6.476584 -3.74415,0 -6.77937,-2.899664 -6.77937,-6.476584 0,-3.576919 3.03522,-6.476582 6.77937,-6.476582 3.74413,0 6.77936,2.899663 6.77936,6.476582 z"
|
||||
id="path3864" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc"
|
||||
id="path3872"
|
||||
d="m 147.69355,-46.143802 0,17.284947"
|
||||
style="fill:none;stroke:#4e94f6;stroke-width:3.08949876000000010;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3874"
|
||||
d="m 138.08744,-20.77984 9.43766,-8.485793"
|
||||
style="fill:none;stroke:#4e94f6;stroke-width:3.08949876000000010;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#4e94f6;stroke-width:3.08949876000000010;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 157.0162,-20.77984 -9.43766,-8.485793"
|
||||
id="path3876" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc"
|
||||
id="path3878"
|
||||
d="m 147.69355,-37.933911 10.59236,-2.891949"
|
||||
style="fill:none;stroke:#4e94f6;stroke-width:3.08949876000000010;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc"
|
||||
style="fill:none;stroke:#4e94f6;stroke-width:3.08949876000000010;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 147.74216,-37.947183 -10.2274,-2.878677"
|
||||
id="path3880" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(1.2181818,0,0,1.2181818,-488.7342,39.213763)"
|
||||
inkscape:label="#g3832"
|
||||
id="symbol-Stabilized2">
|
||||
<g
|
||||
style="display:inline"
|
||||
id="g3173"
|
||||
inkscape:label="#g4504"
|
||||
transform="matrix(1.6946172,0,0,1.6946172,90.69312,69.91641)">
|
||||
<path
|
||||
d="m 24.5,26.6875 a 10,2.9375 0 1 1 -20,0 10,2.9375 0 1 1 20,0 z"
|
||||
id="path3175"
|
||||
sodipodi:cx="14.5"
|
||||
sodipodi:cy="26.6875"
|
||||
sodipodi:rx="10"
|
||||
sodipodi:ry="2.9375"
|
||||
sodipodi:type="arc"
|
||||
style="opacity:0.53012049;color:#000000;fill:url(#radialGradient3197);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter5296-2);enable-background:accumulate"
|
||||
transform="matrix(1.3565115,0,0,1.3564842,148.6163,-105.84566)" />
|
||||
<path
|
||||
d="m 24.5,26.6875 a 10,2.9375 0 1 1 -20,0 10,2.9375 0 1 1 20,0 z"
|
||||
id="path3177"
|
||||
sodipodi:cx="14.5"
|
||||
sodipodi:cy="26.6875"
|
||||
sodipodi:rx="10"
|
||||
sodipodi:ry="2.9375"
|
||||
sodipodi:type="arc"
|
||||
style="opacity:0.80120479;color:#000000;fill:url(#radialGradient3199);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter5296-2);enable-background:accumulate"
|
||||
transform="matrix(0.8476709,0,0,0.8476539,155.99448,-91.479567)" />
|
||||
<path
|
||||
d="m 58.403591,29.207693 a 29.010935,29.010935 0 1 1 -58.0218695,0 29.010935,29.010935 0 1 1 58.0218695,0 z"
|
||||
id="path3179"
|
||||
sodipodi:cx="29.392656"
|
||||
sodipodi:cy="29.207693"
|
||||
sodipodi:rx="29.010935"
|
||||
sodipodi:ry="29.010935"
|
||||
sodipodi:type="arc"
|
||||
style="fill:url(#radialGradient3201);fill-opacity:1;fill-rule:evenodd;stroke:#d4d0d0;stroke-width:2.19046068;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
transform="matrix(0.4552142,0,0,0.4578395,154.92379,-94.080092)" />
|
||||
<path
|
||||
d="m 53.950159,30.352861 a 24.175779,24.175779 0 1 1 -48.3515586,0 24.175779,24.175779 0 1 1 48.3515586,0 z"
|
||||
id="path3181"
|
||||
sodipodi:cx="29.77438"
|
||||
sodipodi:cy="30.352861"
|
||||
sodipodi:rx="24.175779"
|
||||
sodipodi:ry="24.175779"
|
||||
sodipodi:type="arc"
|
||||
style="fill:none;stroke:url(#radialGradient3203);stroke-width:1.98282218;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
transform="matrix(0.5041973,0,0,0.5044661,153.2742,-96.019639)" />
|
||||
</g>
|
||||
<g
|
||||
style="stroke-width:5.32037735;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="g3183"
|
||||
transform="matrix(0.33832187,0,0,0.33832187,410.06766,-39.187259)">
|
||||
<path
|
||||
sodipodi:open="true"
|
||||
sodipodi:type="arc"
|
||||
style="opacity:0.98000004;fill:none;stroke:#ff4e34;stroke-width:5.56557703;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline"
|
||||
id="path3185"
|
||||
sodipodi:cx="-102.85714"
|
||||
sodipodi:cy="-85.6007"
|
||||
sodipodi:rx="21.428572"
|
||||
sodipodi:ry="5.7142859"
|
||||
d="m -124.28571,-85.600701 a 21.428572,5.7142859 0 0 1 42.857142,10e-7"
|
||||
transform="matrix(0.9559435,0,0,0.9559435,-2.74581,-3.77127)"
|
||||
sodipodi:start="3.1415927"
|
||||
sodipodi:end="6.2831853" />
|
||||
<path
|
||||
transform="translate(0,-0.35714)"
|
||||
d="m -51.42857,-85.243561 a 49.642857,11.785714 0 1 1 -99.28571,0 49.642857,11.785714 0 1 1 99.28571,0 z"
|
||||
sodipodi:ry="11.785714"
|
||||
sodipodi:rx="49.642857"
|
||||
sodipodi:cy="-85.243561"
|
||||
sodipodi:cx="-101.07143"
|
||||
id="path3187"
|
||||
style="opacity:0.98000004;fill:none;stroke:#ff4e34;stroke-width:5.32037735;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline"
|
||||
sodipodi:type="arc" />
|
||||
<path
|
||||
id="path3189"
|
||||
d="m -101.07143,-37.895278 0,-96.382562"
|
||||
style="fill:none;stroke:#ff4e34;stroke-width:5.32037735;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
sodipodi:open="true"
|
||||
transform="matrix(0.9559435,0,0,0.9559435,-2.7458124,-3.7712673)"
|
||||
d="m -81.428568,-85.6007 a 21.428572,5.7142859 0 1 1 -42.857142,-10e-7"
|
||||
sodipodi:ry="5.7142859"
|
||||
sodipodi:rx="21.428572"
|
||||
sodipodi:cy="-85.6007"
|
||||
sodipodi:cx="-102.85714"
|
||||
id="path3191"
|
||||
style="opacity:0.98000004;fill:none;stroke:#ff4e34;stroke-width:5.56557703;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:start="0"
|
||||
sodipodi:end="3.1415927" />
|
||||
<path
|
||||
transform="matrix(1.0062564,0,0,1,1.3510971,0)"
|
||||
d="m -81.42857,-85.6007 a 20.357143,39.285713 0 1 1 -40.71429,0 20.357143,39.285713 0 1 1 40.71429,0 z"
|
||||
sodipodi:ry="39.285713"
|
||||
sodipodi:rx="20.357143"
|
||||
sodipodi:cy="-85.6007"
|
||||
sodipodi:cx="-101.78571"
|
||||
id="path3193"
|
||||
style="opacity:0.98000004;fill:none;stroke:#ff4e34;stroke-width:5.30381203;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
sodipodi:type="arc" />
|
||||
<path
|
||||
sodipodi:open="true"
|
||||
sodipodi:end="3.1415927"
|
||||
sodipodi:start="0"
|
||||
sodipodi:type="arc"
|
||||
style="opacity:0.98000004;fill:none;stroke:#ff4e34;stroke-width:5.32037735;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
id="path3195"
|
||||
sodipodi:cx="-101.07143"
|
||||
sodipodi:cy="-85.243561"
|
||||
sodipodi:rx="49.642857"
|
||||
sodipodi:ry="11.785714"
|
||||
d="m -51.42857,-85.243561 a 49.642857,11.785714 0 1 1 -99.28571,0"
|
||||
transform="translate(0,-0.35713959)" />
|
||||
</g>
|
||||
style="display:inline"
|
||||
id="symbol-Stabilized2"
|
||||
inkscape:label="#g4061"
|
||||
transform="matrix(1.0119788,0,0,1.0116202,22.52404,2.193386)">
|
||||
<path
|
||||
sodipodi:open="true"
|
||||
sodipodi:type="arc"
|
||||
style="opacity:0.98000003999999996;fill:none;stroke:#4e94f6;stroke-width:5.56557703000000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline"
|
||||
id="path3782-1"
|
||||
sodipodi:cx="-102.85714"
|
||||
sodipodi:cy="-85.6007"
|
||||
sodipodi:rx="21.428572"
|
||||
sodipodi:ry="5.7142859"
|
||||
d="m -124.28571,-85.600701 c 0,-3.155913 9.5939,-5.714285 21.42857,-5.714285 11.834674,0 21.428572,2.558373 21.428572,5.714286"
|
||||
transform="matrix(0.38288032,0.12642058,-0.13394556,0.40567065,69.500572,5.6999542)"
|
||||
sodipodi:start="3.1415927"
|
||||
sodipodi:end="6.2831853" />
|
||||
<path
|
||||
transform="matrix(0.4005261,0.13224692,-0.1401187,0.42436676,70.121957,7.5119224)"
|
||||
d="m -51.42857,-85.243561 c 0,6.50907 -22.225864,11.785714 -49.64286,11.785714 -27.41699,0 -49.64285,-5.276644 -49.64285,-11.785714 0,-6.50907 22.22586,-11.785714 49.64285,-11.785714 27.416996,0 49.64286,5.276644 49.64286,11.785714 z"
|
||||
sodipodi:ry="11.785714"
|
||||
sodipodi:rx="49.642857"
|
||||
sodipodi:cy="-85.243561"
|
||||
sodipodi:cx="-101.07143"
|
||||
id="path2993-8"
|
||||
style="opacity:0.98000003999999996;fill:none;stroke:#4e94f6;stroke-width:5.32037735000000020;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline"
|
||||
sodipodi:type="arc" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path2991-9"
|
||||
d="m 34.900006,-21.784401 13.505,-40.901556"
|
||||
style="fill:none;stroke:#4e94f6;stroke-width:2.30992769999999980;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
sodipodi:open="true"
|
||||
transform="matrix(0.38288032,0.12642058,-0.13394556,0.40567065,69.500571,5.699955)"
|
||||
d="m -81.428568,-85.6007 c 0,3.155913 -9.593898,5.714285 -21.428572,5.714285 -11.83467,0 -21.42857,-2.558372 -21.42857,-5.714285 0,0 0,-10e-7 0,-10e-7"
|
||||
sodipodi:ry="5.7142859"
|
||||
sodipodi:rx="21.428572"
|
||||
sodipodi:cy="-85.6007"
|
||||
sodipodi:cx="-102.85714"
|
||||
id="path2995-2"
|
||||
style="opacity:0.98000003999999996;fill:none;stroke:#4e94f6;stroke-width:5.56557703000000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:start="0"
|
||||
sodipodi:end="3.1415927" />
|
||||
<path
|
||||
transform="matrix(0.40303195,0.13307431,-0.1401187,0.42436676,70.613065,7.8421591)"
|
||||
d="m -81.42857,-85.6007 c 0,21.6969 -9.114203,39.285713 -20.35714,39.285713 -11.24294,0 -20.35715,-17.588813 -20.35715,-39.285713 0,-21.6969 9.11421,-39.28571 20.35715,-39.28571 11.242937,0 20.35714,17.58881 20.35714,39.28571 z"
|
||||
sodipodi:ry="39.285713"
|
||||
sodipodi:rx="20.357143"
|
||||
sodipodi:cy="-85.6007"
|
||||
sodipodi:cx="-101.78571"
|
||||
id="path2997-7"
|
||||
style="opacity:0.98000003999999996;fill:none;stroke:#4e94f6;stroke-width:5.30381202999999960;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
sodipodi:type="arc" />
|
||||
<path
|
||||
sodipodi:open="true"
|
||||
sodipodi:end="3.1415927"
|
||||
sodipodi:start="0"
|
||||
sodipodi:type="arc"
|
||||
style="opacity:0.98000003999999996;fill:none;stroke:#4e94f6;stroke-width:5.32037735000000020;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
id="path3791-9"
|
||||
sodipodi:cx="-101.07143"
|
||||
sodipodi:cy="-85.243561"
|
||||
sodipodi:rx="49.642857"
|
||||
sodipodi:ry="11.785714"
|
||||
d="m -51.42857,-85.243561 c 0,6.50907 -22.225864,11.785714 -49.64286,11.785714 -27.41699,0 -49.64285,-5.276644 -49.64285,-11.785714 0,0 0,0 0,0"
|
||||
transform="matrix(0.4005261,0.13224692,-0.1401187,0.42436676,70.121957,7.5119225)" />
|
||||
</g>
|
||||
<g
|
||||
style="display:inline"
|
||||
id="symbol-Stabilized3"
|
||||
inkscape:label="#g3832"
|
||||
transform="matrix(1.2181818,0,0,1.2181818,-488.7342,-34.786237)">
|
||||
<g
|
||||
transform="matrix(1.6946172,0,0,1.6946172,90.69312,69.91641)"
|
||||
inkscape:label="#g4504"
|
||||
id="g3207"
|
||||
style="display:inline">
|
||||
<path
|
||||
transform="matrix(1.3565115,0,0,1.3564842,148.6163,-105.84566)"
|
||||
style="opacity:0.53012049;color:#000000;fill:url(#radialGradient3231);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter5296-2);enable-background:accumulate"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:ry="2.9375"
|
||||
sodipodi:rx="10"
|
||||
sodipodi:cy="26.6875"
|
||||
sodipodi:cx="14.5"
|
||||
id="path3209"
|
||||
d="m 24.5,26.6875 a 10,2.9375 0 1 1 -20,0 10,2.9375 0 1 1 20,0 z" />
|
||||
<path
|
||||
transform="matrix(0.8476709,0,0,0.8476539,155.99448,-91.479567)"
|
||||
style="opacity:0.80120479;color:#000000;fill:url(#radialGradient3233);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter5296-2);enable-background:accumulate"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:ry="2.9375"
|
||||
sodipodi:rx="10"
|
||||
sodipodi:cy="26.6875"
|
||||
sodipodi:cx="14.5"
|
||||
id="path3211"
|
||||
d="m 24.5,26.6875 a 10,2.9375 0 1 1 -20,0 10,2.9375 0 1 1 20,0 z" />
|
||||
<path
|
||||
transform="matrix(0.4552142,0,0,0.4578395,154.92379,-94.080092)"
|
||||
style="fill:url(#radialGradient3235);fill-opacity:1;fill-rule:evenodd;stroke:#d4d0d0;stroke-width:2.19046068;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:ry="29.010935"
|
||||
sodipodi:rx="29.010935"
|
||||
sodipodi:cy="29.207693"
|
||||
sodipodi:cx="29.392656"
|
||||
id="path3213"
|
||||
d="m 58.403591,29.207693 a 29.010935,29.010935 0 1 1 -58.0218695,0 29.010935,29.010935 0 1 1 58.0218695,0 z" />
|
||||
<path
|
||||
transform="matrix(0.5041973,0,0,0.5044661,153.2742,-96.019639)"
|
||||
style="fill:none;stroke:url(#radialGradient3237);stroke-width:1.98282218;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:ry="24.175779"
|
||||
sodipodi:rx="24.175779"
|
||||
sodipodi:cy="30.352861"
|
||||
sodipodi:cx="29.77438"
|
||||
id="path3215"
|
||||
d="m 53.950159,30.352861 a 24.175779,24.175779 0 1 1 -48.3515586,0 24.175779,24.175779 0 1 1 48.3515586,0 z" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(0.33832187,0,0,0.33832187,410.06766,-39.187259)"
|
||||
id="g3217"
|
||||
style="stroke-width:5.32037735;stroke-miterlimit:4;stroke-dasharray:none">
|
||||
<path
|
||||
sodipodi:end="6.2831853"
|
||||
sodipodi:start="3.1415927"
|
||||
transform="matrix(0.9559435,0,0,0.9559435,-2.74581,-3.77127)"
|
||||
d="m -124.28571,-85.600701 a 21.428572,5.7142859 0 0 1 42.857142,10e-7"
|
||||
sodipodi:ry="5.7142859"
|
||||
sodipodi:rx="21.428572"
|
||||
sodipodi:cy="-85.6007"
|
||||
sodipodi:cx="-102.85714"
|
||||
id="path3219"
|
||||
style="opacity:0.98000004;fill:none;stroke:#ff4e34;stroke-width:5.56557703;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:open="true" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="opacity:0.98000004;fill:none;stroke:#ff4e34;stroke-width:5.32037735;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline"
|
||||
id="path3221"
|
||||
sodipodi:cx="-101.07143"
|
||||
sodipodi:cy="-85.243561"
|
||||
sodipodi:rx="49.642857"
|
||||
sodipodi:ry="11.785714"
|
||||
d="m -51.42857,-85.243561 a 49.642857,11.785714 0 1 1 -99.28571,0 49.642857,11.785714 0 1 1 99.28571,0 z"
|
||||
transform="translate(0,-0.35714)" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ff4e34;stroke-width:5.32037735;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m -101.07143,-37.895278 0,-96.382562"
|
||||
id="path3223" />
|
||||
<path
|
||||
sodipodi:end="3.1415927"
|
||||
sodipodi:start="0"
|
||||
sodipodi:type="arc"
|
||||
style="opacity:0.98000004;fill:none;stroke:#ff4e34;stroke-width:5.56557703;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
id="path3225"
|
||||
sodipodi:cx="-102.85714"
|
||||
sodipodi:cy="-85.6007"
|
||||
sodipodi:rx="21.428572"
|
||||
sodipodi:ry="5.7142859"
|
||||
d="m -81.428568,-85.6007 a 21.428572,5.7142859 0 1 1 -42.857142,-10e-7"
|
||||
transform="matrix(0.9559435,0,0,0.9559435,-2.7458124,-3.7712673)"
|
||||
sodipodi:open="true" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="opacity:0.98000004;fill:none;stroke:#ff4e34;stroke-width:5.30381203;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
id="path3227"
|
||||
sodipodi:cx="-101.78571"
|
||||
sodipodi:cy="-85.6007"
|
||||
sodipodi:rx="20.357143"
|
||||
sodipodi:ry="39.285713"
|
||||
d="m -81.42857,-85.6007 a 20.357143,39.285713 0 1 1 -40.71429,0 20.357143,39.285713 0 1 1 40.71429,0 z"
|
||||
transform="matrix(1.0062564,0,0,1,1.3510971,0)" />
|
||||
<path
|
||||
transform="translate(0,-0.35713959)"
|
||||
d="m -51.42857,-85.243561 a 49.642857,11.785714 0 1 1 -99.28571,0"
|
||||
sodipodi:ry="11.785714"
|
||||
sodipodi:rx="49.642857"
|
||||
sodipodi:cy="-85.243561"
|
||||
sodipodi:cx="-101.07143"
|
||||
id="path3229"
|
||||
style="opacity:0.98000004;fill:none;stroke:#ff4e34;stroke-width:5.32037735;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:start="0"
|
||||
sodipodi:end="3.1415927"
|
||||
sodipodi:open="true" />
|
||||
</g>
|
||||
inkscape:label="#g4061"
|
||||
transform="matrix(1.0119788,0,0,1.0116202,-26.204392,2.678157)">
|
||||
<path
|
||||
sodipodi:open="true"
|
||||
sodipodi:type="arc"
|
||||
style="opacity:0.98000003999999996;fill:none;stroke:#4e94f6;stroke-width:5.56557703000000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline"
|
||||
id="path3782-1-4"
|
||||
sodipodi:cx="-102.85714"
|
||||
sodipodi:cy="-85.6007"
|
||||
sodipodi:rx="21.428572"
|
||||
sodipodi:ry="5.7142859"
|
||||
d="m -124.28571,-85.600701 c 0,-3.155913 9.5939,-5.714285 21.42857,-5.714285 11.834674,0 21.428572,2.558373 21.428572,5.714286"
|
||||
transform="matrix(0.38288032,0.12642058,-0.13394556,0.40567065,69.500572,5.6999542)"
|
||||
sodipodi:start="3.1415927"
|
||||
sodipodi:end="6.2831853" />
|
||||
<path
|
||||
transform="matrix(0.4005261,0.13224692,-0.1401187,0.42436676,70.121957,7.5119224)"
|
||||
d="m -51.42857,-85.243561 c 0,6.50907 -22.225864,11.785714 -49.64286,11.785714 -27.41699,0 -49.64285,-5.276644 -49.64285,-11.785714 0,-6.50907 22.22586,-11.785714 49.64285,-11.785714 27.416996,0 49.64286,5.276644 49.64286,11.785714 z"
|
||||
sodipodi:ry="11.785714"
|
||||
sodipodi:rx="49.642857"
|
||||
sodipodi:cy="-85.243561"
|
||||
sodipodi:cx="-101.07143"
|
||||
id="path2993-8-3"
|
||||
style="opacity:0.98000003999999996;fill:none;stroke:#4e94f6;stroke-width:5.32037735000000020;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline"
|
||||
sodipodi:type="arc" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path2991-9-1"
|
||||
d="m 34.900006,-21.784401 13.505,-40.901556"
|
||||
style="fill:none;stroke:#4e94f6;stroke-width:2.30992769999999980;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
sodipodi:open="true"
|
||||
transform="matrix(0.38288032,0.12642058,-0.13394556,0.40567065,69.500571,5.699955)"
|
||||
d="m -81.428568,-85.6007 c 0,3.155913 -9.593898,5.714285 -21.428572,5.714285 -11.83467,0 -21.42857,-2.558372 -21.42857,-5.714285 0,0 0,-10e-7 0,-10e-7"
|
||||
sodipodi:ry="5.7142859"
|
||||
sodipodi:rx="21.428572"
|
||||
sodipodi:cy="-85.6007"
|
||||
sodipodi:cx="-102.85714"
|
||||
id="path2995-2-2"
|
||||
style="opacity:0.98000003999999996;fill:none;stroke:#4e94f6;stroke-width:5.56557703000000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:start="0"
|
||||
sodipodi:end="3.1415927" />
|
||||
<path
|
||||
transform="matrix(0.40303195,0.13307431,-0.1401187,0.42436676,70.613065,7.8421591)"
|
||||
d="m -81.42857,-85.6007 c 0,21.6969 -9.114203,39.285713 -20.35714,39.285713 -11.24294,0 -20.35715,-17.588813 -20.35715,-39.285713 0,-21.6969 9.11421,-39.28571 20.35715,-39.28571 11.242937,0 20.35714,17.58881 20.35714,39.28571 z"
|
||||
sodipodi:ry="39.285713"
|
||||
sodipodi:rx="20.357143"
|
||||
sodipodi:cy="-85.6007"
|
||||
sodipodi:cx="-101.78571"
|
||||
id="path2997-7-3"
|
||||
style="opacity:0.98000003999999996;fill:none;stroke:#4e94f6;stroke-width:5.30381202999999960;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
sodipodi:type="arc" />
|
||||
<path
|
||||
sodipodi:open="true"
|
||||
sodipodi:end="3.1415927"
|
||||
sodipodi:start="0"
|
||||
sodipodi:type="arc"
|
||||
style="opacity:0.98000003999999996;fill:none;stroke:#4e94f6;stroke-width:5.32037735000000020;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
id="path3791-9-3"
|
||||
sodipodi:cx="-101.07143"
|
||||
sodipodi:cy="-85.243561"
|
||||
sodipodi:rx="49.642857"
|
||||
sodipodi:ry="11.785714"
|
||||
d="m -51.42857,-85.243561 c 0,6.50907 -22.225864,11.785714 -49.64286,11.785714 -27.41699,0 -49.64285,-5.276644 -49.64285,-11.785714 0,0 0,0 0,0"
|
||||
transform="matrix(0.4005261,0.13224692,-0.1401187,0.42436676,70.121957,7.5119225)" />
|
||||
</g>
|
||||
<path
|
||||
inkscape:export-ydpi="122.68"
|
||||
inkscape:export-xdpi="122.68"
|
||||
inkscape:export-filename="C:\Documents and Settings\t12\My Documents\My Dropbox\graphicswork\openpilot.org\textplay.png"
|
||||
inkscape:transform-center-y="-3.0986891"
|
||||
style="fill:#4e94f6;fill-opacity:1;stroke:none;display:inline"
|
||||
d="m 211.45013,-36.318302 -3.1248,-1.76954 2.7441,-10.131079 -6.94336,-3.792624 -15.31831,6.502526 -21.12817,-5.590136 18.78561,12.727429 7.34855,17.594331 9.5215,3.120718 2.99251,-11.250239 2.95115,0.467429 2.17122,-7.878815 z"
|
||||
id="symbol-PositionHold"
|
||||
sodipodi:nodetypes="cccccccccccc"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:label="#path3565" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 69 KiB After Width: | Height: | Size: 50 KiB |
@ -14,7 +14,7 @@
|
||||
height="80.827866"
|
||||
id="svg10068"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.2 r9819"
|
||||
inkscape:version="0.48.3.1 r9886"
|
||||
sodipodi:docname="textonly.svg"
|
||||
inkscape:export-filename="H:\Documents\Hobbies\W433\My Gauges\vbat-001.png"
|
||||
inkscape:export-xdpi="103.61"
|
||||
@ -1012,50 +1012,6 @@
|
||||
id="linearGradient3561"
|
||||
xlink:href="#linearGradient3790-4-8"
|
||||
inkscape:collect="always" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3285-6-3-7"
|
||||
id="linearGradient4128-2-1"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(-313.07707,-140.80709)"
|
||||
x1="295.07001"
|
||||
y1="573.90204"
|
||||
x2="295.65781"
|
||||
y2="418.138" />
|
||||
<linearGradient
|
||||
id="linearGradient3285-6-3-7"
|
||||
inkscape:collect="always">
|
||||
<stop
|
||||
id="stop3287-9-8-4"
|
||||
offset="0"
|
||||
style="stop-color:#333333;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop3289-8-2-0"
|
||||
offset="1"
|
||||
style="stop-color:#000000;stop-opacity:0;" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3259-9-2-4"
|
||||
id="linearGradient4130-6-9"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(-313.07707,-140.80709)"
|
||||
x1="311.52808"
|
||||
y1="572.13867"
|
||||
x2="310.94031"
|
||||
y2="526.29114" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient3259-9-2-4">
|
||||
<stop
|
||||
style="stop-color:#000000;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3261-8-7-8" />
|
||||
<stop
|
||||
style="stop-color:#000000;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop3263-3-5-8" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
y2="506.89417"
|
||||
x2="300.36011"
|
||||
@ -1079,15 +1035,104 @@
|
||||
id="stop3794-2-7-5" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
y2="506.89417"
|
||||
x2="300.36011"
|
||||
y1="368.20679"
|
||||
x1="298.43829"
|
||||
gradientTransform="translate(-313.07707,-140.80709)"
|
||||
id="linearGradient3755">
|
||||
<stop
|
||||
style="stop-color:#232323;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3757" />
|
||||
<stop
|
||||
style="stop-color:#555555;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop3759" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
y2="529.75507"
|
||||
x2="394.48703"
|
||||
y1="832.61218"
|
||||
x1="393.51294"
|
||||
gradientTransform="matrix(0.31025181,0,0,0.29604738,51.62655,372.04954)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient3489"
|
||||
xlink:href="#linearGradient3790-4-8-4"
|
||||
id="linearGradient4183"
|
||||
xlink:href="#linearGradient3755-1"
|
||||
inkscape:collect="always" />
|
||||
<linearGradient
|
||||
id="linearGradient3755-1">
|
||||
<stop
|
||||
style="stop-color:#1e1e1e;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3757-3" />
|
||||
<stop
|
||||
style="stop-color:#4d4d4d;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop3759-6" />
|
||||
</linearGradient>
|
||||
<filter
|
||||
id="filter3777-0"
|
||||
inkscape:label="filter3777"
|
||||
inkscape:menu="Shadows and Glows"
|
||||
inkscape:menu-tooltip="Adds a colorizable drop shadow inside"
|
||||
color-interpolation-filters="sRGB">
|
||||
<feGaussianBlur
|
||||
id="feGaussianBlur3779-4"
|
||||
stdDeviation="0.01"
|
||||
result="result8" />
|
||||
<feOffset
|
||||
id="feOffset3781-3"
|
||||
dx="0"
|
||||
dy="2"
|
||||
result="result11" />
|
||||
<feComposite
|
||||
id="feComposite3783-8"
|
||||
in2="result11"
|
||||
result="result6"
|
||||
in="SourceGraphic"
|
||||
operator="in" />
|
||||
<feFlood
|
||||
id="feFlood3785-2"
|
||||
result="result10"
|
||||
in="result6"
|
||||
flood-opacity="1"
|
||||
flood-color="rgb(160,155,155)" />
|
||||
<feBlend
|
||||
id="feBlend3787-0"
|
||||
in2="result10"
|
||||
mode="normal"
|
||||
in="result6"
|
||||
result="result12" />
|
||||
<feComposite
|
||||
id="feComposite3789-6"
|
||||
in2="SourceGraphic"
|
||||
result="result2"
|
||||
operator="in" />
|
||||
</filter>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3755"
|
||||
id="linearGradient3207"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.25148615,0,0,0.25704058,112.31188,56.646157)"
|
||||
x1="393.51294"
|
||||
y1="832.61218"
|
||||
x2="394.48703"
|
||||
y2="529.75507" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3755-1"
|
||||
id="linearGradient3209"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.31025181,0,0,0.29604738,51.62655,372.04954)"
|
||||
x1="393.51294"
|
||||
y1="832.61218"
|
||||
x2="394.48703"
|
||||
y2="529.75507" />
|
||||
<filter
|
||||
inkscape:collect="always"
|
||||
id="filter4045">
|
||||
<feGaussianBlur
|
||||
inkscape:collect="always"
|
||||
stdDeviation="0.45575892"
|
||||
id="feGaussianBlur4047" />
|
||||
</filter>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
@ -1097,15 +1142,15 @@
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1.979899"
|
||||
inkscape:cx="56.191298"
|
||||
inkscape:cy="90.710362"
|
||||
inkscape:cx="127.43811"
|
||||
inkscape:cy="37.438784"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="g4122"
|
||||
inkscape:current-layer="g2932"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1600"
|
||||
inkscape:window-height="823"
|
||||
inkscape:window-x="-9"
|
||||
inkscape:window-y="-9"
|
||||
inkscape:window-width="1440"
|
||||
inkscape:window-height="838"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:object-paths="true"
|
||||
showguides="true"
|
||||
@ -1136,54 +1181,16 @@
|
||||
id="g2932"
|
||||
inkscape:groupmode="layer"
|
||||
transform="translate(-205.8687,-331.45166)">
|
||||
<g
|
||||
<rect
|
||||
style="fill:url(#linearGradient3209);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;filter:url(#filter4045)"
|
||||
width="280.11307"
|
||||
height="91.499794"
|
||||
x="79.017357"
|
||||
y="528.80811"
|
||||
ry="10.434186"
|
||||
id="background"
|
||||
inkscape:label="#g8543">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="30"
|
||||
y="37.256439"
|
||||
id="text2985"
|
||||
transform="translate(205.8687,331.45166)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2987"
|
||||
x="30"
|
||||
y="37.256439" /></text>
|
||||
<g
|
||||
style="display:inline"
|
||||
id="g4122"
|
||||
transform="matrix(0.78843192,0,0,0.71508023,322.16663,104.29215)">
|
||||
<g
|
||||
style="display:inline"
|
||||
id="g4122-1"
|
||||
transform="matrix(1.0055464,0,0,1.0121203,0.63869144,-5.2612169)">
|
||||
<rect
|
||||
ry="17.712246"
|
||||
y="319.06393"
|
||||
x="-147.32065"
|
||||
height="111.67988"
|
||||
width="289.19211"
|
||||
id="rect2985"
|
||||
style="fill:url(#linearGradient4128-2-1);fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="rect3814"
|
||||
d="m -130.38957,321.09916 c -10.40328,0.13552 -16.79656,11.11379 -14.9375,20.75 0.24853,24.79185 -0.48485,49.65785 0.34375,74.40625 1.69659,9.71009 12.36903,14.16124 21.4375,12.5 83.37176,-0.12573 166.769249,0.25097 250.125,-0.1875 9.57786,-1.24954 15.0045,-11.39003 13.28125,-20.53125 -0.32065,-25.06939 0.63636,-50.246 -0.46875,-75.25 -1.99885,-8.70345 -11.6919,-13.22175 -20.28125,-11.71875 -83.166451,0.0209 -166.33459,-0.0417 -249.5,0.0312 z"
|
||||
style="fill:#1a1a1a;fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="rect3755"
|
||||
d="m -130.38957,321.09916 c -10.40328,0.13552 -16.79656,11.11379 -14.9375,20.75 0.24853,24.79185 -0.48485,49.65785 0.34375,74.40625 1.69659,9.71009 12.36903,14.16124 21.4375,12.5 83.37176,-0.12573 166.769248,0.25097 250.125,-0.1875 9.57786,-1.24954 15.0045,-11.39003 13.28125,-20.53125 -0.32065,-25.06939 0.63636,-50.246 -0.46875,-75.25 -1.99885,-8.70345 -11.6919,-13.22175 -20.28125,-11.71875 -83.166452,0.0209 -166.33459,-0.0417 -249.5,0.0312 z"
|
||||
style="fill:url(#linearGradient4130-6-9);fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="rect3781"
|
||||
d="m -129.60832,319.06791 c -9.81258,0 -17.71875,7.90617 -17.71875,17.71875 l 0,7.46875 c 21.91332,13.37842 82.3034,23 153.4062474,23 56.8274986,0 106.8063826,-6.14199 135.7812526,-15.4375 l 0,-15.03125 c 0,-9.81258 -7.87492,-17.71875 -17.6875,-17.71875 l -253.78125,0 z"
|
||||
style="fill:url(#linearGradient3489);fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
transform="matrix(0.81679353,0,0,0.88235114,141.83541,-134.83594)"
|
||||
inkscape:label="#rect2985-5" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 37 KiB |
@ -1,6 +1,5 @@
|
||||
import Qt 4.7
|
||||
import "."
|
||||
import org.OpenPilot 1.0
|
||||
|
||||
Rectangle {
|
||||
color: "#666666"
|
||||
@ -22,46 +21,10 @@ Rectangle {
|
||||
anchors.centerIn: parent
|
||||
clip: true
|
||||
|
||||
OsgEarth {
|
||||
id: earthView
|
||||
|
||||
Loader {
|
||||
id: worldLoader
|
||||
anchors.fill: parent
|
||||
sceneFile: qmlWidget.earthFile
|
||||
visible: qmlWidget.terrainEnabled
|
||||
|
||||
fieldOfView: 90
|
||||
|
||||
yaw: AttitudeActual.Yaw
|
||||
pitch: AttitudeActual.Pitch
|
||||
roll: AttitudeActual.Roll
|
||||
|
||||
latitude: qmlWidget.actualPositionUsed ?
|
||||
GPSPosition.Latitude/10000000.0 : qmlWidget.latitude
|
||||
longitude: qmlWidget.actualPositionUsed ?
|
||||
GPSPosition.Longitude/10000000.0 : qmlWidget.longitude
|
||||
altitude: qmlWidget.actualPositionUsed ?
|
||||
GPSPosition.Altitude : qmlWidget.altitude
|
||||
}
|
||||
|
||||
Image {
|
||||
id: world
|
||||
source: "image://svg/pfd.svg!world"
|
||||
sourceSize: background.sourceSize
|
||||
smooth: true
|
||||
visible: !qmlWidget.terrainEnabled
|
||||
|
||||
transform: [
|
||||
Translate {
|
||||
id: pitchTranslate
|
||||
x: (world.parent.width - world.width)/2
|
||||
y: (world.parent.height - world.height)/2 + AttitudeActual.Pitch*world.parent.height/94
|
||||
},
|
||||
Rotation {
|
||||
angle: -AttitudeActual.Roll
|
||||
origin.x : world.parent.width/2
|
||||
origin.y : world.parent.height/2
|
||||
}
|
||||
]
|
||||
source: qmlWidget.terrainEnabled ? "PfdTerrainView.qml" : "PfdWorldView.qml"
|
||||
}
|
||||
|
||||
Image {
|
||||
@ -69,9 +32,13 @@ Rectangle {
|
||||
source: "image://svg/pfd.svg!rollscale"
|
||||
sourceSize: background.sourceSize
|
||||
smooth: true
|
||||
|
||||
transformOrigin: Item.Center
|
||||
rotation: -AttitudeActual.Roll
|
||||
anchors.centerIn: parent
|
||||
//rotate it around the center of scene
|
||||
transform: Rotation {
|
||||
angle: -AttitudeActual.Roll
|
||||
origin.x : sceneItem.width/2 - x
|
||||
origin.y : sceneItem.height/2 - y
|
||||
}
|
||||
}
|
||||
|
||||
Image {
|
||||
|
@ -0,0 +1,20 @@
|
||||
import Qt 4.7
|
||||
import org.OpenPilot 1.0
|
||||
|
||||
OsgEarth {
|
||||
id: earthView
|
||||
|
||||
sceneFile: qmlWidget.earthFile
|
||||
fieldOfView: 90
|
||||
|
||||
yaw: AttitudeActual.Yaw
|
||||
pitch: AttitudeActual.Pitch
|
||||
roll: AttitudeActual.Roll
|
||||
|
||||
latitude: qmlWidget.actualPositionUsed ?
|
||||
GPSPosition.Latitude/10000000.0 : qmlWidget.latitude
|
||||
longitude: qmlWidget.actualPositionUsed ?
|
||||
GPSPosition.Longitude/10000000.0 : qmlWidget.longitude
|
||||
altitude: qmlWidget.actualPositionUsed ?
|
||||
GPSPosition.Altitude : qmlWidget.altitude
|
||||
}
|
@ -0,0 +1,29 @@
|
||||
import Qt 4.7
|
||||
|
||||
Item {
|
||||
//worldView should fill the source size of svg document
|
||||
id: worldView
|
||||
|
||||
Image {
|
||||
id: world
|
||||
source: "image://svg/pfd.svg!world"
|
||||
|
||||
sourceSize.width: worldView.width
|
||||
sourceSize.height: worldView.height
|
||||
|
||||
smooth: true
|
||||
|
||||
transform: [
|
||||
Translate {
|
||||
id: pitchTranslate
|
||||
x: (world.parent.width - world.width)/2
|
||||
y: (world.parent.height - world.height)/2 + AttitudeActual.Pitch*world.parent.height/94
|
||||
},
|
||||
Rotation {
|
||||
angle: -AttitudeActual.Roll
|
||||
origin.x : world.parent.width/2
|
||||
origin.y : world.parent.height/2
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
@ -14,7 +14,7 @@
|
||||
height="707.56323"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.1 "
|
||||
inkscape:version="0.48.3.1 r9886"
|
||||
sodipodi:docname="pfd.svg"
|
||||
style="display:inline"
|
||||
inkscape:export-filename="H:\Documents\Hobbies\OpenPilot\SVN\artwork\PFD-2.png"
|
||||
@ -1616,13 +1616,13 @@
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.73067675"
|
||||
inkscape:cx="305.98471"
|
||||
inkscape:cx="431.15187"
|
||||
inkscape:cy="372.16908"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer3"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1366"
|
||||
inkscape:window-height="706"
|
||||
inkscape:window-width="1440"
|
||||
inkscape:window-height="838"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
@ -1715,7 +1715,7 @@
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(230.4171,-254.91153)"
|
||||
style="display:inline"
|
||||
style="display:none"
|
||||
sodipodi:insensitive="true">
|
||||
<g
|
||||
id="world"
|
||||
@ -2097,13 +2097,13 @@
|
||||
id="speed-bg"
|
||||
width="110.05586"
|
||||
height="450"
|
||||
x="-147.23766"
|
||||
x="-209.23766"
|
||||
y="131.33096" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:label="#rect6927"
|
||||
style="fill:#000000;fill-opacity:0.78431373;stroke:#ffffff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline"
|
||||
d="m -146.39854,337.78541 78.912168,0 0,9.3094 10.606602,9.3094 -10.606602,9.3094 0.08512,9.3094 -78.997288,0 0,-37.2376 z"
|
||||
d="m -208.39854,337.78541 78.91217,0 0,9.3094 10.6066,9.3094 -10.6066,9.3094 0.0851,9.3094 -78.99729,0 0,-37.2376 z"
|
||||
id="speed-window"
|
||||
sodipodi:nodetypes="cccccccc" />
|
||||
<g
|
||||
|
Before Width: | Height: | Size: 320 KiB After Width: | Height: | Size: 320 KiB |
@ -262,7 +262,9 @@ int main(int argc, char **argv)
|
||||
rl.rlim_cur = rl.rlim_max;
|
||||
setrlimit(RLIMIT_NOFILE, &rl);
|
||||
#endif
|
||||
|
||||
#ifdef Q_OS_LINUX
|
||||
QApplication::setAttribute(Qt::AA_X11InitThreads, true);
|
||||
#endif
|
||||
QApplication::setGraphicsSystem("raster");
|
||||
|
||||
SharedTools::QtSingleApplication app((QLatin1String(appNameC)), argc, argv);
|
||||
|
@ -0,0 +1 @@
|
||||
MyListWidget {font-size: 11px;}
|
@ -0,0 +1 @@
|
||||
MyListWidget {font-size: 11px;}
|
@ -0,0 +1 @@
|
||||
MyListWidget {font-size: 11px;}
|
@ -79,7 +79,9 @@ void MyTabbedStackWidget::insertTab(const int index, QWidget *tab, const QIcon &
|
||||
|
||||
void MyTabbedStackWidget::removeTab(int index)
|
||||
{
|
||||
m_stackWidget->removeWidget(m_stackWidget->widget(index));
|
||||
QWidget * wid=m_stackWidget->widget(index);
|
||||
m_stackWidget->removeWidget(wid);
|
||||
delete wid;
|
||||
QListWidgetItem *item = m_listWidget->item(index);
|
||||
m_listWidget->removeItemWidget(item);
|
||||
delete item;
|
||||
|
@ -158,7 +158,7 @@ namespace Utils {
|
||||
{
|
||||
double Lat = LLA[0];
|
||||
double Lon = LLA[1];
|
||||
double AltEllipsoid = LLA[2];
|
||||
double AltEllipsoid = LLA[2]/1000.0; // convert to km
|
||||
|
||||
// ***********
|
||||
// range check supplied params
|
||||
|
@ -6,14 +6,14 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>833</width>
|
||||
<height>852</height>
|
||||
<width>862</width>
|
||||
<height>598</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_12">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_10">
|
||||
<item>
|
||||
<widget class="QTabWidget" name="tabWidget">
|
||||
<property name="currentIndex">
|
||||
@ -24,9 +24,18 @@
|
||||
<string>Mixer Settings</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2" stretch="0">
|
||||
<property name="margin">
|
||||
<property name="leftMargin">
|
||||
<number>12</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>12</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QScrollArea" name="scrollArea">
|
||||
<property name="sizePolicy">
|
||||
@ -119,12 +128,18 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>779</width>
|
||||
<height>691</height>
|
||||
<width>808</width>
|
||||
<height>491</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="0" column="0">
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<property name="spacing">
|
||||
<number>12</number>
|
||||
</property>
|
||||
<property name="margin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<property name="sizeConstraint">
|
||||
<enum>QLayout::SetFixedSize</enum>
|
||||
@ -173,20 +188,30 @@
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<item>
|
||||
<widget class="Line" name="line">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QStackedWidget" name="airframesWidget">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>775</width>
|
||||
<width>16777215</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>1</number>
|
||||
</property>
|
||||
@ -671,759 +696,748 @@ margin:1px;</string>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="multiRotor">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4" stretch="1">
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_8" stretch="0,0,0">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_7" stretch="0,0">
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_24">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_5">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_15">
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Frame type:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="multirotorFrameType">
|
||||
<property name="toolTip">
|
||||
<string>Select the Multirotor frame type here.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_5">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_22">
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_20">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_25">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Mix Level</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_17">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_19">
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_22">
|
||||
<item>
|
||||
<widget class="QLabel" name="mrRollMixValue">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>30</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>100</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSlider" name="mrRollMixLevel">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>35</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Weight of Roll mixing in percent.
|
||||
Typical values are 100% for + configuration and 50% for X configuration on quads.</string>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_42">
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
|
||||
color: rgb(255, 255, 255);
|
||||
border-radius: 5;
|
||||
font: bold 12px;
|
||||
margin:1px;</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Roll</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_23">
|
||||
<item>
|
||||
<widget class="QLabel" name="mrPitchMixValue">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>100</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSlider" name="mrPitchMixLevel">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>35</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Weight of Pitch mixing in percent.
|
||||
Typical values are 100% for + configuration and 50% for X configuration on quads.</string>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_40">
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
|
||||
color: rgb(255, 255, 255);
|
||||
border-radius: 5;
|
||||
font: bold 12px;
|
||||
margin:1px;</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Pitch</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_21">
|
||||
<item>
|
||||
<widget class="QLabel" name="mrYawMixValue">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>50</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSlider" name="mrYawMixLevel">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Weight of Yaw mixing in percent.
|
||||
Typical value is 50% for + or X configuration on quads.</string>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<number>-100</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>50</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="autoFillBackground">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
|
||||
color: rgb(255, 255, 255);
|
||||
border-radius: 5;
|
||||
font: bold 12px;
|
||||
margin:1px;</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Yaw</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGraphicsView" name="quadShape">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>80</width>
|
||||
<height>80</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background:transparent</string>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Plain</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_6">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Maximum" vsizetype="Maximum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>300</width>
|
||||
<height>300</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Throttle Curve</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_9">
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="0" column="0">
|
||||
<widget class="QGroupBox" name="groupBox_10">
|
||||
<property name="title">
|
||||
<string>Frame Type</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_8" stretch="0,0,1,0">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_7">
|
||||
<property name="sizeConstraint">
|
||||
<enum>QLayout::SetFixedSize</enum>
|
||||
</property>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>13</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="multirotorFrameType">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Minimum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>45</width>
|
||||
<height>25</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>25</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Select the Multirotor frame type here.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_5">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>13</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_6">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>8</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGraphicsView" name="quadShape">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>120</width>
|
||||
<height>120</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background:transparent</string>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Plain</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_7">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>8</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QGroupBox" name="groupBox_9">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>250</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Mix Level</string>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_5">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_19">
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_22">
|
||||
<item>
|
||||
<widget class="MixerCurve" name="multiThrottleCurve" native="true">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
<widget class="QLabel" name="mrRollMixValue">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>30</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>100</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSlider" name="mrRollMixLevel">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>35</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Weight of Roll mixing in percent.
|
||||
Typical values are 100% for + configuration and 50% for X configuration on quads.</string>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_42">
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
|
||||
color: rgb(255, 255, 255);
|
||||
border-radius: 5;
|
||||
font: bold 12px;
|
||||
margin:1px;</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Roll</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_23">
|
||||
<item>
|
||||
<widget class="QLabel" name="mrPitchMixValue">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="sizeIncrement">
|
||||
<property name="text">
|
||||
<string>100</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSlider" name="mrPitchMixLevel">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>10</width>
|
||||
<height>10</height>
|
||||
<width>35</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="baseSize">
|
||||
<size>
|
||||
<width>300</width>
|
||||
<height>350</height>
|
||||
</size>
|
||||
<property name="toolTip">
|
||||
<string>Weight of Pitch mixing in percent.
|
||||
Typical values are 100% for + configuration and 50% for X configuration on quads.</string>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_40">
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background:transparent</string>
|
||||
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
|
||||
color: rgb(255, 255, 255);
|
||||
border-radius: 5;
|
||||
font: bold 12px;
|
||||
margin:1px;</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Pitch</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_6" stretch="1,0,3">
|
||||
<property name="spacing">
|
||||
<number>10</number>
|
||||
</property>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_10">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_26">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_23">
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Tricopter Yaw</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_18">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Preferred</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
|
||||
color: rgb(255, 255, 255);
|
||||
border-radius: 5;
|
||||
font: bold 12px;
|
||||
margin:1px;</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>channel:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="triYawChannelBox">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_4">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_9">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>10</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="title">
|
||||
<string>Motor output channels</string>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_10">
|
||||
<property name="spacing">
|
||||
<number>1</number>
|
||||
</property>
|
||||
<property name="margin">
|
||||
<number>1</number>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_21">
|
||||
<item>
|
||||
<layout class="QFormLayout" name="formLayout_2">
|
||||
<property name="sizeConstraint">
|
||||
<enum>QLayout::SetMaximumSize</enum>
|
||||
<widget class="QLabel" name="mrYawMixValue">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="fieldGrowthPolicy">
|
||||
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
|
||||
<property name="text">
|
||||
<string>50</string>
|
||||
</property>
|
||||
<property name="verticalSpacing">
|
||||
<number>3</number>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="MotorOutputLabel1">
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
|
||||
color: rgb(255, 255, 255);
|
||||
border-radius: 5;
|
||||
font: bold 12px;
|
||||
margin:1px;</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>1</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QComboBox" name="multiMotorChannelBox1">
|
||||
<property name="toolTip">
|
||||
<string>Assign your motor output channels using the drawing above as a reference. Respect propeller rotation.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_8">
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
|
||||
color: rgb(255, 255, 255);
|
||||
border-radius: 5;
|
||||
font: bold 12px;
|
||||
margin:1px;</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>2</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QComboBox" name="multiMotorChannelBox2">
|
||||
<property name="toolTip">
|
||||
<string>Assign your motor output channels using the drawing above as a reference. Respect propeller rotation.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_9">
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
|
||||
color: rgb(255, 255, 255);
|
||||
border-radius: 5;
|
||||
font: bold 12px;
|
||||
margin:1px;</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>3</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QComboBox" name="multiMotorChannelBox3">
|
||||
<property name="toolTip">
|
||||
<string>Assign your motor output channels using the drawing above as a reference. Respect propeller rotation.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="label_10">
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
|
||||
color: rgb(255, 255, 255);
|
||||
border-radius: 5;
|
||||
font: bold 12px;
|
||||
margin:1px;</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>4</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QComboBox" name="multiMotorChannelBox4">
|
||||
<property name="toolTip">
|
||||
<string>Assign your motor output channels using the drawing above as a reference. Respect propeller rotation.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<spacer name="verticalSpacer_8">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QFormLayout" name="formLayout_4">
|
||||
<property name="sizeConstraint">
|
||||
<enum>QLayout::SetMaximumSize</enum>
|
||||
<widget class="QSlider" name="mrYawMixLevel">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="fieldGrowthPolicy">
|
||||
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
|
||||
<property name="toolTip">
|
||||
<string>Weight of Yaw mixing in percent.
|
||||
Typical value is 50% for + or X configuration on quads.</string>
|
||||
</property>
|
||||
<property name="verticalSpacing">
|
||||
<number>3</number>
|
||||
<property name="minimum">
|
||||
<number>-100</number>
|
||||
</property>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_11">
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
|
||||
<property name="maximum">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>50</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="autoFillBackground">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
|
||||
color: rgb(255, 255, 255);
|
||||
border-radius: 5;
|
||||
font: bold 12px;
|
||||
margin:1px;</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>5</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QComboBox" name="multiMotorChannelBox5">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Assign your motor output channels using the drawing above as a reference. Respect propeller rotation.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_12">
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
|
||||
color: rgb(255, 255, 255);
|
||||
border-radius: 5;
|
||||
font: bold 12px;
|
||||
margin:1px;</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>6</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QComboBox" name="multiMotorChannelBox6">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Assign your motor output channels using the drawing above as a reference. Respect propeller rotation.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_16">
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
|
||||
color: rgb(255, 255, 255);
|
||||
border-radius: 5;
|
||||
font: bold 12px;
|
||||
margin:1px;</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>7</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QComboBox" name="multiMotorChannelBox7">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Assign your motor output channels using the drawing above as a reference. Respect propeller rotation.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="label_17">
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
|
||||
color: rgb(255, 255, 255);
|
||||
border-radius: 5;
|
||||
font: bold 12px;
|
||||
margin:1px;</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>8</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QComboBox" name="multiMotorChannelBox8">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Assign your motor output channels using the drawing above as a reference. Respect propeller rotation.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<spacer name="verticalSpacer_9">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Yaw</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<widget class="QGroupBox" name="groupBox_6">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>300</width>
|
||||
<height>300</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Throttle Curve</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_9">
|
||||
<item>
|
||||
<widget class="MixerCurve" name="multiThrottleCurve" native="true">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="sizeIncrement">
|
||||
<size>
|
||||
<width>10</width>
|
||||
<height>10</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="baseSize">
|
||||
<size>
|
||||
<width>300</width>
|
||||
<height>350</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background:transparent</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>124</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Motor output channels</string>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_10">
|
||||
<property name="spacing">
|
||||
<number>4</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>1</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>1</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>1</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<item>
|
||||
<layout class="QFormLayout" name="formLayout_2">
|
||||
<property name="sizeConstraint">
|
||||
<enum>QLayout::SetMaximumSize</enum>
|
||||
</property>
|
||||
<property name="fieldGrowthPolicy">
|
||||
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
|
||||
</property>
|
||||
<property name="verticalSpacing">
|
||||
<number>3</number>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="MotorOutputLabel1">
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
|
||||
color: rgb(255, 255, 255);
|
||||
border-radius: 5;
|
||||
font: bold 12px;
|
||||
margin:1px;</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>1</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QComboBox" name="multiMotorChannelBox1">
|
||||
<property name="toolTip">
|
||||
<string>Assign your motor output channels using the drawing above as a reference. Respect propeller rotation.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_8">
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
|
||||
color: rgb(255, 255, 255);
|
||||
border-radius: 5;
|
||||
font: bold 12px;
|
||||
margin:1px;</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>2</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QComboBox" name="multiMotorChannelBox2">
|
||||
<property name="toolTip">
|
||||
<string>Assign your motor output channels using the drawing above as a reference. Respect propeller rotation.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_9">
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
|
||||
color: rgb(255, 255, 255);
|
||||
border-radius: 5;
|
||||
font: bold 12px;
|
||||
margin:1px;</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>3</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QComboBox" name="multiMotorChannelBox3">
|
||||
<property name="toolTip">
|
||||
<string>Assign your motor output channels using the drawing above as a reference. Respect propeller rotation.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_10">
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
|
||||
color: rgb(255, 255, 255);
|
||||
border-radius: 5;
|
||||
font: bold 12px;
|
||||
margin:1px;</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>4</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QComboBox" name="multiMotorChannelBox4">
|
||||
<property name="toolTip">
|
||||
<string>Assign your motor output channels using the drawing above as a reference. Respect propeller rotation.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QFormLayout" name="formLayout_4">
|
||||
<property name="sizeConstraint">
|
||||
<enum>QLayout::SetMaximumSize</enum>
|
||||
</property>
|
||||
<property name="fieldGrowthPolicy">
|
||||
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
|
||||
</property>
|
||||
<property name="verticalSpacing">
|
||||
<number>3</number>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_11">
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
|
||||
color: rgb(255, 255, 255);
|
||||
border-radius: 5;
|
||||
font: bold 12px;
|
||||
margin:1px;</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>5</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QComboBox" name="multiMotorChannelBox5">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Assign your motor output channels using the drawing above as a reference. Respect propeller rotation.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_12">
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
|
||||
color: rgb(255, 255, 255);
|
||||
border-radius: 5;
|
||||
font: bold 12px;
|
||||
margin:1px;</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>6</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QComboBox" name="multiMotorChannelBox6">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Assign your motor output channels using the drawing above as a reference. Respect propeller rotation.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_16">
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
|
||||
color: rgb(255, 255, 255);
|
||||
border-radius: 5;
|
||||
font: bold 12px;
|
||||
margin:1px;</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>7</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QComboBox" name="multiMotorChannelBox7">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Assign your motor output channels using the drawing above as a reference. Respect propeller rotation.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_17">
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
|
||||
color: rgb(255, 255, 255);
|
||||
border-radius: 5;
|
||||
font: bold 12px;
|
||||
margin:1px;</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>8</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QComboBox" name="multiMotorChannelBox8">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Assign your motor output channels using the drawing above as a reference. Respect propeller rotation.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QGroupBox" name="groupBox_11">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>124</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>250</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Tricopter Yaw</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
|
||||
color: rgb(255, 255, 255);
|
||||
border-radius: 5;
|
||||
font: bold 12px;
|
||||
margin:1px;</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>channel:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="triYawChannelBox">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_4">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_6">
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_6">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_20">
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_12">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Expanding</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="mrStatusLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Mixer OK</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
<widget class="QLabel" name="mrStatusLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Mixer OK</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
@ -2625,42 +2639,6 @@ margin:1px;</string>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="Line" name="line">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<spacer name="horizontalSpacer_6">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Expanding</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
@ -2755,8 +2733,8 @@ margin:1px;</string>
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>247</width>
|
||||
<height>301</height>
|
||||
<width>902</width>
|
||||
<height>595</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_18">
|
||||
@ -3101,90 +3079,98 @@ p, li { white-space: pre-wrap; }
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>75</height>
|
||||
<height>45</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>45</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string/>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<property name="spacing">
|
||||
<number>4</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>12</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<property name="spacing">
|
||||
<number>4</number>
|
||||
<spacer name="horizontalSpacer_10">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeConstraint">
|
||||
<enum>QLayout::SetFixedSize</enum>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>607</width>
|
||||
<height>13</height>
|
||||
</size>
|
||||
</property>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_10">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>10</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="airframeHelp">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>32</width>
|
||||
<height>32</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Takes you to the wiki page</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../coreplugin/core.qrc">
|
||||
<normaloff>:/core/images/helpicon.svg</normaloff>:/core/images/helpicon.svg</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>32</width>
|
||||
<height>32</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="saveAircraftToRAM">
|
||||
<property name="toolTip">
|
||||
<string>Send to board, but don't save permanently (flash or SD).</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Apply</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="saveAircraftToSD">
|
||||
<property name="toolTip">
|
||||
<string>Applies and Saves all settings to flash or SD depending on board.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Save</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="airframeHelp">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>25</width>
|
||||
<height>26</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Takes you to the wiki page</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../coreplugin/core.qrc">
|
||||
<normaloff>:/core/images/helpicon.svg</normaloff>:/core/images/helpicon.svg</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>25</width>
|
||||
<height>25</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="saveAircraftToRAM">
|
||||
<property name="toolTip">
|
||||
<string>Send to board, but don't save permanently (flash or SD).</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Apply</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="saveAircraftToSD">
|
||||
<property name="toolTip">
|
||||
<string>Applies and Saves all settings to flash or SD depending on board.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Save</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
|
@ -10,13 +10,16 @@
|
||||
<height>845</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="contextMenuPolicy">
|
||||
<enum>Qt::DefaultContextMenu</enum>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<property name="autoFillBackground">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_6">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_6" stretch="0,0,0">
|
||||
<property name="spacing">
|
||||
<number>12</number>
|
||||
</property>
|
||||
@ -131,8 +134,8 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>792</width>
|
||||
<height>677</height>
|
||||
<width>790</width>
|
||||
<height>678</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="autoFillBackground">
|
||||
@ -918,136 +921,159 @@ value.</string>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<property name="spacing">
|
||||
<number>4</number>
|
||||
<widget class="QGroupBox" name="groupBox_2">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>425</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="camerastabilizationHelp">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>32</width>
|
||||
<height>32</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<kerning>true</kerning>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../coreplugin/core.qrc">
|
||||
<normaloff>:/core/images/helpicon.svg</normaloff>:/core/images/helpicon.svg</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>32</width>
|
||||
<height>32</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string>Ctrl+S</string>
|
||||
</property>
|
||||
<property name="default">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>button:help</string>
|
||||
<string>url:http://wiki.openpilot.org/x/cACrAQ</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="camerastabilizationResetToDefaults">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>140</width>
|
||||
<height>28</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Load default CameraStabilization settings except output channels
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>45</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string/>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<property name="spacing">
|
||||
<number>4</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>456</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="camerastabilizationHelp">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>32</width>
|
||||
<height>26</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<kerning>true</kerning>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../coreplugin/core.qrc">
|
||||
<normaloff>:/core/images/helpicon.svg</normaloff>:/core/images/helpicon.svg</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>25</width>
|
||||
<height>25</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string>Ctrl+S</string>
|
||||
</property>
|
||||
<property name="default">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>button:help</string>
|
||||
<string>url:http://wiki.openpilot.org/x/cACrAQ</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="camerastabilizationResetToDefaults">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>140</width>
|
||||
<height>16</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Load default CameraStabilization settings except output channels
|
||||
|
||||
Loaded settings are not applied automatically. You have to click the
|
||||
Apply or Save button afterwards.</string>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Reset To Defaults</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="camerastabilizationSaveRAM">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>78</width>
|
||||
<height>28</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Send settings to the board but do not save to the non-volatile memory</string>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Apply</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="camerastabilizationSaveSD">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>71</width>
|
||||
<height>28</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Send settings to the board and save to the non-volatile memory</string>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Save</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Reset To Defaults</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="camerastabilizationSaveRAM">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>78</width>
|
||||
<height>16</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Send settings to the board but do not save to the non-volatile memory</string>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Apply</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="camerastabilizationSaveSD">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>71</width>
|
||||
<height>16</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Send settings to the board and save to the non-volatile memory</string>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Save</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
|
@ -6,8 +6,8 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>592</width>
|
||||
<height>763</height>
|
||||
<width>588</width>
|
||||
<height>746</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
@ -107,8 +107,8 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>562</width>
|
||||
<height>567</height>
|
||||
<width>558</width>
|
||||
<height>580</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
@ -385,7 +385,7 @@
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
@ -393,174 +393,182 @@
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>75</height>
|
||||
<height>45</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>45</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string/>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<property name="spacing">
|
||||
<number>4</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<property name="spacing">
|
||||
<number>4</number>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="cchwHelp">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>32</width>
|
||||
<height>32</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>32</width>
|
||||
<height>32</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Takes you to the wiki page</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../coreplugin/core.qrc">
|
||||
<normaloff>:/core/images/helpicon.svg</normaloff>:/core/images/helpicon.svg</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>32</width>
|
||||
<height>32</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="saveTelemetryToRAM">
|
||||
<property name="palette">
|
||||
<palette>
|
||||
<active>
|
||||
<colorrole role="Base">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="0">
|
||||
<red>255</red>
|
||||
<green>255</green>
|
||||
<blue>255</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Window">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>232</red>
|
||||
<green>232</green>
|
||||
<blue>232</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
</active>
|
||||
<inactive>
|
||||
<colorrole role="Base">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="0">
|
||||
<red>255</red>
|
||||
<green>255</green>
|
||||
<blue>255</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Window">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>232</red>
|
||||
<green>232</green>
|
||||
<blue>232</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
</inactive>
|
||||
<disabled>
|
||||
<colorrole role="Base">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>232</red>
|
||||
<green>232</green>
|
||||
<blue>232</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Window">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>232</red>
|
||||
<green>232</green>
|
||||
<blue>232</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
</disabled>
|
||||
</palette>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Send to OpenPilot but don't write in SD.
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>369</width>
|
||||
<height>16</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="cchwHelp">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>25</width>
|
||||
<height>26</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>25</width>
|
||||
<height>26</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Takes you to the wiki page</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../coreplugin/core.qrc">
|
||||
<normaloff>:/core/images/helpicon.svg</normaloff>:/core/images/helpicon.svg</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>25</width>
|
||||
<height>25</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="saveTelemetryToRAM">
|
||||
<property name="palette">
|
||||
<palette>
|
||||
<active>
|
||||
<colorrole role="Base">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="0">
|
||||
<red>255</red>
|
||||
<green>255</green>
|
||||
<blue>255</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Window">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>232</red>
|
||||
<green>232</green>
|
||||
<blue>232</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
</active>
|
||||
<inactive>
|
||||
<colorrole role="Base">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="0">
|
||||
<red>255</red>
|
||||
<green>255</green>
|
||||
<blue>255</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Window">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>232</red>
|
||||
<green>232</green>
|
||||
<blue>232</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
</inactive>
|
||||
<disabled>
|
||||
<colorrole role="Base">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>232</red>
|
||||
<green>232</green>
|
||||
<blue>232</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="Window">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>232</red>
|
||||
<green>232</green>
|
||||
<blue>232</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
</disabled>
|
||||
</palette>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Send to OpenPilot but don't write in SD.
|
||||
Beware of not locking yourself out!</string>
|
||||
</property>
|
||||
<property name="autoFillBackground">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Apply</string>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="saveTelemetryToSD">
|
||||
<property name="toolTip">
|
||||
<string>Applies and Saves all settings to SD.
|
||||
</property>
|
||||
<property name="autoFillBackground">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Apply</string>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="saveTelemetryToSD">
|
||||
<property name="toolTip">
|
||||
<string>Applies and Saves all settings to SD.
|
||||
Beware of not locking yourself out!</string>
|
||||
</property>
|
||||
<property name="autoFillBackground">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Save</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</property>
|
||||
<property name="autoFillBackground">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Save</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
|
@ -86,6 +86,7 @@ ConfigCCHWWidget::ConfigCCHWWidget(QWidget *parent) : ConfigTaskWidget(parent)
|
||||
enableControls(false);
|
||||
populateWidgets();
|
||||
refreshWidgetsValues();
|
||||
forceConnectedState();
|
||||
}
|
||||
|
||||
ConfigCCHWWidget::~ConfigCCHWWidget()
|
||||
|
@ -43,6 +43,7 @@ ConfigCCAttitudeWidget::ConfigCCAttitudeWidget(QWidget *parent) :
|
||||
ui(new Ui_ccattitude)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
forceConnectedState(); //dynamic widgets don't recieve the connected signal
|
||||
connect(ui->zeroBias,SIGNAL(clicked()),this,SLOT(startAccelCalibration()));
|
||||
|
||||
ExtensionSystem::PluginManager *pm=ExtensionSystem::PluginManager::instance();
|
||||
@ -113,6 +114,7 @@ void ConfigCCAttitudeWidget::accelsUpdated(UAVObject * obj) {
|
||||
attitudeSettingsData.GyroBias[2] = -z_gyro_bias;
|
||||
attitudeSettingsData.BiasCorrectGyro = AttitudeSettings::BIASCORRECTGYRO_TRUE;
|
||||
AttitudeSettings::GetInstance(getObjectManager())->setData(attitudeSettingsData);
|
||||
this->setDirty(true);
|
||||
} else {
|
||||
// Possible to get here if weird threading stuff happens. Just ignore updates.
|
||||
qDebug("Unexpected accel update received.");
|
||||
@ -135,7 +137,8 @@ void ConfigCCAttitudeWidget::timeout() {
|
||||
|
||||
void ConfigCCAttitudeWidget::startAccelCalibration() {
|
||||
QMutexLocker locker(&startStop);
|
||||
|
||||
//need to apply so board rotation values don't get overwriten when calibrating
|
||||
apply();
|
||||
updates = 0;
|
||||
x_accum.clear();
|
||||
y_accum.clear();
|
||||
|
@ -71,6 +71,8 @@ ConfigTxPIDWidget::ConfigTxPIDWidget(QWidget *parent) : ConfigTaskWidget(parent)
|
||||
|
||||
addUAVObjectToWidgetRelation("TxPIDSettings", "UpdateMode", m_txpid->UpdateMode);
|
||||
|
||||
addWidget(m_txpid->TxPIDEnable);
|
||||
|
||||
enableControls(false);
|
||||
populateWidgets();
|
||||
refreshWidgetsValues();
|
||||
|
@ -7,7 +7,7 @@
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>702</width>
|
||||
<height>920</height>
|
||||
<height>764</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
@ -108,7 +108,7 @@
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>672</width>
|
||||
<height>783</height>
|
||||
<height>657</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
@ -740,8 +740,8 @@ font:bold;</string>
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>540</width>
|
||||
<height>510</height>
|
||||
<width>672</width>
|
||||
<height>795</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_7">
|
||||
@ -1265,8 +1265,8 @@ margin:1px;</string>
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>529</width>
|
||||
<height>165</height>
|
||||
<width>672</width>
|
||||
<height>795</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
@ -1393,104 +1393,112 @@ margin:1px;</string>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_3">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>45</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string/>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_5">
|
||||
<property name="spacing">
|
||||
<number>4</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_5">
|
||||
<property name="spacing">
|
||||
<number>4</number>
|
||||
<spacer name="horizontalSpacer_5">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_5">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="inputHelp">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>32</width>
|
||||
<height>32</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Takes you to the wiki page</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../coreplugin/core.qrc">
|
||||
<normaloff>:/core/images/helpicon.svg</normaloff>:/core/images/helpicon.svg</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>32</width>
|
||||
<height>32</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="saveRCInputToRAM">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>60</width>
|
||||
<height>28</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Send to OpenPilot but don't write in SD.
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>483</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="inputHelp">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>25</width>
|
||||
<height>26</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Takes you to the wiki page</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../coreplugin/core.qrc">
|
||||
<normaloff>:/core/images/helpicon.svg</normaloff>:/core/images/helpicon.svg</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>25</width>
|
||||
<height>25</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="saveRCInputToRAM">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>60</width>
|
||||
<height>28</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Send to OpenPilot but don't write in SD.
|
||||
Be sure to set the Neutral position on all sliders before sending!</string>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Apply</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="saveRCInputToSD">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>60</width>
|
||||
<height>28</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Be sure to set the Neutral position on all sliders before sending!
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Apply</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="saveRCInputToSD">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>60</width>
|
||||
<height>28</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Be sure to set the Neutral position on all sliders before sending!
|
||||
Applies and Saves all settings to SD</string>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Save</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Save</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
|
@ -7,7 +7,7 @@
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>811</width>
|
||||
<height>937</height>
|
||||
<height>895</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
@ -114,7 +114,7 @@
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>781</width>
|
||||
<height>800</height>
|
||||
<height>788</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
@ -129,13 +129,19 @@
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>78</height>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string/>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<spacer name="horizontalSpacer_3">
|
||||
<property name="orientation">
|
||||
@ -926,113 +932,115 @@ margin:1px;</string>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>75</height>
|
||||
<height>45</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string/>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<property name="spacing">
|
||||
<number>4</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<property name="spacing">
|
||||
<number>4</number>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="outputHelp">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>32</width>
|
||||
<height>32</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>32</width>
|
||||
<height>32</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Takes you to the wiki page</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../coreplugin/core.qrc">
|
||||
<normaloff>:/core/images/helpicon.svg</normaloff>:/core/images/helpicon.svg</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>32</width>
|
||||
<height>32</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="saveRCOutputToRAM">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>60</width>
|
||||
<height>28</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Send to OpenPilot but don't write in SD.
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>592</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="outputHelp">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>25</width>
|
||||
<height>26</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>25</width>
|
||||
<height>26</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Takes you to the wiki page</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../coreplugin/core.qrc">
|
||||
<normaloff>:/core/images/helpicon.svg</normaloff>:/core/images/helpicon.svg</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>25</width>
|
||||
<height>25</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="saveRCOutputToRAM">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>60</width>
|
||||
<height>28</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Send to OpenPilot but don't write in SD.
|
||||
Be sure to set the Neutral position on all sliders before sending!</string>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Apply</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="saveRCOutputToSD">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>60</width>
|
||||
<height>28</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Be sure to set the Neutral position on all sliders before sending!
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Apply</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="saveRCOutputToSD">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>60</width>
|
||||
<height>28</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Be sure to set the Neutral position on all sliders before sending!
|
||||
Applies and Saves all settings to SD</string>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Save</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Save</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
|
@ -6,14 +6,14 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>708</width>
|
||||
<height>880</height>
|
||||
<width>789</width>
|
||||
<height>715</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>TxPID</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QTabWidget" name="tabWidget">
|
||||
<property name="currentIndex">
|
||||
@ -107,8 +107,8 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>678</width>
|
||||
<height>678</height>
|
||||
<width>759</width>
|
||||
<height>543</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
@ -178,7 +178,7 @@ Up to 3 separate PID options (or option pairs) can be selected and updated.</str
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>100</height>
|
||||
<height>293</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="title">
|
||||
@ -636,7 +636,7 @@ margin:1px;</string>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
@ -644,115 +644,140 @@ margin:1px;</string>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>75</height>
|
||||
<height>45</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>79</height>
|
||||
<height>45</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string/>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<property name="spacing">
|
||||
<number>4</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="submitButtons">
|
||||
<property name="spacing">
|
||||
<number>4</number>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QFrame" name="frame">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::StyledPanel</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../coreplugin/core.qrc">
|
||||
<normaloff>:/core/images/helpicon.svg</normaloff>:/core/images/helpicon.svg</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>32</width>
|
||||
<height>32</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>button:help</string>
|
||||
<string>url:http://wiki.openpilot.org/x/DACiAQ</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="Apply">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>60</width>
|
||||
<height>28</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Send settings to the board but do not save to the non-volatile memory</string>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Apply</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="Save">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>60</width>
|
||||
<height>28</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Send settings to the board and save to the non-volatile memory</string>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Save</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>570</width>
|
||||
<height>13</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>25</width>
|
||||
<height>25</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>25</width>
|
||||
<height>25</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="baseSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="autoFillBackground">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../coreplugin/core.qrc">
|
||||
<normaloff>:/core/images/helpicon.svg</normaloff>:/core/images/helpicon.svg</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>25</width>
|
||||
<height>25</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="autoDefault">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="default">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>button:help</string>
|
||||
<string>url:http://wiki.openpilot.org/x/DACiAQ</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="Apply">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>78</width>
|
||||
<height>32</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Send settings to the board but do not save to the non-volatile memory</string>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Apply</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="Save">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>71</width>
|
||||
<height>32</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Send settings to the board and save to the non-volatile memory</string>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Save</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
|
@ -2426,30 +2426,18 @@
|
||||
<type>uavGadget</type>
|
||||
</side0>
|
||||
<side1>
|
||||
<side0>
|
||||
<classId>LineardialGadget</classId>
|
||||
<gadget>
|
||||
<activeConfiguration>Flight mode</activeConfiguration>
|
||||
</gadget>
|
||||
<type>uavGadget</type>
|
||||
</side0>
|
||||
<side1>
|
||||
<classId>LineardialGadget</classId>
|
||||
<gadget>
|
||||
<activeConfiguration>GPS Sats</activeConfiguration>
|
||||
</gadget>
|
||||
<type>uavGadget</type>
|
||||
</side1>
|
||||
<splitterOrientation>1</splitterOrientation>
|
||||
<splitterSizes>@Variant(AAAACQAAAAIAAAACAAAAoAAAAAIAAACk)</splitterSizes>
|
||||
<type>splitter</type>
|
||||
<classId>LineardialGadget</classId>
|
||||
<gadget>
|
||||
<activeConfiguration>Flight mode</activeConfiguration>
|
||||
</gadget>
|
||||
<type>uavGadget</type>
|
||||
</side1>
|
||||
<splitterOrientation>1</splitterOrientation>
|
||||
<splitterSizes>@Variant(AAAACQAAAAIAAAACAAAAmQAAAAIAAAFC)</splitterSizes>
|
||||
<splitterSizes>@Variant(AAAACQAAAAIAAAACAAAAsQAAAAIAAAEV)</splitterSizes>
|
||||
<type>splitter</type>
|
||||
</side1>
|
||||
<splitterOrientation>1</splitterOrientation>
|
||||
<splitterSizes>@Variant(AAAACQAAAAIAAAACAAAAmQAAAAIAAAHc)</splitterSizes>
|
||||
<splitterSizes>@Variant(AAAACQAAAAIAAAACAAAArgAAAAIAAAHH)</splitterSizes>
|
||||
<type>splitter</type>
|
||||
</side0>
|
||||
<side1>
|
||||
|
@ -17,6 +17,7 @@
|
||||
#include "osgearth.h"
|
||||
|
||||
#include <QtCore/qfileinfo.h>
|
||||
#include <QtCore/qthread.h>
|
||||
#include <QtDeclarative/qdeclarative.h>
|
||||
#include <QtDeclarative/qdeclarativeview.h>
|
||||
#include <QtDeclarative/qdeclarativeengine.h>
|
||||
@ -42,7 +43,8 @@
|
||||
|
||||
OsgEarthItem::OsgEarthItem(QDeclarativeItem *parent):
|
||||
QDeclarativeItem(parent),
|
||||
m_fbo(0),
|
||||
m_renderer(0),
|
||||
m_rendererThread(0),
|
||||
m_currentSize(640, 480),
|
||||
m_roll(0.0),
|
||||
m_pitch(0.0),
|
||||
@ -51,8 +53,7 @@ OsgEarthItem::OsgEarthItem(QDeclarativeItem *parent):
|
||||
m_longitude(153.0),
|
||||
m_altitude(400.0),
|
||||
m_fieldOfView(90.0),
|
||||
m_sceneFile(QLatin1String("/usr/share/osgearth/maps/srtm.earth")),
|
||||
m_cameraDirty(false)
|
||||
m_sceneFile(QLatin1String("/usr/share/osgearth/maps/srtm.earth"))
|
||||
{
|
||||
setSize(m_currentSize);
|
||||
setFlag(ItemHasNoContents, false);
|
||||
@ -60,6 +61,31 @@ OsgEarthItem::OsgEarthItem(QDeclarativeItem *parent):
|
||||
|
||||
OsgEarthItem::~OsgEarthItem()
|
||||
{
|
||||
if (m_renderer) {
|
||||
m_rendererThread->exit();
|
||||
//wait up to 10 seconds for renderer thread to exit
|
||||
m_rendererThread->wait(10*1000);
|
||||
|
||||
delete m_renderer;
|
||||
delete m_rendererThread;
|
||||
}
|
||||
}
|
||||
|
||||
QString OsgEarthItem::resolvedSceneFile() const
|
||||
{
|
||||
QString sceneFile = m_sceneFile;
|
||||
|
||||
//try to resolve the relative scene file name:
|
||||
if (!QFileInfo(sceneFile).exists()) {
|
||||
QDeclarativeView *view = qobject_cast<QDeclarativeView*>(scene()->views().first());
|
||||
|
||||
if (view) {
|
||||
QUrl baseUrl = view->engine()->baseUrl();
|
||||
sceneFile = baseUrl.resolved(sceneFile).toLocalFile();
|
||||
}
|
||||
}
|
||||
|
||||
return sceneFile;
|
||||
}
|
||||
|
||||
void OsgEarthItem::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry)
|
||||
@ -95,107 +121,43 @@ void OsgEarthItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *styl
|
||||
Q_UNUSED(style);
|
||||
QGLWidget *glWidget = qobject_cast<QGLWidget*>(widget);
|
||||
|
||||
if (!m_glWidget) {
|
||||
//make a shared gl widget to avoid
|
||||
//osg rendering to mess with qpainter state
|
||||
m_glWidget = new QGLWidget(widget, glWidget);
|
||||
m_glWidget.data()->setAttribute(Qt::WA_PaintOutsidePaintEvent);
|
||||
}
|
||||
if (!m_renderer) {
|
||||
m_renderer = new OsgEarthItemRenderer(this, glWidget);
|
||||
connect(m_renderer, SIGNAL(frameReady()),
|
||||
this, SLOT(updateView()), Qt::QueuedConnection);
|
||||
|
||||
if (!m_viewer.get())
|
||||
QMetaObject::invokeMethod(this, "initScene", Qt::QueuedConnection);
|
||||
m_rendererThread = new QThread(this);
|
||||
m_renderer->moveToThread(m_rendererThread);
|
||||
m_rendererThread->start();
|
||||
|
||||
if (glWidget && m_fbo)
|
||||
glWidget->drawTexture(boundingRect(), m_fbo->texture());
|
||||
}
|
||||
|
||||
void OsgEarthItem::markCameraDirty()
|
||||
{
|
||||
m_cameraDirty = true;
|
||||
QMetaObject::invokeMethod(this, "updateFBO", Qt::QueuedConnection);
|
||||
}
|
||||
|
||||
void OsgEarthItem::updateFBO()
|
||||
{
|
||||
if (!m_cameraDirty || !m_viewer.get() || m_glWidget.isNull())
|
||||
QMetaObject::invokeMethod(m_renderer, "initScene", Qt::QueuedConnection);
|
||||
return;
|
||||
|
||||
m_cameraDirty = false;
|
||||
m_glWidget.data()->makeCurrent();
|
||||
|
||||
if (m_fbo && m_fbo->size() != m_currentSize) {
|
||||
delete m_fbo;
|
||||
m_fbo = 0;
|
||||
}
|
||||
|
||||
if (!m_fbo) {
|
||||
m_fbo = new QGLFramebufferObject(m_currentSize, QGLFramebufferObject::CombinedDepthStencil);
|
||||
QPainter p(m_fbo);
|
||||
p.fillRect(0,0,m_currentSize.width(), m_currentSize.height(), Qt::gray);
|
||||
}
|
||||
QGLFramebufferObject *fbo = m_renderer->lastFrame();
|
||||
|
||||
//To find a camera view matrix, find placer matrixes for two points
|
||||
//onr at requested coords and another latitude shifted by 0.01 deg
|
||||
osgEarth::Util::ObjectPlacer placer(m_viewer->getSceneData());
|
||||
|
||||
osg::Matrixd positionMatrix;
|
||||
placer.createPlacerMatrix(m_latitude, m_longitude, m_altitude, positionMatrix);
|
||||
osg::Matrixd positionMatrix2;
|
||||
placer.createPlacerMatrix(m_latitude+0.01, m_longitude, m_altitude, positionMatrix2);
|
||||
|
||||
osg::Vec3d eye(0.0f, 0.0f, 0.0f);
|
||||
osg::Vec3d viewVector(0.0f, 0.0f, 0.0f);
|
||||
osg::Vec3d upVector(0.0f, 0.0f, 1.0f);
|
||||
|
||||
eye = positionMatrix.preMult(eye);
|
||||
upVector = positionMatrix.preMult(upVector);
|
||||
upVector.normalize();
|
||||
viewVector = positionMatrix2.preMult(viewVector) - eye;
|
||||
viewVector.normalize();
|
||||
viewVector *= 10.0;
|
||||
|
||||
//TODO: clarify the correct rotation order,
|
||||
//currently assuming yaw, pitch, roll
|
||||
osg::Quat q;
|
||||
q.makeRotate(-m_yaw*M_PI/180.0, upVector);
|
||||
upVector = q * upVector;
|
||||
viewVector = q * viewVector;
|
||||
|
||||
osg::Vec3d side = viewVector ^ upVector;
|
||||
q.makeRotate(m_pitch*M_PI/180.0, side);
|
||||
upVector = q * upVector;
|
||||
viewVector = q * viewVector;
|
||||
|
||||
q.makeRotate(m_roll*M_PI/180.0, viewVector);
|
||||
upVector = q * upVector;
|
||||
viewVector = q * viewVector;
|
||||
|
||||
osg::Vec3d center = eye + viewVector;
|
||||
|
||||
// qDebug() << "e " << eye.x() << eye.y() << eye.z();
|
||||
// qDebug() << "c " << center.x() << center.y() << center.z();
|
||||
// qDebug() << "up" << upVector.x() << upVector.y() << upVector.z();
|
||||
|
||||
m_viewer->getCamera()->setViewMatrixAsLookAt(osg::Vec3d(eye.x(), eye.y(), eye.z()),
|
||||
osg::Vec3d(center.x(), center.y(), center.z()),
|
||||
osg::Vec3d(upVector.x(), upVector.y(), upVector.z()));
|
||||
|
||||
{
|
||||
QPainter fboPainter(m_fbo);
|
||||
fboPainter.beginNativePainting();
|
||||
m_viewer->frame();
|
||||
fboPainter.endNativePainting();
|
||||
}
|
||||
m_glWidget.data()->doneCurrent();
|
||||
if (glWidget && fbo)
|
||||
glWidget->drawTexture(boundingRect(), fbo->texture());
|
||||
}
|
||||
|
||||
void OsgEarthItem::updateView()
|
||||
{
|
||||
update();
|
||||
}
|
||||
|
||||
void OsgEarthItem::updateFrame()
|
||||
{
|
||||
if (m_renderer) {
|
||||
m_renderer->markDirty();
|
||||
QMetaObject::invokeMethod(m_renderer, "updateFrame", Qt::QueuedConnection);
|
||||
}
|
||||
}
|
||||
|
||||
void OsgEarthItem::setRoll(qreal arg)
|
||||
{
|
||||
if (!qFuzzyCompare(m_roll, arg)) {
|
||||
m_roll = arg;
|
||||
markCameraDirty();
|
||||
updateFrame();
|
||||
emit rollChanged(arg);
|
||||
}
|
||||
}
|
||||
@ -204,7 +166,7 @@ void OsgEarthItem::setPitch(qreal arg)
|
||||
{
|
||||
if (!qFuzzyCompare(m_pitch, arg)) {
|
||||
m_pitch = arg;
|
||||
markCameraDirty();
|
||||
updateFrame();
|
||||
emit pitchChanged(arg);
|
||||
}
|
||||
}
|
||||
@ -213,7 +175,7 @@ void OsgEarthItem::setYaw(qreal arg)
|
||||
{
|
||||
if (!qFuzzyCompare(m_yaw, arg)) {
|
||||
m_yaw = arg;
|
||||
markCameraDirty();
|
||||
updateFrame();
|
||||
emit yawChanged(arg);
|
||||
}
|
||||
}
|
||||
@ -250,14 +212,15 @@ void OsgEarthItem::setFieldOfView(qreal arg)
|
||||
m_fieldOfView = arg;
|
||||
emit fieldOfViewChanged(arg);
|
||||
|
||||
if (m_viewer.get()) {
|
||||
//it should be a queued call to OsgEarthItemRenderer instead
|
||||
/*if (m_viewer.get()) {
|
||||
m_viewer->getCamera()->setProjectionMatrixAsPerspective(
|
||||
m_fieldOfView,
|
||||
qreal(m_currentSize.width())/m_currentSize.height(),
|
||||
1.0f, 10000.0f);
|
||||
}
|
||||
}*/
|
||||
|
||||
markCameraDirty();
|
||||
updateFrame();
|
||||
}
|
||||
}
|
||||
|
||||
@ -269,27 +232,51 @@ void OsgEarthItem::setSceneFile(QString arg)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void OsgEarthItem::initScene()
|
||||
OsgEarthItemRenderer::OsgEarthItemRenderer(OsgEarthItem *item, QGLWidget *glWidget) :
|
||||
QObject(0),
|
||||
m_item(item),
|
||||
m_lastFboNumber(0),
|
||||
m_currentSize(640, 480),
|
||||
m_cameraDirty(false)
|
||||
{
|
||||
if (m_viewer.get())
|
||||
return;
|
||||
//make a shared gl widget to avoid
|
||||
//osg rendering to mess with qpainter state
|
||||
//this runs in the main thread
|
||||
m_glWidget = new QGLWidget(0, glWidget);
|
||||
m_glWidget.data()->setAttribute(Qt::WA_PaintOutsidePaintEvent);
|
||||
|
||||
for (int i=0; i<FboCount; i++) {
|
||||
m_fbo[i] = new QGLFramebufferObject(m_currentSize, QGLFramebufferObject::CombinedDepthStencil);
|
||||
QPainter p(m_fbo[i]);
|
||||
p.fillRect(0,0,m_currentSize.width(), m_currentSize.height(), Qt::gray);
|
||||
}
|
||||
}
|
||||
|
||||
OsgEarthItemRenderer::~OsgEarthItemRenderer()
|
||||
{
|
||||
m_glWidget.data()->makeCurrent();
|
||||
for (int i=0; i<FboCount; i++) {
|
||||
delete m_fbo[i];
|
||||
m_fbo[i] = 0;
|
||||
}
|
||||
m_glWidget.data()->doneCurrent();
|
||||
|
||||
delete m_glWidget.data();
|
||||
}
|
||||
|
||||
QGLFramebufferObject *OsgEarthItemRenderer::lastFrame()
|
||||
{
|
||||
return m_fbo[m_lastFboNumber];
|
||||
}
|
||||
|
||||
void OsgEarthItemRenderer::initScene()
|
||||
{
|
||||
Q_ASSERT(!m_viewer.get());
|
||||
|
||||
int w = m_currentSize.width();
|
||||
int h = m_currentSize.height();
|
||||
|
||||
QString sceneFile = m_sceneFile;
|
||||
|
||||
//try to resolve the relative scene file name:
|
||||
if (!QFileInfo(sceneFile).exists()) {
|
||||
QDeclarativeView *view = qobject_cast<QDeclarativeView*>(scene()->views().first());
|
||||
|
||||
if (view) {
|
||||
QUrl baseUrl = view->engine()->baseUrl();
|
||||
sceneFile = baseUrl.resolved(sceneFile).toLocalFile();
|
||||
}
|
||||
}
|
||||
|
||||
QString sceneFile = m_item->resolvedSceneFile();
|
||||
m_model = osgDB::readNodeFile(sceneFile.toStdString());
|
||||
|
||||
//setup caching
|
||||
@ -320,8 +307,76 @@ void OsgEarthItem::initScene()
|
||||
|
||||
// configure the near/far so we don't clip things that are up close
|
||||
camera->setNearFarRatio(0.00002);
|
||||
camera->setProjectionMatrixAsPerspective(m_fieldOfView, qreal(w)/h, 1.0f, 10000.0f);
|
||||
camera->setProjectionMatrixAsPerspective(m_item->fieldOfView(), qreal(w)/h, 1.0f, 10000.0f);
|
||||
|
||||
markCameraDirty();
|
||||
updateFrame();
|
||||
}
|
||||
|
||||
void OsgEarthItemRenderer::updateFrame()
|
||||
{
|
||||
if (!m_cameraDirty || !m_viewer.get() || m_glWidget.isNull())
|
||||
return;
|
||||
|
||||
m_glWidget.data()->makeCurrent();
|
||||
|
||||
//To find a camera view matrix, find placer matrixes for two points
|
||||
//onr at requested coords and another latitude shifted by 0.01 deg
|
||||
osgEarth::Util::ObjectPlacer placer(m_viewer->getSceneData());
|
||||
|
||||
m_cameraDirty = false;
|
||||
|
||||
osg::Matrixd positionMatrix;
|
||||
placer.createPlacerMatrix(m_item->latitude(), m_item->longitude(), m_item->altitude(), positionMatrix);
|
||||
osg::Matrixd positionMatrix2;
|
||||
placer.createPlacerMatrix(m_item->latitude()+0.01, m_item->longitude(), m_item->altitude(), positionMatrix2);
|
||||
|
||||
osg::Vec3d eye(0.0f, 0.0f, 0.0f);
|
||||
osg::Vec3d viewVector(0.0f, 0.0f, 0.0f);
|
||||
osg::Vec3d upVector(0.0f, 0.0f, 1.0f);
|
||||
|
||||
eye = positionMatrix.preMult(eye);
|
||||
upVector = positionMatrix.preMult(upVector);
|
||||
upVector.normalize();
|
||||
viewVector = positionMatrix2.preMult(viewVector) - eye;
|
||||
viewVector.normalize();
|
||||
viewVector *= 10.0;
|
||||
|
||||
//TODO: clarify the correct rotation order,
|
||||
//currently assuming yaw, pitch, roll
|
||||
osg::Quat q;
|
||||
q.makeRotate(-m_item->yaw()*M_PI/180.0, upVector);
|
||||
upVector = q * upVector;
|
||||
viewVector = q * viewVector;
|
||||
|
||||
osg::Vec3d side = viewVector ^ upVector;
|
||||
q.makeRotate(m_item->pitch()*M_PI/180.0, side);
|
||||
upVector = q * upVector;
|
||||
viewVector = q * viewVector;
|
||||
|
||||
q.makeRotate(m_item->roll()*M_PI/180.0, viewVector);
|
||||
upVector = q * upVector;
|
||||
viewVector = q * viewVector;
|
||||
|
||||
osg::Vec3d center = eye + viewVector;
|
||||
|
||||
// qDebug() << "e " << eye.x() << eye.y() << eye.z();
|
||||
// qDebug() << "c " << center.x() << center.y() << center.z();
|
||||
// qDebug() << "up" << upVector.x() << upVector.y() << upVector.z();
|
||||
|
||||
m_viewer->getCamera()->setViewMatrixAsLookAt(osg::Vec3d(eye.x(), eye.y(), eye.z()),
|
||||
osg::Vec3d(center.x(), center.y(), center.z()),
|
||||
osg::Vec3d(upVector.x(), upVector.y(), upVector.z()));
|
||||
|
||||
{
|
||||
QGLFramebufferObject *fbo = m_fbo[(m_lastFboNumber + 1) % FboCount];
|
||||
QPainter fboPainter(fbo);
|
||||
fboPainter.beginNativePainting();
|
||||
m_viewer->frame();
|
||||
fboPainter.endNativePainting();
|
||||
}
|
||||
m_glWidget.data()->doneCurrent();
|
||||
|
||||
m_lastFboNumber = (m_lastFboNumber + 1) % FboCount;
|
||||
|
||||
emit frameReady();
|
||||
}
|
||||
|
@ -24,6 +24,7 @@
|
||||
|
||||
class QGLFramebufferObject;
|
||||
class QGLWidget;
|
||||
class OsgEarthItemRenderer;
|
||||
|
||||
class OsgEarthItem : public QDeclarativeItem
|
||||
{
|
||||
@ -46,6 +47,7 @@ public:
|
||||
~OsgEarthItem();
|
||||
|
||||
QString sceneFile() const { return m_sceneFile; }
|
||||
QString resolvedSceneFile() const;
|
||||
qreal fieldOfView() const { return m_fieldOfView; }
|
||||
|
||||
qreal roll() const { return m_roll; }
|
||||
@ -61,6 +63,7 @@ protected:
|
||||
void paint(QPainter *painter, const QStyleOptionGraphicsItem *style, QWidget *widget);
|
||||
|
||||
public slots:
|
||||
void updateView();
|
||||
void setSceneFile(QString arg);
|
||||
void setFieldOfView(qreal arg);
|
||||
|
||||
@ -85,16 +88,12 @@ signals:
|
||||
void fieldOfViewChanged(qreal arg);
|
||||
|
||||
private slots:
|
||||
void markCameraDirty();
|
||||
void updateFBO();
|
||||
void initScene();
|
||||
void updateFrame();
|
||||
|
||||
private:
|
||||
osg::ref_ptr<osgViewer::Viewer> m_viewer;
|
||||
osg::ref_ptr<osgViewer::GraphicsWindowEmbedded> m_gw;
|
||||
osg::ref_ptr<osg::Node> m_model;
|
||||
QWeakPointer<QGLWidget> m_glWidget;
|
||||
QGLFramebufferObject *m_fbo;
|
||||
OsgEarthItemRenderer *m_renderer;
|
||||
QThread *m_rendererThread;
|
||||
|
||||
QSize m_currentSize;
|
||||
|
||||
qreal m_roll;
|
||||
@ -108,6 +107,42 @@ private:
|
||||
qreal m_fieldOfView;
|
||||
QString m_sceneFile;
|
||||
|
||||
};
|
||||
|
||||
class OsgEarthItemRenderer : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
OsgEarthItemRenderer(OsgEarthItem *item, QGLWidget *glWidget);
|
||||
~OsgEarthItemRenderer();
|
||||
|
||||
QGLFramebufferObject *lastFrame();
|
||||
void markDirty() { m_cameraDirty = true; }
|
||||
|
||||
public slots:
|
||||
void initScene();
|
||||
void updateFrame();
|
||||
|
||||
signals:
|
||||
void frameReady();
|
||||
|
||||
private slots:
|
||||
void updateFBO();
|
||||
|
||||
private:
|
||||
enum { FboCount = 3 };
|
||||
OsgEarthItem *m_item;
|
||||
|
||||
osg::ref_ptr<osgViewer::Viewer> m_viewer;
|
||||
osg::ref_ptr<osgViewer::GraphicsWindowEmbedded> m_gw;
|
||||
osg::ref_ptr<osg::Node> m_model;
|
||||
QWeakPointer<QGLWidget> m_glWidget;
|
||||
|
||||
QGLFramebufferObject* m_fbo[FboCount];
|
||||
int m_lastFboNumber;
|
||||
|
||||
QSize m_currentSize;
|
||||
|
||||
bool m_cameraDirty;
|
||||
};
|
||||
|
||||
|
@ -9,11 +9,6 @@ include(../../openpilotgcsplugin.pri)
|
||||
include(../../plugins/coreplugin/coreplugin.pri)
|
||||
include(pfdqml_dependencies.pri)
|
||||
|
||||
|
||||
contains(DEFINES,USE_OSG){
|
||||
LIBS += -losg -losgUtil -losgViewer -losgQt -losgDB -lOpenThreads -losgGA
|
||||
LIBS += -losgEarth -losgEarthFeatures -losgEarthUtil
|
||||
}
|
||||
HEADERS += \
|
||||
pfdqmlplugin.h \
|
||||
pfdqmlgadget.h \
|
||||
@ -21,10 +16,7 @@ HEADERS += \
|
||||
pfdqmlgadgetfactory.h \
|
||||
pfdqmlgadgetconfiguration.h \
|
||||
pfdqmlgadgetoptionspage.h
|
||||
contains(DEFINES,USE_OSG){
|
||||
\
|
||||
osgearth.h
|
||||
}
|
||||
|
||||
SOURCES += \
|
||||
pfdqmlplugin.cpp \
|
||||
pfdqmlgadget.cpp \
|
||||
@ -32,9 +24,14 @@ SOURCES += \
|
||||
pfdqmlgadgetwidget.cpp \
|
||||
pfdqmlgadgetconfiguration.cpp \
|
||||
pfdqmlgadgetoptionspage.cpp
|
||||
contains(DEFINES,USE_OSG){
|
||||
\
|
||||
osgearth.cpp
|
||||
|
||||
|
||||
contains(DEFINES,USE_OSG) {
|
||||
LIBS += -losg -losgUtil -losgViewer -losgQt -losgDB -lOpenThreads -losgGA
|
||||
LIBS += -losgEarth -losgEarthFeatures -losgEarthUtil
|
||||
|
||||
HEADERS += osgearth.h
|
||||
SOURCES += osgearth.cpp
|
||||
}
|
||||
|
||||
OTHER_FILES += PfdQml.pluginspec
|
||||
|
@ -62,6 +62,11 @@ QWidget *PfdQmlGadgetOptionsPage::createPage(QWidget *parent)
|
||||
options_page->altitude->setText(QString::number(m_config->altitude()));
|
||||
options_page->useOnlyCache->setChecked(m_config->cacheOnly());
|
||||
|
||||
#ifndef USE_OSG
|
||||
options_page->showTerrain->setChecked(false);
|
||||
options_page->showTerrain->setVisible(false);
|
||||
#endif
|
||||
|
||||
return optionsPageWidget;
|
||||
}
|
||||
|
||||
|
@ -224,6 +224,12 @@ void ConfigTaskWidget::onAutopilotDisconnect()
|
||||
invalidateObjects();
|
||||
}
|
||||
|
||||
void ConfigTaskWidget::forceConnectedState()
|
||||
{
|
||||
isConnected=true;
|
||||
setDirty(false);
|
||||
}
|
||||
|
||||
void ConfigTaskWidget::onAutopilotConnect()
|
||||
{
|
||||
invalidateObjects();
|
||||
|
@ -130,6 +130,7 @@ public:
|
||||
void setOutOfLimitsStyle(QString style){outOfLimitsStyle=style;}
|
||||
void addHelpButton(QPushButton * button,QString url);
|
||||
void forceShadowUpdates();
|
||||
void forceConnectedState();
|
||||
public slots:
|
||||
void onAutopilotDisconnect();
|
||||
void onAutopilotConnect();
|
||||
|
@ -40,7 +40,7 @@ through serial or USB)</string>
|
||||
<property name="toolTip">
|
||||
<string>Boots the system.
|
||||
Only useful if the system is halted
|
||||
(mainboard blue LED blinking slowly, orange LED off)
|
||||
(mainboard blue LED blinking slowly, green LED on)
|
||||
|
||||
If telemetry is not running, select the link using the dropdown
|
||||
menu on the right.</string>
|
||||
@ -217,7 +217,7 @@ p, li { white-space: pre-wrap; }
|
||||
</layout>
|
||||
</widget>
|
||||
<resources>
|
||||
<include location="../coreplugin/core.qrc"/>
|
||||
<include location="../coreplugin/core.qrc"/>
|
||||
</resources>
|
||||
<connections/>
|
||||
</ui>
|
||||
|