Files
flix/docs/img/control.svg
Oleg Kalachev 774144c430 Many updates to documentation
Updates to main readme.
Add much more info to usage article.
Move simulator building to simulation's readme.
Improve assembly article.
Many fixes.
Updates in diagrams.
2025-11-06 13:55:52 +03:00

3 lines
15 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" style="background: #ffffff; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); color-scheme: light dark;" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="350px" height="480px" viewBox="0 0 350 480"><defs/><rect fill="#ffffff" width="100%" height="100%" x="0" y="0" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212));"/><g><g data-cell-id="0"><g data-cell-id="1"><g data-cell-id="4gJvMrF5Q0s3hAfa_-KM-1"><g><rect x="31" y="71" width="250" height="40" rx="6" ry="6" fill="#ffffff" stroke="#0076ba" stroke-width="2" pointer-events="all" style="fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18)); stroke: light-dark(rgb(0, 118, 186), rgb(69, 170, 229));"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 248px; height: 1px; padding-top: 91px; margin-left: 32px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 18px; font-family: Helvetica; color: light-dark(#000000, #ededed); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">interpretControls</div></div></div></foreignObject><text x="156" y="96" fill="#000000" font-family="Helvetica" font-size="18px" text-anchor="middle">interpretControls</text></switch></g></g></g><g data-cell-id="RHy7a1CUdTbB7FCdzHRi-1"><g transform="translate(0.5,0.5)"><path d="M 156 1 Q 156 1 156 61.65" fill="none" stroke="#d5d5d5" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(213, 213, 213), rgb(54, 54, 54));"/><path d="M 156 67.65 L 153 61.65 L 159 61.65 Z" fill="#d5d5d5" stroke="#d5d5d5" stroke-width="3" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(213, 213, 213), rgb(54, 54, 54)); stroke: light-dark(rgb(213, 213, 213), rgb(54, 54, 54));"/></g><g data-cell-id="RHy7a1CUdTbB7FCdzHRi-2"><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 1px; height: 1px; padding-top: 26px; margin-left: 165px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Tahoma; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; "><div>controlThottle, controlYaw<br /></div>controlRoll, controlPitch<div>controlMode</div></div></div></div></foreignObject><text x="165" y="29" fill="light-dark(#000000, #ffffff)" font-family="Tahoma" font-size="12px">controlThottle, controlYaw...</text></switch></g></g></g></g><g data-cell-id="RHy7a1CUdTbB7FCdzHRi-3"><g><rect x="131" y="171" width="150" height="40" rx="6" ry="6" fill="#ffffff" stroke="#0076ba" stroke-width="2" pointer-events="all" style="fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18)); stroke: light-dark(rgb(0, 118, 186), rgb(69, 170, 229));"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 148px; height: 1px; padding-top: 191px; margin-left: 132px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 18px; font-family: Helvetica; color: light-dark(#000000, #ededed); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">controlAttitude</div></div></div></foreignObject><text x="206" y="196" fill="#000000" font-family="Helvetica" font-size="18px" text-anchor="middle">controlAttitude</text></switch></g></g></g><g data-cell-id="RHy7a1CUdTbB7FCdzHRi-4"><g><rect x="131" y="281" width="150" height="40" rx="6" ry="6" fill="#ffffff" stroke="#0076ba" stroke-width="2" pointer-events="all" style="fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18)); stroke: light-dark(rgb(0, 118, 186), rgb(69, 170, 229));"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 148px; height: 1px; padding-top: 301px; margin-left: 132px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 18px; font-family: Helvetica; color: light-dark(#000000, #ededed); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">controlRates</div></div></div></foreignObject><text x="206" y="306" fill="#000000" font-family="Helvetica" font-size="18px" text-anchor="middle">controlRates</text></switch></g></g></g><g data-cell-id="RHy7a1CUdTbB7FCdzHRi-5"><g><rect x="31" y="371" width="250" height="40" rx="6" ry="6" fill="#ffffff" stroke="#0076ba" stroke-width="2" pointer-events="all" style="fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18)); stroke: light-dark(rgb(0, 118, 186), rgb(69, 170, 229));"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 248px; height: 1px; padding-top: 391px; margin-left: 32px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 18px; font-family: Helvetica; color: light-dark(#000000, #ededed); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">controlTorque</div></div></div></foreignObject><text x="156" y="396" fill="#000000" font-family="Helvetica" font-size="18px" text-anchor="middle">controlTorque</text></switch></g></g></g><g data-cell-id="RHy7a1CUdTbB7FCdzHRi-7"><g transform="translate(0.5,0.5)"><path d="M 206.25 112.52 Q 206.25 112.52 206.04 161.65" fill="none" stroke="#d5d5d5" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(213, 213, 213), rgb(54, 54, 54));"/><path d="M 206.01 167.65 L 203.04 161.63 L 209.04 161.66 Z" fill="#d5d5d5" stroke="#d5d5d5" stroke-width="3" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(213, 213, 213), rgb(54, 54, 54)); stroke: light-dark(rgb(213, 213, 213), rgb(54, 54, 54));"/></g><g data-cell-id="RHy7a1CUdTbB7FCdzHRi-8"><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 140px; margin-left: 282px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Tahoma; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; ">attitudeTarget, ratesExtra</div></div></div></foreignObject><text x="282" y="144" fill="light-dark(#000000, #ffffff)" font-family="Tahoma" font-size="12px" text-anchor="middle">attitudeTarget, ratesExtra</text></switch></g></g></g></g><g data-cell-id="RHy7a1CUdTbB7FCdzHRi-10"><g transform="translate(0.5,0.5)"><path d="M 206 211 Q 206 211 206 271.65" fill="none" stroke="#d5d5d5" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(213, 213, 213), rgb(54, 54, 54));"/><path d="M 206 277.65 L 203 271.65 L 209 271.65 Z" fill="#d5d5d5" stroke="#d5d5d5" stroke-width="3" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(213, 213, 213), rgb(54, 54, 54)); stroke: light-dark(rgb(213, 213, 213), rgb(54, 54, 54));"/></g><g data-cell-id="RHy7a1CUdTbB7FCdzHRi-11"><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 247px; margin-left: 242px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Tahoma; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; ">ratesTarget</div></div></div></foreignObject><text x="242" y="250" fill="light-dark(#000000, #ffffff)" font-family="Tahoma" font-size="12px" text-anchor="middle">ratesTarget</text></switch></g></g></g></g><g data-cell-id="RHy7a1CUdTbB7FCdzHRi-12"><g transform="translate(0.5,0.5)"><path d="M 206 321 Q 206 321 206 361.65" fill="none" stroke="#d5d5d5" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(213, 213, 213), rgb(54, 54, 54));"/><path d="M 206 367.65 L 203 361.65 L 209 361.65 Z" fill="#d5d5d5" stroke="#d5d5d5" stroke-width="3" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(213, 213, 213), rgb(54, 54, 54)); stroke: light-dark(rgb(213, 213, 213), rgb(54, 54, 54));"/></g><g data-cell-id="RHy7a1CUdTbB7FCdzHRi-13"><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 343px; margin-left: 247px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Tahoma; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; ">torqueTarget</div></div></div></foreignObject><text x="247" y="346" fill="light-dark(#000000, #ffffff)" font-family="Tahoma" font-size="12px" text-anchor="middle">torqueTarget</text></switch></g></g></g></g><g data-cell-id="RHy7a1CUdTbB7FCdzHRi-17"><g transform="translate(0.5,0.5)"><path d="M 67.25 112.44 Q 67.25 112.44 67.97 359.65" fill="none" stroke="#d5d5d5" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(213, 213, 213), rgb(54, 54, 54));"/><path d="M 67.99 365.65 L 64.97 359.65 L 70.97 359.64 Z" fill="#d5d5d5" stroke="#d5d5d5" stroke-width="3" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(213, 213, 213), rgb(54, 54, 54)); stroke: light-dark(rgb(213, 213, 213), rgb(54, 54, 54));"/></g><g data-cell-id="RHy7a1CUdTbB7FCdzHRi-18"><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 292px; margin-left: 31px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Tahoma; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; ">thrustTarget</div></div></div></foreignObject><text x="31" y="296" fill="light-dark(#000000, #ffffff)" font-family="Tahoma" font-size="12px" text-anchor="middle">thrustTarget</text></switch></g></g></g></g><g data-cell-id="U9-6twlLAEhjw7GS2MVP-1"><g transform="translate(0.5,0.5)"><path d="M 156 411 Q 156 411 156 471.65" fill="none" stroke="#d5d5d5" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(213, 213, 213), rgb(54, 54, 54));"/><path d="M 156 477.65 L 153 471.65 L 159 471.65 Z" fill="#d5d5d5" stroke="#d5d5d5" stroke-width="3" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(213, 213, 213), rgb(54, 54, 54)); stroke: light-dark(rgb(213, 213, 213), rgb(54, 54, 54));"/></g><g data-cell-id="U9-6twlLAEhjw7GS2MVP-2"><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 443px; margin-left: 187px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Tahoma; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; ">motors[]</div></div></div></foreignObject><text x="187" y="446" fill="light-dark(#000000, #ffffff)" font-family="Tahoma" font-size="12px" text-anchor="middle">motors[]</text></switch></g></g></g></g><g data-cell-id="OKy5KVuYj1b2jmdgWqfq-5"><g transform="translate(0.5,0.5)"><path d="M 101 111 L 101 221 Q 101 231 111 231 L 191.65 231" fill="none" stroke="#d5d5d5" stroke-width="3" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke" style="stroke: light-dark(rgb(213, 213, 213), rgb(54, 54, 54));"/><path d="M 197.65 231 L 191.65 234 L 191.65 228 Z" fill="#d5d5d5" stroke="#d5d5d5" stroke-width="3" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(213, 213, 213), rgb(54, 54, 54)); stroke: light-dark(rgb(213, 213, 213), rgb(54, 54, 54));"/></g><g data-cell-id="OKy5KVuYj1b2jmdgWqfq-6"><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 242px; margin-left: 135px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Tahoma; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; ">in ACRO mode</div></div></div></foreignObject><text x="135" y="245" fill="light-dark(#000000, #ffffff)" font-family="Tahoma" font-size="12px" text-anchor="middle">in ACRO mode</text></switch></g></g></g></g></g></g></g></svg>