QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
APMHeliComponent.qml
Go to the documentation of this file.
1import QtQuick
2import QtQuick.Controls
3import QtQuick.Layouts
4
5import QGroundControl
6import QGroundControl.FactControls
7import QGroundControl.Controls
8
9SetupPage {
10 id: safetyPage
11 pageComponent: safetyPageComponent
12
13 Component {
14 id: safetyPageComponent
15
16 Flow {
17 id: flowLayout
18 width: availableWidth
19 spacing: _margins
20
21 FactPanelController { id: controller; }
22
23 QGCPalette { id: ggcPal; colorGroupEnabled: true }
24
25 property real _margins: ScreenTools.defaultFontPixelHeight
26 property bool _showIcon: !ScreenTools.isTinyScreen
27
28 property Fact _hSvMan: controller.getParameterFact(-1, "H_SV_MAN")
29 property Fact _hSwType: controller.getParameterFact(-1, "H_SW_TYPE")
30 property Fact _hSwColDir: controller.getParameterFact(-1, "H_SW_COL_DIR")
31 property Fact _hSwLinSvo: controller.getParameterFact(-1, "H_SW_LIN_SVO")
32 property Fact _hFlybarMode: controller.getParameterFact(-1, "H_FLYBAR_MODE")
33 property Fact _hCycMax: controller.getParameterFact(-1, "H_CYC_MAX")
34 property Fact _hColMax: controller.getParameterFact(-1, "H_COL_MAX")
35 property Fact _hColAngMax: controller.getParameterFact(-1, "H_COL_ANG_MAX")
36 property Fact _hColMin: controller.getParameterFact(-1, "H_COL_MIN")
37 property Fact _hColAngMin: controller.getParameterFact(-1, "H_COL_ANG_MIN")
38 property Fact _hColZeroThrst: controller.getParameterFact(-1, "H_COL_ZERO_THRST")
39 property Fact _hColLandMin: controller.getParameterFact(-1, "H_COL_LAND_MIN")
40
41 property Fact _hRscMode: controller.getParameterFact(-1, "H_RSC_MODE")
42 property Fact _hRscCritical: controller.getParameterFact(-1, "H_RSC_CRITICAL")
43 property Fact _hRscRampTime: controller.getParameterFact(-1, "H_RSC_RAMP_TIME")
44 property Fact _hRscRunupTime: controller.getParameterFact(-1, "H_RSC_RUNUP_TIME")
45 property Fact _hRscCldwnTime: controller.getParameterFact(-1, "H_RSC_CLDWN_TIME")
46 property Fact _hRscSetpoint: controller.getParameterFact(-1, "H_RSC_SETPOINT")
47 property Fact _hRscIdle: controller.getParameterFact(-1, "H_RSC_IDLE")
48 property Fact _hRscThrcrv0: controller.getParameterFact(-1, "H_RSC_THRCRV_0")
49 property Fact _hRscThrcrv25: controller.getParameterFact(-1, "H_RSC_THRCRV_25")
50 property Fact _hRscThrcrv50: controller.getParameterFact(-1, "H_RSC_THRCRV_50")
51 property Fact _hRscThrcrv75: controller.getParameterFact(-1, "H_RSC_THRCRV_75")
52 property Fact _hRscThrcrv100: controller.getParameterFact(-1, "H_RSC_THRCRV_100")
53
54 property Fact _hRscGovComp: controller.getParameterFact(-1, "H_RSC_GOV_COMP")
55 property Fact _hRscGovDroop: controller.getParameterFact(-1, "H_RSC_GOV_DROOP")
56 property Fact _hRscGovFf: controller.getParameterFact(-1, "H_RSC_GOV_FF")
57 property Fact _hRscGovRange: controller.getParameterFact(-1, "H_RSC_GOV_RANGE")
58 property Fact _hRscGovRpm: controller.getParameterFact(-1, "H_RSC_GOV_RPM")
59 property Fact _hRscGovTorque: controller.getParameterFact(-1, "H_RSC_GOV_TORQUE")
60
61 property Fact _imStbCol1: controller.getParameterFact(-1, "IM_STB_COL_1")
62 property Fact _imStbCol2: controller.getParameterFact(-1, "IM_STB_COL_2")
63 property Fact _imStbCol3: controller.getParameterFact(-1, "IM_STB_COL_3")
64 property Fact _imStbCol4: controller.getParameterFact(-1, "IM_STB_COL_4")
65 property Fact _hTailType: controller.getParameterFact(-1, "H_TAIL_TYPE")
66 property Fact _hTailSpeed: controller.getParameterFact(-1, "H_TAIL_SPEED")
67 property Fact _hGyrGain: controller.getParameterFact(-1, "H_GYR_GAIN")
68 property Fact _hGyrGainAcro: controller.getParameterFact(-1, "H_GYR_GAIN_ACRO")
69 property Fact _hColYaw: controller.getParameterFact(-1, "H_COLYAW")
70
71 QGCGroupBox {
72 title: qsTr("Servo Setup")
73
74 GridLayout {
75 columns: 6
76
77 QGCLabel { text: qsTr("Servo") }
78 QGCLabel { text: qsTr("Function") }
79 QGCLabel { text: qsTr("Min") }
80 QGCLabel { text: qsTr("Max") }
81 QGCLabel { text: qsTr("Trim") }
82 QGCLabel { text: qsTr("Reversed") }
83
84 QGCLabel { text: qsTr("1") }
85 FactComboBox {
86 fact: controller.getParameterFact(-1, "SERVO1_FUNCTION")
87 indexModel: false
88 Layout.fillWidth: true
89 }
90 FactTextField {
91 fact: controller.getParameterFact(-1, "SERVO1_MIN")
92 Layout.fillWidth: true
93 }
94 FactTextField {
95 fact: controller.getParameterFact(-1, "SERVO1_MAX")
96 Layout.fillWidth: true
97 }
98 FactTextField {
99 fact: controller.getParameterFact(-1, "SERVO1_TRIM")
100 Layout.fillWidth: true
101 }
102 FactCheckBox {
103 fact: controller.getParameterFact(-1, "SERVO1_REVERSED")
104 Layout.fillWidth: true
105 }
106
107 QGCLabel { text: qsTr("2") }
108 FactComboBox {
109 fact: controller.getParameterFact(-1, "SERVO2_FUNCTION")
110 indexModel: false
111 Layout.fillWidth: true
112 }
113 FactTextField {
114 fact: controller.getParameterFact(-1, "SERVO2_MIN")
115 Layout.fillWidth: true
116 }
117 FactTextField {
118 fact: controller.getParameterFact(-1, "SERVO2_MAX")
119 Layout.fillWidth: true
120 }
121 FactTextField {
122 fact: controller.getParameterFact(-1, "SERVO2_TRIM")
123 Layout.fillWidth: true
124 }
125 FactCheckBox {
126 fact: controller.getParameterFact(-1, "SERVO2_REVERSED")
127 Layout.fillWidth: true
128 }
129
130 QGCLabel { text: qsTr("3") }
131 FactComboBox {
132 fact: controller.getParameterFact(-1, "SERVO3_FUNCTION")
133 indexModel: false
134 Layout.fillWidth: true
135 }
136 FactTextField {
137 fact: controller.getParameterFact(-1, "SERVO3_MIN")
138 Layout.fillWidth: true
139 }
140 FactTextField {
141 fact: controller.getParameterFact(-1, "SERVO3_MAX")
142 Layout.fillWidth: true
143 }
144 FactTextField {
145 fact: controller.getParameterFact(-1, "SERVO3_TRIM")
146 Layout.fillWidth: true
147 }
148 FactCheckBox {
149 fact: controller.getParameterFact(-1, "SERVO3_REVERSED")
150 Layout.fillWidth: true
151 }
152
153 QGCLabel { text: qsTr("4") }
154 FactComboBox {
155 fact: controller.getParameterFact(-1, "SERVO4_FUNCTION")
156 indexModel: false
157 Layout.fillWidth: true
158 }
159 FactTextField {
160 fact: controller.getParameterFact(-1, "SERVO4_MIN")
161 Layout.fillWidth: true
162 }
163 FactTextField {
164 fact: controller.getParameterFact(-1, "SERVO4_MAX")
165 Layout.fillWidth: true
166 }
167 FactTextField {
168 fact: controller.getParameterFact(-1, "SERVO4_TRIM")
169 Layout.fillWidth: true
170 }
171 FactCheckBox {
172 fact: controller.getParameterFact(-1, "SERVO4_REVERSED")
173 Layout.fillWidth: true
174 }
175
176 QGCLabel { text: qsTr("5") }
177 FactComboBox {
178 fact: controller.getParameterFact(-1, "SERVO5_FUNCTION")
179 indexModel: false
180 Layout.fillWidth: true
181 }
182 FactTextField {
183 fact: controller.getParameterFact(-1, "SERVO5_MIN")
184 Layout.fillWidth: true
185 }
186 FactTextField {
187 fact: controller.getParameterFact(-1, "SERVO5_MAX")
188 Layout.fillWidth: true
189 }
190 FactTextField {
191 fact: controller.getParameterFact(-1, "SERVO5_TRIM")
192 Layout.fillWidth: true
193 }
194 FactCheckBox {
195 fact: controller.getParameterFact(-1, "SERVO5_REVERSED")
196 Layout.fillWidth: true
197 }
198
199 QGCLabel { text: qsTr("6") }
200 FactComboBox {
201 fact: controller.getParameterFact(-1, "SERVO6_FUNCTION")
202 indexModel: false
203 Layout.fillWidth: true
204 }
205 FactTextField {
206 fact: controller.getParameterFact(-1, "SERVO6_MIN")
207 Layout.fillWidth: true
208 }
209 FactTextField {
210 fact: controller.getParameterFact(-1, "SERVO6_MAX")
211 Layout.fillWidth: true
212 }
213 FactTextField {
214 fact: controller.getParameterFact(-1, "SERVO6_TRIM")
215 Layout.fillWidth: true
216 }
217 FactCheckBox {
218 fact: controller.getParameterFact(-1, "SERVO6_REVERSED")
219 Layout.fillWidth: true
220 }
221
222 QGCLabel { text: qsTr("7") }
223 FactComboBox {
224 fact: controller.getParameterFact(-1, "SERVO7_FUNCTION")
225 indexModel: false
226 Layout.fillWidth: true
227 }
228 FactTextField {
229 fact: controller.getParameterFact(-1, "SERVO7_MIN")
230 Layout.fillWidth: true
231 }
232 FactTextField {
233 fact: controller.getParameterFact(-1, "SERVO7_MAX")
234 Layout.fillWidth: true
235 }
236 FactTextField {
237 fact: controller.getParameterFact(-1, "SERVO7_TRIM")
238 Layout.fillWidth: true
239 }
240 FactCheckBox {
241 fact: controller.getParameterFact(-1, "SERVO7_REVERSED")
242 Layout.fillWidth: true
243 }
244
245 QGCLabel { text: qsTr("8") }
246 FactComboBox {
247 fact: controller.getParameterFact(-1, "SERVO8_FUNCTION")
248 indexModel: false
249 Layout.fillWidth: true
250 }
251 FactTextField {
252 fact: controller.getParameterFact(-1, "SERVO8_MIN")
253 Layout.fillWidth: true
254 }
255 FactTextField {
256 fact: controller.getParameterFact(-1, "SERVO8_MAX")
257 Layout.fillWidth: true
258 }
259 FactTextField {
260 fact: controller.getParameterFact(-1, "SERVO8_TRIM")
261 Layout.fillWidth: true
262 }
263 FactCheckBox {
264 fact: controller.getParameterFact(-1, "SERVO8_REVERSED")
265 Layout.fillWidth: true
266 }
267 }
268 }
269
270 QGCGroupBox {
271 title: qsTr("Swashplate Setup")
272
273 GridLayout {
274 columns: 2
275
276 QGCLabel { text: _hSvMan.shortDescription }
277 FactComboBox {
278 fact: _hSvMan
279 indexModel: false
280 }
281
282 QGCLabel { text: _hSwType.shortDescription }
283 FactComboBox {
284 fact: _hSwType
285 indexModel: false
286 }
287
288 QGCLabel { text: _hSwColDir.shortDescription }
289 FactComboBox {
290 fact: _hSwColDir
291 indexModel: false
292 }
293
294 QGCLabel { text: _hSwLinSvo.shortDescription }
295 FactComboBox {
296 fact: _hSwLinSvo
297 indexModel: false
298 }
299
300 QGCLabel { text: _hFlybarMode.shortDescription }
301 FactComboBox {
302 fact: _hFlybarMode
303 indexModel: false
304 }
305
306 QGCLabel { text: _hCycMax.shortDescription }
307 FactTextField { fact: _hCycMax }
308
309 QGCLabel { text: _hColMax.shortDescription }
310 FactTextField { fact: _hColMax }
311
312 QGCLabel { text: _hColAngMax.shortDescription }
313 FactTextField { fact: _hColAngMax }
314
315 QGCLabel { text: _hColMin.shortDescription }
316 FactTextField { fact: _hColMin }
317
318 QGCLabel { text: _hColAngMin.shortDescription }
319 FactTextField { fact: _hColAngMin }
320
321 QGCLabel { text: _hColZeroThrst.shortDescription }
322 FactTextField { fact: _hColZeroThrst }
323
324 QGCLabel { text: _hColLandMin.shortDescription }
325 FactTextField { fact: _hColLandMin }
326 }
327 }
328
329 QGCGroupBox {
330 title: qsTr("Throttle Settings")
331
332 GridLayout {
333 columns: 2
334
335 QGCLabel { text: _hRscMode.shortDescription }
336 FactComboBox {
337 fact: _hRscMode
338 indexModel: false
339 }
340
341 QGCLabel { text: _hRscCritical.shortDescription }
342 FactTextField { fact: _hRscCritical }
343
344 QGCLabel { text: _hRscRampTime.shortDescription }
345 FactTextField { fact: _hRscRampTime }
346
347 QGCLabel { text: _hRscRunupTime.shortDescription }
348 FactTextField { fact: _hRscRunupTime }
349
350 QGCLabel { text: _hRscCldwnTime.shortDescription }
351 FactTextField { fact: _hRscCldwnTime }
352
353 QGCLabel { text: _hRscSetpoint.shortDescription }
354 FactTextField { fact: _hRscSetpoint }
355
356 QGCLabel { text: _hRscIdle.shortDescription }
357 FactTextField { fact: _hRscIdle }
358
359 QGCLabel { text: _hRscThrcrv0.shortDescription }
360 FactTextField { fact: _hRscThrcrv0 }
361
362 QGCLabel { text: _hRscThrcrv25.shortDescription }
363 FactTextField { fact: _hRscThrcrv25 }
364
365 QGCLabel { text: _hRscThrcrv50.shortDescription }
366 FactTextField { fact: _hRscThrcrv50 }
367
368 QGCLabel { text: _hRscThrcrv75.shortDescription }
369 FactTextField { fact: _hRscThrcrv75 }
370
371 QGCLabel { text: _hRscThrcrv100.shortDescription }
372 FactTextField { fact: _hRscThrcrv100 }
373 }
374 }
375
376 QGCGroupBox {
377 title: qsTr("Governor Settings")
378
379 GridLayout {
380 columns: 2
381
382 QGCLabel { text: _hRscGovComp.shortDescription }
383 FactTextField { fact: _hRscGovComp }
384
385 QGCLabel { text: _hRscGovDroop.shortDescription }
386 FactTextField { fact: _hRscGovDroop }
387
388 QGCLabel { text: _hRscGovFf.shortDescription }
389 FactTextField { fact: _hRscGovFf }
390
391 QGCLabel { text: _hRscGovRange.shortDescription }
392 FactTextField { fact: _hRscGovRange }
393
394 QGCLabel { text: _hRscGovRpm.shortDescription }
395 FactTextField { fact: _hRscGovRpm }
396
397 QGCLabel { text: _hRscGovTorque.shortDescription }
398 FactTextField { fact: _hRscGovTorque }
399 }
400 }
401
402 QGCGroupBox {
403 title: qsTr("Miscellaneous Settings")
404
405 GridLayout {
406 columns: 2
407
408 QGCLabel { text: qsTr("* Stabilize Collective Curve *") }
409 QGCLabel { text: qsTr("") }
410
411 QGCLabel { text: _imStbCol1.shortDescription }
412 FactTextField { fact: _imStbCol1 }
413
414 QGCLabel { text: _imStbCol2.shortDescription }
415 FactTextField { fact: _imStbCol2 }
416
417 QGCLabel { text: _imStbCol3.shortDescription }
418 FactTextField { fact: _imStbCol3 }
419
420 QGCLabel { text: _imStbCol4.shortDescription }
421 FactTextField { fact: _imStbCol4 }
422
423 QGCLabel { text: qsTr("* Tail & Gyros *") }
424 QGCLabel { text: qsTr("") }
425
426 QGCLabel { text: _hTailType.shortDescription }
427 FactComboBox {
428 fact: _hTailType
429 indexModel: false
430 }
431
432 QGCLabel { text: _hTailSpeed.shortDescription }
433 FactTextField { fact: _hTailSpeed }
434
435 QGCLabel { text: _hGyrGain.shortDescription }
436 FactTextField { fact: _hGyrGain }
437
438 QGCLabel { text: _hGyrGainAcro.shortDescription }
439 FactTextField { fact: _hGyrGainAcro }
440
441 QGCLabel { text: _hColYaw.shortDescription }
442 FactTextField { fact: _hColYaw }
443 }
444 }
445 } // Flow
446 } // Component
447} // SetupView