LP-311 Remove basic/advanced stabilization tab auto-switch (autotune/txpid lock issues)
[librepilot.git] / ground / gcs / src / plugins / config / autotune.ui
blob595096a2c804df82bdcbae78a2402a3a596879b3
1 <?xml version="1.0" encoding="UTF-8"?>
2 <ui version="4.0">
3 <class>AutotuneWidget</class>
4 <widget class="QWidget" name="AutotuneWidget">
5 <property name="geometry">
6 <rect>
7 <x>0</x>
8 <y>0</y>
9 <width>739</width>
10 <height>688</height>
11 </rect>
12 </property>
13 <property name="sizePolicy">
14 <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
15 <horstretch>0</horstretch>
16 <verstretch>0</verstretch>
17 </sizepolicy>
18 </property>
19 <property name="windowTitle">
20 <string>Form</string>
21 </property>
22 <layout class="QVBoxLayout" name="verticalLayout_2">
23 <property name="spacing">
24 <number>6</number>
25 </property>
26 <property name="margin">
27 <number>12</number>
28 </property>
29 <item>
30 <widget class="QTabWidget" name="Autotune_tabs">
31 <property name="currentIndex">
32 <number>0</number>
33 </property>
34 <widget class="QWidget" name="Preautotune_tab">
35 <attribute name="title">
36 <string>Pre-Autotune</string>
37 </attribute>
38 <layout class="QGridLayout" name="gridLayout_5">
39 <property name="margin">
40 <number>12</number>
41 </property>
42 <item row="3" column="0" colspan="3">
43 <widget class="QTextEdit" name="textEdit">
44 <property name="frameShape">
45 <enum>QFrame::StyledPanel</enum>
46 </property>
47 <property name="frameShadow">
48 <enum>QFrame::Sunken</enum>
49 </property>
50 <property name="html">
51 <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;
52 &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;
53 p, li { white-space: pre-wrap; }
54 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
55 &lt;p align=&quot;center&quot; style=&quot; margin-top:0px; margin-bottom:0px; 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:20pt; font-weight:600; color:#ff0000;&quot;&gt;WARNING:&lt;/span&gt;&lt;/p&gt;
56 &lt;p style=&quot;-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:13pt;&quot;&gt;&lt;/p&gt;
57 &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;&lt;span style=&quot; font-family:'Lucida Grande'; font-size:13pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
58 &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;&lt;span style=&quot; font-family:'Lucida Grande'; font-size:13pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
59 &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;&lt;span style=&quot; font-family:'Lucida Grande'; font-size:13pt;&quot;&gt;This is an experimental plugin for the GCS that is going to make your aircraft shake, etc, so test with lots of space and be &lt;/span&gt;&lt;span style=&quot; font-family:'Lucida Grande'; font-size:13pt; font-weight:600;&quot;&gt;very very wary&lt;/span&gt;&lt;span style=&quot; font-family:'Lucida Grande'; font-size:13pt;&quot;&gt; for it creating bad tuning values.  Basically there is no reason to think this will work at all.&lt;br /&gt;&lt;br /&gt;To use autotuning, here are the steps:&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
60 &lt;ul style=&quot;margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;&quot;&gt;&lt;li style=&quot; font-family:'Lucida Grande'; font-size:13pt;&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;On the &lt;span style=&quot; font-style:italic;&quot;&gt;Input configuration&lt;/span&gt; tab, &lt;span style=&quot; font-style:italic;&quot;&gt;Flight Mode Switch Settings&lt;/span&gt;, set one of your flight modes to &amp;quot;Autotune&amp;quot;.&lt;br /&gt;&lt;/li&gt;
61 &lt;li style=&quot; font-family:'Lucida Grande'; font-size:13pt;&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Take off, change flight mode to autotune, keep it in the air while it's shaking.&lt;br /&gt;&lt;/li&gt;
62 &lt;li style=&quot; font-family:'Lucida Grande'; font-size:13pt;&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Land and disarm.  (note - you &lt;span style=&quot; font-weight:600;&quot;&gt;MUST&lt;/span&gt; stay in autotune mode through this point, leaving autotune before disarming aborts the process)&lt;br /&gt;&lt;/li&gt;
63 &lt;li style=&quot; font-family:'Lucida Grande'; font-size:13pt;&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;We'd recommend checking your stabilization settings before trying them out (ie: compare to what you currently use, if they are VASTLY different, probably a good indication bad things will happen).&lt;br /&gt;&lt;/li&gt;
64 &lt;li style=&quot; font-family:'Lucida Grande'; font-size:13pt;&quot; style=&quot; margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Test fly the new settings.&lt;/li&gt;
65 &lt;li style=&quot; font-family:'Lucida Grande'; font-size:13pt;&quot; style=&quot; margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;If you're ready to proceed, click the &lt;span style=&quot; font-style:italic;&quot;&gt;Enable Autotune Module&lt;/span&gt; checkbox above this text, click &lt;span style=&quot; font-style:italic;&quot;&gt;save&lt;/span&gt; and go to the next tab.&lt;/li&gt;&lt;/ul&gt;&lt;/body&gt;&lt;/html&gt;</string>
66 </property>
67 </widget>
68 </item>
69 <item row="2" column="0" colspan="3">
70 <widget class="QGroupBox" name="groupBox_5">
71 <property name="title">
72 <string>Module Control</string>
73 </property>
74 <layout class="QVBoxLayout" name="verticalLayout_4">
75 <item>
76 <widget class="QCheckBox" name="enableAutoTune">
77 <property name="text">
78 <string>Enable Autotune Module</string>
79 </property>
80 <property name="checkable">
81 <bool>true</bool>
82 </property>
83 </widget>
84 </item>
85 <item>
86 <widget class="QLabel" name="label_13">
87 <property name="text">
88 <string>After enabling the module, you must power cycle before using and configuring.</string>
89 </property>
90 </widget>
91 </item>
92 </layout>
93 </widget>
94 </item>
95 </layout>
96 </widget>
97 <widget class="QWidget" name="autotune_tab">
98 <attribute name="title">
99 <string>Autotune Setup</string>
100 </attribute>
101 <layout class="QVBoxLayout" name="verticalLayout_3">
102 <property name="margin">
103 <number>0</number>
104 </property>
105 <item>
106 <widget class="QScrollArea" name="scrollArea">
107 <property name="palette">
108 <palette>
109 <active>
110 <colorrole role="Base">
111 <brush brushstyle="SolidPattern">
112 <color alpha="255">
113 <red>255</red>
114 <green>255</green>
115 <blue>255</blue>
116 </color>
117 </brush>
118 </colorrole>
119 <colorrole role="Window">
120 <brush brushstyle="SolidPattern">
121 <color alpha="0">
122 <red>232</red>
123 <green>232</green>
124 <blue>232</blue>
125 </color>
126 </brush>
127 </colorrole>
128 </active>
129 <inactive>
130 <colorrole role="Base">
131 <brush brushstyle="SolidPattern">
132 <color alpha="255">
133 <red>255</red>
134 <green>255</green>
135 <blue>255</blue>
136 </color>
137 </brush>
138 </colorrole>
139 <colorrole role="Window">
140 <brush brushstyle="SolidPattern">
141 <color alpha="0">
142 <red>232</red>
143 <green>232</green>
144 <blue>232</blue>
145 </color>
146 </brush>
147 </colorrole>
148 </inactive>
149 <disabled>
150 <colorrole role="Base">
151 <brush brushstyle="SolidPattern">
152 <color alpha="0">
153 <red>232</red>
154 <green>232</green>
155 <blue>232</blue>
156 </color>
157 </brush>
158 </colorrole>
159 <colorrole role="Window">
160 <brush brushstyle="SolidPattern">
161 <color alpha="0">
162 <red>232</red>
163 <green>232</green>
164 <blue>232</blue>
165 </color>
166 </brush>
167 </colorrole>
168 </disabled>
169 </palette>
170 </property>
171 <property name="frameShape">
172 <enum>QFrame::NoFrame</enum>
173 </property>
174 <property name="frameShadow">
175 <enum>QFrame::Plain</enum>
176 </property>
177 <property name="widgetResizable">
178 <bool>true</bool>
179 </property>
180 <widget class="QWidget" name="scrollAreaWidgetContents">
181 <property name="geometry">
182 <rect>
183 <x>0</x>
184 <y>0</y>
185 <width>709</width>
186 <height>605</height>
187 </rect>
188 </property>
189 <property name="sizePolicy">
190 <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
191 <horstretch>0</horstretch>
192 <verstretch>0</verstretch>
193 </sizepolicy>
194 </property>
195 <property name="autoFillBackground">
196 <bool>true</bool>
197 </property>
198 <layout class="QVBoxLayout" name="verticalLayout">
199 <property name="spacing">
200 <number>12</number>
201 </property>
202 <property name="margin">
203 <number>12</number>
204 </property>
205 <item>
206 <widget class="QGroupBox" name="groupBox">
207 <property name="title">
208 <string>Tuning Aggressiveness</string>
209 </property>
210 <layout class="QGridLayout" name="gridLayout_2">
211 <item row="0" column="0">
212 <widget class="QLabel" name="label">
213 <property name="text">
214 <string>Rate Tuning:</string>
215 </property>
216 </widget>
217 </item>
218 <item row="1" column="0">
219 <widget class="QLabel" name="label_2">
220 <property name="text">
221 <string>Attitude Tuning:</string>
222 </property>
223 </widget>
224 </item>
225 <item row="0" column="1">
226 <widget class="QSlider" name="rateTuning">
227 <property name="maximum">
228 <number>100</number>
229 </property>
230 <property name="orientation">
231 <enum>Qt::Horizontal</enum>
232 </property>
233 <property name="objrelation" stdset="0">
234 <stringlist>
235 <string>objname:RelayTuningSettings</string>
236 <string>fieldname:RateGain</string>
237 <string>scale:0.01</string>
238 <string>haslimits:no</string>
239 </stringlist>
240 </property>
241 </widget>
242 </item>
243 <item row="1" column="1">
244 <widget class="QSlider" name="attitudeTuning">
245 <property name="maximum">
246 <number>100</number>
247 </property>
248 <property name="orientation">
249 <enum>Qt::Horizontal</enum>
250 </property>
251 <property name="objrelation" stdset="0">
252 <stringlist>
253 <string>objname:RelayTuningSettings</string>
254 <string>fieldname:AttitudeGain</string>
255 <string>scale:0.01</string>
256 <string>haslimits:no</string>
257 </stringlist>
258 </property>
259 </widget>
260 </item>
261 </layout>
262 </widget>
263 </item>
264 <item>
265 <widget class="QGroupBox" name="groupBox_3">
266 <property name="title">
267 <string>Measured Properties</string>
268 </property>
269 <layout class="QGridLayout" name="gridLayout">
270 <item row="1" column="0">
271 <widget class="QLabel" name="label_3">
272 <property name="text">
273 <string>Roll:</string>
274 </property>
275 </widget>
276 </item>
277 <item row="1" column="1">
278 <widget class="QLabel" name="measuredRollPeriod">
279 <property name="text">
280 <string>0</string>
281 </property>
282 <property name="alignment">
283 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
284 </property>
285 <property name="objrelation" stdset="0">
286 <stringlist>
287 <string>objname:RelayTuning</string>
288 <string>fieldname:Period</string>
289 <string>element:Roll</string>
290 </stringlist>
291 </property>
292 </widget>
293 </item>
294 <item row="1" column="2">
295 <widget class="QLabel" name="measuredRollGain">
296 <property name="text">
297 <string>0</string>
298 </property>
299 <property name="alignment">
300 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
301 </property>
302 <property name="objrelation" stdset="0">
303 <stringlist>
304 <string>objname:RelayTuning</string>
305 <string>fieldname:Gain</string>
306 <string>element:Roll</string>
307 </stringlist>
308 </property>
309 </widget>
310 </item>
311 <item row="0" column="1">
312 <widget class="QLabel" name="label_6">
313 <property name="text">
314 <string>Period (ms)</string>
315 </property>
316 </widget>
317 </item>
318 <item row="0" column="2">
319 <widget class="QLabel" name="label_7">
320 <property name="text">
321 <string>Gain (deg/s) / output</string>
322 </property>
323 </widget>
324 </item>
325 <item row="2" column="0">
326 <widget class="QLabel" name="label_8">
327 <property name="text">
328 <string>Pitch</string>
329 </property>
330 </widget>
331 </item>
332 <item row="2" column="1">
333 <widget class="QLabel" name="measuredPitchPeriod">
334 <property name="text">
335 <string>0</string>
336 </property>
337 <property name="alignment">
338 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
339 </property>
340 <property name="objrelation" stdset="0">
341 <stringlist>
342 <string>objname:RelayTuning</string>
343 <string>fieldname:Period</string>
344 <string>element:Pitch</string>
345 </stringlist>
346 </property>
347 </widget>
348 </item>
349 <item row="2" column="2">
350 <widget class="QLabel" name="measuredPitchGain">
351 <property name="text">
352 <string>0</string>
353 </property>
354 <property name="alignment">
355 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
356 </property>
357 <property name="objrelation" stdset="0">
358 <stringlist>
359 <string>objname:RelayTuning</string>
360 <string>fieldname:Gain</string>
361 <string>element:Pitch</string>
362 </stringlist>
363 </property>
364 </widget>
365 </item>
366 </layout>
367 </widget>
368 </item>
369 <item>
370 <widget class="QGroupBox" name="groupBox_2">
371 <property name="title">
372 <string>Computed Values</string>
373 </property>
374 <layout class="QGridLayout" name="gridLayout_3">
375 <item row="0" column="2">
376 <widget class="QLabel" name="label_9">
377 <property name="text">
378 <string>RateKi</string>
379 </property>
380 </widget>
381 </item>
382 <item row="0" column="3">
383 <widget class="QLabel" name="label_10">
384 <property name="text">
385 <string>AttitudeKp</string>
386 </property>
387 </widget>
388 </item>
389 <item row="2" column="2">
390 <widget class="QLabel" name="pitchRateKi">
391 <property name="text">
392 <string>0</string>
393 </property>
394 </widget>
395 </item>
396 <item row="2" column="0">
397 <widget class="QLabel" name="label_12">
398 <property name="text">
399 <string>Pitch</string>
400 </property>
401 </widget>
402 </item>
403 <item row="0" column="1">
404 <widget class="QLabel" name="label_5">
405 <property name="text">
406 <string>RateKp</string>
407 </property>
408 </widget>
409 </item>
410 <item row="1" column="1">
411 <widget class="QLabel" name="rollRateKp">
412 <property name="text">
413 <string>0</string>
414 </property>
415 </widget>
416 </item>
417 <item row="0" column="4">
418 <widget class="QLabel" name="label_11">
419 <property name="text">
420 <string>AttitudeKi</string>
421 </property>
422 </widget>
423 </item>
424 <item row="1" column="0">
425 <widget class="QLabel" name="label_4">
426 <property name="text">
427 <string>Roll</string>
428 </property>
429 </widget>
430 </item>
431 <item row="1" column="3">
432 <widget class="QLabel" name="rollAttitudeKp">
433 <property name="text">
434 <string>0</string>
435 </property>
436 </widget>
437 </item>
438 <item row="2" column="4">
439 <widget class="QLabel" name="pitchAttitudeKi">
440 <property name="text">
441 <string>0</string>
442 </property>
443 </widget>
444 </item>
445 <item row="2" column="3">
446 <widget class="QLabel" name="pitchAttitudeKp">
447 <property name="text">
448 <string>0</string>
449 </property>
450 </widget>
451 </item>
452 <item row="2" column="1">
453 <widget class="QLabel" name="pitchRateKp">
454 <property name="text">
455 <string>0</string>
456 </property>
457 </widget>
458 </item>
459 <item row="1" column="2">
460 <widget class="QLabel" name="rollRateKi">
461 <property name="text">
462 <string>0</string>
463 </property>
464 </widget>
465 </item>
466 <item row="1" column="4">
467 <widget class="QLabel" name="rollAttitudeKi">
468 <property name="text">
469 <string>0</string>
470 </property>
471 </widget>
472 </item>
473 </layout>
474 </widget>
475 </item>
476 <item>
477 <widget class="QGroupBox" name="groupBox_4">
478 <property name="title">
479 <string/>
480 </property>
481 <layout class="QHBoxLayout" name="horizontalLayout_2">
482 <item>
483 <layout class="QGridLayout" name="gridLayout_4">
484 <item row="0" column="1" colspan="2">
485 <widget class="QPushButton" name="useComputedValues">
486 <property name="styleSheet">
487 <string notr="true"/>
488 </property>
489 <property name="text">
490 <string>Apply Computed Values</string>
491 </property>
492 </widget>
493 </item>
494 <item row="1" column="1">
495 <widget class="QLabel" name="label_21">
496 <property name="text">
497 <string>Step Size</string>
498 </property>
499 <property name="alignment">
500 <set>Qt::AlignCenter</set>
501 </property>
502 </widget>
503 </item>
504 <item row="1" column="2">
505 <widget class="QSlider" name="stepSizeSlider">
506 <property name="orientation">
507 <enum>Qt::Horizontal</enum>
508 </property>
509 <property name="objrelation" stdset="0">
510 <stringlist>
511 <string>objname:RelayTuningSettings</string>
512 <string>fieldname:Amplitude</string>
513 <string>scale:0.01</string>
514 <string>haslimits:no</string>
515 </stringlist>
516 </property>
517 </widget>
518 </item>
519 <item row="0" column="3">
520 <spacer name="horizontalSpacer">
521 <property name="orientation">
522 <enum>Qt::Horizontal</enum>
523 </property>
524 <property name="sizeHint" stdset="0">
525 <size>
526 <width>40</width>
527 <height>20</height>
528 </size>
529 </property>
530 </spacer>
531 </item>
532 <item row="1" column="0">
533 <spacer name="horizontalSpacer_2">
534 <property name="orientation">
535 <enum>Qt::Horizontal</enum>
536 </property>
537 <property name="sizeHint" stdset="0">
538 <size>
539 <width>40</width>
540 <height>20</height>
541 </size>
542 </property>
543 </spacer>
544 </item>
545 <item row="2" column="0" colspan="4">
546 <widget class="QLabel" name="label_22">
547 <property name="text">
548 <string>The Apply and Save buttons below save the autotuning settings which
549 will alter settings for the next autotuning flight</string>
550 </property>
551 <property name="alignment">
552 <set>Qt::AlignCenter</set>
553 </property>
554 </widget>
555 </item>
556 </layout>
557 </item>
558 </layout>
559 </widget>
560 </item>
561 <item>
562 <spacer name="verticalSpacer">
563 <property name="orientation">
564 <enum>Qt::Vertical</enum>
565 </property>
566 <property name="sizeHint" stdset="0">
567 <size>
568 <width>20</width>
569 <height>77</height>
570 </size>
571 </property>
572 </spacer>
573 </item>
574 </layout>
575 </widget>
576 </widget>
577 </item>
578 </layout>
579 </widget>
580 </widget>
581 </item>
582 <item>
583 <layout class="QHBoxLayout" name="horizontalLayout">
584 <property name="spacing">
585 <number>4</number>
586 </property>
587 <item>
588 <spacer name="horizontalSpacer_3">
589 <property name="orientation">
590 <enum>Qt::Horizontal</enum>
591 </property>
592 <property name="sizeType">
593 <enum>QSizePolicy::Expanding</enum>
594 </property>
595 <property name="sizeHint" stdset="0">
596 <size>
597 <width>13</width>
598 <height>25</height>
599 </size>
600 </property>
601 </spacer>
602 </item>
603 <item>
604 <widget class="QPushButton" name="stabilizationReloadBoardData_6">
605 <property name="minimumSize">
606 <size>
607 <width>0</width>
608 <height>0</height>
609 </size>
610 </property>
611 <property name="toolTip">
612 <string>Reloads the saved settings into GCS.
613 Useful if you have accidentally changed some settings.</string>
614 </property>
615 <property name="styleSheet">
616 <string notr="true"/>
617 </property>
618 <property name="text">
619 <string>Reload Board Data</string>
620 </property>
621 <property name="objrelation" stdset="0">
622 <stringlist>
623 <string>button:reload</string>
624 <string>buttongroup:10</string>
625 </stringlist>
626 </property>
627 </widget>
628 </item>
629 <item>
630 <widget class="QPushButton" name="saveStabilizationToRAM_6">
631 <property name="minimumSize">
632 <size>
633 <width>0</width>
634 <height>0</height>
635 </size>
636 </property>
637 <property name="toolTip">
638 <string>Send settings to the board but do not save to the non-volatile memory</string>
639 </property>
640 <property name="styleSheet">
641 <string notr="true"/>
642 </property>
643 <property name="text">
644 <string>Apply</string>
645 </property>
646 <property name="objrelation" stdset="0">
647 <stringlist>
648 <string>button:apply</string>
649 </stringlist>
650 </property>
651 </widget>
652 </item>
653 <item>
654 <widget class="QPushButton" name="saveStabilizationToSD_6">
655 <property name="minimumSize">
656 <size>
657 <width>0</width>
658 <height>0</height>
659 </size>
660 </property>
661 <property name="toolTip">
662 <string>Send settings to the board and save to the non-volatile memory</string>
663 </property>
664 <property name="styleSheet">
665 <string notr="true"/>
666 </property>
667 <property name="text">
668 <string>Save</string>
669 </property>
670 <property name="objrelation" stdset="0">
671 <stringlist>
672 <string>button:save</string>
673 </stringlist>
674 </property>
675 </widget>
676 </item>
677 </layout>
678 </item>
679 </layout>
680 </widget>
681 <resources/>
682 <connections/>
683 </ui>