mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-01-10 20:52:11 +01:00
426 lines
15 KiB
XML
426 lines
15 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<ui version="4.0">
|
|
<class>OutputCalibrationPage</class>
|
|
<widget class="QWizardPage" name="OutputCalibrationPage">
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>0</x>
|
|
<y>0</y>
|
|
<width>600</width>
|
|
<height>400</height>
|
|
</rect>
|
|
</property>
|
|
<property name="windowTitle">
|
|
<string>WizardPage</string>
|
|
</property>
|
|
<layout class="QGridLayout" name="gridLayout">
|
|
<item row="0" column="0">
|
|
<widget class="QLabel" name="label_2">
|
|
<property name="font">
|
|
<font>
|
|
<pointsize>12</pointsize>
|
|
<weight>75</weight>
|
|
<bold>true</bold>
|
|
</font>
|
|
</property>
|
|
<property name="text">
|
|
<string>Output calibration</string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="0">
|
|
<widget class="QStackedWidget" name="calibrationStack">
|
|
<property name="currentIndex">
|
|
<number>1</number>
|
|
</property>
|
|
<widget class="QWidget" name="intro">
|
|
<layout class="QVBoxLayout" name="verticalLayout_3">
|
|
<item>
|
|
<widget class="QLabel" name="label_3">
|
|
<property name="text">
|
|
<string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
|
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
|
p, li { white-space: pre-wrap; }
|
|
</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:400; font-style:normal;">
|
|
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:10pt;">It is now time to calibrate the output levels for the signals controlling your vehicle. </span></p>
|
|
<p align="center" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:10pt; font-weight:600; color:#ff0000;">VERY IMPORTANT!</span><span style=" font-family:'Lucida Grande'; font-size:10pt;"><br /></span><span style=" font-family:'Lucida Grande'; font-size:10pt; font-weight:600; color:#ff0000;">REMOVE ALL PROPELLERS FROM THE VEHICLE BEFORE PROCEEDING!</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-family:'Lucida Grande'; font-size:10pt;">Connect all components according to the illustration on the summary page, and provide power using an external power supply such as a battery before continuing.</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-family:'Lucida Grande'; font-size:10pt;"><br /></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-family:'Lucida Grande'; font-size:10pt;">Depending on what vehicle you have selected, both the motors controlled by ESCs and/or servos controlled directly by the OpenPilot controller may have to be calibrated. The following steps will guide you safely through this process. </span></p></body></html></string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
|
</property>
|
|
<property name="wordWrap">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
<widget class="QWidget" name="motorNeutral">
|
|
<layout class="QVBoxLayout" name="verticalLayout_4">
|
|
<item>
|
|
<widget class="QLabel" name="label_4">
|
|
<property name="text">
|
|
<string><html><head/><body><p>In this step we will set the neutral rate for the motor highlighted in the illustration to the right. <br/>Plase pay attention to the details and in particular the motors position and its rotation direction.</p><p>To find the neutral rate for this engine, press the Start button below and slide the slider to the right until the engine just starts to spin stably. <br/><br/>When done press button again to stop.</p></body></html></string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
|
</property>
|
|
<property name="wordWrap">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QSlider" name="motorNeutralSlider">
|
|
<property name="enabled">
|
|
<bool>false</bool>
|
|
</property>
|
|
<property name="minimum">
|
|
<number>1000</number>
|
|
</property>
|
|
<property name="maximum">
|
|
<number>1300</number>
|
|
</property>
|
|
<property name="singleStep">
|
|
<number>10</number>
|
|
</property>
|
|
<property name="pageStep">
|
|
<number>20</number>
|
|
</property>
|
|
<property name="orientation">
|
|
<enum>Qt::Horizontal</enum>
|
|
</property>
|
|
<property name="invertedAppearance">
|
|
<bool>false</bool>
|
|
</property>
|
|
<property name="tickPosition">
|
|
<enum>QSlider::TicksBelow</enum>
|
|
</property>
|
|
<property name="tickInterval">
|
|
<number>20</number>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QPushButton" name="motorNeutralButton">
|
|
<property name="text">
|
|
<string>Start</string>
|
|
</property>
|
|
<property name="checkable">
|
|
<bool>true</bool>
|
|
</property>
|
|
<property name="checked">
|
|
<bool>false</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
<widget class="QWidget" name="servoNeutral">
|
|
<layout class="QVBoxLayout" name="verticalLayout_5">
|
|
<item>
|
|
<widget class="QLabel" name="label_6">
|
|
<property name="text">
|
|
<string><html><head/><body><p>This step calibrates the center position of the servo. To set the center position for this servo, press the Start button below and slide the slider to center the servo. </p><p>When done press button again to stop.</p></body></html></string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
|
</property>
|
|
<property name="wordWrap">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QSlider" name="servoCenterSlider">
|
|
<property name="enabled">
|
|
<bool>false</bool>
|
|
</property>
|
|
<property name="minimum">
|
|
<number>1000</number>
|
|
</property>
|
|
<property name="maximum">
|
|
<number>2000</number>
|
|
</property>
|
|
<property name="singleStep">
|
|
<number>10</number>
|
|
</property>
|
|
<property name="pageStep">
|
|
<number>20</number>
|
|
</property>
|
|
<property name="value">
|
|
<number>1500</number>
|
|
</property>
|
|
<property name="tracking">
|
|
<bool>true</bool>
|
|
</property>
|
|
<property name="orientation">
|
|
<enum>Qt::Horizontal</enum>
|
|
</property>
|
|
<property name="invertedAppearance">
|
|
<bool>false</bool>
|
|
</property>
|
|
<property name="invertedControls">
|
|
<bool>false</bool>
|
|
</property>
|
|
<property name="tickPosition">
|
|
<enum>QSlider::TicksBelow</enum>
|
|
</property>
|
|
<property name="tickInterval">
|
|
<number>40</number>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QPushButton" name="servoCenterButton">
|
|
<property name="text">
|
|
<string>Start</string>
|
|
</property>
|
|
<property name="checkable">
|
|
<bool>true</bool>
|
|
</property>
|
|
<property name="checked">
|
|
<bool>false</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
<widget class="QWidget" name="servoMinMax">
|
|
<layout class="QVBoxLayout" name="verticalLayout">
|
|
<item>
|
|
<widget class="QLabel" name="label_7">
|
|
<property name="text">
|
|
<string><html><head/><body><p>To save the servo and other hardware from damage we have to set the max and min angles for the servo. </p><p>To set the minimum angle for the servo, press the Start button below and select the top slider and slide it to the left until min angle is reached.</p><p>When done press button again to stop.</p></body></html></string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
|
</property>
|
|
<property name="wordWrap">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QSlider" name="servoMinAngleSlider">
|
|
<property name="enabled">
|
|
<bool>false</bool>
|
|
</property>
|
|
<property name="minimum">
|
|
<number>1000</number>
|
|
</property>
|
|
<property name="maximum">
|
|
<number>1500</number>
|
|
</property>
|
|
<property name="singleStep">
|
|
<number>10</number>
|
|
</property>
|
|
<property name="pageStep">
|
|
<number>20</number>
|
|
</property>
|
|
<property name="value">
|
|
<number>1500</number>
|
|
</property>
|
|
<property name="tracking">
|
|
<bool>true</bool>
|
|
</property>
|
|
<property name="orientation">
|
|
<enum>Qt::Horizontal</enum>
|
|
</property>
|
|
<property name="invertedAppearance">
|
|
<bool>false</bool>
|
|
</property>
|
|
<property name="invertedControls">
|
|
<bool>false</bool>
|
|
</property>
|
|
<property name="tickPosition">
|
|
<enum>QSlider::TicksBelow</enum>
|
|
</property>
|
|
<property name="tickInterval">
|
|
<number>40</number>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QPushButton" name="servoMinAngleButton">
|
|
<property name="text">
|
|
<string>Start</string>
|
|
</property>
|
|
<property name="checkable">
|
|
<bool>true</bool>
|
|
</property>
|
|
<property name="checked">
|
|
<bool>false</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
<widget class="QWidget" name="page">
|
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
|
<item>
|
|
<widget class="QLabel" name="label_8">
|
|
<property name="text">
|
|
<string><html><head/><body><p>To set the maximum angle for the servo, press the Start button below and select the top slider and slide it to the right until max angle is reached.</p><p>When done press button again to stop.</p></body></html></string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
|
</property>
|
|
<property name="wordWrap">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QSlider" name="servoMaxAngleSlider">
|
|
<property name="enabled">
|
|
<bool>false</bool>
|
|
</property>
|
|
<property name="minimum">
|
|
<number>1500</number>
|
|
</property>
|
|
<property name="maximum">
|
|
<number>2000</number>
|
|
</property>
|
|
<property name="singleStep">
|
|
<number>10</number>
|
|
</property>
|
|
<property name="pageStep">
|
|
<number>20</number>
|
|
</property>
|
|
<property name="value">
|
|
<number>1500</number>
|
|
</property>
|
|
<property name="tracking">
|
|
<bool>true</bool>
|
|
</property>
|
|
<property name="orientation">
|
|
<enum>Qt::Horizontal</enum>
|
|
</property>
|
|
<property name="invertedAppearance">
|
|
<bool>false</bool>
|
|
</property>
|
|
<property name="invertedControls">
|
|
<bool>false</bool>
|
|
</property>
|
|
<property name="tickPosition">
|
|
<enum>QSlider::TicksBelow</enum>
|
|
</property>
|
|
<property name="tickInterval">
|
|
<number>40</number>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QPushButton" name="servoMaxAngleButton">
|
|
<property name="text">
|
|
<string>Start</string>
|
|
</property>
|
|
<property name="checkable">
|
|
<bool>true</bool>
|
|
</property>
|
|
<property name="checked">
|
|
<bool>false</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="1">
|
|
<widget class="QGraphicsView" name="vehicleView">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="minimumSize">
|
|
<size>
|
|
<width>200</width>
|
|
<height>200</height>
|
|
</size>
|
|
</property>
|
|
<property name="frameShape">
|
|
<enum>QFrame::NoFrame</enum>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
<resources/>
|
|
<connections>
|
|
<connection>
|
|
<sender>motorNeutralButton</sender>
|
|
<signal>toggled(bool)</signal>
|
|
<receiver>motorNeutralSlider</receiver>
|
|
<slot>setEnabled(bool)</slot>
|
|
<hints>
|
|
<hint type="sourcelabel">
|
|
<x>147</x>
|
|
<y>291</y>
|
|
</hint>
|
|
<hint type="destinationlabel">
|
|
<x>150</x>
|
|
<y>249</y>
|
|
</hint>
|
|
</hints>
|
|
</connection>
|
|
<connection>
|
|
<sender>servoMinAngleButton</sender>
|
|
<signal>toggled(bool)</signal>
|
|
<receiver>servoMinAngleSlider</receiver>
|
|
<slot>setEnabled(bool)</slot>
|
|
<hints>
|
|
<hint type="sourcelabel">
|
|
<x>147</x>
|
|
<y>291</y>
|
|
</hint>
|
|
<hint type="destinationlabel">
|
|
<x>150</x>
|
|
<y>249</y>
|
|
</hint>
|
|
</hints>
|
|
</connection>
|
|
<connection>
|
|
<sender>servoMaxAngleButton</sender>
|
|
<signal>toggled(bool)</signal>
|
|
<receiver>servoMaxAngleSlider</receiver>
|
|
<slot>setEnabled(bool)</slot>
|
|
<hints>
|
|
<hint type="sourcelabel">
|
|
<x>147</x>
|
|
<y>291</y>
|
|
</hint>
|
|
<hint type="destinationlabel">
|
|
<x>150</x>
|
|
<y>249</y>
|
|
</hint>
|
|
</hints>
|
|
</connection>
|
|
<connection>
|
|
<sender>servoCenterButton</sender>
|
|
<signal>toggled(bool)</signal>
|
|
<receiver>servoCenterSlider</receiver>
|
|
<slot>setEnabled(bool)</slot>
|
|
<hints>
|
|
<hint type="sourcelabel">
|
|
<x>147</x>
|
|
<y>291</y>
|
|
</hint>
|
|
<hint type="destinationlabel">
|
|
<x>150</x>
|
|
<y>249</y>
|
|
</hint>
|
|
</hints>
|
|
</connection>
|
|
</connections>
|
|
</ui>
|