Changed to 7 axis and added back one HAT swith
This commit is contained in:
parent
6243f552c3
commit
9572df9e3b
1101
layout.drawio
1101
layout.drawio
@ -1,200 +1,6 @@
|
||||
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/26.0.16 Chrome/132.0.6834.196 Electron/34.2.0 Safari/537.36" version="26.0.16" pages="6">
|
||||
<diagram name="SC" id="1nY57bFw4Lh56mPbXi3G">
|
||||
<mxGraphModel dx="2074" dy="1237" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-37" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" parent="1" vertex="1">
|
||||
<mxGeometry x="463" y="480" width="60" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-36" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" parent="1" vertex="1">
|
||||
<mxGeometry x="303" y="480" width="60" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-1" value="Throttle/Yaw" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillStyle=dots;fillColor=#303030;" parent="1" vertex="1">
|
||||
<mxGeometry x="53" y="630" width="200" height="200" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-2" value="Pitch/Roll" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillStyle=dots;fillColor=#303030;" parent="1" vertex="1">
|
||||
<mxGeometry x="573" y="630" width="200" height="200" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-3" value="Noice" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=hatch;fillColor=#8C1C1C;" parent="1" vertex="1">
|
||||
<mxGeometry x="293" y="670" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-4" value="<div style=""><font style="color: rgb(255, 255, 255);">Vtol</font></div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;" parent="1" vertex="1">
|
||||
<mxGeometry x="293" y="570" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-5" value="Decoy" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=hatch;fillColor=#8C1C1C;" parent="1" vertex="1">
|
||||
<mxGeometry x="453" y="670" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-6" value="Next<div>SCM/NAV</div><div>mode</div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;" parent="1" vertex="1">
|
||||
<mxGeometry x="453" y="570" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-7" value="<div>Right</div><font style="color: rgb(109, 135, 100);">CPLD</font>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=dots;fillColor=#303030;" parent="1" vertex="1">
|
||||
<mxGeometry x="203" y="470" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-8" value="<div><font style="color: rgb(255, 255, 255);">Left</font></div><font style="color: rgb(109, 135, 100);">Throttle</font><div><font style="color: rgb(109, 135, 100);">Hold</font></div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=dots;fillColor=#303030;strokeColor=#FFFFFF;fontColor=#FFFFFF;" parent="1" vertex="1">
|
||||
<mxGeometry x="113" y="470" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-9" value="<div><br></div>" style="whiteSpace=wrap;html=1;aspect=fixed;" parent="1" vertex="1">
|
||||
<mxGeometry x="633" y="470" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-10" value="" style="whiteSpace=wrap;html=1;aspect=fixed;" parent="1" vertex="1">
|
||||
<mxGeometry x="543" y="470" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-11" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=#303030;gradientColor=none;" parent="1" vertex="1">
|
||||
<mxGeometry x="293" y="780" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-12" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=#303030;" parent="1" vertex="1">
|
||||
<mxGeometry x="453" y="780" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-16" value="Ping<div><span style="color: rgb(109, 135, 100);">Missile&nbsp;</span></div><div><span style="color: rgb(109, 135, 100); background-color: initial;">mode</span><br></div>" style="whiteSpace=wrap;html=1;aspect=fixed;" parent="1" vertex="1">
|
||||
<mxGeometry x="697" y="290" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-17" value="Fire<div>Secondary</div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;" parent="1" vertex="1">
|
||||
<mxGeometry x="697" y="190" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-18" value="<div><font color="#000000">Fn</font></div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=#6d8764;fontColor=#ffffff;strokeColor=#3A5431;fontStyle=1" parent="1" vertex="1">
|
||||
<mxGeometry x="48" y="190" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-19" value="Up<div><font color="#6d8764">Down</font></div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=dots;fillColor=#303030;" parent="1" vertex="1">
|
||||
<mxGeometry x="48" y="290" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-20" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="108" y="430" as="sourcePoint" />
|
||||
<mxPoint x="28" y="510" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-21" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="718" y="430" as="sourcePoint" />
|
||||
<mxPoint x="798" y="510" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-22" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="718" y="430" as="sourcePoint" />
|
||||
<mxPoint x="108" y="430" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-23" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="798" y="880" as="sourcePoint" />
|
||||
<mxPoint x="28" y="880" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-26" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="28" y="510" as="sourcePoint" />
|
||||
<mxPoint x="28" y="880" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-27" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="798" y="510" as="sourcePoint" />
|
||||
<mxPoint x="798" y="880" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-28" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="798" y="170" as="sourcePoint" />
|
||||
<mxPoint x="28" y="170" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-29" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="798" y="390" as="sourcePoint" />
|
||||
<mxPoint x="28" y="390" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-30" value="Reset head tracker<div></div>" style="whiteSpace=wrap;html=1;aspect=fixed;" parent="1" vertex="1">
|
||||
<mxGeometry x="373" y="190" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-31" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="28" y="170" as="sourcePoint" />
|
||||
<mxPoint x="28" y="390" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-32" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="798" y="170" as="sourcePoint" />
|
||||
<mxPoint x="798" y="390" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-33" value="USB-C" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="353" y="300" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-34" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="240" y="170" as="sourcePoint" />
|
||||
<mxPoint x="240" y="390" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-35" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="583" y="170" as="sourcePoint" />
|
||||
<mxPoint x="583" y="390" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-45" value="UP:<div>DOWN:</div><div>LEFT:</div><div>RIGHT:</div><div>BUTTON:</div><div><br></div><div><font color="#6d8764">UP:</font><div><font color="#6d8764">DOWN:</font></div><div><font color="#6d8764">LEFT:</font></div><div><font color="#6d8764">RIGHT:</font></div><div><font color="#6d8764">BUTTON:</font></div></div>" style="text;strokeColor=none;align=right;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
|
||||
<mxGeometry x="433" y="910" width="60" height="160" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-46" value="UP:<div>DOWN:</div><div>LEFT:</div><div>RIGHT:</div><div>BUTTON:</div><div><br></div><div><font color="#6d8764">UP:</font><div><font color="#6d8764">DOWN:</font></div><div><font color="#6d8764">LEFT:</font></div><div><font color="#6d8764">RIGHT:</font></div><div><font color="#6d8764">BUTTON:</font></div></div>" style="text;strokeColor=none;align=right;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
|
||||
<mxGeometry x="273" y="910" width="55" height="160" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-47" value="" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="313" y="770" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-48" value="" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="313" y="850" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-49" value="" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="473" y="770" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-52" value="" style="rounded=1;whiteSpace=wrap;html=1;rotation=90;" parent="1" vertex="1">
|
||||
<mxGeometry x="353" y="810" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-54" value="" style="rounded=1;whiteSpace=wrap;html=1;rotation=90;" parent="1" vertex="1">
|
||||
<mxGeometry x="273" y="810" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-56" value="" style="rounded=1;whiteSpace=wrap;html=1;rotation=90;" parent="1" vertex="1">
|
||||
<mxGeometry x="433" y="810" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-57" value="" style="rounded=1;whiteSpace=wrap;html=1;rotation=90;" parent="1" vertex="1">
|
||||
<mxGeometry x="513" y="810" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-58" value="" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="473" y="850" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-59" value="<div>SCM</div><div><span style="background-color: transparent;"><font style="color: light-dark(rgb(0, 0, 0), rgb(109, 135, 100));">NAV</font></span></div>" style="text;strokeColor=none;align=center;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
|
||||
<mxGeometry x="413" y="470" width="60" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-60" value="<div>Power Engine</div><div>Power Reset</div><div>Power Weapons</div><div>Power Sheilds</div><div>Thrusters On/Off</div><div><br></div><div><font color="#6d8764">Flight ready<br></font><div><font color="#6d8764">Lights On/Off</font></div><div><span style="color: rgb(109, 135, 100); background-color: transparent;">&nbsp;</span></div><div><span style="color: rgb(109, 135, 100); background-color: transparent;">Open/Close doors</span></div><div><br></div></div>" style="text;strokeColor=none;align=left;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
|
||||
<mxGeometry x="328" y="910" width="110" height="160" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-61" value="<div>Target in sight</div><div>Target closest hostile</div><div>Target next friendly</div><div>Target next hostile</div><div>Clear target</div><div><br></div><div><font color="#6d8764">Camera up</font></div><div><font color="#6d8764">Camera down</font></div><div><font color="#6d8764">Camera left</font></div><div><font color="#6d8764">Camera right<br></font><div><font color="#6d8764">Camera On/Off</font></div></div>" style="text;strokeColor=none;align=left;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
|
||||
<mxGeometry x="493" y="910" width="135" height="160" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-64" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" parent="1" vertex="1">
|
||||
<mxGeometry x="318" y="495" width="30" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-65" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" parent="1" vertex="1">
|
||||
<mxGeometry x="478" y="495" width="30" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8DpqVutC-TY6ORS7GFad-66" value="<div>Gear</div><div><font style="color: rgb(109, 135, 100);">L-req</font><span style="color: light-dark(rgb(109, 135, 100), rgb(109, 135, 100)); background-color: transparent;">&nbsp;</span></div>" style="text;strokeColor=none;align=center;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=default;" parent="1" vertex="1">
|
||||
<mxGeometry x="353" y="470" width="67" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="_RyKBe_ucXabL8BWPdyx-1" value="Boost<br><div><font color="#6d8764">Brake</font></div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=dots;fillColor=#303030;" parent="1" vertex="1">
|
||||
<mxGeometry x="140" y="290" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="_RyKBe_ucXabL8BWPdyx-2" value="Fire<div><span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">primary</span><div><div>/ QT</div></div></div>" style="whiteSpace=wrap;html=1;aspect=fixed;" parent="1" vertex="1">
|
||||
<mxGeometry x="604" y="290" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
<diagram name="Copy of SC" id="sUiP1SvRhEXQG_gmGfj8">
|
||||
<mxGraphModel dx="2074" dy="1237" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/26.0.16 Chrome/132.0.6834.196 Electron/34.2.0 Safari/537.36" version="26.0.16">
|
||||
<diagram name="SC" id="sUiP1SvRhEXQG_gmGfj8">
|
||||
<mxGraphModel dx="793" dy="1223" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-0" />
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-1" parent="EkkbSOEkYUomZlU8jIUN-0" />
|
||||
@ -204,43 +10,19 @@
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-3" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="303" y="480" width="60" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-4" value="Throttle/Yaw<div>X/Y</div>" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillStyle=dots;fillColor=#303030;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-4" value="Throttle/Yaw<div>X=X</div><div>Y=Y</div><div><font style="color: rgb(215, 175, 95);">Y=(TH)Y</font></div>" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillStyle=dots;fillColor=#303030;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="53" y="630" width="200" height="200" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-5" value="Pitch/Roll<div>Z/rX</div>" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillStyle=dots;fillColor=#303030;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-5" value="Pitch/Roll<div>X=Z</div><div><span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">Y=rX</span></div><div><div><span style="background-color: transparent;"><font style="color: rgb(135, 175, 215);">X=(VS)Slider</font></span></div><div><span style="background-color: transparent; color: rgb(126, 166, 224);"><font style="color: rgb(135, 175, 215);">Y=(VS)rX</font></span></div><div></div></div>" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillStyle=dots;fillColor=#303030;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="573" y="630" width="200" height="200" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-6" value="Noice" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=hatch;fillColor=#8C1C1C;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="293" y="670" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-7" value="<div style=""><font style="color: rgb(255, 255, 255);">TAP: Engine power</font></div><div style=""><font style="color: rgb(255, 255, 255);">HOLD: Full WP power</font></div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=default;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="293" y="570" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-8" value="Decoy" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=hatch;fillColor=#8C1C1C;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="453" y="670" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-9" value="Reset power" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=default;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="453" y="570" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-10" value="<div>Ping</div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=default;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="697" y="190" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-13" value="Next<div>SCM/NAV</div><div>mode</div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=default;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="543" y="470" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-14" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=#303030;gradientColor=none;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-14" value="20/21" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=default;gradientColor=none;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="293" y="780" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-15" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=#303030;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-15" value="26/27" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=default;gradientColor=none;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="453" y="780" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-16" value="<div>Fire/QT</div>" style="whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="697" y="290" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-17" value="Brake" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=hatch;fillColor=#FF9933;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="200" y="470" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-19" value="Up<div>rZ+</div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=dots;fillColor=#303030;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-19" value="<div>28 /</div>Up<div>rZ+</div><div><font style="color: rgb(215, 95, 0);">Calibration</font></div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=dots;fillColor=#303030;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="48" y="290" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-20" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
@ -291,7 +73,7 @@
|
||||
<mxPoint x="28" y="390" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-28" value="Request landing<div></div>" style="whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-28" value="32: Head tracking" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#D75F00;fontColor=#ffffff;strokeColor=#314354;fillStyle=hatch;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="373" y="190" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-29" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
@ -321,844 +103,143 @@
|
||||
<mxPoint x="583" y="390" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-34" value="UP:<div>DOWN:</div><div>LEFT:</div><div>RIGHT:</div><div>BUTTON:</div><div><br></div>" style="text;strokeColor=none;align=right;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="433" y="910" width="60" height="90" as="geometry" />
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-35" value="22:<div>23:</div><div>24:</div><div>25:</div><div>&nbsp;TAP 20:</div><div>HOLD 21:</div>" style="text;strokeColor=none;align=right;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="247" y="921" width="62" height="90" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-35" value="UP:<div>DOWN:</div><div>LEFT:</div><div>RIGHT:</div><div>BUTTON:</div><div><br></div>" style="text;strokeColor=none;align=right;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="273" y="910" width="55" height="90" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-36" value="" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-36" value="22" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="313" y="770" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-37" value="" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-37" value="24" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="313" y="850" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-38" value="" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-38" value="HU" style="rounded=1;whiteSpace=wrap;html=1;fillColor=default;fillStyle=solid;gradientColor=none;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="473" y="770" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-39" value="" style="rounded=1;whiteSpace=wrap;html=1;rotation=90;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-39" value="23" style="rounded=1;whiteSpace=wrap;html=1;rotation=90;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="353" y="810" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-40" value="" style="rounded=1;whiteSpace=wrap;html=1;rotation=90;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-40" value="25" style="rounded=1;whiteSpace=wrap;html=1;rotation=90;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="273" y="810" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-41" value="" style="rounded=1;whiteSpace=wrap;html=1;rotation=90;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-41" value="HL" style="rounded=1;whiteSpace=wrap;html=1;rotation=90;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="433" y="810" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-42" value="" style="rounded=1;whiteSpace=wrap;html=1;rotation=90;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-42" value="HR" style="rounded=1;whiteSpace=wrap;html=1;rotation=90;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="513" y="810" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-43" value="" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-43" value="HD" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="473" y="850" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-44" value="<div>SCM</div><div>(Gun)</div>" style="text;strokeColor=none;align=center;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-44" value="<div>VS</div>" style="text;strokeColor=none;align=center;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="413" y="470" width="60" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-45" value="<div>VTOL</div><div>Open/Close doors</div><div>CPLD</div><div>Reconfigure</div><div>Gears</div><div><br></div>" style="text;strokeColor=none;align=left;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="328" y="910" width="110" height="90" as="geometry" />
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-45" value="<div>Power engine</div><div>Power sheild</div><div>Power reset</div><div>Power weapons</div><div><br></div><div><br></div>" style="text;strokeColor=none;align=left;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="309" y="921" width="110" height="90" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-46" value="<div>Target in sight</div><div>Target closest hostile</div><div>Target next friendly</div><div>Target next hostile</div><div>TH</div><div><br></div>" style="text;strokeColor=none;align=left;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="493" y="910" width="135" height="90" as="geometry" />
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-46" value="<div>Camera up</div><div>Camera right</div><div>Camera down</div><div>Camera left</div><div>Camera select</div><div>Freelook</div>" style="text;strokeColor=none;align=left;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="505" y="921" width="135" height="90" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-47" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-47" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=#D7AF5F;fontColor=#333333;strokeColor=#666666;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="318" y="495" width="30" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-48" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-48" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#87AFD7;fontColor=#333333;strokeColor=#666666;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="478" y="495" width="30" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-49" value="<div>NAV</div><div>(QT)</div>" style="text;strokeColor=none;align=center;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=default;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="353" y="470" width="67" height="80" as="geometry" />
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-49" value="<div>TH</div>" style="text;strokeColor=none;align=center;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=default;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="351" y="470" width="67" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-50" value="Left<div>rY-</div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=dots;fillColor=#303030;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-50" value="<div>30 /</div>Left<div>rY-</div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=dots;fillColor=#303030;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="140" y="290" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-51" value="Right<div>rY+</div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#303030;fillStyle=dots;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxCell id="EkkbSOEkYUomZlU8jIUN-51" value="<div>31 /</div>Right<div>rY+</div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#303030;fillStyle=dots;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="605" y="290" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="wdcyabzTlTJtnx-9P4dW-0" value="Down<div>rZ-</div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=dots;fillColor=#303030;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxCell id="wdcyabzTlTJtnx-9P4dW-0" value="<div>29 /</div>Down<div>rZ-</div><div><font style="color: rgb(215, 95, 0);">Bootloader</font></div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=dots;fillColor=#303030;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="48" y="190" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="wc2aKXT8cUdF5_0YO61A-0" value="Boost" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=hatch;fillColor=#FF9933;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="110" y="470" width="80" height="80" as="geometry" />
|
||||
<mxCell id="wc2aKXT8cUdF5_0YO61A-2" value="2: Target<div>in sight</div>" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#4D4D4D;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="700" y="190" width="80" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="wc2aKXT8cUdF5_0YO61A-1" value="Weapon<div>/</div><div><span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">Gear&nbsp;</span></div><div><span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">select</span></div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=default;fillStyle=auto;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="633" y="470" width="80" height="80" as="geometry" />
|
||||
<mxCell id="wc2aKXT8cUdF5_0YO61A-3" value="3: Ping" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="700" y="230" width="80" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
<diagram name="Copy of SC" id="8fwoE9U1Da0tbMgP_bSo">
|
||||
<mxGraphModel dx="1434" dy="997" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-0" />
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-1" parent="KPQZ-7z9tZGHYBku0gLQ-0" />
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-2" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" parent="KPQZ-7z9tZGHYBku0gLQ-1" vertex="1">
|
||||
<mxGeometry x="463" y="480" width="60" height="60" as="geometry" />
|
||||
<mxCell id="wc2aKXT8cUdF5_0YO61A-7" value="10: Change mode" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#4D4D4D;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="633" y="470" width="80" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-3" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" parent="KPQZ-7z9tZGHYBku0gLQ-1" vertex="1">
|
||||
<mxGeometry x="303" y="480" width="60" height="60" as="geometry" />
|
||||
<mxCell id="wc2aKXT8cUdF5_0YO61A-8" value="11: Toggle utility" style="rounded=0;whiteSpace=wrap;html=1;fillStyle=hatch;fillColor=default;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="633" y="510" width="80" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-4" value="Throttle/Yaw" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillStyle=dots;fillColor=#303030;" parent="KPQZ-7z9tZGHYBku0gLQ-1" vertex="1">
|
||||
<mxGeometry x="53" y="630" width="200" height="200" as="geometry" />
|
||||
<mxCell id="wc2aKXT8cUdF5_0YO61A-10" value="1: Fire /&nbsp;<div>QT&nbsp;<span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">/&nbsp;</span></div><div><span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">Scan ...&nbsp;</span></div>" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="700" y="290" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-5" value="Pitch/Roll" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillStyle=dots;fillColor=#303030;" parent="KPQZ-7z9tZGHYBku0gLQ-1" vertex="1">
|
||||
<mxGeometry x="573" y="630" width="200" height="200" as="geometry" />
|
||||
<mxCell id="wc2aKXT8cUdF5_0YO61A-11" value="8: SCM<div>Toggle M/G</div>" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#4D4D4D;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="540" y="470" width="80" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-6" value="Noice" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=hatch;fillColor=#8C1C1C;" parent="KPQZ-7z9tZGHYBku0gLQ-1" vertex="1">
|
||||
<mxGeometry x="293" y="670" width="80" height="80" as="geometry" />
|
||||
<mxCell id="wc2aKXT8cUdF5_0YO61A-12" value="9: NAV<div>Set QT</div>" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="540" y="510" width="80" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-7" value="<div style=""><font style="color: rgb(255, 255, 255);">L-req</font></div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;" parent="KPQZ-7z9tZGHYBku0gLQ-1" vertex="1">
|
||||
<mxGeometry x="293" y="570" width="80" height="80" as="geometry" />
|
||||
<mxCell id="wc2aKXT8cUdF5_0YO61A-19" value="4: CPLD" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#4D4D4D;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="110" y="470" width="80" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-8" value="Decoy" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=hatch;fillColor=#8C1C1C;" parent="KPQZ-7z9tZGHYBku0gLQ-1" vertex="1">
|
||||
<mxGeometry x="453" y="670" width="80" height="80" as="geometry" />
|
||||
<mxCell id="wc2aKXT8cUdF5_0YO61A-20" value="5: Boost" style="rounded=0;whiteSpace=wrap;html=1;fillStyle=hatch;fillColor=#808080;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="110" y="510" width="80" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-9" value="Missile/Gun<div>mode</div><div><span style="color: rgb(109, 135, 100);">Next missile</span></div><div><span style="color: rgb(109, 135, 100);">type</span></div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;" parent="KPQZ-7z9tZGHYBku0gLQ-1" vertex="1">
|
||||
<mxGeometry x="453" y="570" width="80" height="80" as="geometry" />
|
||||
<mxCell id="wc2aKXT8cUdF5_0YO61A-21" value="6: Landing" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#4D4D4D;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="204" y="470" width="80" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-10" value="<div>Right</div><font style="color: rgb(109, 135, 100);">CPLD</font>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=dots;fillColor=#303030;" parent="KPQZ-7z9tZGHYBku0gLQ-1" vertex="1">
|
||||
<mxGeometry x="203" y="470" width="80" height="80" as="geometry" />
|
||||
<mxCell id="wc2aKXT8cUdF5_0YO61A-22" value="7: Brake" style="rounded=0;whiteSpace=wrap;html=1;fillStyle=hatch;fillColor=#808080;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="204" y="510" width="80" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-11" value="<div><font style="color: rgb(255, 255, 255);">Left</font></div><font style="color: rgb(109, 135, 100);">Throttle</font><div><font style="color: rgb(109, 135, 100);">Hold</font></div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=dots;fillColor=#303030;strokeColor=#FFFFFF;fontColor=#FFFFFF;" parent="KPQZ-7z9tZGHYBku0gLQ-1" vertex="1">
|
||||
<mxGeometry x="113" y="470" width="80" height="80" as="geometry" />
|
||||
<mxCell id="wc2aKXT8cUdF5_0YO61A-23" value="HU:<div>HR:</div><div>HD:</div><div>HL:</div><div>TAP 26:</div><div>HOLD 27:</div><div><br></div>" style="text;strokeColor=none;align=right;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="416" y="918" width="90" height="109" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-12" value="<div>NAV</div><div><span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">Q mode</span></div><div><span style="color: rgb(109, 135, 100);">Next mode</span><span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"></span></div>" style="whiteSpace=wrap;html=1;aspect=fixed;" parent="KPQZ-7z9tZGHYBku0gLQ-1" vertex="1">
|
||||
<mxGeometry x="633" y="470" width="80" height="80" as="geometry" />
|
||||
<mxCell id="wc2aKXT8cUdF5_0YO61A-26" value="12: O/C<br><span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">doors</span>" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#4D4D4D;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="293" y="570" width="80" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-13" value="SCM<div>Gun mode</div><div><font color="#6d8764">Prev mode</font></div>" style="whiteSpace=wrap;html=1;aspect=fixed;" parent="KPQZ-7z9tZGHYBku0gLQ-1" vertex="1">
|
||||
<mxGeometry x="543" y="470" width="80" height="80" as="geometry" />
|
||||
<mxCell id="wc2aKXT8cUdF5_0YO61A-27" value="13: Change configuration" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="293" y="610" width="80" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-14" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=#303030;gradientColor=none;" parent="KPQZ-7z9tZGHYBku0gLQ-1" vertex="1">
|
||||
<mxGeometry x="293" y="780" width="80" height="80" as="geometry" />
|
||||
<mxCell id="wc2aKXT8cUdF5_0YO61A-28" value="14: Gear" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#4D4D4D;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="453" y="570" width="80" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-15" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=#303030;" parent="KPQZ-7z9tZGHYBku0gLQ-1" vertex="1">
|
||||
<mxGeometry x="453" y="780" width="80" height="80" as="geometry" />
|
||||
<mxCell id="wc2aKXT8cUdF5_0YO61A-29" value="15: VTOL" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="453" y="610" width="80" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-16" value="Ping<div><font color="#6d8764">Target next</font></div><div><font color="#6d8764">hostile</font></div>" style="whiteSpace=wrap;html=1;aspect=fixed;" parent="KPQZ-7z9tZGHYBku0gLQ-1" vertex="1">
|
||||
<mxGeometry x="697" y="290" width="80" height="80" as="geometry" />
|
||||
<mxCell id="wc2aKXT8cUdF5_0YO61A-30" value="16: Decoy&nbsp;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#4D4D4D;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="293" y="670" width="80" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-17" value="Fire<div>Secondary</div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;" parent="KPQZ-7z9tZGHYBku0gLQ-1" vertex="1">
|
||||
<mxGeometry x="697" y="190" width="80" height="80" as="geometry" />
|
||||
<mxCell id="wc2aKXT8cUdF5_0YO61A-31" value="17: Noice" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="293" y="710" width="80" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-18" value="<div><font color="#000000">Fn</font></div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=#6d8764;fontColor=#ffffff;strokeColor=#3A5431;fontStyle=1" parent="KPQZ-7z9tZGHYBku0gLQ-1" vertex="1">
|
||||
<mxGeometry x="48" y="190" width="80" height="80" as="geometry" />
|
||||
<mxCell id="wc2aKXT8cUdF5_0YO61A-32" value="18: Target Closest A" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#4D4D4D;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="453" y="670" width="80" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-19" value="Up<div><font color="#6d8764">Down</font></div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=dots;fillColor=#303030;" parent="KPQZ-7z9tZGHYBku0gLQ-1" vertex="1">
|
||||
<mxGeometry x="48" y="290" width="80" height="80" as="geometry" />
|
||||
<mxCell id="wc2aKXT8cUdF5_0YO61A-33" value="29: Target release" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="453" y="710" width="80" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-20" value="" style="endArrow=none;html=1;rounded=0;" parent="KPQZ-7z9tZGHYBku0gLQ-1" edge="1">
|
||||
<mxCell id="wc2aKXT8cUdF5_0YO61A-34" value="TAP" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#4D4D4D;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="40" y="910" width="80" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="wc2aKXT8cUdF5_0YO61A-35" value="HOLD" style="rounded=0;whiteSpace=wrap;html=1;fillStyle=auto;fillColor=default;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="40" y="950" width="80" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="wc2aKXT8cUdF5_0YO61A-36" value="<div>HAT Right</div>" style="text;strokeColor=none;align=center;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=default;fontStyle=1;fontSize=15;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="481" y="897" width="85" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="wc2aKXT8cUdF5_0YO61A-39" value="<div>HAT Left</div>" style="text;strokeColor=none;align=center;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=default;fontStyle=1;fontSize=15;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="240" y="897" width="160" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="wc2aKXT8cUdF5_0YO61A-43" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=#AFD787;fontColor=#333333;strokeColor=#666666;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="404" y="602" width="20" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="wc2aKXT8cUdF5_0YO61A-45" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;rounded=0;" edge="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="108" y="430" as="sourcePoint" />
|
||||
<mxPoint x="28" y="510" as="targetPoint" />
|
||||
<mxPoint x="415" y="587" as="sourcePoint" />
|
||||
<mxPoint x="415" y="507" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-21" value="" style="endArrow=none;html=1;rounded=0;" parent="KPQZ-7z9tZGHYBku0gLQ-1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="718" y="430" as="sourcePoint" />
|
||||
<mxPoint x="798" y="510" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-22" value="" style="endArrow=none;html=1;rounded=0;" parent="KPQZ-7z9tZGHYBku0gLQ-1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="718" y="430" as="sourcePoint" />
|
||||
<mxPoint x="108" y="430" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-23" value="" style="endArrow=none;html=1;rounded=0;" parent="KPQZ-7z9tZGHYBku0gLQ-1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="798" y="880" as="sourcePoint" />
|
||||
<mxPoint x="28" y="880" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-24" value="" style="endArrow=none;html=1;rounded=0;" parent="KPQZ-7z9tZGHYBku0gLQ-1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="28" y="510" as="sourcePoint" />
|
||||
<mxPoint x="28" y="880" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-25" value="" style="endArrow=none;html=1;rounded=0;" parent="KPQZ-7z9tZGHYBku0gLQ-1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="798" y="510" as="sourcePoint" />
|
||||
<mxPoint x="798" y="880" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-26" value="" style="endArrow=none;html=1;rounded=0;" parent="KPQZ-7z9tZGHYBku0gLQ-1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="798" y="170" as="sourcePoint" />
|
||||
<mxPoint x="28" y="170" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-27" value="" style="endArrow=none;html=1;rounded=0;" parent="KPQZ-7z9tZGHYBku0gLQ-1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="798" y="390" as="sourcePoint" />
|
||||
<mxPoint x="28" y="390" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-28" value="Reset head tracker<div></div>" style="whiteSpace=wrap;html=1;aspect=fixed;" parent="KPQZ-7z9tZGHYBku0gLQ-1" vertex="1">
|
||||
<mxGeometry x="373" y="190" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-29" value="" style="endArrow=none;html=1;rounded=0;" parent="KPQZ-7z9tZGHYBku0gLQ-1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="28" y="170" as="sourcePoint" />
|
||||
<mxPoint x="28" y="390" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-30" value="" style="endArrow=none;html=1;rounded=0;" parent="KPQZ-7z9tZGHYBku0gLQ-1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="798" y="170" as="sourcePoint" />
|
||||
<mxPoint x="798" y="390" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-31" value="USB-C" style="rounded=1;whiteSpace=wrap;html=1;" parent="KPQZ-7z9tZGHYBku0gLQ-1" vertex="1">
|
||||
<mxGeometry x="353" y="300" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-32" value="" style="endArrow=none;html=1;rounded=0;" parent="KPQZ-7z9tZGHYBku0gLQ-1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="240" y="170" as="sourcePoint" />
|
||||
<mxPoint x="240" y="390" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-33" value="" style="endArrow=none;html=1;rounded=0;" parent="KPQZ-7z9tZGHYBku0gLQ-1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="583" y="170" as="sourcePoint" />
|
||||
<mxPoint x="583" y="390" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-34" value="UP:<div>DOWN:</div><div>LEFT:</div><div>RIGHT:</div><div>BUTTON:</div><div><br></div><div><font color="#6d8764">UP:</font><div><font color="#6d8764">DOWN:</font></div><div><font color="#6d8764">LEFT:</font></div><div><font color="#6d8764">RIGHT:</font></div><div><font color="#6d8764">BUTTON:</font></div></div>" style="text;strokeColor=none;align=right;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="KPQZ-7z9tZGHYBku0gLQ-1" vertex="1">
|
||||
<mxGeometry x="433" y="910" width="60" height="160" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-35" value="UP:<div>DOWN:</div><div>LEFT:</div><div>RIGHT:</div><div>BUTTON:</div><div><br></div><div><font color="#6d8764">UP:</font><div><font color="#6d8764">DOWN:</font></div><div><font color="#6d8764">LEFT:</font></div><div><font color="#6d8764">RIGHT:</font></div><div><font color="#6d8764">BUTTON:</font></div></div>" style="text;strokeColor=none;align=right;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="KPQZ-7z9tZGHYBku0gLQ-1" vertex="1">
|
||||
<mxGeometry x="273" y="910" width="55" height="160" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-36" value="" style="rounded=1;whiteSpace=wrap;html=1;" parent="KPQZ-7z9tZGHYBku0gLQ-1" vertex="1">
|
||||
<mxGeometry x="313" y="770" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-37" value="" style="rounded=1;whiteSpace=wrap;html=1;" parent="KPQZ-7z9tZGHYBku0gLQ-1" vertex="1">
|
||||
<mxGeometry x="313" y="850" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-38" value="" style="rounded=1;whiteSpace=wrap;html=1;" parent="KPQZ-7z9tZGHYBku0gLQ-1" vertex="1">
|
||||
<mxGeometry x="473" y="770" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-39" value="" style="rounded=1;whiteSpace=wrap;html=1;rotation=90;" parent="KPQZ-7z9tZGHYBku0gLQ-1" vertex="1">
|
||||
<mxGeometry x="353" y="810" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-40" value="" style="rounded=1;whiteSpace=wrap;html=1;rotation=90;" parent="KPQZ-7z9tZGHYBku0gLQ-1" vertex="1">
|
||||
<mxGeometry x="273" y="810" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-41" value="" style="rounded=1;whiteSpace=wrap;html=1;rotation=90;" parent="KPQZ-7z9tZGHYBku0gLQ-1" vertex="1">
|
||||
<mxGeometry x="433" y="810" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-42" value="" style="rounded=1;whiteSpace=wrap;html=1;rotation=90;" parent="KPQZ-7z9tZGHYBku0gLQ-1" vertex="1">
|
||||
<mxGeometry x="513" y="810" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-43" value="" style="rounded=1;whiteSpace=wrap;html=1;" parent="KPQZ-7z9tZGHYBku0gLQ-1" vertex="1">
|
||||
<mxGeometry x="473" y="850" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-44" value="<div>VTOL</div><div>EXT</div>" style="text;strokeColor=none;align=center;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="KPQZ-7z9tZGHYBku0gLQ-1" vertex="1">
|
||||
<mxGeometry x="413" y="470" width="60" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-45" value="<div>Power Engine</div><div>Power Reset</div><div>Power Weapons</div><div>Power Sheilds</div><div>Thrusters On/Off</div><div><br></div><div><font color="#6d8764">Flight ready<br></font><div><font color="#6d8764">Lights On/Off</font></div><div><span style="color: rgb(109, 135, 100); background-color: transparent;">&nbsp;</span></div><div><span style="color: rgb(109, 135, 100); background-color: transparent;">Open/Close doors</span></div><div><br></div></div>" style="text;strokeColor=none;align=left;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="KPQZ-7z9tZGHYBku0gLQ-1" vertex="1">
|
||||
<mxGeometry x="328" y="910" width="110" height="160" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-46" value="<div>Target in sight</div><div>Target closest hostile</div><div>Target next friendly</div><div>Target next hostile</div><div>Clear target</div><div><br></div><div><font color="#6d8764">Camera up</font></div><div><font color="#6d8764">Camera down</font></div><div><font color="#6d8764">Camera left</font></div><div><font color="#6d8764">Camera right<br></font><div><font color="#6d8764">Camera On/Off</font></div></div>" style="text;strokeColor=none;align=left;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="KPQZ-7z9tZGHYBku0gLQ-1" vertex="1">
|
||||
<mxGeometry x="493" y="910" width="135" height="160" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-47" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" parent="KPQZ-7z9tZGHYBku0gLQ-1" vertex="1">
|
||||
<mxGeometry x="318" y="495" width="30" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-48" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" parent="KPQZ-7z9tZGHYBku0gLQ-1" vertex="1">
|
||||
<mxGeometry x="478" y="495" width="30" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-49" value="<div>Gear<span style="background-color: transparent; color: light-dark(rgb(109, 135, 100), rgb(109, 135, 100));">&nbsp;</span></div>" style="text;strokeColor=none;align=center;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=default;" parent="KPQZ-7z9tZGHYBku0gLQ-1" vertex="1">
|
||||
<mxGeometry x="353" y="470" width="67" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-50" value="Boost<br><div><font color="#6d8764">Brake</font></div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=dots;fillColor=#303030;" parent="KPQZ-7z9tZGHYBku0gLQ-1" vertex="1">
|
||||
<mxGeometry x="140" y="290" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="KPQZ-7z9tZGHYBku0gLQ-51" value="Fire<div><span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">primary</span><div><div>/ QT</div></div></div>" style="whiteSpace=wrap;html=1;aspect=fixed;" parent="KPQZ-7z9tZGHYBku0gLQ-1" vertex="1">
|
||||
<mxGeometry x="604" y="290" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
<diagram name="ED" id="uRyqbCPVisyCTsGUtqdN">
|
||||
<mxGraphModel dx="2074" dy="1237" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-0" />
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-1" parent="7MdH_5MeTOXURvUWpXqo-0" />
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-2" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry x="463" y="480" width="60" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-3" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry x="303" y="480" width="60" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-4" value="Throttle/Yaw" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillStyle=dots;fillColor=#303030;" vertex="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry x="53" y="630" width="200" height="200" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-5" value="Pitch/Roll" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillStyle=dots;fillColor=#303030;" vertex="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry x="573" y="630" width="200" height="200" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-6" value="Deploy<div>Heatsink</div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=hatch;fillColor=#8C1C1C;" vertex="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry x="293" y="670" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-7" value="<div style=""><font style="color: rgb(255, 255, 255);">L-req</font></div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;" vertex="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry x="293" y="570" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-8" value="Shaff" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=hatch;fillColor=#8C1C1C;" vertex="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry x="453" y="670" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-9" value="-" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;" vertex="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry x="453" y="570" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-10" value="<div>Right</div><font style="color: rgb(109, 135, 100);">Flight assist</font>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=dots;fillColor=#303030;" vertex="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry x="203" y="470" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-11" value="<div><font style="color: rgb(255, 255, 255);">Left</font></div><font style="color: rgb(109, 135, 100);">Throttle</font><div><font style="color: rgb(109, 135, 100);">Hold</font></div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=dots;fillColor=#303030;strokeColor=#FFFFFF;fontColor=#FFFFFF;" vertex="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry x="113" y="470" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-12" value="Frame<div>Shift</div><div>Drive</div>" style="whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry x="633" y="470" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-13" value="HP" style="whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry x="543" y="470" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-14" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=#303030;gradientColor=none;" vertex="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry x="293" y="780" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-15" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=#303030;" vertex="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry x="453" y="780" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-16" value="Ping<div><font color="#6d8764">Next group</font></div>" style="whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry x="697" y="290" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-17" value="Fire<div>Secondary</div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;" vertex="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry x="697" y="190" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-18" value="<div><font color="#000000">Fn</font></div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=#6d8764;fontColor=#ffffff;strokeColor=#3A5431;fontStyle=1" vertex="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry x="48" y="190" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-19" value="Up<div><font color="#6d8764">Down</font></div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=dots;fillColor=#303030;" vertex="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry x="48" y="290" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-20" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="108" y="430" as="sourcePoint" />
|
||||
<mxPoint x="28" y="510" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-21" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="718" y="430" as="sourcePoint" />
|
||||
<mxPoint x="798" y="510" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-22" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="718" y="430" as="sourcePoint" />
|
||||
<mxPoint x="108" y="430" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-23" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="798" y="880" as="sourcePoint" />
|
||||
<mxPoint x="28" y="880" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-24" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="28" y="510" as="sourcePoint" />
|
||||
<mxPoint x="28" y="880" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-25" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="798" y="510" as="sourcePoint" />
|
||||
<mxPoint x="798" y="880" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-26" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="798" y="170" as="sourcePoint" />
|
||||
<mxPoint x="28" y="170" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-27" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="798" y="390" as="sourcePoint" />
|
||||
<mxPoint x="28" y="390" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-28" value="Reset head tracker<div></div>" style="whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry x="373" y="190" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-29" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="28" y="170" as="sourcePoint" />
|
||||
<mxPoint x="28" y="390" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-30" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="798" y="170" as="sourcePoint" />
|
||||
<mxPoint x="798" y="390" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-31" value="USB-C" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry x="353" y="300" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-32" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="240" y="170" as="sourcePoint" />
|
||||
<mxPoint x="240" y="390" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-33" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="583" y="170" as="sourcePoint" />
|
||||
<mxPoint x="583" y="390" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-34" value="UP:<div>DOWN:</div><div>LEFT:</div><div>RIGHT:</div><div>BUTTON:</div><div><br></div><div><font color="#6d8764">UP:</font><div><font color="#6d8764">DOWN:</font></div><div><font color="#6d8764">LEFT:</font></div><div><font color="#6d8764">RIGHT:</font></div><div><font color="#6d8764">BUTTON:</font></div></div>" style="text;strokeColor=none;align=right;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry x="433" y="910" width="60" height="160" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-35" value="UP:<div>DOWN:</div><div>LEFT:</div><div>RIGHT:</div><div>BUTTON:</div><div><br></div><div><font color="#6d8764">UP:</font><div><font color="#6d8764">DOWN:</font></div><div><font color="#6d8764">LEFT:</font></div><div><font color="#6d8764">RIGHT:</font></div><div><font color="#6d8764">BUTTON:</font></div></div>" style="text;strokeColor=none;align=right;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry x="273" y="910" width="55" height="160" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-36" value="" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry x="313" y="770" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-37" value="" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry x="313" y="850" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-38" value="" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry x="473" y="770" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-39" value="" style="rounded=1;whiteSpace=wrap;html=1;rotation=90;" vertex="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry x="353" y="810" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-40" value="" style="rounded=1;whiteSpace=wrap;html=1;rotation=90;" vertex="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry x="273" y="810" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-41" value="" style="rounded=1;whiteSpace=wrap;html=1;rotation=90;" vertex="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry x="433" y="810" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-42" value="" style="rounded=1;whiteSpace=wrap;html=1;rotation=90;" vertex="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry x="513" y="810" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-43" value="" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry x="473" y="850" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-44" value="<div>-</div>" style="text;strokeColor=none;align=center;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry x="413" y="470" width="60" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-45" value="<div>Power Engine</div><div>Power Reset</div><div>Power Weapons</div><div>Power Sheilds</div><div>Thrusters On/Off</div><div><br></div><div><font color="#6d8764">Flight ready<br></font><div><font color="#6d8764">Lights On/Off</font></div><div><span style="color: rgb(109, 135, 100); background-color: transparent;">&nbsp;</span></div><div><span style="color: rgb(109, 135, 100); background-color: transparent;">Open/Close doors</span></div><div><br></div></div>" style="text;strokeColor=none;align=left;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry x="328" y="910" width="110" height="160" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-46" value="<div>UI Up</div><div>UI Down</div><div>UI Left</div><div>UI Right</div><div>UI Select</div><div><br></div><div><font color="#6d8764">Upper panel</font></div><div><font color="#6d8764">Lower panel</font></div><div><font color="#6d8764">Left panel</font></div><div><font color="#6d8764">Right panel<br></font><div><font color="#6d8764">UI Back</font></div></div>" style="text;strokeColor=none;align=left;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry x="493" y="910" width="135" height="160" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-47" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" vertex="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry x="318" y="495" width="30" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-48" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" vertex="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry x="478" y="495" width="30" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-49" value="<div>Gear<span style="background-color: transparent; color: light-dark(rgb(109, 135, 100), rgb(109, 135, 100));">&nbsp;</span></div>" style="text;strokeColor=none;align=center;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=default;" vertex="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry x="353" y="470" width="67" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-50" value="Boost<br><div><font color="#6d8764">Brake</font></div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=dots;fillColor=#303030;" vertex="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry x="140" y="290" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="7MdH_5MeTOXURvUWpXqo-51" value="Fire<div><span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">primary</span></div>" style="whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="7MdH_5MeTOXURvUWpXqo-1">
|
||||
<mxGeometry x="604" y="290" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
<diagram name="MSFS" id="HF50v-DcLVLN_Sn-ykav">
|
||||
<mxGraphModel dx="1434" dy="956" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-0" />
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-1" parent="3Xm1Z-xVLAgp_y5lNLD2-0" />
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-2" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry x="463" y="480" width="60" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-3" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry x="303" y="480" width="60" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-4" value="Throttle/Yaw" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillStyle=dots;fillColor=#303030;" vertex="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry x="53" y="630" width="200" height="200" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-5" value="Pitch/Roll" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillStyle=dots;fillColor=#303030;" vertex="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry x="573" y="630" width="200" height="200" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-6" value="" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=hatch;fillColor=#8C1C1C;" vertex="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry x="293" y="670" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-7" value="<div style=""><br></div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;" vertex="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry x="293" y="570" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-8" value="" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=hatch;fillColor=#8C1C1C;" vertex="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry x="453" y="670" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-9" value="" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;" vertex="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry x="453" y="570" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-10" value="" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=dots;fillColor=#303030;" vertex="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry x="203" y="470" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-11" value="Throttle<div>Hold</div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=dots;fillColor=#303030;strokeColor=#FFFFFF;fontColor=#FFFFFF;" vertex="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry x="113" y="470" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-12" value="<br><div><font color="#6d8764">Missile&nbsp;<span style="background-color: initial;">mode</span></font><br></div>" style="whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry x="633" y="470" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-13" value="<div><br></div><div><font color="#6d8764">Next mode</font></div>" style="whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry x="543" y="470" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-14" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillStyle=hatch;fillColor=#6D8764;" vertex="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry x="293" y="780" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-15" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillStyle=hatch;fillColor=#6D8764;" vertex="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry x="453" y="780" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-16" value="" style="whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry x="697" y="290" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-17" value="Boost<div><font color="#6d8764">Brake</font></div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=dots;fillColor=#303030;" vertex="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry x="697" y="190" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-18" value="<div><font color="#000000">Fn</font></div><div><font color="#76608a">Bootloader</font></div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=#6d8764;fontColor=#ffffff;strokeColor=#3A5431;" vertex="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry x="48" y="190" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-19" value="Up<div><font color="#6d8764">Down</font><br><div><font color="#76608a">Calibrate</font></div></div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=dots;fillColor=#303030;" vertex="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry x="48" y="290" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-20" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="108" y="430" as="sourcePoint" />
|
||||
<mxPoint x="28" y="510" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-21" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="718" y="430" as="sourcePoint" />
|
||||
<mxPoint x="798" y="510" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-22" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="718" y="430" as="sourcePoint" />
|
||||
<mxPoint x="108" y="430" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-23" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="798" y="880" as="sourcePoint" />
|
||||
<mxPoint x="28" y="880" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-24" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="28" y="510" as="sourcePoint" />
|
||||
<mxPoint x="28" y="880" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-25" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="798" y="510" as="sourcePoint" />
|
||||
<mxPoint x="798" y="880" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-26" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="798" y="170" as="sourcePoint" />
|
||||
<mxPoint x="28" y="170" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-27" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="798" y="390" as="sourcePoint" />
|
||||
<mxPoint x="28" y="390" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-28" value="Flight ready<div></div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#76608a;fontColor=#ffffff;strokeColor=#432D57;" vertex="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry x="373" y="190" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-29" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="28" y="170" as="sourcePoint" />
|
||||
<mxPoint x="28" y="390" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-30" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="798" y="170" as="sourcePoint" />
|
||||
<mxPoint x="798" y="390" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-31" value="USB-C" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry x="353" y="300" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-32" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="240" y="170" as="sourcePoint" />
|
||||
<mxPoint x="240" y="390" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-33" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="583" y="170" as="sourcePoint" />
|
||||
<mxPoint x="583" y="390" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-34" value="UP:<div>DOWN:</div><div>LEFT:</div><div>RIGHT:</div><div>BUTTON:</div><div><br></div><div><font color="#6d8764">UP:</font><div><font color="#6d8764">DOWN:</font></div><div><font color="#6d8764">LEFT:</font></div><div><font color="#6d8764">RIGHT:</font></div><div><font color="#6d8764">BUTTON:</font></div></div>" style="text;strokeColor=none;align=right;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry x="433" y="910" width="60" height="160" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-35" value="UP:<div>DOWN:</div><div>LEFT:</div><div>RIGHT:</div><div>BUTTON:</div><div><br></div><div><font color="#6d8764">UP:</font><div><font color="#6d8764">DOWN:</font></div><div><font color="#6d8764">LEFT:</font></div><div><font color="#6d8764">RIGHT:</font></div><div><font color="#6d8764">BUTTON:</font></div></div>" style="text;strokeColor=none;align=right;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry x="273" y="910" width="55" height="160" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-36" value="" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry x="313" y="770" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-37" value="" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry x="313" y="850" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-38" value="" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry x="473" y="770" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-39" value="" style="rounded=1;whiteSpace=wrap;html=1;rotation=90;" vertex="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry x="353" y="810" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-40" value="" style="rounded=1;whiteSpace=wrap;html=1;rotation=90;" vertex="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry x="273" y="810" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-41" value="" style="rounded=1;whiteSpace=wrap;html=1;rotation=90;" vertex="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry x="433" y="810" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-42" value="" style="rounded=1;whiteSpace=wrap;html=1;rotation=90;" vertex="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry x="513" y="810" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-43" value="" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry x="473" y="850" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-44" value="<div>SCM</div><div><span style="background-color: transparent;"><font style="color: light-dark(rgb(0, 0, 0), rgb(109, 135, 100));">NAV</font></span></div>" style="text;strokeColor=none;align=center;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry x="413" y="470" width="60" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-45" value="<div>Power Engine</div><div>Power Reset</div><div>Power Weapons</div><div>Power Sheilds</div><div>Thrusters On/Off</div><div><br></div><div><font color="#6d8764"><br></font><div><font color="#6d8764">Lights On/Off</font></div><div><span style="color: rgb(109, 135, 100); background-color: transparent;">&nbsp;</span></div><div><span style="color: rgb(109, 135, 100); background-color: transparent;">Open/Close doors</span></div><div><br></div></div>" style="text;strokeColor=none;align=left;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry x="328" y="910" width="110" height="160" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-46" value="<div>Target in sight</div><div>Target closest hostile</div><div>Target next friendly</div><div>Target next hostile</div><div>Clear target</div><div><br></div><div><font color="#6d8764">Camera up</font></div><div><font color="#6d8764">Camera down</font></div><div><font color="#6d8764">Camera left</font></div><div><font color="#6d8764">Camera right<br></font><div><font color="#6d8764">Camera On/Off</font></div></div>" style="text;strokeColor=none;align=left;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry x="493" y="910" width="135" height="160" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-47" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" vertex="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry x="318" y="470" width="30" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-48" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" vertex="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry x="478" y="470" width="30" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-49" value="<div>Vtol</div><div><font style="color: rgb(109, 135, 100);">Gear&nbsp;</font></div>" style="text;strokeColor=none;align=center;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=default;" vertex="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry x="353" y="470" width="67" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-50" value="Right<br><div><font color="#6d8764">Left</font></div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=dots;fillColor=#303030;" vertex="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry x="140" y="290" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="3Xm1Z-xVLAgp_y5lNLD2-51" value="" style="whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="3Xm1Z-xVLAgp_y5lNLD2-1">
|
||||
<mxGeometry x="604" y="290" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
<diagram name="DCS" id="r0eB7Mr2_zzd7YXVWdU1">
|
||||
<mxGraphModel dx="1434" dy="956" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-0" />
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-1" parent="qICAS2ZcZFxaDA8S1bFI-0" />
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-2" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry x="463" y="480" width="60" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-3" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry x="303" y="480" width="60" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-4" value="Throttle/Yaw" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillStyle=dots;fillColor=#303030;" vertex="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry x="53" y="630" width="200" height="200" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-5" value="Pitch/Roll" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillStyle=dots;fillColor=#303030;" vertex="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry x="573" y="630" width="200" height="200" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-6" value="Flare" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=hatch;fillColor=#8C1C1C;" vertex="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry x="293" y="670" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-7" value="<div style=""><br></div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;" vertex="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry x="293" y="570" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-8" value="Chaff" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=hatch;fillColor=#8C1C1C;" vertex="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry x="453" y="670" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-9" value="" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;" vertex="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry x="453" y="570" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-10" value="" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=dots;fillColor=#303030;" vertex="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry x="203" y="470" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-11" value="Throttle<div>Hold</div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=dots;fillColor=#303030;strokeColor=#FFFFFF;fontColor=#FFFFFF;" vertex="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry x="113" y="470" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-12" value="<br><div><font color="#6d8764">Missile&nbsp;<span style="background-color: initial;">mode</span></font><br></div>" style="whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry x="633" y="470" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-13" value="<div><br></div><div><font color="#6d8764">Next mode</font></div>" style="whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry x="543" y="470" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-14" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillStyle=hatch;fillColor=#6D8764;" vertex="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry x="293" y="780" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-15" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillStyle=hatch;fillColor=#6D8764;" vertex="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry x="453" y="780" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-16" value="Fire/QT" style="whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry x="697" y="290" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-17" value="Boost<div><font color="#6d8764">Brake</font></div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=dots;fillColor=#303030;" vertex="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry x="697" y="190" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-18" value="<div><font color="#000000">Fn</font></div><div><font color="#76608a">Bootloader</font></div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=#6d8764;fontColor=#ffffff;strokeColor=#3A5431;" vertex="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry x="48" y="190" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-19" value="<br><div><div><font color="#76608a">Calibrate</font></div></div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=dots;fillColor=#303030;" vertex="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry x="48" y="290" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-20" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="108" y="430" as="sourcePoint" />
|
||||
<mxPoint x="28" y="510" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-21" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="718" y="430" as="sourcePoint" />
|
||||
<mxPoint x="798" y="510" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-22" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="718" y="430" as="sourcePoint" />
|
||||
<mxPoint x="108" y="430" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-23" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="798" y="880" as="sourcePoint" />
|
||||
<mxPoint x="28" y="880" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-24" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="28" y="510" as="sourcePoint" />
|
||||
<mxPoint x="28" y="880" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-25" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="798" y="510" as="sourcePoint" />
|
||||
<mxPoint x="798" y="880" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-26" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="798" y="170" as="sourcePoint" />
|
||||
<mxPoint x="28" y="170" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-27" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="798" y="390" as="sourcePoint" />
|
||||
<mxPoint x="28" y="390" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-28" value="Flight ready<div></div>" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#76608a;fontColor=#ffffff;strokeColor=#432D57;" vertex="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry x="373" y="190" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-29" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="28" y="170" as="sourcePoint" />
|
||||
<mxPoint x="28" y="390" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-30" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="798" y="170" as="sourcePoint" />
|
||||
<mxPoint x="798" y="390" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-31" value="USB-C" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry x="353" y="300" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-32" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="240" y="170" as="sourcePoint" />
|
||||
<mxPoint x="240" y="390" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-33" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="583" y="170" as="sourcePoint" />
|
||||
<mxPoint x="583" y="390" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-34" value="UP:<div>DOWN:</div><div>LEFT:</div><div>RIGHT:</div><div>BUTTON:</div><div><br></div><div><font color="#6d8764">UP:</font><div><font color="#6d8764">DOWN:</font></div><div><font color="#6d8764">LEFT:</font></div><div><font color="#6d8764">RIGHT:</font></div><div><font color="#6d8764">BUTTON:</font></div></div>" style="text;strokeColor=none;align=right;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry x="433" y="910" width="60" height="160" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-35" value="UP:<div>DOWN:</div><div>LEFT:</div><div>RIGHT:</div><div>BUTTON:</div><div><br></div><div><font color="#6d8764">UP:</font><div><font color="#6d8764">DOWN:</font></div><div><font color="#6d8764">LEFT:</font></div><div><font color="#6d8764">RIGHT:</font></div><div><font color="#6d8764">BUTTON:</font></div></div>" style="text;strokeColor=none;align=right;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry x="273" y="910" width="55" height="160" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-36" value="" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry x="313" y="770" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-37" value="" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry x="313" y="850" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-38" value="" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry x="473" y="770" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-39" value="" style="rounded=1;whiteSpace=wrap;html=1;rotation=90;" vertex="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry x="353" y="810" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-40" value="" style="rounded=1;whiteSpace=wrap;html=1;rotation=90;" vertex="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry x="273" y="810" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-41" value="" style="rounded=1;whiteSpace=wrap;html=1;rotation=90;" vertex="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry x="433" y="810" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-42" value="" style="rounded=1;whiteSpace=wrap;html=1;rotation=90;" vertex="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry x="513" y="810" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-43" value="" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry x="473" y="850" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-44" value="<div>SCM</div><div><span style="background-color: transparent;"><font style="color: light-dark(rgb(0, 0, 0), rgb(109, 135, 100));">NAV</font></span></div>" style="text;strokeColor=none;align=center;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry x="413" y="470" width="60" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-45" value="<div>Power Engine</div><div>Power Reset</div><div>Power Weapons</div><div>Power Sheilds</div><div>Thrusters On/Off</div><div><br></div><div><font color="#6d8764"><br></font><div><font color="#6d8764">Lights On/Off</font></div><div><span style="color: rgb(109, 135, 100); background-color: transparent;">&nbsp;</span></div><div><span style="color: rgb(109, 135, 100); background-color: transparent;">Open/Close doors</span></div><div><br></div></div>" style="text;strokeColor=none;align=left;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry x="328" y="910" width="110" height="160" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-46" value="<div>Target in sight</div><div>Target closest hostile</div><div>Target next friendly</div><div>Target next hostile</div><div>Clear target</div><div><br></div><div><font color="#6d8764">Camera up</font></div><div><font color="#6d8764">Camera down</font></div><div><font color="#6d8764">Camera left</font></div><div><font color="#6d8764">Camera right<br></font><div><font color="#6d8764">Camera On/Off</font></div></div>" style="text;strokeColor=none;align=left;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry x="493" y="910" width="135" height="160" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-47" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" vertex="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry x="318" y="470" width="30" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-48" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" vertex="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry x="478" y="470" width="30" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-49" value="<div>Vtol</div><div><font style="color: rgb(109, 135, 100);">Gear&nbsp;</font></div>" style="text;strokeColor=none;align=center;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=default;" vertex="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry x="353" y="470" width="67" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-50" value="" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=dots;fillColor=#303030;" vertex="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry x="140" y="290" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="qICAS2ZcZFxaDA8S1bFI-51" value="Ping" style="whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="qICAS2ZcZFxaDA8S1bFI-1">
|
||||
<mxGeometry x="604" y="290" width="80" height="80" as="geometry" />
|
||||
<mxCell id="wc2aKXT8cUdF5_0YO61A-49" value="HOLD &amp; RELEASE" style="rounded=0;whiteSpace=wrap;html=1;fillStyle=hatch;fillColor=#808080;" vertex="1" parent="EkkbSOEkYUomZlU8jIUN-1">
|
||||
<mxGeometry x="120" y="950" width="80" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
|
||||
@ -49,6 +49,73 @@ pub static BOOT2_FIRMWARE: [u8; 256] = rp2040_boot2::BOOT_LOADER_W25Q080;
|
||||
const XTAL_FREQ_HZ: u32 = 12_000_000u32;
|
||||
|
||||
// Public constants
|
||||
// HW Button index map:
|
||||
// ---------------------------------------------------------------
|
||||
// | 0 L| 1 U| 25 U | | 2 | | 26 U | 4 U| 3 L|
|
||||
// ---------------------------------------------------------------
|
||||
// | | 5 | 6 | 7 | | 12 | 11 | 10 | |
|
||||
// | |
|
||||
// | | 8 | | 13 | |
|
||||
// | | 9 | | 14 | |
|
||||
// | X1/Y1 X2/Y2 |
|
||||
// | | 16 | | 21 | |
|
||||
// | | 19 | 15 | 17 | | 24 | 20 | 22 | |
|
||||
// | | 18 | | 23 | |
|
||||
// ---------------------------------------------------------------
|
||||
// Config Layer (holding CONFIG button)
|
||||
// ---------------------------------------------------------------
|
||||
// |BOOT L| CAL U| | CONFIG | | - | - |
|
||||
// ---------------------------------------------------------------
|
||||
// | | - | - | - | | - | - | - | |
|
||||
// | |
|
||||
// | |C M10| | - | |
|
||||
// | |C M7 | | - | |
|
||||
// | -/- -/- |
|
||||
// | | - | | - | |
|
||||
// | | - | - | - | | - |C OK | - | |
|
||||
// | | - | | - | |
|
||||
// ---------------------------------------------------------------
|
||||
//
|
||||
pub const CONFIG_BUTTON: usize = 2;
|
||||
pub const BOOT_BUTTON: usize = 0;
|
||||
pub const CAL_BUTTON: usize = 1;
|
||||
pub const CAL_DONE_BUTTON: usize = 20;
|
||||
pub const CAL_M10_GIMBLE_BUTTON: usize = 8;
|
||||
pub const CAL_M7_GIMBLE_BUTTON: usize = 9;
|
||||
|
||||
pub const BUTTON_FRONT_LEFT_LOWER: usize = 0;
|
||||
pub const BUTTON_FRONT_LEFT_UPPER: usize = 1;
|
||||
pub const BUTTON_FRONT_LEFT_EXTRA: usize = 25;
|
||||
pub const BUTTON_FRONT_CONFIG: usize = 2;
|
||||
pub const BUTTON_FRONT_RIGHT_LOWER: usize = 3;
|
||||
pub const BUTTON_FRONT_RIGHT_UPPER: usize = 4;
|
||||
pub const BUTTON_FRONT_RIGHT_EXTRA: usize = 26;
|
||||
pub const BUTTON_TOP_LEFT_LOW: usize = 5;
|
||||
pub const BUTTON_TOP_LEFT_HIGH: usize = 6;
|
||||
pub const BUTTON_TOP_LEFT_MODE: usize = 7;
|
||||
pub const BUTTON_TOP_LEFT_UP: usize = 8;
|
||||
pub const BUTTON_TOP_LEFT_DOWN: usize = 9;
|
||||
pub const BUTTON_TOP_LEFT_HAT: usize = 15;
|
||||
pub const BUTTON_TOP_LEFT_HAT_UP: usize = 16;
|
||||
pub const BUTTON_TOP_LEFT_HAT_RIGHT: usize = 17;
|
||||
pub const BUTTON_TOP_LEFT_HAT_DOWN: usize = 18;
|
||||
pub const BUTTON_TOP_LEFT_HAT_LEFT: usize = 19;
|
||||
pub const BUTTON_TOP_RIGHT_LOW: usize = 10;
|
||||
pub const BUTTON_TOP_RIGHT_HIGH: usize = 11;
|
||||
pub const BUTTON_TOP_RIGHT_MODE: usize = 12;
|
||||
pub const BUTTON_TOP_RIGHT_UP: usize = 13;
|
||||
pub const BUTTON_TOP_RIGHT_DOWN: usize = 14;
|
||||
pub const BUTTON_TOP_RIGHT_HAT: usize = 20;
|
||||
pub const BUTTON_TOP_RIGHT_HAT_UP: usize = 21;
|
||||
pub const BUTTON_TOP_RIGHT_HAT_RIGHT: usize = 22;
|
||||
pub const BUTTON_TOP_RIGHT_HAT_DOWN: usize = 23;
|
||||
pub const BUTTON_TOP_RIGHT_HAT_LEFT: usize = 24;
|
||||
|
||||
// Special button functions
|
||||
// Throttle hold:
|
||||
pub const TH_BUTTON: usize = 7;
|
||||
pub const VT_BUTTON: usize = 12;
|
||||
|
||||
pub const BUTTON_ROWS: usize = 5;
|
||||
pub const BUTTON_COLS: usize = 5;
|
||||
pub const NUMBER_OF_BUTTONS: usize = BUTTON_ROWS * BUTTON_COLS;
|
||||
@ -81,7 +148,17 @@ pub struct Button {
|
||||
pub previous_pressed: bool,
|
||||
pub usb_changed: bool,
|
||||
pub usb_changed_to_pressed: bool,
|
||||
pub usb_button: usize,
|
||||
pub usb_button: usize, // For short press
|
||||
pub usb_button_long: usize, // For long press
|
||||
pub enable_long_press: bool, // Flag to enable special behavior
|
||||
pub enable_long_hold: bool, // Flag to enable special behavior
|
||||
|
||||
// Internals
|
||||
pub press_start_time: u32, // When physical press started
|
||||
pub long_press_handled: bool, // True if long press activated
|
||||
pub active_usb_button: usize, // Currently active USB button
|
||||
pub usb_press_active: bool, // Is USB press currently "down"
|
||||
pub usb_press_start_time: u32, // When USB press was sent
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone)]
|
||||
@ -235,6 +312,9 @@ fn main() -> ! {
|
||||
let mut status_led_count_down = timer.count_down();
|
||||
status_led_count_down.start(250.millis());
|
||||
|
||||
let mut ms_count_down = timer.count_down();
|
||||
ms_count_down.start(1.millis());
|
||||
|
||||
let mut scan_count_down = timer.count_down();
|
||||
scan_count_down.start(200u32.micros());
|
||||
|
||||
@ -248,6 +328,7 @@ fn main() -> ! {
|
||||
let mut usb_active: bool = false;
|
||||
let mut calibration_active: bool = false;
|
||||
let mut throttle_hold_enable: bool = false;
|
||||
let mut vt_enable: bool = false;
|
||||
|
||||
let mut axis: [GimbalAxis; NBR_OF_GIMBAL_AXIS] = [Default::default(); NBR_OF_GIMBAL_AXIS];
|
||||
let mut buttons: [Button; NUMBER_OF_BUTTONS + 2] = [Button::default(); NUMBER_OF_BUTTONS + 2];
|
||||
@ -255,84 +336,58 @@ fn main() -> ! {
|
||||
let mut virtual_rz: u16 = AXIS_CENTER;
|
||||
let mut gimbal_mode: u8;
|
||||
|
||||
// HW Button index map:
|
||||
// ---------------------------------------------------------------
|
||||
// | 0 L| 1 U| 25 U | | 2 | | 26 U | 4 U| 3 L|
|
||||
// ---------------------------------------------------------------
|
||||
// | | 5 | 6 | 7 | | 12 | 11 | 10 | |
|
||||
// | |
|
||||
// | | 8 | | 13 | |
|
||||
// | | 9 | | 14 | |
|
||||
// | X1/Y1 X2/Y2 |
|
||||
// | | 16 | | 21 | |
|
||||
// | | 19 | 15 | 17 | | 24 | 20 | 22 | |
|
||||
// | | 18 | | 23 | |
|
||||
// ---------------------------------------------------------------
|
||||
// Config Layer (holding CONFIG button)
|
||||
// ---------------------------------------------------------------
|
||||
// |BOOT L| CAL U| | CONFIG | | - | - |
|
||||
// ---------------------------------------------------------------
|
||||
// | | - | - | - | | - | - | - | |
|
||||
// | |
|
||||
// | |C M10| | - | |
|
||||
// | |C M7 | | - | |
|
||||
// | -/- -/- |
|
||||
// | | - | | - | |
|
||||
// | | - | - | - | | - |C OK | - | |
|
||||
// | | - | | - | |
|
||||
// ---------------------------------------------------------------
|
||||
// USB HID joystick map :
|
||||
// ---------------------------------------------------------------
|
||||
// | Ry- L| Ry+ U| Rz- U| | B26 | | Rz+ U| B1 U| B2 L|
|
||||
// ---------------------------------------------------------------
|
||||
// | | B5 | B14 | B9 | | B10 | B15 | B6 | |
|
||||
// | |
|
||||
// | | B13 | | B17 | |
|
||||
// | | B16 | | B12 | |
|
||||
// | X1/Y1 X2/Y2 |
|
||||
// | | B18 | | B22 | |
|
||||
// | | B21 | B11 | B19 | | B25 | TH | B23 | |
|
||||
// | | B20 | | B24 | |
|
||||
// ---------------------------------------------------------------
|
||||
//
|
||||
pub const CONFIG_BUTTON: usize = 2;
|
||||
pub const BOOT_BUTTON: usize = 0;
|
||||
pub const CAL_BUTTON: usize = 1;
|
||||
pub const CAL_DONE_BUTTON: usize = 20;
|
||||
pub const CAL_M10_GIMBLE_BUTTON: usize = 8;
|
||||
pub const CAL_M7_GIMBLE_BUTTON: usize = 9;
|
||||
// Special button functions
|
||||
// Throttle hold:
|
||||
pub const TH_BUTTON: usize = 20;
|
||||
|
||||
// Set up usb button layout
|
||||
buttons[0].usb_button = 4;
|
||||
buttons[1].usb_button = 3;
|
||||
buttons[2].usb_button = 26; // Button used as global config. Do not define secondary USB button!
|
||||
buttons[3].usb_button = 2;
|
||||
buttons[4].usb_button = 1;
|
||||
buttons[5].usb_button = 5;
|
||||
buttons[6].usb_button = 14;
|
||||
buttons[7].usb_button = 9;
|
||||
buttons[8].usb_button = 13;
|
||||
buttons[9].usb_button = 16;
|
||||
buttons[10].usb_button = 6;
|
||||
buttons[11].usb_button = 15;
|
||||
buttons[12].usb_button = 10;
|
||||
buttons[13].usb_button = 17;
|
||||
buttons[14].usb_button = 12;
|
||||
buttons[15].usb_button = 11;
|
||||
buttons[16].usb_button = 18;
|
||||
buttons[17].usb_button = 19;
|
||||
buttons[18].usb_button = 20;
|
||||
buttons[19].usb_button = 21;
|
||||
buttons[20].usb_button = 0;
|
||||
buttons[21].usb_button = 22;
|
||||
buttons[22].usb_button = 23;
|
||||
buttons[23].usb_button = 24;
|
||||
buttons[24].usb_button = 25;
|
||||
buttons[25].usb_button = 7;
|
||||
buttons[26].usb_button = 8;
|
||||
buttons[BUTTON_FRONT_LEFT_LOWER].usb_button = 29;
|
||||
buttons[BUTTON_FRONT_LEFT_UPPER].usb_button = 28;
|
||||
buttons[BUTTON_FRONT_CONFIG].usb_button = 32; // Button used as global config.
|
||||
buttons[BUTTON_FRONT_CONFIG].usb_button_long = 3;
|
||||
buttons[BUTTON_FRONT_CONFIG].enable_long_press = true;
|
||||
buttons[BUTTON_FRONT_RIGHT_LOWER].usb_button = 2;
|
||||
buttons[BUTTON_FRONT_RIGHT_UPPER].usb_button = 1;
|
||||
buttons[BUTTON_TOP_LEFT_LOW].usb_button = 4;
|
||||
buttons[BUTTON_TOP_LEFT_LOW].usb_button_long = 5;
|
||||
buttons[BUTTON_TOP_LEFT_LOW].enable_long_press = true;
|
||||
buttons[BUTTON_TOP_LEFT_LOW].enable_long_hold = true;
|
||||
buttons[BUTTON_TOP_LEFT_HIGH].usb_button = 6;
|
||||
buttons[BUTTON_TOP_LEFT_HIGH].usb_button_long = 7;
|
||||
buttons[BUTTON_TOP_LEFT_HIGH].enable_long_press = true;
|
||||
buttons[BUTTON_TOP_LEFT_MODE].usb_button = 0;
|
||||
buttons[BUTTON_TOP_LEFT_UP].usb_button = 12;
|
||||
buttons[BUTTON_TOP_LEFT_UP].usb_button_long = 13;
|
||||
buttons[BUTTON_TOP_LEFT_UP].enable_long_press = true;
|
||||
buttons[BUTTON_TOP_LEFT_DOWN].usb_button = 16;
|
||||
buttons[BUTTON_TOP_LEFT_DOWN].usb_button_long = 17;
|
||||
buttons[BUTTON_TOP_LEFT_DOWN].enable_long_press = true;
|
||||
buttons[BUTTON_TOP_LEFT_DOWN].enable_long_hold = true;
|
||||
buttons[BUTTON_TOP_RIGHT_LOW].usb_button = 10;
|
||||
buttons[BUTTON_TOP_RIGHT_LOW].usb_button_long = 11;
|
||||
buttons[BUTTON_TOP_RIGHT_LOW].enable_long_press = true;
|
||||
buttons[BUTTON_TOP_RIGHT_HIGH].usb_button = 8;
|
||||
buttons[BUTTON_TOP_RIGHT_HIGH].usb_button_long = 9;
|
||||
buttons[BUTTON_TOP_RIGHT_HIGH].enable_long_press = true;
|
||||
buttons[BUTTON_TOP_RIGHT_MODE].usb_button = 0;
|
||||
buttons[BUTTON_TOP_RIGHT_UP].usb_button = 14;
|
||||
buttons[BUTTON_TOP_RIGHT_UP].usb_button_long = 15;
|
||||
buttons[BUTTON_TOP_RIGHT_UP].enable_long_press = true;
|
||||
buttons[BUTTON_TOP_RIGHT_DOWN].usb_button = 18;
|
||||
buttons[BUTTON_TOP_RIGHT_DOWN].usb_button_long = 19;
|
||||
buttons[BUTTON_TOP_RIGHT_DOWN].enable_long_press = true;
|
||||
buttons[BUTTON_TOP_LEFT_HAT].usb_button = 20;
|
||||
buttons[BUTTON_TOP_LEFT_HAT].usb_button_long = 21;
|
||||
buttons[BUTTON_TOP_LEFT_HAT].enable_long_press = true;
|
||||
buttons[BUTTON_TOP_LEFT_HAT_UP].usb_button = 22;
|
||||
buttons[BUTTON_TOP_LEFT_HAT_RIGHT].usb_button = 23;
|
||||
buttons[BUTTON_TOP_LEFT_HAT_DOWN].usb_button = 24;
|
||||
buttons[BUTTON_TOP_LEFT_HAT_LEFT].usb_button = 25;
|
||||
buttons[BUTTON_TOP_RIGHT_HAT].usb_button = 26;
|
||||
buttons[BUTTON_TOP_RIGHT_HAT].usb_button_long = 27;
|
||||
buttons[BUTTON_TOP_RIGHT_HAT].enable_long_press = true;
|
||||
buttons[BUTTON_TOP_RIGHT_HAT_UP].usb_button = 33;
|
||||
buttons[BUTTON_TOP_RIGHT_HAT_RIGHT].usb_button = 34;
|
||||
buttons[BUTTON_TOP_RIGHT_HAT_DOWN].usb_button = 35;
|
||||
buttons[BUTTON_TOP_RIGHT_HAT_LEFT].usb_button = 36;
|
||||
buttons[BUTTON_FRONT_LEFT_EXTRA].usb_button = 30;
|
||||
buttons[BUTTON_FRONT_RIGHT_EXTRA].usb_button = 31;
|
||||
|
||||
// Table for gimbal expo curve lookup insded of doing floating point math for every analog read
|
||||
let expo_lut: [u16; ADC_MAX as usize + 1] = generate_expo_lut(0.3);
|
||||
@ -418,6 +473,7 @@ fn main() -> ! {
|
||||
&usb_active,
|
||||
&calibration_active,
|
||||
&throttle_hold_enable,
|
||||
&vt_enable,
|
||||
);
|
||||
}
|
||||
|
||||
@ -428,28 +484,40 @@ fn main() -> ! {
|
||||
}
|
||||
|
||||
// Updated extra buttons
|
||||
buttons[25].pressed = left_extra_button.is_low().unwrap();
|
||||
buttons[26].pressed = right_extra_button.is_low().unwrap();
|
||||
buttons[BUTTON_FRONT_LEFT_EXTRA].pressed = left_extra_button.is_low().unwrap();
|
||||
buttons[BUTTON_FRONT_RIGHT_EXTRA].pressed = right_extra_button.is_low().unwrap();
|
||||
|
||||
// Filter left hat swith buttons
|
||||
for i in 16..=19 {
|
||||
if (16..=19).filter(|&j| j != i).any(|j| buttons[j].pressed) {
|
||||
for i in BUTTON_TOP_LEFT_HAT_UP..=BUTTON_TOP_LEFT_HAT_LEFT {
|
||||
if (BUTTON_TOP_LEFT_HAT_UP..=BUTTON_TOP_LEFT_HAT_LEFT)
|
||||
.filter(|&j| j != i)
|
||||
.any(|j| buttons[j].pressed)
|
||||
{
|
||||
buttons[i].pressed = false;
|
||||
}
|
||||
}
|
||||
// Fix button state for center hat press on hat
|
||||
if buttons[16..=19].iter().any(|b| b.pressed) {
|
||||
buttons[15].pressed = false;
|
||||
if buttons[BUTTON_TOP_LEFT_HAT_UP..=BUTTON_TOP_LEFT_HAT_LEFT]
|
||||
.iter()
|
||||
.any(|b| b.pressed)
|
||||
{
|
||||
buttons[BUTTON_TOP_LEFT_HAT].pressed = false;
|
||||
}
|
||||
// Filter right hat swith buttons
|
||||
for i in 21..=24 {
|
||||
if (21..=24).filter(|&j| j != i).any(|j| buttons[j].pressed) {
|
||||
for i in BUTTON_TOP_RIGHT_HAT_UP..=BUTTON_TOP_RIGHT_HAT_LEFT {
|
||||
if (BUTTON_TOP_RIGHT_HAT_UP..=BUTTON_TOP_RIGHT_HAT_LEFT)
|
||||
.filter(|&j| j != i)
|
||||
.any(|j| buttons[j].pressed)
|
||||
{
|
||||
buttons[i].pressed = false;
|
||||
}
|
||||
}
|
||||
// Fix button state for center hat press on hat
|
||||
if buttons[21..=24].iter().any(|b| b.pressed) {
|
||||
buttons[20].pressed = false;
|
||||
if buttons[BUTTON_TOP_RIGHT_HAT_UP..=BUTTON_TOP_RIGHT_HAT_LEFT]
|
||||
.iter()
|
||||
.any(|b| b.pressed)
|
||||
{
|
||||
buttons[BUTTON_TOP_RIGHT_HAT].pressed = false;
|
||||
}
|
||||
|
||||
// Secondary way to enter bootloader (pressing all left hands buttons except the hat
|
||||
@ -564,25 +632,37 @@ fn main() -> ! {
|
||||
}
|
||||
|
||||
// Update Virtual RY
|
||||
let virtual_step: u16 = 5;
|
||||
let virtual_step: u16 = 2;
|
||||
// Compensate value when changing direction
|
||||
if buttons[1].pressed && !buttons[0].pressed && virtual_ry < AXIS_CENTER {
|
||||
virtual_ry = AXIS_CENTER + (AXIS_CENTER - virtual_ry);
|
||||
} else if buttons[0].pressed && !buttons[1].pressed && virtual_ry > AXIS_CENTER {
|
||||
virtual_ry = AXIS_CENTER - (virtual_ry - AXIS_CENTER);
|
||||
if buttons[BUTTON_FRONT_LEFT_UPPER].pressed
|
||||
&& !buttons[BUTTON_FRONT_LEFT_LOWER].pressed
|
||||
&& virtual_ry < AXIS_CENTER
|
||||
{
|
||||
virtual_ry = AXIS_CENTER + (AXIS_CENTER - virtual_ry) / 2;
|
||||
} else if buttons[BUTTON_FRONT_LEFT_LOWER].pressed
|
||||
&& !buttons[BUTTON_FRONT_LEFT_UPPER].pressed
|
||||
&& virtual_ry > AXIS_CENTER
|
||||
{
|
||||
virtual_ry = AXIS_CENTER - (virtual_ry - AXIS_CENTER) / 2;
|
||||
}
|
||||
// Move virtual axis
|
||||
if buttons[1].pressed && !buttons[0].pressed && virtual_ry < ADC_MAX - virtual_step {
|
||||
if buttons[BUTTON_FRONT_LEFT_UPPER].pressed
|
||||
&& !buttons[BUTTON_FRONT_LEFT_LOWER].pressed
|
||||
&& virtual_ry < ADC_MAX - virtual_step
|
||||
{
|
||||
virtual_ry = virtual_ry + virtual_step;
|
||||
usb_activity = true;
|
||||
} else if buttons[0].pressed
|
||||
&& !buttons[1].pressed
|
||||
} else if buttons[BUTTON_FRONT_LEFT_LOWER].pressed
|
||||
&& !buttons[BUTTON_FRONT_LEFT_UPPER].pressed
|
||||
&& virtual_ry > ADC_MIN + virtual_step
|
||||
{
|
||||
virtual_ry = virtual_ry - virtual_step;
|
||||
usb_activity = true;
|
||||
} else if (virtual_ry != AXIS_CENTER && !buttons[1].pressed && !buttons[0].pressed)
|
||||
|| (buttons[1].pressed && buttons[0].pressed)
|
||||
} else if (virtual_ry != AXIS_CENTER
|
||||
&& !buttons[BUTTON_FRONT_LEFT_UPPER].pressed
|
||||
&& !buttons[BUTTON_FRONT_LEFT_LOWER].pressed)
|
||||
|| (buttons[BUTTON_FRONT_LEFT_UPPER].pressed
|
||||
&& buttons[BUTTON_FRONT_LEFT_LOWER].pressed)
|
||||
{
|
||||
if virtual_ry < AXIS_CENTER + virtual_step {
|
||||
virtual_ry = virtual_ry + virtual_step;
|
||||
@ -594,23 +674,35 @@ fn main() -> ! {
|
||||
|
||||
// Update Virtual RZ
|
||||
// Compensate value when changing direction
|
||||
if buttons[25].pressed && !buttons[26].pressed && virtual_rz < AXIS_CENTER {
|
||||
virtual_rz = AXIS_CENTER + (AXIS_CENTER - virtual_rz);
|
||||
} else if buttons[26].pressed && !buttons[25].pressed && virtual_rz > AXIS_CENTER {
|
||||
virtual_rz = AXIS_CENTER - (virtual_rz - AXIS_CENTER);
|
||||
if buttons[BUTTON_FRONT_RIGHT_EXTRA].pressed
|
||||
&& !buttons[BUTTON_FRONT_LEFT_EXTRA].pressed
|
||||
&& virtual_rz < AXIS_CENTER
|
||||
{
|
||||
virtual_rz = AXIS_CENTER + (AXIS_CENTER - virtual_rz) / 2;
|
||||
} else if buttons[BUTTON_FRONT_LEFT_EXTRA].pressed
|
||||
&& !buttons[BUTTON_FRONT_RIGHT_EXTRA].pressed
|
||||
&& virtual_rz > AXIS_CENTER
|
||||
{
|
||||
virtual_rz = AXIS_CENTER - (virtual_rz - AXIS_CENTER) / 2;
|
||||
}
|
||||
// Move virtual axis
|
||||
if buttons[25].pressed && !buttons[26].pressed && virtual_rz < ADC_MAX - virtual_step {
|
||||
if buttons[BUTTON_FRONT_RIGHT_EXTRA].pressed
|
||||
&& !buttons[BUTTON_FRONT_LEFT_EXTRA].pressed
|
||||
&& virtual_rz < ADC_MAX - virtual_step
|
||||
{
|
||||
virtual_rz = virtual_rz + virtual_step;
|
||||
usb_activity = true;
|
||||
} else if buttons[26].pressed
|
||||
&& !buttons[25].pressed
|
||||
} else if buttons[BUTTON_FRONT_LEFT_EXTRA].pressed
|
||||
&& !buttons[BUTTON_FRONT_RIGHT_EXTRA].pressed
|
||||
&& virtual_rz > ADC_MIN + virtual_step
|
||||
{
|
||||
virtual_rz = virtual_rz - virtual_step;
|
||||
usb_activity = true;
|
||||
} else if (virtual_rz != AXIS_CENTER && !buttons[25].pressed && !buttons[26].pressed)
|
||||
|| (buttons[25].pressed && buttons[26].pressed)
|
||||
} else if (virtual_rz != AXIS_CENTER
|
||||
&& !buttons[BUTTON_FRONT_RIGHT_EXTRA].pressed
|
||||
&& !buttons[BUTTON_FRONT_LEFT_EXTRA].pressed)
|
||||
|| (buttons[BUTTON_FRONT_RIGHT_EXTRA].pressed
|
||||
&& buttons[BUTTON_FRONT_LEFT_EXTRA].pressed)
|
||||
{
|
||||
if virtual_rz < AXIS_CENTER + virtual_step {
|
||||
virtual_rz = virtual_rz + virtual_step;
|
||||
@ -630,10 +722,10 @@ fn main() -> ! {
|
||||
|
||||
// Generate led activity when a button is pressed
|
||||
for (index, key) in buttons.iter_mut().enumerate() {
|
||||
update_button_press_type(key, (timer.get_counter().ticks() / 1000) as u32);
|
||||
|
||||
if key.pressed != key.previous_pressed {
|
||||
key.usb_changed = true;
|
||||
key.usb_changed_to_pressed = key.pressed;
|
||||
usb_activity = true;
|
||||
}
|
||||
// Set throttle_hold_value
|
||||
if key.pressed != key.previous_pressed
|
||||
@ -650,6 +742,12 @@ fn main() -> ! {
|
||||
{
|
||||
axis[GIMBAL_AXIS_LEFT_Y].hold = AXIS_CENTER;
|
||||
axis[GIMBAL_AXIS_LEFT_Y].hold_pending = true;
|
||||
} else if key.pressed != key.previous_pressed && key.pressed && index == VT_BUTTON {
|
||||
vt_enable = !vt_enable;
|
||||
}
|
||||
|
||||
if key.usb_changed {
|
||||
usb_activity = true;
|
||||
}
|
||||
key.previous_pressed = key.pressed;
|
||||
}
|
||||
@ -686,6 +784,7 @@ fn main() -> ! {
|
||||
true,
|
||||
&expo_lut_virtual,
|
||||
),
|
||||
&vt_enable,
|
||||
)) {
|
||||
Err(UsbHidError::WouldBlock) => {}
|
||||
Ok(_) => {}
|
||||
@ -699,6 +798,60 @@ fn main() -> ! {
|
||||
}
|
||||
}
|
||||
|
||||
fn update_button_press_type(button: &mut Button, current_time: u32) {
|
||||
const LONG_PRESS_THRESHOLD: u32 = 200;
|
||||
const USB_MIN_HOLD_MS: u32 = 50;
|
||||
|
||||
// Pressing button
|
||||
if button.pressed && !button.previous_pressed {
|
||||
button.press_start_time = current_time;
|
||||
button.long_press_handled = false;
|
||||
}
|
||||
|
||||
// While held: trigger long press if applicable
|
||||
if button.pressed && button.enable_long_press && !button.long_press_handled {
|
||||
if current_time - button.press_start_time >= LONG_PRESS_THRESHOLD {
|
||||
button.active_usb_button = button.usb_button_long;
|
||||
button.usb_press_start_time = current_time;
|
||||
button.usb_press_active = true;
|
||||
button.usb_changed = true;
|
||||
button.long_press_handled = true;
|
||||
}
|
||||
}
|
||||
|
||||
// Releasing button
|
||||
if !button.pressed && button.previous_pressed {
|
||||
// If long press wasn't triggered, it's a short press
|
||||
if (!button.enable_long_press || !button.long_press_handled) && button.usb_button != 0 {
|
||||
button.active_usb_button = button.usb_button;
|
||||
button.usb_press_start_time = current_time;
|
||||
button.usb_press_active = true;
|
||||
button.usb_changed = true;
|
||||
}
|
||||
|
||||
// If long press was active, release now
|
||||
if button.long_press_handled && button.usb_press_active {
|
||||
button.usb_changed = true;
|
||||
button.usb_press_active = false;
|
||||
button.active_usb_button = 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Auto-release for short press after minimum hold time
|
||||
if button.usb_press_active
|
||||
&& (!button.pressed
|
||||
&& !button.long_press_handled
|
||||
&& current_time - button.usb_press_start_time >= USB_MIN_HOLD_MS)
|
||||
|| (!button.enable_long_hold
|
||||
&& button.long_press_handled
|
||||
&& current_time - button.usb_press_start_time >= USB_MIN_HOLD_MS)
|
||||
{
|
||||
button.usb_changed = true;
|
||||
button.usb_press_active = false;
|
||||
button.active_usb_button = 0;
|
||||
}
|
||||
}
|
||||
|
||||
/// Update status LED colour
|
||||
///
|
||||
/// Waiting for USB enumerate = flashing green
|
||||
@ -715,6 +868,7 @@ fn update_status_led<P, SM, I>(
|
||||
usb_active: &bool,
|
||||
calibration_active: &bool,
|
||||
throttle_hold_enable: &bool,
|
||||
vt_enable: &bool,
|
||||
) where
|
||||
I: AnyPin<Function = P::PinFunction>,
|
||||
P: PIOExt,
|
||||
@ -724,6 +878,8 @@ fn update_status_led<P, SM, I>(
|
||||
status_led.update(StatusMode::ActivityFlash);
|
||||
} else if !*usb_active {
|
||||
status_led.update(StatusMode::NormalFlash);
|
||||
} else if *usb_active && *vt_enable {
|
||||
status_led.update(StatusMode::Activity);
|
||||
} else if *usb_active && *throttle_hold_enable {
|
||||
status_led.update(StatusMode::Other);
|
||||
} else if *usb_active && !*throttle_hold_enable {
|
||||
@ -743,21 +899,64 @@ fn get_joystick_report(
|
||||
axis: &mut [GimbalAxis; 4],
|
||||
virtual_ry: u16,
|
||||
virtual_rz: u16,
|
||||
vt_enable: &bool,
|
||||
) -> JoystickReport {
|
||||
let x: i16 = axis_12bit_to_i16(axis[GIMBAL_AXIS_LEFT_X].value);
|
||||
let y: i16 = axis_12bit_to_i16(ADC_MAX - axis[GIMBAL_AXIS_LEFT_Y].value);
|
||||
let z: i16 = axis_12bit_to_i16(axis[GIMBAL_AXIS_RIGHT_X].value);
|
||||
let y: i16 = axis_12bit_to_i16(axis[GIMBAL_AXIS_LEFT_Y].value);
|
||||
let mut z: i16 = axis_12bit_to_i16(axis[GIMBAL_AXIS_RIGHT_X].value);
|
||||
let rx: i16 = axis_12bit_to_i16(ADC_MAX - axis[GIMBAL_AXIS_RIGHT_Y].value);
|
||||
let ry: i16 = axis_12bit_to_i16(virtual_ry);
|
||||
let rz: i16 = axis_12bit_to_i16(virtual_rz);
|
||||
let slider: i16 = 0;
|
||||
let dial: i16 = 0;
|
||||
let mut slider: i16 = axis_12bit_to_i16(ADC_MIN);
|
||||
let mut hat: u8 = 8; // Hat center position
|
||||
|
||||
// Virtual axix control. Disables z and rx axis and using girght gimbal Y axis to control
|
||||
// slider axis. Values from center stick to max or min will be recalculated to min to max.
|
||||
if *vt_enable {
|
||||
if axis[GIMBAL_AXIS_RIGHT_X].value >= AXIS_CENTER {
|
||||
slider = axis_12bit_to_i16(remap(
|
||||
axis[GIMBAL_AXIS_RIGHT_X].value,
|
||||
AXIS_CENTER,
|
||||
ADC_MAX,
|
||||
ADC_MIN,
|
||||
ADC_MAX,
|
||||
));
|
||||
} else {
|
||||
slider = axis_12bit_to_i16(
|
||||
ADC_MAX
|
||||
- remap(
|
||||
axis[GIMBAL_AXIS_RIGHT_X].value,
|
||||
ADC_MIN,
|
||||
AXIS_CENTER,
|
||||
ADC_MIN,
|
||||
ADC_MAX,
|
||||
),
|
||||
);
|
||||
}
|
||||
z = 0;
|
||||
}
|
||||
|
||||
// Update button state for joystick buttons
|
||||
let mut buttons: u32 = 0;
|
||||
for key in matrix_keys.iter_mut() {
|
||||
if key.pressed && key.usb_button != 0 {
|
||||
buttons |= 1 << (key.usb_button - 1);
|
||||
if key.enable_long_press {
|
||||
if key.active_usb_button != 0 {
|
||||
// Check if key is assigned as hat switch
|
||||
if key.active_usb_button >= 33 && key.active_usb_button <= 36 {
|
||||
hat = (key.active_usb_button as u8 - 33) * 2;
|
||||
} else {
|
||||
buttons |= 1 << (key.active_usb_button - 1);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if key.pressed && key.usb_button != 0 {
|
||||
// Check if key is assigned as hat switch
|
||||
if key.usb_button >= 33 && key.usb_button <= 36 {
|
||||
hat = (key.usb_button as u8 - 33) * 2;
|
||||
} else {
|
||||
buttons |= 1 << (key.usb_button - 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -774,7 +973,7 @@ fn get_joystick_report(
|
||||
ry,
|
||||
rz,
|
||||
slider,
|
||||
dial,
|
||||
hat,
|
||||
buttons,
|
||||
}
|
||||
}
|
||||
|
||||
@ -67,7 +67,7 @@ pub const JOYSTICK_DESCRIPTOR: &[u8] = &[
|
||||
0x09, 0x04, // Usage (Joystick)
|
||||
0xA1, 0x01, // Collection (Application)
|
||||
|
||||
// 8 signed 16-bit axes: X, Y, Z, Rx, Ry, Rz, Slider, Dial
|
||||
// 7 signed 16-bit axes: X, Y, Z, Rx, Ry, Rz, Slider
|
||||
0x09, 0x30, // Usage (X)
|
||||
0x09, 0x31, // Usage (Y)
|
||||
0x09, 0x32, // Usage (Z)
|
||||
@ -75,28 +75,38 @@ pub const JOYSTICK_DESCRIPTOR: &[u8] = &[
|
||||
0x09, 0x34, // Usage (Ry)
|
||||
0x09, 0x35, // Usage (Rz)
|
||||
0x09, 0x36, // Usage (Slider)
|
||||
0x09, 0x37, // Usage (Dial)
|
||||
0x16, 0x00, 0x80, // Logical Minimum (-32768)
|
||||
0x26, 0xFF, 0x7F, // Logical Maximum (32767)
|
||||
0x75, 0x10, // Report Size (16)
|
||||
0x95, 0x08, // Report Count (8)
|
||||
0x95, 0x07, // Report Count (7)
|
||||
0x81, 0x02, // Input (Data,Var,Abs)
|
||||
|
||||
// 26 Buttons (1-bit each)
|
||||
// 1 Hat Switch
|
||||
0x09, 0x39, // Usage (Hat switch)
|
||||
0x15, 0x00, // Logical Minimum (0)
|
||||
0x25, 0x07, // Logical Maximum (7)
|
||||
0x35, 0x00, // Physical Minimum (0)
|
||||
0x46, 0x3B, 0x01, // Physical Maximum (315)
|
||||
0x65, 0x14, // Unit (Eng Rot: Degrees)
|
||||
0x75, 0x04, // Report Size (4)
|
||||
0x95, 0x01, // Report Count (1)
|
||||
0x81, 0x42, // Input (Data,Var,Abs,Null)
|
||||
|
||||
// Padding for 4 bits to align to byte
|
||||
0x75, 0x04, // Report Size (4)
|
||||
0x95, 0x01, // Report Count (1)
|
||||
0x81, 0x03, // Input (Const,Var,Abs) – padding
|
||||
|
||||
// 32 Buttons (1-bit each)
|
||||
0x05, 0x09, // Usage Page (Button)
|
||||
0x19, 0x01, // Usage Minimum (1)
|
||||
0x29, 0x1A, // Usage Maximum (26)
|
||||
0x29, 0x20, // Usage Maximum (32)
|
||||
0x15, 0x00, // Logical Minimum (0)
|
||||
0x25, 0x01, // Logical Maximum (1)
|
||||
0x75, 0x01, // Report Size (1)
|
||||
0x95, 0x1A, // Report Count (26)
|
||||
0x95, 0x20, // Report Count (32)
|
||||
0x81, 0x02, // Input (Data,Var,Abs)
|
||||
|
||||
// Padding to align buttons to byte boundary (26 bits → +6 bits padding)
|
||||
0x75, 0x01, // Report Size (1)
|
||||
0x95, 0x06, // Report Count (6)
|
||||
0x81, 0x03, // Input (Const,Var,Abs)
|
||||
|
||||
0xC0 // End Collection
|
||||
];
|
||||
|
||||
@ -109,7 +119,7 @@ pub struct JoystickReport {
|
||||
pub ry: i16, // 16bit
|
||||
pub rz: i16, // 16bit
|
||||
pub slider: i16, // 16bit
|
||||
pub dial: i16, // 16bit
|
||||
pub hat: u8, // 8bit
|
||||
pub buttons: u32, // 32bit
|
||||
}
|
||||
|
||||
@ -119,7 +129,7 @@ pub struct Joystick<'a, B: UsbBus> {
|
||||
|
||||
impl<B: UsbBus> Joystick<'_, B> {
|
||||
pub fn write_report(&mut self, report: &JoystickReport) -> Result<(), UsbHidError> {
|
||||
let mut data: [u8; 20] = [0; 20];
|
||||
let mut data: [u8; 19] = [0; 19];
|
||||
|
||||
// Did not make the packed struct work, so doing it manually
|
||||
data[0] = report.x as u8;
|
||||
@ -136,12 +146,11 @@ impl<B: UsbBus> Joystick<'_, B> {
|
||||
data[11] = (report.rz >> 8) as u8;
|
||||
data[12] = report.slider as u8;
|
||||
data[13] = (report.slider >> 8) as u8;
|
||||
data[14] = report.dial as u8;
|
||||
data[15] = (report.dial >> 8) as u8;
|
||||
data[16] = report.buttons as u8;
|
||||
data[17] = (report.buttons >> 8) as u8;
|
||||
data[18] = (report.buttons >> 16) as u8;
|
||||
data[19] = (report.buttons >> 24) as u8;
|
||||
data[14] = report.hat;
|
||||
data[15] = report.buttons as u8;
|
||||
data[16] = (report.buttons >> 8) as u8;
|
||||
data[17] = (report.buttons >> 16) as u8;
|
||||
data[18] = (report.buttons >> 24) as u8;
|
||||
|
||||
self.interface
|
||||
.write_report(&data)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user