Files
flix/docs/img/dataflow.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
13 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="630px" height="217px" viewBox="0 0 630 217"><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="erSUeRuyQvgQK97tMdpO-1"><g transform="translate(0.5,0.5)"><rect x="0" y="0" width="130" height="40" rx="6" ry="6" fill="#0076ba" stroke="none" pointer-events="all" style="fill: 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: 128px; height: 1px; padding-top: 20px; margin-left: 1px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #FFFFFF; "><div style="display: inline-block; font-size: 18px; font-family: Helvetica; color: light-dark(#FFFFFF, #121212); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><a href="https://github.com/okalachev/flix/blob/master/flix/imu.ino" style="color: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));">imu.ino</a></div></div></div></foreignObject><text x="65" y="25" fill="#FFFFFF" font-family="Helvetica" font-size="18px" text-anchor="middle">imu.ino</text></switch></g></g></g><g data-cell-id="erSUeRuyQvgQK97tMdpO-5"><g><path d="M 130 20 Q 130 20 240.65 20" 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 246.65 20 L 240.65 23 L 240.65 17 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="V4WeqkVYwfkOGAyQkBIq-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: 10px; margin-left: 190px;"><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; ">gyro, acc</div></div></div></foreignObject><text x="190" y="14" fill="light-dark(#000000, #ffffff)" font-family="Tahoma" font-size="12px" text-anchor="middle">gyro, acc</text></switch></g></g></g></g><g data-cell-id="V4WeqkVYwfkOGAyQkBIq-10"><g transform="translate(0.5,0.5)"><rect x="250" y="0" width="130" height="40" rx="6" ry="6" fill="#0076ba" stroke="none" pointer-events="all" style="fill: 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: 128px; height: 1px; padding-top: 20px; margin-left: 251px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #FFFFFF; "><div style="display: inline-block; font-size: 18px; font-family: Helvetica; color: light-dark(#FFFFFF, #121212); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">estimate.ino</div></div></div></foreignObject><text x="315" y="25" fill="#FFFFFF" font-family="Helvetica" font-size="18px" text-anchor="middle">estimate.ino</text></switch></g></g></g><g data-cell-id="V4WeqkVYwfkOGAyQkBIq-12"><g transform="translate(0.5,0.5)"><rect x="500" y="0" width="130" height="40" rx="6" ry="6" fill="#0076ba" stroke="none" pointer-events="all" style="fill: 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: 128px; height: 1px; padding-top: 20px; margin-left: 501px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #FFFFFF; "><div style="display: inline-block; font-size: 18px; font-family: Helvetica; color: light-dark(#FFFFFF, #121212); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">control.ino</div></div></div></foreignObject><text x="565" y="25" fill="#FFFFFF" font-family="Helvetica" font-size="18px" text-anchor="middle">control.ino</text></switch></g></g></g><g data-cell-id="V4WeqkVYwfkOGAyQkBIq-13"><g transform="translate(0.5,0.5)"><rect x="250" y="120" width="130" height="40" rx="6" ry="6" fill="#0076ba" stroke="none" pointer-events="all" style="fill: 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: 128px; height: 1px; padding-top: 140px; margin-left: 251px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #FFFFFF; "><div style="display: inline-block; font-size: 18px; font-family: Helvetica; color: light-dark(#FFFFFF, #121212); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">rc.ino</div></div></div></foreignObject><text x="315" y="145" fill="#FFFFFF" font-family="Helvetica" font-size="18px" text-anchor="middle">rc.ino</text></switch></g></g></g><g data-cell-id="V4WeqkVYwfkOGAyQkBIq-14"><g transform="translate(0.5,0.5)"><rect x="490" y="120" width="130" height="40" rx="6" ry="6" fill="#0076ba" stroke="none" pointer-events="all" style="fill: 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: 128px; height: 1px; padding-top: 140px; margin-left: 491px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #FFFFFF; "><div style="display: inline-block; font-size: 18px; font-family: Helvetica; color: light-dark(#FFFFFF, #121212); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">motors.ino</div></div></div></foreignObject><text x="555" y="145" fill="#FFFFFF" font-family="Helvetica" font-size="18px" text-anchor="middle">motors.ino</text></switch></g></g></g><g data-cell-id="V4WeqkVYwfkOGAyQkBIq-16"><g><path d="M 380 20 Q 380 20 490.65 20" 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 496.65 20 L 490.65 23 L 490.65 17 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="V4WeqkVYwfkOGAyQkBIq-17"><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: 10px; margin-left: 437px;"><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; ">rates, attitude</div></div></div></foreignObject><text x="437" y="14" fill="light-dark(#000000, #ffffff)" font-family="Tahoma" font-size="12px" text-anchor="middle">rates, attitude</text></switch></g></g></g></g><g data-cell-id="V4WeqkVYwfkOGAyQkBIq-19"><g><path d="M 380 140 Q 430 120 494.26 37.38" 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 497.94 32.65 L 496.63 39.23 L 491.89 35.54 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="V4WeqkVYwfkOGAyQkBIq-20"><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: 81px; margin-left: 362px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #000000; "><div style="display: inline-block; font-size: 10px; font-family: Tahoma; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; ">controlRoll, controlPitch,<div>controlYaw, controlThrottle,</div><div>controlMode</div></div></div></div></foreignObject><text x="362" y="84" fill="light-dark(#000000, #ffffff)" font-family="Tahoma" font-size="10px">controlRoll, controlPitch,...</text></switch></g></g></g></g><g data-cell-id="V4WeqkVYwfkOGAyQkBIq-21"><g><path d="M 565 40 Q 565 80 557.27 110.93" 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 555.81 116.75 L 554.36 110.2 L 560.18 111.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="V4WeqkVYwfkOGAyQkBIq-22"><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: 81px; margin-left: 591px;"><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="591" y="85" 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="V4WeqkVYwfkOGAyQkBIq-23"><g><path d="M 490 150 Q 200 320 69.06 48.43" fill="none" stroke="#ff9301" stroke-width="3" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke" style="stroke: light-dark(rgb(255, 147, 1), rgb(183, 90, 0));"/><path d="M 66.46 43.02 L 71.76 47.12 L 66.36 49.73 Z" fill="#ff9301" stroke="#ff9301" stroke-width="3" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(255, 147, 1), rgb(183, 90, 0)); stroke: light-dark(rgb(255, 147, 1), rgb(183, 90, 0));"/></g><g data-cell-id="V4WeqkVYwfkOGAyQkBIq-24"><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: 201px; margin-left: 289px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #FF9301; "><div style="display: inline-block; font-size: 12px; font-family: Tahoma; color: light-dark(#FF9301, #b75a00); line-height: 1.2; pointer-events: all; white-space: nowrap; ">feedback</div></div></div></foreignObject><text x="289" y="204" fill="#FF9301" font-family="Tahoma" font-size="12px" text-anchor="middle">feedback</text></switch></g></g></g></g></g></g></g></svg>