2010-08-24 01:18:26 +02:00
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>AHRSWidget</class>
<widget class="QWidget" name="AHRSWidget">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>720</width>
2011-02-26 19:05:30 +01:00
<height>499</height>
2010-08-24 01:18:26 +02:00
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
2010-12-22 16:31:37 +01:00
<layout class="QVBoxLayout" name="verticalLayout">
<item>
2011-01-05 21:39:23 +01:00
<widget class="QTabWidget" name="tabWidget">
<property name="currentIndex">
2011-02-26 19:05:30 +01:00
<number>0</number>
2010-12-22 16:31:37 +01:00
</property>
2011-01-05 21:39:23 +01:00
<widget class="QWidget" name="tab_2">
<attribute name="title">
<string>Calibration</string>
</attribute>
2011-01-05 22:26:42 +01:00
<layout class="QVBoxLayout" name="verticalLayout_7" stretch="0,0,0">
2011-01-05 21:39:23 +01:00
<item>
<layout class="QHBoxLayout" name="sixPointLayout" stretch="1,2">
<item>
<widget class="QFrame" name="frame">
<property name="frameShape">
<enum>QFrame::Box</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
</property>
<layout class="QVBoxLayout" name="verticalLayout_9">
2011-01-05 22:26:42 +01:00
<property name="margin">
<number>3</number>
</property>
2010-12-22 16:31:37 +01:00
<item>
2011-01-05 21:39:23 +01:00
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QLabel" name="label_3">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>#1: Six Point Calibration</string>
</property>
</widget>
</item>
<item>
<widget class="QGraphicsView" name="sixPointsHelp">
<property name="toolTip">
<string>Nice paper plane, eh?</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QPushButton" name="sixPointsStart">
<property name="enabled">
<bool>false</bool>
</property>
<property name="toolTip">
<string>Launch a sensor range and bias calibration.</string>
</property>
<property name="text">
<string>Start</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="sixPointsSave">
<property name="enabled">
<bool>false</bool>
</property>
<property name="toolTip">
<string>Save settings (only enabled when calibration is running)</string>
</property>
<property name="text">
<string>Save Position</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
2010-12-22 16:31:37 +01:00
</item>
</layout>
2011-01-05 21:39:23 +01:00
<zorder></zorder>
</widget>
</item>
<item>
<widget class="QFrame" name="frame_2">
<property name="frameShape">
<enum>QFrame::Box</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
</property>
<layout class="QVBoxLayout" name="verticalLayout_10">
2011-01-05 22:26:42 +01:00
<property name="margin">
<number>3</number>
</property>
2011-01-05 21:39:23 +01:00
<item>
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<widget class="QLabel" name="label">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>#2: Sensor noise calibration</string>
</property>
</widget>
</item>
<item>
<widget class="QGraphicsView" name="ahrsBargraph">
<property name="toolTip">
<string>These are the sensor variance values computed by the AHRS.
2010-08-26 00:54:32 +02:00
Tip: lower is better!</string>
2011-01-05 21:39:23 +01:00
</property>
<property name="verticalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="ahrsCalibStart">
<property name="enabled">
<bool>false</bool>
</property>
<property name="toolTip">
<string>Press to start a calibration procedure, about 15 seconds.
2010-08-26 00:54:32 +02:00
2010-08-30 00:00:54 +02:00
Hint: run this with engines at cruising speed.</string>
2011-01-05 21:39:23 +01:00
</property>
<property name="text">
<string>Start</string>
</property>
</widget>
</item>
<item>
<widget class="QProgressBar" name="calibProgress">
<property name="enabled">
<bool>true</bool>
</property>
<property name="maximum">
<number>15</number>
</property>
<property name="value">
<number>0</number>
</property>
<property name="textVisible">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</item>
</layout>
2010-12-22 16:31:37 +01:00
</item>
</layout>
2011-01-05 21:39:23 +01:00
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="sensorNoiseLayout">
<item>
2011-01-05 22:26:42 +01:00
<widget class="QFrame" name="frame_3">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<property name="margin">
<number>3</number>
</property>
<item>
<layout class="QVBoxLayout" name="verticalLayout_5">
<item>
<widget class="QLabel" name="label_5">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>#3: Accelerometer Bias calibration</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QPushButton" name="accelBiasStart">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Start</string>
</property>
</widget>
</item>
<item>
<widget class="QProgressBar" name="accelBiasProgress">
<property name="value">
<number>0</number>
</property>
<property name="textVisible">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
</layout>
</widget>
2011-01-05 21:39:23 +01:00
</item>
<item>
2011-01-05 22:26:42 +01:00
<widget class="QFrame" name="frame_4">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QVBoxLayout" name="verticalLayout_8">
<property name="margin">
<number>3</number>
</property>
<item>
<layout class="QVBoxLayout" name="gyroDriftLayout">
<item>
<widget class="QLabel" name="label_6">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>#4 Gyro temperature drift calibration</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
2011-01-07 00:43:03 +01:00
<widget class="QLabel" name="label_7">
2011-01-05 22:26:42 +01:00
<property name="text">
2011-01-07 00:43:03 +01:00
<string>Temp:</string>
2011-01-05 22:26:42 +01:00
</property>
</widget>
</item>
<item>
2011-01-07 00:43:03 +01:00
<widget class="QLabel" name="gyroMinTemp">
2011-01-05 22:26:42 +01:00
<property name="font">
<font>
<pointsize>9</pointsize>
</font>
</property>
<property name="text">
<string>Min</string>
</property>
</widget>
</item>
<item>
2011-01-07 00:43:03 +01:00
<widget class="QSlider" name="gyroTempSlider">
<property name="toolTip">
<string>Currently measured temperature on the system. This is actually the
MB temperature, be careful if somehow you know that your INS
temperature is very different from your MB temp...</string>
2011-01-05 22:26:42 +01:00
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="tickPosition">
<enum>QSlider::TicksBelow</enum>
</property>
</widget>
</item>
<item>
2011-01-07 00:43:03 +01:00
<widget class="QLabel" name="gyroMaxTemp">
2011-01-05 22:26:42 +01:00
<property name="font">
<font>
<pointsize>9</pointsize>
</font>
</property>
<property name="text">
<string>Max</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_7">
<item>
<widget class="QLabel" name="label_14">
<property name="text">
<string>Current drift:</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_10">
<item>
<widget class="QLabel" name="label_17">
<property name="text">
<string>Saved drift:</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_6">
<item>
2011-01-07 00:43:03 +01:00
<widget class="QPushButton" name="startDriftCalib">
<property name="enabled">
<bool>false</bool>
</property>
2011-01-05 22:26:42 +01:00
<property name="toolTip">
2011-01-07 00:43:03 +01:00
<string>Start gathering data for temperature drift calibration.
Avoid sudden moves once you have started gathering!</string>
2011-01-05 22:26:42 +01:00
</property>
<property name="text">
2011-01-07 00:43:03 +01:00
<string>Start</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="gyroMeasureDrift">
<property name="enabled">
<bool>false</bool>
</property>
<property name="toolTip">
<string>Launch drift measurement based on gathered data.
TODO: is this necessary? Measurement could be auto updated every second or so, or done when we stop measuring...</string>
</property>
<property name="text">
<string>Measure</string>
2011-01-05 22:26:42 +01:00
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="updateDrift">
2011-01-07 00:43:03 +01:00
<property name="enabled">
<bool>false</bool>
</property>
2011-01-05 22:26:42 +01:00
<property name="toolTip">
<string>Updates the XYZ drift values into the AHRS (saves to SD)</string>
</property>
<property name="text">
2011-01-07 00:43:03 +01:00
<string>Save</string>
2011-01-05 22:26:42 +01:00
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
</layout>
</widget>
2011-01-05 21:39:23 +01:00
</item>
</layout>
</item>
<item>
<widget class="QTextEdit" name="sixPointCalibInstructions">
<property name="toolTip">
<string>Six Point Calibration instructions</string>
</property>
2011-01-05 22:26:42 +01:00
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
2011-01-05 21:39:23 +01:00
<property name="html">
<string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
2010-12-22 16:31:37 +01:00
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;">
2011-01-05 21:39:23 +01:00
<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Help</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Step #1 and #2 are really necessary. Steps #3 and #4 will help you achieve the best possible results.</span></p>
<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">#1: Six point calibration:</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This calibration will compute the scale for all sensors on the INS. Press &quot;Start&quot; to begin calibration, and follow the instructions which will be displayed here.</p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">#2: Sensor noise calibration:</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This calibration will compute sensor variance under standard conditions. You can leave your engines running at low to mid throttle to take their vibration into account before pressing &quot;Start&quot;.</p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">#3: Accelerometer bias calibration:</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This step will ensure that accelerometer bias is accurate. Place your airframe as horizontally as possible (use a spirit level if necessary), then press Start below and do not move your airframe at all until the end of the calibration.</p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">#4 Gyro temp drift calibration:</span></p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"></p></body></html></string>
</property>
</widget>
</item>
</layout>
</widget>
2011-02-26 19:05:30 +01:00
<widget class="QWidget" name="tab">
<attribute name="title">
<string>Settings</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_6">
<item>
<layout class="QHBoxLayout" name="ahrsSettingsLayout">
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>INS Algorithm:</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="algorithm">
<property name="toolTip">
<string>Select the sensor integration algorithm here.
"Simple" only uses accelerometer values
"INSGPS" the full featured algorithm integrating all sensors</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="label_4">
<property name="text">
<string>Home Location:</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="homeLocationSet">
<property name="enabled">
<bool>false</bool>
</property>
<property name="toolTip">
<string>Saves the Home Location. This is only enabled
if the Home Location is set, i.e. if the GPS fix is
successful.
Disabled if there is no GPS fix.</string>
</property>
<property name="text">
<string>Set</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
<attribute name="buttonGroup">
<string>buttonGroup</string>
</attribute>
</widget>
</item>
<item>
<widget class="QRadioButton" name="homeLocationClear">
<property name="enabled">
<bool>true</bool>
</property>
<property name="toolTip">
<string>Clears the HomeLocation: only makes sense if you save
to SD. This will force the INS to use the next GPS fix as the
new home location unless it is in indoor mode.</string>
</property>
<property name="text">
<string>Clear</string>
</property>
<attribute name="buttonGroup">
<string>buttonGroup</string>
</attribute>
</widget>
</item>
</layout>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
2011-01-05 21:39:23 +01:00
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="submitButtons">
<item>
<widget class="QLabel" name="calibInstructions">
<property name="text">
<string>Telemetry link not established.</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="ahrsSettingsRequest">
<property name="toolTip">
<string>Refresh this screen with current values from the board.</string>
</property>
<property name="text">
<string>Request</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="ahrsSettingsSaveRAM">
<property name="toolTip">
<string>Save settings to the OP board (RAM only).
2010-09-07 14:26:33 +02:00
This does not save the calibration settings, this is done using the
specific calibration button on top of the screen.</string>
2011-01-05 21:39:23 +01:00
</property>
<property name="text">
<string>Save to RAM</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="ahrsSettingsSaveSD">
<property name="toolTip">
<string>Send settings to OP board, and save to the microSD card.</string>
</property>
<property name="text">
<string>Save to SD</string>
</property>
<property name="checked">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
2010-12-22 16:31:37 +01:00
</item>
</layout>
2010-08-24 01:18:26 +02:00
</widget>
<resources/>
<connections/>
2010-09-07 14:26:33 +02:00
<buttongroups>
<buttongroup name="buttonGroup"/>
</buttongroups>
2010-08-24 01:18:26 +02:00
</ui>