QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
APMTuningComponentSub.qml
Go to the documentation of this file.
1import QtQuick
2import QtQuick.Controls
3
4import QGroundControl
5import QGroundControl.FactControls
6import QGroundControl.Controls
7
8SetupPage {
9 id: tuningPage
10 pageComponent: tuningPageComponent
11
12 Component {
13 id: tuningPageComponent
14
15 Column {
16 width: availableWidth
17 spacing: _margins
18
19 FactPanelController { id: controller; }
20
21 QGCPalette { id: qgcPal; colorGroupEnabled: true }
22
23 property real _margins: ScreenTools.defaultFontPixelHeight
24
25 Row {
26 spacing: _margins
27 QGCButton {
28 id: atcButton
29 text: qsTr("Attitude Controller Parameters")
30 autoExclusive: true
31 checked: true
32 onClicked: checked = true
33 }
34
35 QGCButton {
36 id: posButton
37 text: qsTr("Position Controller Parameters")
38 autoExclusive: true
39 onClicked: checked = true
40 }
41
42 QGCButton {
43 id: navButton
44 text: qsTr("Waypoint navigation parameters")
45 autoExclusive: true
46 onClicked: checked = true
47 }
48 }
49
50 Rectangle {
51 id: atcParams
52 visible: atcButton.checked
53 anchors.left: parent.left
54 anchors.right: parent.right
55 height: posColumn.height + _margins*2
56 color: qgcPal.windowShade
57
58 Column {
59 id: posColumn
60 width: parent.width/2
61 anchors.margins: _margins
62 anchors.left: parent.left
63 anchors.right: parent.right
64 anchors.top: parent.top
65 spacing: _margins*1.5
66
67 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "ATC_ANG_PIT_P") }
68 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "ATC_ANG_RLL_P") }
69 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "ATC_ANG_YAW_P") }
70 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "ATC_RAT_PIT_P") }
71 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "ATC_RAT_PIT_I") }
72 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "ATC_RAT_PIT_IMAX") }
73 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "ATC_RAT_PIT_D") }
74 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "ATC_RAT_RLL_P") }
75 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "ATC_RAT_RLL_I") }
76 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "ATC_RAT_RLL_IMAX") }
77 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "ATC_RAT_RLL_D") }
78 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "ATC_RAT_YAW_P") }
79 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "ATC_RAT_YAW_I") }
80 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "ATC_RAT_YAW_IMAX") }
81 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "ATC_RAT_YAW_D") }
82
83 } // Column - Position Controller Parameters
84 } // Rectangle - Position Controller Parameters
85
86 Rectangle {
87 id: posParams
88 visible: posButton.checked
89 anchors.left: parent.left
90 anchors.right: parent.right
91 height: velColumn.height + _margins*2
92 color: qgcPal.windowShade
93
94 Component {
95 id: velColumnUpTo36
96 Column {
97 anchors.margins: _margins
98 anchors.left: parent.left
99 anchors.right: parent.right
100 anchors.top: parent.top
101 spacing: _margins*1.5
102
103 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "r.PSC_POSXY_P") }
104 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "r.PSC_POSZ_P") }
105 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "r.PSC_VELXY_P") }
106 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "r.PSC_VELXY_I") }
107 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "r.PSC_VELXY_IMAX") }
108 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "r.PSC_VELZ_P") }
109 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "r.PSC_ACCZ_D") }
110 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "r.PSC_ACCZ_FILT") }
111 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "r.PSC_ACCZ_I") }
112 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "r.PSC_ACCZ_IMAX") }
113 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "r.PSC_ACCZ_P") }
114
115 } // Column - VEL parameters
116 }
117 Component {
118 id: velColumn40
119 Column {
120 anchors.margins: _margins
121 anchors.left: parent.left
122 anchors.right: parent.right
123 anchors.top: parent.top
124 spacing: _margins*1.5
125
126 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "r.PSC_POSXY_P") }
127 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "r.PSC_POSZ_P") }
128 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "r.PSC_VELXY_P") }
129 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "r.PSC_VELXY_I") }
130 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "r.PSC_VELXY_IMAX") }
131 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "r.PSC_VELZ_P") }
132 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "r.PSC_ACCZ_D") }
133 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "r.PSC_ACCZ_FLTD") }
134 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "r.PSC_ACCZ_FLTE") }
135 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "r.PSC_ACCZ_FLTT") }
136 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "r.PSC_ACCZ_I") }
137 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "r.PSC_ACCZ_IMAX") }
138 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "r.PSC_ACCZ_P") }
139
140 } // Column - VEL parameters
141 }
142 Loader {
143 id: velColumn
144 anchors.left: parent.left
145 anchors.right: parent.right
146 anchors.top: parent.top
147
148 sourceComponent: globals.activeVehicle.versionCompare(3, 6, 0) <= 0 ? velColumnUpTo36 :velColumn40
149 }
150 } // Rectangle - VEL parameters
151
152 Rectangle {
153 id: navParams
154 visible: navButton.checked
155 anchors.left: parent.left
156 anchors.right: parent.right
157 height: wpnavColumn.height + _margins*2
158 color: qgcPal.windowShade
159
160 // WPNAV parameters up to 3.5
161 Component {
162 id: wpnavColumn35
163 Column {
164 anchors.margins: _margins
165 anchors.left: parent.left
166 anchors.right: parent.right
167 anchors.top: parent.top
168 spacing: _margins*1.5
169
170
171 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "WPNAV_ACCEL") }
172 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "WPNAV_ACCEL_Z") }
173 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "WPNAV_LOIT_JERK") }
174 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "WPNAV_LOIT_MAXA") }
175 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "WPNAV_LOIT_MINA") }
176 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "WPNAV_LOIT_SPEED") }
177 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "WPNAV_RADIUS") }
178 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "WPNAV_SPEED") }
179 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "WPNAV_SPEED_DN") }
180 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "WPNAV_SPEED_UP") }
181 }
182 }
183
184 // WPNAV parameters for 3.6 and upwards
185 Component {
186 id: wpnavColumn36
187 Column {
188 anchors.margins: _margins
189 anchors.left: parent.left
190 anchors.right: parent.right
191 anchors.top: parent.top
192 spacing: _margins*1.5
193
194 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "WPNAV_ACCEL") }
195 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "WPNAV_ACCEL_Z") }
196 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "WPNAV_RADIUS") }
197 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "WPNAV_SPEED") }
198 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "WPNAV_SPEED_DN") }
199 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "WPNAV_SPEED_UP") }
200 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "LOIT_SPEED") }
201 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "LOIT_ACC_MAX") }
202 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "LOIT_ANG_MAX") }
203 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "LOIT_BRK_ACCEL") }
204 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "LOIT_BRK_DELAY") }
205 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "LOIT_BRK_JERK") }
206 }
207 }
208
209 Loader {
210 id: wpnavColumn
211 anchors.left: parent.left
212 anchors.right: parent.right
213 anchors.top: parent.top
214
215 sourceComponent: globals.activeVehicle.versionCompare(3, 6, 0) < 0 ? wpnavColumn35 : wpnavColumn36
216 }
217 } // Rectangle - WPNAV parameters
218 } // Column
219 } // Component
220} // SetupView