LP-106 Setup Wizard refresh : Add dual servo setup (dual aileron or
[librepilot.git] / ground / gcs / src / plugins / setupwizard / pages / outputcalibrationpage.ui
blob120dda01bbacf298344053825f990d0a806681d2
1 <?xml version="1.0" encoding="UTF-8"?>
2 <ui version="4.0">
3 <class>OutputCalibrationPage</class>
4 <widget class="QWizardPage" name="OutputCalibrationPage">
5 <property name="geometry">
6 <rect>
7 <x>0</x>
8 <y>0</y>
9 <width>776</width>
10 <height>675</height>
11 </rect>
12 </property>
13 <property name="windowTitle">
14 <string>WizardPage</string>
15 </property>
16 <layout class="QGridLayout" name="gridLayout">
17 <item row="0" column="0">
18 <widget class="QLabel" name="label_2">
19 <property name="font">
20 <font>
21 <pointsize>12</pointsize>
22 <weight>75</weight>
23 <bold>true</bold>
24 </font>
25 </property>
26 <property name="text">
27 <string>Output calibration</string>
28 </property>
29 <property name="alignment">
30 <set>Qt::AlignCenter</set>
31 </property>
32 </widget>
33 </item>
34 <item row="1" column="1">
35 <widget class="QGraphicsView" name="vehicleView">
36 <property name="sizePolicy">
37 <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
38 <horstretch>0</horstretch>
39 <verstretch>0</verstretch>
40 </sizepolicy>
41 </property>
42 <property name="minimumSize">
43 <size>
44 <width>200</width>
45 <height>200</height>
46 </size>
47 </property>
48 <property name="frameShape">
49 <enum>QFrame::NoFrame</enum>
50 </property>
51 </widget>
52 </item>
53 <item row="1" column="0">
54 <widget class="QStackedWidget" name="calibrationStack">
55 <property name="currentIndex">
56 <number>3</number>
57 </property>
58 <widget class="QWidget" name="intro">
59 <layout class="QVBoxLayout" name="verticalLayout_3">
60 <item>
61 <widget class="QLabel" name="label_3">
62 <property name="text">
63 <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;
64 &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;
65 p, li { white-space: pre-wrap; }
66 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Cantarell'; font-size:11pt; font-weight:400; font-style:normal;&quot;&gt;
67 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Lucida Grande'; font-size:10pt;&quot;&gt;It is now time to calibrate the output levels for the signals controlling your vehicle. &lt;/span&gt;&lt;/p&gt;
68 &lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Lucida Grande'; font-size:10pt; font-weight:600; color:#ff0000;&quot;&gt;VERY IMPORTANT!&lt;/span&gt;&lt;span style=&quot; font-family:'Lucida Grande'; font-size:10pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot; font-family:'Lucida Grande'; font-size:10pt; font-weight:600; color:#ff0000;&quot;&gt;REMOVE ALL PROPELLERS FROM THE VEHICLE BEFORE PROCEEDING!&lt;/span&gt;&lt;/p&gt;
69 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Lucida Grande'; font-size:10pt;&quot;&gt;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.&lt;/span&gt;&lt;/p&gt;
70 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Lucida Grande'; font-size:10pt;&quot;&gt;Depending on what vehicle you have selected, both the motors controlled by ESCs and/or servos controlled directly by the flight controller may have to be calibrated. The following steps will guide you safely through this process. &lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
71 </property>
72 <property name="alignment">
73 <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
74 </property>
75 <property name="wordWrap">
76 <bool>true</bool>
77 </property>
78 </widget>
79 </item>
80 </layout>
81 </widget>
82 <widget class="QWidget" name="motorNeutral">
83 <layout class="QVBoxLayout" name="verticalLayout_4">
84 <item>
85 <widget class="QLabel" name="label_4">
86 <property name="minimumSize">
87 <size>
88 <width>300</width>
89 <height>0</height>
90 </size>
91 </property>
92 <property name="text">
93 <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;
94 &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;
95 p, li { white-space: pre-wrap; }
96 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Cantarell'; font-size:11pt; font-weight:400; font-style:normal;&quot;&gt;
97 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;In this step we will set the neutral rate for the motor highlighted in the illustration to the right. &lt;br /&gt;Please pay attention to the details and in particular the motors position and its rotation direction. Ensure the motors are spinning in the correct direction as shown in the diagram. Swap any 2 motor wires to change the direction of a motor. &lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
98 </property>
99 <property name="textFormat">
100 <enum>Qt::RichText</enum>
101 </property>
102 <property name="alignment">
103 <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
104 </property>
105 <property name="wordWrap">
106 <bool>true</bool>
107 </property>
108 </widget>
109 </item>
110 <item>
111 <widget class="QLabel" name="motorInfo">
112 <property name="text">
113 <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;To find &lt;/span&gt;&lt;span style=&quot; font-size:10pt; font-weight:600;&quot;&gt;the neutral rate for this motor&lt;/span&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, press the Start button below and slide the slider to the right until the motor just starts to spin stable. &lt;br/&gt;&lt;br/&gt;When done press button again to stop.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
114 </property>
115 <property name="textFormat">
116 <enum>Qt::RichText</enum>
117 </property>
118 <property name="alignment">
119 <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
120 </property>
121 <property name="wordWrap">
122 <bool>true</bool>
123 </property>
124 </widget>
125 </item>
126 <item>
127 <widget class="QCheckBox" name="calibrateAllMotors">
128 <property name="text">
129 <string>Calibrate all motor outputs at the same time</string>
130 </property>
131 </widget>
132 </item>
133 <item>
134 <spacer name="verticalSpacer_2">
135 <property name="orientation">
136 <enum>Qt::Vertical</enum>
137 </property>
138 <property name="sizeHint" stdset="0">
139 <size>
140 <width>20</width>
141 <height>40</height>
142 </size>
143 </property>
144 </spacer>
145 </item>
146 <item>
147 <widget class="QLabel" name="motorPWMValue">
148 <property name="text">
149 <string>Output value: 1000µs</string>
150 </property>
151 </widget>
152 </item>
153 <item>
154 <widget class="QSlider" name="motorNeutralSlider">
155 <property name="enabled">
156 <bool>false</bool>
157 </property>
158 <property name="minimum">
159 <number>1000</number>
160 </property>
161 <property name="maximum">
162 <number>1500</number>
163 </property>
164 <property name="singleStep">
165 <number>1</number>
166 </property>
167 <property name="pageStep">
168 <number>10</number>
169 </property>
170 <property name="orientation">
171 <enum>Qt::Horizontal</enum>
172 </property>
173 <property name="invertedAppearance">
174 <bool>false</bool>
175 </property>
176 <property name="tickPosition">
177 <enum>QSlider::TicksBelow</enum>
178 </property>
179 <property name="tickInterval">
180 <number>20</number>
181 </property>
182 </widget>
183 </item>
184 <item>
185 <widget class="QPushButton" name="motorNeutralButton">
186 <property name="text">
187 <string>Start</string>
188 </property>
189 <property name="checkable">
190 <bool>true</bool>
191 </property>
192 <property name="checked">
193 <bool>false</bool>
194 </property>
195 </widget>
196 </item>
197 </layout>
198 </widget>
199 <widget class="QWidget" name="servoNeutral">
200 <layout class="QVBoxLayout" name="verticalLayout_5">
201 <item>
202 <widget class="QLabel" name="label_6">
203 <property name="text">
204 <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;
205 &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;
206 p, li { white-space: pre-wrap; }
207 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Cantarell'; font-size:11pt; font-weight:400; font-style:normal;&quot;&gt;
208 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This step calibrates&lt;/span&gt;&lt;span style=&quot; font-size:10pt; font-weight:600;&quot;&gt; the minimum, center and maximum angle of the servo&lt;/span&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;. To set the angles for this servo, press the Start button below and slide the slider for the angle to set. The servo will follow the sliders position. &lt;br /&gt;When done press button again to stop.&lt;/span&gt;&lt;/p&gt;
209 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Check Reverse to reverse servo action if green arrow &lt;/span&gt;&lt;a name=&quot;result_box&quot;&gt;&lt;/a&gt;does not match the movement of the servo.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
210 </property>
211 <property name="alignment">
212 <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
213 </property>
214 <property name="wordWrap">
215 <bool>true</bool>
216 </property>
217 </widget>
218 </item>
219 <item>
220 <spacer name="verticalSpacer">
221 <property name="orientation">
222 <enum>Qt::Vertical</enum>
223 </property>
224 <property name="sizeHint" stdset="0">
225 <size>
226 <width>20</width>
227 <height>40</height>
228 </size>
229 </property>
230 </spacer>
231 </item>
232 <item>
233 <widget class="QLabel" name="servoPWMValue">
234 <property name="text">
235 <string>Output value: 1000µs</string>
236 </property>
237 </widget>
238 </item>
239 <item>
240 <widget class="QWidget" name="widget" native="true">
241 <layout class="QFormLayout" name="formLayout">
242 <property name="horizontalSpacing">
243 <number>6</number>
244 </property>
245 <property name="verticalSpacing">
246 <number>6</number>
247 </property>
248 <property name="leftMargin">
249 <number>0</number>
250 </property>
251 <property name="topMargin">
252 <number>0</number>
253 </property>
254 <property name="rightMargin">
255 <number>0</number>
256 </property>
257 <property name="bottomMargin">
258 <number>0</number>
259 </property>
260 <item row="0" column="1">
261 <widget class="QSlider" name="servoMinAngleSlider">
262 <property name="styleSheet">
263 <string notr="true">QSlider::groove:horizontal {
264 border: 1px solid rgb(196, 196, 196);
265 background: white;
266 height: 6px;
267 border-radius: 2px;
268 margin 10px 10px;
271 QSlider::add-page:horizontal {
272 background: #fff;
273 border: 1px solid #777;
274 height: 1px;
275 border-radius: 4px;
278 QSlider::add-page:horizontal:disabled {
279 background: #eee;
280 border: 1px solid #999;
281 width: 1px;
282 border-radius: 4px;
285 QSlider::sub-page:horizontal {
286 background: rgb(78, 147, 246);
287 border: 1px solid #777;
288 height: 1px;
289 border-radius: 4px;
292 QSlider::sub-page:horizontal:disabled {
293 background: #ccc;
294 border: 1px solid #999;
295 width: 1px;
296 border-radius: 4px;
299 QSlider::handle:horizontal {
300 background: rgb(196, 196, 196);
301 width: 18px;
302 height: 28px;
303 margin: -2px 0;
304 border-radius: 3px;
305 border: 1px solid #777;
308 QSlider::groove:vertical {
309 border: 1px solid rgb(196, 196, 196);
310 background: white;
311 width: 6px;
312 border-radius: 2px;
313 margin 0px -10px;
314 margin-top: 5px;
315 margin-bottom: 5px;
318 QSlider::sub-page:vertical {
319 background: #fff;
320 border: 1px solid #777;
321 width: 1px;
322 border-radius: 4px;
325 QSlider::sub-page:vertical:disabled {
326 background: #eee;
327 border: 1px solid #999;
328 width: 1px;
329 border-radius: 4px;
332 QSlider::add-page:vertical {
333 background: rgb(78, 147, 246);
334 border: 1px solid #777;
335 width: 1px;
336 border-radius: 4px;
339 QSlider::add-page:vertical:disabled {
340 background: #ccc;
341 border: 1px solid #999;
342 width: 1px;
343 border-radius: 4px;
346 QSlider::handle:vertical {
347 background: rgb(196, 196, 196);
348 width: 18px;
349 margin: -6 -6;
350 border-radius: 3px;
351 border: 1px solid #777;
354 QSlider::handle:vertical:hover {
355 background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 #fff, stop:1 #ddd);
356 border: 1px solid #444;
357 border-radius: 4px;
360 QSlider::handle:horizontal:hover {
361 background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 #fff, stop:1 #ddd);
362 border: 1px solid #444;
363 border-radius: 4px;
364 }</string>
365 </property>
366 <property name="minimum">
367 <number>600</number>
368 </property>
369 <property name="maximum">
370 <number>2400</number>
371 </property>
372 <property name="value">
373 <number>1500</number>
374 </property>
375 <property name="orientation">
376 <enum>Qt::Horizontal</enum>
377 </property>
378 </widget>
379 </item>
380 <item row="1" column="1">
381 <widget class="QSlider" name="servoCenterAngleSlider">
382 <property name="styleSheet">
383 <string notr="true">QSlider::groove:horizontal {
384 border: 1px solid rgb(196, 196, 196);
385 background: white;
386 height: 6px;
387 border-radius: 2px;
388 margin 10px 10px;
391 QSlider::add-page:horizontal {
392 background: rgb(78, 147, 246);
393 border: 1px solid #777;
394 height: 1px;
395 border-radius: 4px;
398 QSlider::add-page:horizontal:disabled {
399 background: #eee;
400 border: 1px solid #999;
401 width: 1px;
402 border-radius: 4px;
405 QSlider::sub-page:horizontal {
406 background: rgb(78, 147, 246);
407 border: 1px solid #777;
408 height: 1px;
409 border-radius: 4px;
412 QSlider::sub-page:horizontal:disabled {
413 background: #eee;
414 border: 1px solid #999;
415 width: 1px;
416 border-radius: 4px;
419 QSlider::handle:horizontal {
420 background: rgb(196, 196, 196);
421 width: 18px;
422 height: 28px;
423 margin: -2px 0;
424 border-radius: 3px;
425 border: 1px solid #777;
428 QSlider::groove:vertical {
429 border: 1px solid rgb(196, 196, 196);
430 background: white;
431 width: 6px;
432 border-radius: 2px;
433 margin 0px -10px;
434 margin-top: 5px;
435 margin-bottom: 5px;
438 QSlider::sub-page:vertical {
439 background: #fff;
440 border: 1px solid #777;
441 width: 1px;
442 border-radius: 4px;
445 QSlider::sub-page:vertical:disabled {
446 background: #eee;
447 border: 1px solid #999;
448 width: 1px;
449 border-radius: 4px;
452 QSlider::add-page:vertical {
453 background: rgb(78, 147, 246);
454 border: 1px solid #777;
455 width: 1px;
456 border-radius: 4px;
459 QSlider::add-page:vertical:disabled {
460 background: #ccc;
461 border: 1px solid #999;
462 width: 1px;
463 border-radius: 4px;
466 QSlider::handle:vertical {
467 background: rgb(196, 196, 196);
468 width: 18px;
469 margin: -6 -6;
470 border-radius: 3px;
471 border: 1px solid #777;
474 QSlider::handle:vertical:hover {
475 background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 #fff, stop:1 #ddd);
476 border: 1px solid #444;
477 border-radius: 4px;
480 QSlider::handle:horizontal:hover {
481 background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 #fff, stop:1 #ddd);
482 border: 1px solid #444;
483 border-radius: 4px;
484 }</string>
485 </property>
486 <property name="minimum">
487 <number>600</number>
488 </property>
489 <property name="maximum">
490 <number>2400</number>
491 </property>
492 <property name="value">
493 <number>1500</number>
494 </property>
495 <property name="orientation">
496 <enum>Qt::Horizontal</enum>
497 </property>
498 </widget>
499 </item>
500 <item row="2" column="1">
501 <widget class="QSlider" name="servoMaxAngleSlider">
502 <property name="styleSheet">
503 <string notr="true">QSlider::groove:horizontal {
504 border: 1px solid rgb(196, 196, 196);
505 background: white;
506 height: 6px;
507 border-radius: 2px;
508 margin 10px 10px;
511 QSlider::sub-page:horizontal {
512 background: #fff;
513 border: 1px solid #777;
514 height: 1px;
515 border-radius: 4px;
518 QSlider::sub-page:horizontal:disabled {
519 background: #eee;
520 border: 1px solid #999;
521 width: 1px;
522 border-radius: 4px;
525 QSlider::add-page:horizontal {
526 background: rgb(78, 147, 246);
527 border: 1px solid #777;
528 height: 1px;
529 border-radius: 4px;
532 QSlider::add-page:horizontal:disabled {
533 background: #ccc;
534 border: 1px solid #999;
535 width: 1px;
536 border-radius: 4px;
539 QSlider::handle:horizontal {
540 background: rgb(196, 196, 196);
541 width: 18px;
542 height: 28px;
543 margin: -2px 0;
544 border-radius: 3px;
545 border: 1px solid #777;
548 QSlider::groove:vertical {
549 border: 1px solid rgb(196, 196, 196);
550 background: white;
551 width: 6px;
552 border-radius: 2px;
553 margin 0px -10px;
554 margin-top: 5px;
555 margin-bottom: 5px;
558 QSlider::sub-page:vertical {
559 background: #fff;
560 border: 1px solid #777;
561 width: 1px;
562 border-radius: 4px;
565 QSlider::sub-page:vertical:disabled {
566 background: #eee;
567 border: 1px solid #999;
568 width: 1px;
569 border-radius: 4px;
572 QSlider::add-page:vertical {
573 background: rgb(78, 147, 246);
574 border: 1px solid #777;
575 width: 1px;
576 border-radius: 4px;
579 QSlider::add-page:vertical:disabled {
580 background: #ccc;
581 border: 1px solid #999;
582 width: 1px;
583 border-radius: 4px;
586 QSlider::handle:vertical {
587 background: rgb(196, 196, 196);
588 width: 18px;
589 margin: -6 -6;
590 border-radius: 3px;
591 border: 1px solid #777;
594 QSlider::handle:vertical:hover {
595 background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 #fff, stop:1 #ddd);
596 border: 1px solid #444;
597 border-radius: 4px;
600 QSlider::handle:horizontal:hover {
601 background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 #fff, stop:1 #ddd);
602 border: 1px solid #444;
603 border-radius: 4px;
604 }</string>
605 </property>
606 <property name="minimum">
607 <number>600</number>
608 </property>
609 <property name="maximum">
610 <number>2400</number>
611 </property>
612 <property name="value">
613 <number>1500</number>
614 </property>
615 <property name="orientation">
616 <enum>Qt::Horizontal</enum>
617 </property>
618 <property name="invertedAppearance">
619 <bool>false</bool>
620 </property>
621 </widget>
622 </item>
623 <item row="3" column="0" colspan="2">
624 <widget class="QCheckBox" name="reverseCheckbox">
625 <property name="text">
626 <string>Reverse</string>
627 </property>
628 </widget>
629 </item>
630 <item row="0" column="0">
631 <widget class="QLabel" name="label">
632 <property name="text">
633 <string>Min</string>
634 </property>
635 </widget>
636 </item>
637 <item row="1" column="0">
638 <widget class="QLabel" name="label_5">
639 <property name="text">
640 <string>Center</string>
641 </property>
642 </widget>
643 </item>
644 <item row="2" column="0">
645 <widget class="QLabel" name="label_7">
646 <property name="text">
647 <string>Max</string>
648 </property>
649 </widget>
650 </item>
651 </layout>
652 </widget>
653 </item>
654 <item>
655 <widget class="QPushButton" name="servoButton">
656 <property name="text">
657 <string>Start</string>
658 </property>
659 <property name="checkable">
660 <bool>true</bool>
661 </property>
662 <property name="checked">
663 <bool>false</bool>
664 </property>
665 </widget>
666 </item>
667 </layout>
668 </widget>
669 <widget class="QWidget" name="dualservoNeutral">
670 <layout class="QVBoxLayout" name="verticalLayout_5">
671 <item>
672 <widget class="QLabel" name="label_6">
673 <property name="text">
674 <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;
675 &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;
676 p, li { white-space: pre-wrap; }
677 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Cantarell'; font-size:11pt; font-weight:400; font-style:normal;&quot;&gt;
678 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This step calibrates&lt;/span&gt;&lt;span style=&quot; font-size:10pt; font-weight:600;&quot;&gt; the minimum, center and maximum angle of the two servo&lt;/span&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, at same time. To set the angles for those servo, press the Start button below and slide the slider for the angle to set. The servo will follow the sliders position. Please adjust and compare the two servo's movement.&lt;br /&gt;When done press button again to stop.&lt;/span&gt;&lt;/p&gt;
679 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Check Reverse to reverse servo action if green arrow &lt;/span&gt;&lt;a name=&quot;result_box&quot;&gt;&lt;/a&gt;does not match the movement of the servo.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
680 </property>
681 <property name="alignment">
682 <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
683 </property>
684 <property name="wordWrap">
685 <bool>true</bool>
686 </property>
687 </widget>
688 </item>
689 <item>
690 <spacer name="verticalSpacer">
691 <property name="orientation">
692 <enum>Qt::Vertical</enum>
693 </property>
694 <property name="sizeHint" stdset="0">
695 <size>
696 <width>20</width>
697 <height>40</height>
698 </size>
699 </property>
700 </spacer>
701 </item>
702 <item>
703 <widget class="QLabel" name="servoPWMValue1">
704 <property name="text">
705 <string>Output value: 1000µs</string>
706 </property>
707 </widget>
708 </item>
709 <item>
710 <widget class="QWidget" name="widget1" native="true">
711 <layout class="QFormLayout" name="formLayout_2">
712 <property name="horizontalSpacing">
713 <number>6</number>
714 </property>
715 <property name="verticalSpacing">
716 <number>6</number>
717 </property>
718 <property name="leftMargin">
719 <number>0</number>
720 </property>
721 <property name="topMargin">
722 <number>0</number>
723 </property>
724 <property name="rightMargin">
725 <number>0</number>
726 </property>
727 <property name="bottomMargin">
728 <number>0</number>
729 </property>
730 <item row="0" column="1">
731 <widget class="QSlider" name="servoMinAngleSlider1">
732 <property name="styleSheet">
733 <string notr="true">QSlider::groove:horizontal {
734 border: 1px solid rgb(196, 196, 196);
735 background: white;
736 height: 6px;
737 border-radius: 2px;
738 margin 10px 10px;
741 QSlider::add-page:horizontal {
742 background: #fff;
743 border: 1px solid #777;
744 height: 1px;
745 border-radius: 4px;
748 QSlider::add-page:horizontal:disabled {
749 background: #eee;
750 border: 1px solid #999;
751 width: 1px;
752 border-radius: 4px;
755 QSlider::sub-page:horizontal {
756 background: rgb(78, 147, 246);
757 border: 1px solid #777;
758 height: 1px;
759 border-radius: 4px;
762 QSlider::sub-page:horizontal:disabled {
763 background: #ccc;
764 border: 1px solid #999;
765 width: 1px;
766 border-radius: 4px;
769 QSlider::handle:horizontal {
770 background: rgb(196, 196, 196);
771 width: 18px;
772 height: 28px;
773 margin: -2px 0;
774 border-radius: 3px;
775 border: 1px solid #777;
778 QSlider::groove:vertical {
779 border: 1px solid rgb(196, 196, 196);
780 background: white;
781 width: 6px;
782 border-radius: 2px;
783 margin 0px -10px;
784 margin-top: 5px;
785 margin-bottom: 5px;
788 QSlider::sub-page:vertical {
789 background: #fff;
790 border: 1px solid #777;
791 width: 1px;
792 border-radius: 4px;
795 QSlider::sub-page:vertical:disabled {
796 background: #eee;
797 border: 1px solid #999;
798 width: 1px;
799 border-radius: 4px;
802 QSlider::add-page:vertical {
803 background: rgb(78, 147, 246);
804 border: 1px solid #777;
805 width: 1px;
806 border-radius: 4px;
809 QSlider::add-page:vertical:disabled {
810 background: #ccc;
811 border: 1px solid #999;
812 width: 1px;
813 border-radius: 4px;
816 QSlider::handle:vertical {
817 background: rgb(196, 196, 196);
818 width: 18px;
819 margin: -6 -6;
820 border-radius: 3px;
821 border: 1px solid #777;
824 QSlider::handle:vertical:hover {
825 background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 #fff, stop:1 #ddd);
826 border: 1px solid #444;
827 border-radius: 4px;
830 QSlider::handle:horizontal:hover {
831 background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 #fff, stop:1 #ddd);
832 border: 1px solid #444;
833 border-radius: 4px;
834 }</string>
835 </property>
836 <property name="minimum">
837 <number>600</number>
838 </property>
839 <property name="maximum">
840 <number>2400</number>
841 </property>
842 <property name="value">
843 <number>1500</number>
844 </property>
845 <property name="orientation">
846 <enum>Qt::Horizontal</enum>
847 </property>
848 </widget>
849 </item>
850 <item row="1" column="1">
851 <widget class="QSlider" name="servoCenterAngleSlider1">
852 <property name="styleSheet">
853 <string notr="true">QSlider::groove:horizontal {
854 border: 1px solid rgb(196, 196, 196);
855 background: white;
856 height: 6px;
857 border-radius: 2px;
858 margin 10px 10px;
861 QSlider::add-page:horizontal {
862 background: rgb(78, 147, 246);
863 border: 1px solid #777;
864 height: 1px;
865 border-radius: 4px;
868 QSlider::add-page:horizontal:disabled {
869 background: #eee;
870 border: 1px solid #999;
871 width: 1px;
872 border-radius: 4px;
875 QSlider::sub-page:horizontal {
876 background: rgb(78, 147, 246);
877 border: 1px solid #777;
878 height: 1px;
879 border-radius: 4px;
882 QSlider::sub-page:horizontal:disabled {
883 background: #eee;
884 border: 1px solid #999;
885 width: 1px;
886 border-radius: 4px;
889 QSlider::handle:horizontal {
890 background: rgb(196, 196, 196);
891 width: 18px;
892 height: 28px;
893 margin: -2px 0;
894 border-radius: 3px;
895 border: 1px solid #777;
898 QSlider::groove:vertical {
899 border: 1px solid rgb(196, 196, 196);
900 background: white;
901 width: 6px;
902 border-radius: 2px;
903 margin 0px -10px;
904 margin-top: 5px;
905 margin-bottom: 5px;
908 QSlider::sub-page:vertical {
909 background: #fff;
910 border: 1px solid #777;
911 width: 1px;
912 border-radius: 4px;
915 QSlider::sub-page:vertical:disabled {
916 background: #eee;
917 border: 1px solid #999;
918 width: 1px;
919 border-radius: 4px;
922 QSlider::add-page:vertical {
923 background: rgb(78, 147, 246);
924 border: 1px solid #777;
925 width: 1px;
926 border-radius: 4px;
929 QSlider::add-page:vertical:disabled {
930 background: #ccc;
931 border: 1px solid #999;
932 width: 1px;
933 border-radius: 4px;
936 QSlider::handle:vertical {
937 background: rgb(196, 196, 196);
938 width: 18px;
939 margin: -6 -6;
940 border-radius: 3px;
941 border: 1px solid #777;
944 QSlider::handle:vertical:hover {
945 background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 #fff, stop:1 #ddd);
946 border: 1px solid #444;
947 border-radius: 4px;
950 QSlider::handle:horizontal:hover {
951 background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 #fff, stop:1 #ddd);
952 border: 1px solid #444;
953 border-radius: 4px;
954 }</string>
955 </property>
956 <property name="minimum">
957 <number>600</number>
958 </property>
959 <property name="maximum">
960 <number>2400</number>
961 </property>
962 <property name="value">
963 <number>1500</number>
964 </property>
965 <property name="orientation">
966 <enum>Qt::Horizontal</enum>
967 </property>
968 </widget>
969 </item>
970 <item row="2" column="1">
971 <widget class="QSlider" name="servoMaxAngleSlider1">
972 <property name="styleSheet">
973 <string notr="true">QSlider::groove:horizontal {
974 border: 1px solid rgb(196, 196, 196);
975 background: white;
976 height: 6px;
977 border-radius: 2px;
978 margin 10px 10px;
981 QSlider::sub-page:horizontal {
982 background: #fff;
983 border: 1px solid #777;
984 height: 1px;
985 border-radius: 4px;
988 QSlider::sub-page:horizontal:disabled {
989 background: #eee;
990 border: 1px solid #999;
991 width: 1px;
992 border-radius: 4px;
995 QSlider::add-page:horizontal {
996 background: rgb(78, 147, 246);
997 border: 1px solid #777;
998 height: 1px;
999 border-radius: 4px;
1002 QSlider::add-page:horizontal:disabled {
1003 background: #ccc;
1004 border: 1px solid #999;
1005 width: 1px;
1006 border-radius: 4px;
1009 QSlider::handle:horizontal {
1010 background: rgb(196, 196, 196);
1011 width: 18px;
1012 height: 28px;
1013 margin: -2px 0;
1014 border-radius: 3px;
1015 border: 1px solid #777;
1018 QSlider::groove:vertical {
1019 border: 1px solid rgb(196, 196, 196);
1020 background: white;
1021 width: 6px;
1022 border-radius: 2px;
1023 margin 0px -10px;
1024 margin-top: 5px;
1025 margin-bottom: 5px;
1028 QSlider::sub-page:vertical {
1029 background: #fff;
1030 border: 1px solid #777;
1031 width: 1px;
1032 border-radius: 4px;
1035 QSlider::sub-page:vertical:disabled {
1036 background: #eee;
1037 border: 1px solid #999;
1038 width: 1px;
1039 border-radius: 4px;
1042 QSlider::add-page:vertical {
1043 background: rgb(78, 147, 246);
1044 border: 1px solid #777;
1045 width: 1px;
1046 border-radius: 4px;
1049 QSlider::add-page:vertical:disabled {
1050 background: #ccc;
1051 border: 1px solid #999;
1052 width: 1px;
1053 border-radius: 4px;
1056 QSlider::handle:vertical {
1057 background: rgb(196, 196, 196);
1058 width: 18px;
1059 margin: -6 -6;
1060 border-radius: 3px;
1061 border: 1px solid #777;
1064 QSlider::handle:vertical:hover {
1065 background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 #fff, stop:1 #ddd);
1066 border: 1px solid #444;
1067 border-radius: 4px;
1070 QSlider::handle:horizontal:hover {
1071 background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 #fff, stop:1 #ddd);
1072 border: 1px solid #444;
1073 border-radius: 4px;
1074 }</string>
1075 </property>
1076 <property name="minimum">
1077 <number>600</number>
1078 </property>
1079 <property name="maximum">
1080 <number>2400</number>
1081 </property>
1082 <property name="value">
1083 <number>1500</number>
1084 </property>
1085 <property name="orientation">
1086 <enum>Qt::Horizontal</enum>
1087 </property>
1088 <property name="invertedAppearance">
1089 <bool>false</bool>
1090 </property>
1091 </widget>
1092 </item>
1093 <item row="3" column="0" colspan="2">
1094 <widget class="QCheckBox" name="reverseCheckbox1">
1095 <property name="text">
1096 <string>Reverse</string>
1097 </property>
1098 </widget>
1099 </item>
1100 <item row="0" column="0">
1101 <widget class="QLabel" name="label_8">
1102 <property name="text">
1103 <string>Min</string>
1104 </property>
1105 </widget>
1106 </item>
1107 <item row="1" column="0">
1108 <widget class="QLabel" name="label_9">
1109 <property name="text">
1110 <string>Center</string>
1111 </property>
1112 </widget>
1113 </item>
1114 <item row="2" column="0">
1115 <widget class="QLabel" name="label_10">
1116 <property name="text">
1117 <string>Max</string>
1118 </property>
1119 </widget>
1120 </item>
1121 </layout>
1122 </widget>
1123 </item>
1124 <item>
1125 <widget class="QLabel" name="servoPWMValue2">
1126 <property name="text">
1127 <string>Output value: 1000µs</string>
1128 </property>
1129 </widget>
1130 </item>
1131 <item>
1132 <widget class="QWidget" name="widget2" native="true">
1133 <layout class="QFormLayout" name="formLayout">
1134 <property name="horizontalSpacing">
1135 <number>6</number>
1136 </property>
1137 <property name="verticalSpacing">
1138 <number>6</number>
1139 </property>
1140 <property name="leftMargin">
1141 <number>0</number>
1142 </property>
1143 <property name="topMargin">
1144 <number>0</number>
1145 </property>
1146 <property name="rightMargin">
1147 <number>0</number>
1148 </property>
1149 <property name="bottomMargin">
1150 <number>0</number>
1151 </property>
1152 <item row="0" column="1">
1153 <widget class="QSlider" name="servoMinAngleSlider2">
1154 <property name="styleSheet">
1155 <string notr="true">QSlider::groove:horizontal {
1156 border: 1px solid rgb(196, 196, 196);
1157 background: white;
1158 height: 6px;
1159 border-radius: 2px;
1160 margin 10px 10px;
1163 QSlider::add-page:horizontal {
1164 background: #fff;
1165 border: 1px solid #777;
1166 height: 1px;
1167 border-radius: 4px;
1170 QSlider::add-page:horizontal:disabled {
1171 background: #eee;
1172 border: 1px solid #999;
1173 width: 1px;
1174 border-radius: 4px;
1177 QSlider::sub-page:horizontal {
1178 background: rgb(78, 147, 246);
1179 border: 1px solid #777;
1180 height: 1px;
1181 border-radius: 4px;
1184 QSlider::sub-page:horizontal:disabled {
1185 background: #ccc;
1186 border: 1px solid #999;
1187 width: 1px;
1188 border-radius: 4px;
1191 QSlider::handle:horizontal {
1192 background: rgb(196, 196, 196);
1193 width: 18px;
1194 height: 28px;
1195 margin: -2px 0;
1196 border-radius: 3px;
1197 border: 1px solid #777;
1200 QSlider::groove:vertical {
1201 border: 1px solid rgb(196, 196, 196);
1202 background: white;
1203 width: 6px;
1204 border-radius: 2px;
1205 margin 0px -10px;
1206 margin-top: 5px;
1207 margin-bottom: 5px;
1210 QSlider::sub-page:vertical {
1211 background: #fff;
1212 border: 1px solid #777;
1213 width: 1px;
1214 border-radius: 4px;
1217 QSlider::sub-page:vertical:disabled {
1218 background: #eee;
1219 border: 1px solid #999;
1220 width: 1px;
1221 border-radius: 4px;
1224 QSlider::add-page:vertical {
1225 background: rgb(78, 147, 246);
1226 border: 1px solid #777;
1227 width: 1px;
1228 border-radius: 4px;
1231 QSlider::add-page:vertical:disabled {
1232 background: #ccc;
1233 border: 1px solid #999;
1234 width: 1px;
1235 border-radius: 4px;
1238 QSlider::handle:vertical {
1239 background: rgb(196, 196, 196);
1240 width: 18px;
1241 margin: -6 -6;
1242 border-radius: 3px;
1243 border: 1px solid #777;
1246 QSlider::handle:vertical:hover {
1247 background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 #fff, stop:1 #ddd);
1248 border: 1px solid #444;
1249 border-radius: 4px;
1252 QSlider::handle:horizontal:hover {
1253 background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 #fff, stop:1 #ddd);
1254 border: 1px solid #444;
1255 border-radius: 4px;
1256 }</string>
1257 </property>
1258 <property name="minimum">
1259 <number>600</number>
1260 </property>
1261 <property name="maximum">
1262 <number>2400</number>
1263 </property>
1264 <property name="value">
1265 <number>1500</number>
1266 </property>
1267 <property name="orientation">
1268 <enum>Qt::Horizontal</enum>
1269 </property>
1270 </widget>
1271 </item>
1272 <item row="1" column="1">
1273 <widget class="QSlider" name="servoCenterAngleSlider2">
1274 <property name="styleSheet">
1275 <string notr="true">QSlider::groove:horizontal {
1276 border: 1px solid rgb(196, 196, 196);
1277 background: white;
1278 height: 6px;
1279 border-radius: 2px;
1280 margin 10px 10px;
1283 QSlider::add-page:horizontal {
1284 background: rgb(78, 147, 246);
1285 border: 1px solid #777;
1286 height: 1px;
1287 border-radius: 4px;
1290 QSlider::add-page:horizontal:disabled {
1291 background: #eee;
1292 border: 1px solid #999;
1293 width: 1px;
1294 border-radius: 4px;
1297 QSlider::sub-page:horizontal {
1298 background: rgb(78, 147, 246);
1299 border: 1px solid #777;
1300 height: 1px;
1301 border-radius: 4px;
1304 QSlider::sub-page:horizontal:disabled {
1305 background: #eee;
1306 border: 1px solid #999;
1307 width: 1px;
1308 border-radius: 4px;
1311 QSlider::handle:horizontal {
1312 background: rgb(196, 196, 196);
1313 width: 18px;
1314 height: 28px;
1315 margin: -2px 0;
1316 border-radius: 3px;
1317 border: 1px solid #777;
1320 QSlider::groove:vertical {
1321 border: 1px solid rgb(196, 196, 196);
1322 background: white;
1323 width: 6px;
1324 border-radius: 2px;
1325 margin 0px -10px;
1326 margin-top: 5px;
1327 margin-bottom: 5px;
1330 QSlider::sub-page:vertical {
1331 background: #fff;
1332 border: 1px solid #777;
1333 width: 1px;
1334 border-radius: 4px;
1337 QSlider::sub-page:vertical:disabled {
1338 background: #eee;
1339 border: 1px solid #999;
1340 width: 1px;
1341 border-radius: 4px;
1344 QSlider::add-page:vertical {
1345 background: rgb(78, 147, 246);
1346 border: 1px solid #777;
1347 width: 1px;
1348 border-radius: 4px;
1351 QSlider::add-page:vertical:disabled {
1352 background: #ccc;
1353 border: 1px solid #999;
1354 width: 1px;
1355 border-radius: 4px;
1358 QSlider::handle:vertical {
1359 background: rgb(196, 196, 196);
1360 width: 18px;
1361 margin: -6 -6;
1362 border-radius: 3px;
1363 border: 1px solid #777;
1366 QSlider::handle:vertical:hover {
1367 background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 #fff, stop:1 #ddd);
1368 border: 1px solid #444;
1369 border-radius: 4px;
1372 QSlider::handle:horizontal:hover {
1373 background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 #fff, stop:1 #ddd);
1374 border: 1px solid #444;
1375 border-radius: 4px;
1376 }</string>
1377 </property>
1378 <property name="minimum">
1379 <number>600</number>
1380 </property>
1381 <property name="maximum">
1382 <number>2400</number>
1383 </property>
1384 <property name="value">
1385 <number>1500</number>
1386 </property>
1387 <property name="orientation">
1388 <enum>Qt::Horizontal</enum>
1389 </property>
1390 </widget>
1391 </item>
1392 <item row="2" column="1">
1393 <widget class="QSlider" name="servoMaxAngleSlider2">
1394 <property name="styleSheet">
1395 <string notr="true">QSlider::groove:horizontal {
1396 border: 1px solid rgb(196, 196, 196);
1397 background: white;
1398 height: 6px;
1399 border-radius: 2px;
1400 margin 10px 10px;
1403 QSlider::sub-page:horizontal {
1404 background: #fff;
1405 border: 1px solid #777;
1406 height: 1px;
1407 border-radius: 4px;
1410 QSlider::sub-page:horizontal:disabled {
1411 background: #eee;
1412 border: 1px solid #999;
1413 width: 1px;
1414 border-radius: 4px;
1417 QSlider::add-page:horizontal {
1418 background: rgb(78, 147, 246);
1419 border: 1px solid #777;
1420 height: 1px;
1421 border-radius: 4px;
1424 QSlider::add-page:horizontal:disabled {
1425 background: #ccc;
1426 border: 1px solid #999;
1427 width: 1px;
1428 border-radius: 4px;
1431 QSlider::handle:horizontal {
1432 background: rgb(196, 196, 196);
1433 width: 18px;
1434 height: 28px;
1435 margin: -2px 0;
1436 border-radius: 3px;
1437 border: 1px solid #777;
1440 QSlider::groove:vertical {
1441 border: 1px solid rgb(196, 196, 196);
1442 background: white;
1443 width: 6px;
1444 border-radius: 2px;
1445 margin 0px -10px;
1446 margin-top: 5px;
1447 margin-bottom: 5px;
1450 QSlider::sub-page:vertical {
1451 background: #fff;
1452 border: 1px solid #777;
1453 width: 1px;
1454 border-radius: 4px;
1457 QSlider::sub-page:vertical:disabled {
1458 background: #eee;
1459 border: 1px solid #999;
1460 width: 1px;
1461 border-radius: 4px;
1464 QSlider::add-page:vertical {
1465 background: rgb(78, 147, 246);
1466 border: 1px solid #777;
1467 width: 1px;
1468 border-radius: 4px;
1471 QSlider::add-page:vertical:disabled {
1472 background: #ccc;
1473 border: 1px solid #999;
1474 width: 1px;
1475 border-radius: 4px;
1478 QSlider::handle:vertical {
1479 background: rgb(196, 196, 196);
1480 width: 18px;
1481 margin: -6 -6;
1482 border-radius: 3px;
1483 border: 1px solid #777;
1486 QSlider::handle:vertical:hover {
1487 background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 #fff, stop:1 #ddd);
1488 border: 1px solid #444;
1489 border-radius: 4px;
1492 QSlider::handle:horizontal:hover {
1493 background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 #fff, stop:1 #ddd);
1494 border: 1px solid #444;
1495 border-radius: 4px;
1496 }</string>
1497 </property>
1498 <property name="minimum">
1499 <number>600</number>
1500 </property>
1501 <property name="maximum">
1502 <number>2400</number>
1503 </property>
1504 <property name="value">
1505 <number>1500</number>
1506 </property>
1507 <property name="orientation">
1508 <enum>Qt::Horizontal</enum>
1509 </property>
1510 <property name="invertedAppearance">
1511 <bool>false</bool>
1512 </property>
1513 </widget>
1514 </item>
1515 <item row="3" column="0" colspan="2">
1516 <widget class="QCheckBox" name="reverseCheckbox2">
1517 <property name="text">
1518 <string>Reverse</string>
1519 </property>
1520 </widget>
1521 </item>
1522 <item row="0" column="0">
1523 <widget class="QLabel" name="label">
1524 <property name="text">
1525 <string>Min</string>
1526 </property>
1527 </widget>
1528 </item>
1529 <item row="1" column="0">
1530 <widget class="QLabel" name="label_5">
1531 <property name="text">
1532 <string>Center</string>
1533 </property>
1534 </widget>
1535 </item>
1536 <item row="2" column="0">
1537 <widget class="QLabel" name="label_7">
1538 <property name="text">
1539 <string>Max</string>
1540 </property>
1541 </widget>
1542 </item>
1543 </layout>
1544 </widget>
1545 </item>
1546 <item>
1547 <widget class="QPushButton" name="dualservoButton">
1548 <property name="text">
1549 <string>Start</string>
1550 </property>
1551 <property name="checkable">
1552 <bool>true</bool>
1553 </property>
1554 <property name="checked">
1555 <bool>false</bool>
1556 </property>
1557 </widget>
1558 </item>
1559 </layout>
1560 </widget>
1561 </widget>
1562 </item>
1563 </layout>
1564 </widget>
1565 <resources/>
1566 <connections/>
1567 </ui>