1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2025-01-29 14:52:12 +01:00

OP-38 Further work on AHRS calibration UI.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1401 ebee16cc-31ac-478f-84a7-5cbb03baadba
This commit is contained in:
edouard 2010-08-24 23:33:25 +00:00 committed by edouard
parent 84d82f7ac7
commit 36e086f40e
5 changed files with 963 additions and 41 deletions

View File

@ -17,9 +17,9 @@
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<width>411</width>
<height>321</height>
<y>9</y>
<width>641</width>
<height>461</height>
</rect>
</property>
<property name="frameShape">
@ -28,73 +28,247 @@
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<widget class="QTextBrowser" name="textBrowser">
<widget class="QGraphicsView" name="ahrsBargraph">
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<width>361</width>
<height>151</height>
<width>341</width>
<height>141</height>
</rect>
</property>
<property name="html">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This panel will be where you setup your AHRS. For now it is just a placeholder, please be patient!&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
<property name="verticalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
</widget>
<widget class="QPushButton" name="saveTelemetryToRAM">
<widget class="QLabel" name="calibInstructions">
<property name="geometry">
<rect>
<x>190</x>
<y>280</y>
<x>390</x>
<y>90</y>
<width>301</width>
<height>17</height>
</rect>
</property>
<property name="text">
<string>Instructions......................</string>
</property>
</widget>
<widget class="QPushButton" name="ahrsCalibStart">
<property name="geometry">
<rect>
<x>400</x>
<y>30</y>
<width>93</width>
<height>27</height>
</rect>
</property>
<property name="toolTip">
<string>Send to OpenPilot but don't write in SD.
Beware of not locking yourself out!</string>
<property name="text">
<string>Start</string>
</property>
</widget>
<widget class="QPushButton" name="pushButton_2">
<property name="geometry">
<rect>
<x>540</x>
<y>30</y>
<width>93</width>
<height>27</height>
</rect>
</property>
<property name="text">
<string>Cancel</string>
</property>
</widget>
<widget class="Line" name="line">
<property name="geometry">
<rect>
<x>127</x>
<y>150</y>
<width>411</width>
<height>20</height>
</rect>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
<widget class="QLabel" name="label_2">
<property name="geometry">
<rect>
<x>10</x>
<y>180</y>
<width>111</width>
<height>17</height>
</rect>
</property>
<property name="text">
<string>AHRS Algorithm:</string>
</property>
</widget>
<widget class="QComboBox" name="algorithm">
<property name="geometry">
<rect>
<x>140</x>
<y>170</y>
<width>131</width>
<height>31</height>
</rect>
</property>
</widget>
<widget class="Line" name="line_2">
<property name="geometry">
<rect>
<x>130</x>
<y>220</y>
<width>411</width>
<height>20</height>
</rect>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
<widget class="QGraphicsView" name="graphicsView_2">
<property name="geometry">
<rect>
<x>10</x>
<y>260</y>
<width>191</width>
<height>151</height>
</rect>
</property>
</widget>
<widget class="QLabel" name="label_3">
<property name="geometry">
<rect>
<x>40</x>
<y>240</y>
<width>121</width>
<height>17</height>
</rect>
</property>
<property name="text">
<string>Calibration #2</string>
</property>
</widget>
<widget class="QPushButton" name="pushButton_4">
<property name="geometry">
<rect>
<x>230</x>
<y>270</y>
<width>93</width>
<height>27</height>
</rect>
</property>
<property name="text">
<string>PushButton</string>
</property>
</widget>
<widget class="QPushButton" name="pushButton_5">
<property name="geometry">
<rect>
<x>230</x>
<y>320</y>
<width>93</width>
<height>27</height>
</rect>
</property>
<property name="text">
<string>PushButton</string>
</property>
</widget>
<widget class="QPushButton" name="pushButton_6">
<property name="geometry">
<rect>
<x>230</x>
<y>370</y>
<width>93</width>
<height>27</height>
</rect>
</property>
<property name="text">
<string>PushButton</string>
</property>
</widget>
<widget class="QTextBrowser" name="textBrowser">
<property name="geometry">
<rect>
<x>360</x>
<y>250</y>
<width>271</width>
<height>161</height>
</rect>
</property>
</widget>
<widget class="QCheckBox" name="checkBox">
<property name="geometry">
<rect>
<x>290</x>
<y>180</y>
<width>201</width>
<height>22</height>
</rect>
</property>
<property name="text">
<string>Save Home Location to SD</string>
</property>
</widget>
<widget class="QPushButton" name="pushButton_3">
<property name="geometry">
<rect>
<x>430</x>
<y>430</y>
<width>93</width>
<height>27</height>
</rect>
</property>
<property name="text">
<string>Save to RAM</string>
</property>
</widget>
<widget class="QPushButton" name="getTelemetryCurrent">
<widget class="QPushButton" name="pushButton_7">
<property name="geometry">
<rect>
<x>80</x>
<y>280</y>
<x>540</x>
<y>430</y>
<width>93</width>
<height>27</height>
</rect>
</property>
<property name="toolTip">
<string>Retrieve settings from OpenPilot</string>
</property>
<property name="text">
<string>Get Current</string>
</property>
</widget>
<widget class="QPushButton" name="saveTelemetryToSD">
<property name="geometry">
<rect>
<x>300</x>
<y>280</y>
<width>93</width>
<height>27</height>
</rect>
</property>
<property name="toolTip">
<string>Applies and Saves all settings to SD.
Beware of not locking yourself out!</string>
</property>
<property name="text">
<string>Save to SD</string>
</property>
</widget>
<widget class="QPushButton" name="pushButton_8">
<property name="geometry">
<rect>
<x>320</x>
<y>430</y>
<width>93</width>
<height>27</height>
</rect>
</property>
<property name="text">
<string>Request</string>
</property>
</widget>
<widget class="Line" name="line_3">
<property name="geometry">
<rect>
<x>120</x>
<y>410</y>
<width>411</width>
<height>20</height>
</rect>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</widget>
</widget>
<resources/>

View File

@ -27,6 +27,7 @@
#include "configahrswidget.h"
#include <QDebug>
#include <QTimer>
#include <QStringList>
#include <QtGui/QWidget>
#include <QtGui/QTextEdit>
@ -41,6 +42,70 @@ ConfigAHRSWidget::ConfigAHRSWidget(QWidget *parent) : ConfigTaskWidget(parent)
m_ahrs->setupUi(this);
m_ahrs->ahrsBargraph->setScene(new QGraphicsScene(this));
QSvgRenderer *renderer = new QSvgRenderer();
ahrsbargraph = new QGraphicsSvgItem();
renderer->load(QString(":/configgadget/images/ahrs-calib.svg"));
ahrsbargraph->setSharedRenderer(renderer);
ahrsbargraph->setElementId("background");
ahrsbargraph->setObjectName("background");
m_ahrs->ahrsBargraph->scene()->addItem(ahrsbargraph);
m_ahrs->ahrsBargraph->setSceneRect(ahrsbargraph->boundingRect());
// Initialize the 9 bargraph values:
QMatrix lineMatrix = renderer->matrixForElement("accel_x");
qreal startX = lineMatrix.mapRect(renderer->boundsOnElement("accel_x")).x();
qreal startY = lineMatrix.mapRect(renderer->boundsOnElement("accel_x")).y();
// Then once we have the initial location, we can put it
// into a QGraphicsSvgItem which we will display at the same
// place: we do this so that the heading scale can be clipped to
// the compass dial region.
accel_x = new QGraphicsSvgItem();
accel_x->setSharedRenderer(renderer);
accel_x->setElementId("accel_x");
m_ahrs->ahrsBargraph->scene()->addItem(accel_x);
QTransform matrix;
matrix.translate(startX,startY);
accel_x->setTransform(matrix,false);
lineMatrix = renderer->matrixForElement("accel_y");
startX = lineMatrix.mapRect(renderer->boundsOnElement("accel_y")).x();
startY = lineMatrix.mapRect(renderer->boundsOnElement("accel_y")).y();
accel_y = new QGraphicsSvgItem();
accel_y->setSharedRenderer(renderer);
accel_y->setElementId("accel_y");
m_ahrs->ahrsBargraph->scene()->addItem(accel_y);
matrix.reset();
matrix.translate(startX,startY);
accel_y->setTransform(matrix,false);
lineMatrix = renderer->matrixForElement("accel_z");
startX = lineMatrix.mapRect(renderer->boundsOnElement("accel_z")).x();
startY = lineMatrix.mapRect(renderer->boundsOnElement("accel_z")).y();
accel_z = new QGraphicsSvgItem();
accel_z->setSharedRenderer(renderer);
accel_z->setElementId("accel_z");
m_ahrs->ahrsBargraph->scene()->addItem(accel_z);
matrix.reset();
matrix.translate(startX,startY);
accel_z->setTransform(matrix,false);
// Fill the dropdown menus:
ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance();
UAVObjectManager *objManager = pm->getObject<UAVObjectManager>();
UAVObject *obj = dynamic_cast<UAVDataObject*>(objManager->getObject(QString("AHRSSettings")));
UAVObjectField *field = obj->getField(QString("Algorithm"));
m_ahrs->algorithm->addItems(field->getOptions());
// Connect the signals
connect(m_ahrs->ahrsCalibStart, SIGNAL(clicked()), this, SLOT(launchAHRSCalibration()));
}
ConfigAHRSWidget::~ConfigAHRSWidget()
@ -49,4 +114,42 @@ ConfigAHRSWidget::~ConfigAHRSWidget()
}
void ConfigAHRSWidget::showEvent(QShowEvent *event)
{
m_ahrs->ahrsBargraph->fitInView(ahrsbargraph, Qt::KeepAspectRatio);
}
/**
Launches the AHRS sensors calibration
*/
void ConfigAHRSWidget::launchAHRSCalibration()
{
m_ahrs->calibInstructions->setText("Calibration launched...");
m_ahrs->ahrsCalibStart->setEnabled(false);
ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance();
UAVObjectManager *objManager = pm->getObject<UAVObjectManager>();
UAVObject *obj = dynamic_cast<UAVDataObject*>(objManager->getObject(QString("AHRSCalibration")));
UAVObjectField *field = obj->getField(QString("measure_var"));
field->setValue("TRUE");
obj->updated();
QTimer *waitabit = new QTimer();
waitabit->setSingleShot(true);
waitabit->start(15000);
connect(waitabit, SIGNAL(timeout()), this, SLOT(calibPhase2()));
}
void ConfigAHRSWidget::calibPhase2()
{
m_ahrs->calibInstructions->setText("Confirming settings...");
// Now update size of all the graphs in log scale
// 'log(1/val)'
m_ahrs->ahrsCalibStart->setEnabled(true);
}

View File

@ -33,6 +33,8 @@
#include "uavobjects/uavobjectmanager.h"
#include "uavobjects/uavobject.h"
#include <QtGui/QWidget>
#include <QtSvg/QSvgRenderer>
#include <QtSvg/QGraphicsSvgItem>
#include <QList>
@ -46,8 +48,18 @@ public:
private:
Ui_AHRSWidget *m_ahrs;
QGraphicsSvgItem *ahrsbargraph;
QGraphicsSvgItem *accel_x;
QGraphicsSvgItem *accel_y;
QGraphicsSvgItem *accel_z;
private slots:
void launchAHRSCalibration();
void calibPhase2();
protected:
void showEvent(QShowEvent *event);
};

View File

@ -3,5 +3,6 @@
<file>images/XBee.svg</file>
<file>images/Airframe.png</file>
<file>images/Servo.png</file>
<file>images/ahrs-calib.svg</file>
</qresource>
</RCC>

View File

@ -0,0 +1,632 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="686.4389"
height="258.02744"
id="svg10068"
version="1.1"
inkscape:version="0.47 r22583"
sodipodi:docname="ahrs-calib.svg"
inkscape:export-filename="H:\Documents\Hobbies\W433\My Gauges\vbat-001.png"
inkscape:export-xdpi="103.61"
inkscape:export-ydpi="103.61"
style="display:inline">
<defs
id="defs10070">
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lend"
style="overflow:visible">
<path
id="path5999"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
transform="matrix(-0.8,0,0,-0.8,-10,0)" />
</marker>
<marker
inkscape:stockid="Arrow1Lstart"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lstart"
style="overflow:visible">
<path
id="path5996"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
transform="matrix(0.8,0,0,0.8,10,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Sstart"
orient="auto"
refY="0"
refX="0"
id="Arrow2Sstart"
style="overflow:visible">
<path
id="path4640"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(0.3,0,0,0.3,-0.69,0)" />
</marker>
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
id="perspective10076" />
<inkscape:perspective
id="perspective9987"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective10250"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective10279"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective10517"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective11202"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective3720"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective3735"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective3757"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective3828"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective3889"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective3925"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective3968"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective3982"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective4682"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective3347"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective5659"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective5719"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective5810"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective3546"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective4328"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient8928"
id="linearGradient5318"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(2.2532936,0,0,2.206809,446.89077,-285.33499)"
x1="-29.837337"
y1="285.0596"
x2="-29.837337"
y2="342.60553" />
<linearGradient
id="linearGradient8928">
<stop
style="stop-color:#ffffff;stop-opacity:0.89156628;"
offset="0"
id="stop8930" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop8932" />
</linearGradient>
<inkscape:perspective
id="perspective4367"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective4402"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2940"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2864"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective6717"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective6775"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective6800"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.98994949"
inkscape:cx="334.4393"
inkscape:cy="152.4432"
inkscape:document-units="px"
inkscape:current-layer="background"
showgrid="false"
inkscape:window-width="1366"
inkscape:window-height="693"
inkscape:window-x="0"
inkscape:window-y="24"
inkscape:window-maximized="1"
inkscape:object-paths="true"
showguides="true"
inkscape:guide-bbox="true"
inkscape:snap-to-guides="false"
inkscape:snap-grids="false"
inkscape:snap-global="false" />
<metadata
id="metadata10073">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
<dc:creator>
<cc:Agent>
<dc:title>Edouard Lafargue</dc:title>
</cc:Agent>
</dc:creator>
</cc:Work>
</rdf:RDF>
</metadata>
<g
style="display:inline"
inkscape:label="Dark background"
id="g2932"
inkscape:groupmode="layer"
transform="translate(-177.25824,-301.32129)">
<g
id="background"
inkscape:label="#g8543"
transform="matrix(0,-0.72391486,1,0,-8.719326,711.5901)">
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:9.4025631;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
id="rect6737"
width="687.74054"
height="354.43222"
x="187.97757"
y="-563.36774"
transform="matrix(0,1,-1,0,0,0)"
rx="3.1741481"
ry="6.0569253" />
<rect
style="fill:#453e3e;fill-opacity:1;stroke:#000000;stroke-width:4.70128155;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
id="rect2936"
width="350.9079"
height="682.4389"
x="213.06561"
y="187.97757"
ry="4.3846984"
inkscape:export-filename="H:\Documents\Hobbies\W433\g9905.png"
inkscape:export-xdpi="88.809998"
inkscape:export-ydpi="88.809998"
rx="3.1741481" />
<path
style="fill:none;stroke:#000000;stroke-width:1.17532039px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Lstart);marker-end:url(#Arrow1Lend)"
d="m 537.38036,217.29216 -294.4803,0 0,614.17274"
id="path5991" />
<path
style="fill:none;stroke:#000000;stroke-width:1.17532039;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1.17532035, 3.52596104;stroke-dashoffset:0"
d="m 281.83723,219.31246 0,602.05092"
id="path6633" />
<path
id="path6635"
d="m 324.63724,219.31246 0,602.05092"
style="fill:none;stroke:#000000;stroke-width:1.17532039;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1.17532035, 3.52596104;stroke-dashoffset:0" />
<path
style="fill:none;stroke:#000000;stroke-width:1.17532039;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1.17532035, 3.52596104;stroke-dashoffset:0"
d="m 367.43724,219.31246 0,602.05092"
id="path6637" />
<path
id="path6639"
d="m 410.23724,219.31246 0,602.05092"
style="fill:none;stroke:#000000;stroke-width:1.17532039;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1.17532035, 3.52596104;stroke-dashoffset:0" />
<path
style="fill:none;stroke:#000000;stroke-width:1.17532039;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1.17532035, 3.52596104;stroke-dashoffset:0"
d="m 453.03722,219.31246 0,602.05092"
id="path6641" />
<path
id="path6643"
d="m 495.83722,219.31246 0,602.05092"
style="fill:none;stroke:#000000;stroke-width:1.17532039;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1.17532035, 3.52596104;stroke-dashoffset:0" />
<text
xml:space="preserve"
style="font-size:21.98640251px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
x="808.37286"
y="-500.03018"
id="text6659"
transform="matrix(0,1,-1,0,0,0)"><tspan
sodipodi:role="line"
x="808.37286"
y="-500.03018"
id="tspan6663">1E-1</tspan></text>
<text
transform="matrix(0,1,-1,0,0,0)"
id="text6667"
y="-458.03018"
x="808.37286"
style="font-size:21.98640251px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
xml:space="preserve"><tspan
id="tspan6669"
y="-458.03018"
x="808.37286"
sodipodi:role="line">1E-2</tspan></text>
<text
xml:space="preserve"
style="font-size:21.98640251px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
x="808.37286"
y="-418.03018"
id="text6671"
transform="matrix(0,1,-1,0,0,0)"><tspan
sodipodi:role="line"
x="808.37286"
y="-418.03018"
id="tspan6673">1E-3</tspan></text>
<text
transform="matrix(0,1,-1,0,0,0)"
id="text6675"
y="-374.03018"
x="808.37286"
style="font-size:21.98640251px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
xml:space="preserve"><tspan
id="tspan6677"
y="-374.03018"
x="808.37286"
sodipodi:role="line">1E-4</tspan></text>
<text
xml:space="preserve"
style="font-size:21.98640251px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
x="808.37286"
y="-330.03018"
id="text6679"
transform="matrix(0,1,-1,0,0,0)"><tspan
sodipodi:role="line"
x="808.37286"
y="-330.03018"
id="tspan6681">1E-5</tspan></text>
<text
transform="matrix(0,1,-1,0,0,0)"
id="text6683"
y="-288.03018"
x="808.37286"
style="font-size:21.98640251px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
xml:space="preserve"><tspan
id="tspan6685"
y="-288.03018"
x="808.37286"
sodipodi:role="line">1E-6</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:1.17532039px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline"
d="m 521.51078,253.79748 0,148.49242"
id="path6703" />
<path
id="path6705"
d="m 521.51078,437.79748 0,148.49242"
style="fill:none;stroke:#000000;stroke-width:1.17532039px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline" />
<path
style="fill:none;stroke:#000000;stroke-width:1.17532039px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline"
d="m 521.51078,625.79748 0,148.49242"
id="path6707" />
<text
xml:space="preserve"
style="font-size:47.01281357px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Bitstream Vera Sans"
x="355.29535"
y="-449.45621"
id="text6755"
transform="matrix(0,0.85083189,-1.1753203,0,0,0)"><tspan
sodipodi:role="line"
id="tspan6757"
x="355.29535"
y="-449.45621"
style="font-size:23.50640678px">Accel</tspan></text>
<text
xml:space="preserve"
style="font-size:47.01281357px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Bitstream Vera Sans"
x="573.94739"
y="-451.94113"
id="text6759"
transform="matrix(0,0.85083189,-1.1753203,0,0,0)"><tspan
sodipodi:role="line"
id="tspan6761"
x="573.94739"
y="-451.94113"
style="font-size:23.50640678px">Gyro</tspan></text>
<text
xml:space="preserve"
style="font-size:47.01281357px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Bitstream Vera Sans"
x="797.87463"
y="-452.0961"
id="text6763"
transform="matrix(0,0.85083189,-1.1753203,0,0,0)"><tspan
sodipodi:role="line"
id="tspan6765"
x="797.87463"
y="-452.0961"
style="font-size:23.50640678px">Mag</tspan></text>
</g>
</g>
<g
inkscape:groupmode="layer"
id="layer5"
inkscape:label="Green Zone"
style="display:inline"
transform="translate(50.185062,64.412404)">
<rect
inkscape:label="#rect5741"
style="fill:#04b629;fill-opacity:1;stroke:none;display:inline"
id="accel_x"
width="179.11024"
height="9.2538376"
x="-166.83112"
y="22.981522"
ry="0.68289828"
inkscape:export-filename="H:\Documents\Hobbies\W433\g9905.png"
inkscape:export-xdpi="88.809998"
inkscape:export-ydpi="88.809998"
transform="matrix(0,-1,1,0,0,0)"
rx="0.68289828" />
<rect
rx="0.68289828"
transform="matrix(0,-1,1,0,0,0)"
inkscape:export-ydpi="88.809998"
inkscape:export-xdpi="88.809998"
inkscape:export-filename="H:\Documents\Hobbies\W433\g9905.png"
ry="0.68289828"
y="84.981514"
x="-166.83112"
height="9.2538376"
width="179.11024"
id="accel_y"
style="fill:#04b629;fill-opacity:1;stroke:none;display:inline"
inkscape:label="#rect5741" />
<rect
inkscape:label="#rect5741"
style="fill:#04b629;fill-opacity:1;stroke:none;display:inline"
id="accel_z"
width="179.11024"
height="9.2538376"
x="-166.83112"
y="146.98151"
ry="0.68289828"
inkscape:export-filename="H:\Documents\Hobbies\W433\g9905.png"
inkscape:export-xdpi="88.809998"
inkscape:export-ydpi="88.809998"
transform="matrix(0,-1,1,0,0,0)"
rx="0.68289828" />
<rect
rx="0.68289828"
transform="matrix(0,-1,1,0,0,0)"
inkscape:export-ydpi="88.809998"
inkscape:export-xdpi="88.809998"
inkscape:export-filename="H:\Documents\Hobbies\W433\g9905.png"
ry="0.68289828"
y="208.98151"
x="-166.83112"
height="9.2538376"
width="179.11024"
id="gyro_x"
style="fill:#04b629;fill-opacity:1;stroke:none;display:inline"
inkscape:label="#rect5741" />
<rect
inkscape:label="#rect5741"
style="fill:#04b629;fill-opacity:1;stroke:none;display:inline"
id="gyro_y"
width="179.11024"
height="9.2538376"
x="-166.83112"
y="270.98151"
ry="0.68289828"
inkscape:export-filename="H:\Documents\Hobbies\W433\g9905.png"
inkscape:export-xdpi="88.809998"
inkscape:export-ydpi="88.809998"
transform="matrix(0,-1,1,0,0,0)"
rx="0.68289828" />
<rect
rx="0.68289828"
transform="matrix(0,-1,1,0,0,0)"
inkscape:export-ydpi="88.809998"
inkscape:export-xdpi="88.809998"
inkscape:export-filename="H:\Documents\Hobbies\W433\g9905.png"
ry="0.68289828"
y="332.98148"
x="-166.83112"
height="9.2538376"
width="179.11024"
id="gyro_z"
style="fill:#04b629;fill-opacity:1;stroke:none;display:inline"
inkscape:label="#rect5741" />
<rect
inkscape:label="#rect5741"
style="fill:#04b629;fill-opacity:1;stroke:none;display:inline"
id="mag_x"
width="179.11024"
height="9.2538376"
x="-166.83112"
y="394.98148"
ry="0.68289828"
inkscape:export-filename="H:\Documents\Hobbies\W433\g9905.png"
inkscape:export-xdpi="88.809998"
inkscape:export-ydpi="88.809998"
transform="matrix(0,-1,1,0,0,0)"
rx="0.68289828" />
<rect
rx="0.68289828"
transform="matrix(0,-1,1,0,0,0)"
inkscape:export-ydpi="88.809998"
inkscape:export-xdpi="88.809998"
inkscape:export-filename="H:\Documents\Hobbies\W433\g9905.png"
ry="0.68289828"
y="456.98148"
x="-166.83112"
height="9.2538376"
width="179.11024"
id="mag_y"
style="fill:#04b629;fill-opacity:1;stroke:none;display:inline"
inkscape:label="#rect5741" />
<rect
inkscape:label="#rect5741"
style="fill:#04b629;fill-opacity:1;stroke:none;display:inline"
id="mag_z"
width="179.11024"
height="9.2538376"
x="-166.83112"
y="518.98151"
ry="0.68289828"
inkscape:export-filename="H:\Documents\Hobbies\W433\g9905.png"
inkscape:export-xdpi="88.809998"
inkscape:export-ydpi="88.809998"
transform="matrix(0,-1,1,0,0,0)"
rx="0.68289828" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 23 KiB