6import QGroundControl.FactControls
7import QGroundControl.Controls
11 pageComponent: safetyPageComponent
14 id: safetyPageComponent
21 FactPanelController { id: controller; }
23 QGCPalette { id: ggcPal; colorGroupEnabled: true }
25 property real _margins: ScreenTools.defaultFontPixelHeight
26 property bool _showIcon: !ScreenTools.isTinyScreen
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")
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")
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")
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")
72 title: qsTr("Servo Setup")
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") }
84 QGCLabel { text: qsTr("1") }
86 fact: controller.getParameterFact(-1, "SERVO1_FUNCTION")
88 Layout.fillWidth: true
91 fact: controller.getParameterFact(-1, "SERVO1_MIN")
92 Layout.fillWidth: true
95 fact: controller.getParameterFact(-1, "SERVO1_MAX")
96 Layout.fillWidth: true
99 fact: controller.getParameterFact(-1, "SERVO1_TRIM")
100 Layout.fillWidth: true
103 fact: controller.getParameterFact(-1, "SERVO1_REVERSED")
104 Layout.fillWidth: true
107 QGCLabel { text: qsTr("2") }
109 fact: controller.getParameterFact(-1, "SERVO2_FUNCTION")
111 Layout.fillWidth: true
114 fact: controller.getParameterFact(-1, "SERVO2_MIN")
115 Layout.fillWidth: true
118 fact: controller.getParameterFact(-1, "SERVO2_MAX")
119 Layout.fillWidth: true
122 fact: controller.getParameterFact(-1, "SERVO2_TRIM")
123 Layout.fillWidth: true
126 fact: controller.getParameterFact(-1, "SERVO2_REVERSED")
127 Layout.fillWidth: true
130 QGCLabel { text: qsTr("3") }
132 fact: controller.getParameterFact(-1, "SERVO3_FUNCTION")
134 Layout.fillWidth: true
137 fact: controller.getParameterFact(-1, "SERVO3_MIN")
138 Layout.fillWidth: true
141 fact: controller.getParameterFact(-1, "SERVO3_MAX")
142 Layout.fillWidth: true
145 fact: controller.getParameterFact(-1, "SERVO3_TRIM")
146 Layout.fillWidth: true
149 fact: controller.getParameterFact(-1, "SERVO3_REVERSED")
150 Layout.fillWidth: true
153 QGCLabel { text: qsTr("4") }
155 fact: controller.getParameterFact(-1, "SERVO4_FUNCTION")
157 Layout.fillWidth: true
160 fact: controller.getParameterFact(-1, "SERVO4_MIN")
161 Layout.fillWidth: true
164 fact: controller.getParameterFact(-1, "SERVO4_MAX")
165 Layout.fillWidth: true
168 fact: controller.getParameterFact(-1, "SERVO4_TRIM")
169 Layout.fillWidth: true
172 fact: controller.getParameterFact(-1, "SERVO4_REVERSED")
173 Layout.fillWidth: true
176 QGCLabel { text: qsTr("5") }
178 fact: controller.getParameterFact(-1, "SERVO5_FUNCTION")
180 Layout.fillWidth: true
183 fact: controller.getParameterFact(-1, "SERVO5_MIN")
184 Layout.fillWidth: true
187 fact: controller.getParameterFact(-1, "SERVO5_MAX")
188 Layout.fillWidth: true
191 fact: controller.getParameterFact(-1, "SERVO5_TRIM")
192 Layout.fillWidth: true
195 fact: controller.getParameterFact(-1, "SERVO5_REVERSED")
196 Layout.fillWidth: true
199 QGCLabel { text: qsTr("6") }
201 fact: controller.getParameterFact(-1, "SERVO6_FUNCTION")
203 Layout.fillWidth: true
206 fact: controller.getParameterFact(-1, "SERVO6_MIN")
207 Layout.fillWidth: true
210 fact: controller.getParameterFact(-1, "SERVO6_MAX")
211 Layout.fillWidth: true
214 fact: controller.getParameterFact(-1, "SERVO6_TRIM")
215 Layout.fillWidth: true
218 fact: controller.getParameterFact(-1, "SERVO6_REVERSED")
219 Layout.fillWidth: true
222 QGCLabel { text: qsTr("7") }
224 fact: controller.getParameterFact(-1, "SERVO7_FUNCTION")
226 Layout.fillWidth: true
229 fact: controller.getParameterFact(-1, "SERVO7_MIN")
230 Layout.fillWidth: true
233 fact: controller.getParameterFact(-1, "SERVO7_MAX")
234 Layout.fillWidth: true
237 fact: controller.getParameterFact(-1, "SERVO7_TRIM")
238 Layout.fillWidth: true
241 fact: controller.getParameterFact(-1, "SERVO7_REVERSED")
242 Layout.fillWidth: true
245 QGCLabel { text: qsTr("8") }
247 fact: controller.getParameterFact(-1, "SERVO8_FUNCTION")
249 Layout.fillWidth: true
252 fact: controller.getParameterFact(-1, "SERVO8_MIN")
253 Layout.fillWidth: true
256 fact: controller.getParameterFact(-1, "SERVO8_MAX")
257 Layout.fillWidth: true
260 fact: controller.getParameterFact(-1, "SERVO8_TRIM")
261 Layout.fillWidth: true
264 fact: controller.getParameterFact(-1, "SERVO8_REVERSED")
265 Layout.fillWidth: true
271 title: qsTr("Swashplate Setup")
276 QGCLabel { text: _hSvMan.shortDescription }
282 QGCLabel { text: _hSwType.shortDescription }
288 QGCLabel { text: _hSwColDir.shortDescription }
294 QGCLabel { text: _hSwLinSvo.shortDescription }
300 QGCLabel { text: _hFlybarMode.shortDescription }
306 QGCLabel { text: _hCycMax.shortDescription }
307 FactTextField { fact: _hCycMax }
309 QGCLabel { text: _hColMax.shortDescription }
310 FactTextField { fact: _hColMax }
312 QGCLabel { text: _hColAngMax.shortDescription }
313 FactTextField { fact: _hColAngMax }
315 QGCLabel { text: _hColMin.shortDescription }
316 FactTextField { fact: _hColMin }
318 QGCLabel { text: _hColAngMin.shortDescription }
319 FactTextField { fact: _hColAngMin }
321 QGCLabel { text: _hColZeroThrst.shortDescription }
322 FactTextField { fact: _hColZeroThrst }
324 QGCLabel { text: _hColLandMin.shortDescription }
325 FactTextField { fact: _hColLandMin }
330 title: qsTr("Throttle Settings")
335 QGCLabel { text: _hRscMode.shortDescription }
341 QGCLabel { text: _hRscCritical.shortDescription }
342 FactTextField { fact: _hRscCritical }
344 QGCLabel { text: _hRscRampTime.shortDescription }
345 FactTextField { fact: _hRscRampTime }
347 QGCLabel { text: _hRscRunupTime.shortDescription }
348 FactTextField { fact: _hRscRunupTime }
350 QGCLabel { text: _hRscCldwnTime.shortDescription }
351 FactTextField { fact: _hRscCldwnTime }
353 QGCLabel { text: _hRscSetpoint.shortDescription }
354 FactTextField { fact: _hRscSetpoint }
356 QGCLabel { text: _hRscIdle.shortDescription }
357 FactTextField { fact: _hRscIdle }
359 QGCLabel { text: _hRscThrcrv0.shortDescription }
360 FactTextField { fact: _hRscThrcrv0 }
362 QGCLabel { text: _hRscThrcrv25.shortDescription }
363 FactTextField { fact: _hRscThrcrv25 }
365 QGCLabel { text: _hRscThrcrv50.shortDescription }
366 FactTextField { fact: _hRscThrcrv50 }
368 QGCLabel { text: _hRscThrcrv75.shortDescription }
369 FactTextField { fact: _hRscThrcrv75 }
371 QGCLabel { text: _hRscThrcrv100.shortDescription }
372 FactTextField { fact: _hRscThrcrv100 }
377 title: qsTr("Governor Settings")
382 QGCLabel { text: _hRscGovComp.shortDescription }
383 FactTextField { fact: _hRscGovComp }
385 QGCLabel { text: _hRscGovDroop.shortDescription }
386 FactTextField { fact: _hRscGovDroop }
388 QGCLabel { text: _hRscGovFf.shortDescription }
389 FactTextField { fact: _hRscGovFf }
391 QGCLabel { text: _hRscGovRange.shortDescription }
392 FactTextField { fact: _hRscGovRange }
394 QGCLabel { text: _hRscGovRpm.shortDescription }
395 FactTextField { fact: _hRscGovRpm }
397 QGCLabel { text: _hRscGovTorque.shortDescription }
398 FactTextField { fact: _hRscGovTorque }
403 title: qsTr("Miscellaneous Settings")
408 QGCLabel { text: qsTr("* Stabilize Collective Curve *") }
409 QGCLabel { text: qsTr("") }
411 QGCLabel { text: _imStbCol1.shortDescription }
412 FactTextField { fact: _imStbCol1 }
414 QGCLabel { text: _imStbCol2.shortDescription }
415 FactTextField { fact: _imStbCol2 }
417 QGCLabel { text: _imStbCol3.shortDescription }
418 FactTextField { fact: _imStbCol3 }
420 QGCLabel { text: _imStbCol4.shortDescription }
421 FactTextField { fact: _imStbCol4 }
423 QGCLabel { text: qsTr("* Tail & Gyros *") }
424 QGCLabel { text: qsTr("") }
426 QGCLabel { text: _hTailType.shortDescription }
432 QGCLabel { text: _hTailSpeed.shortDescription }
433 FactTextField { fact: _hTailSpeed }
435 QGCLabel { text: _hGyrGain.shortDescription }
436 FactTextField { fact: _hGyrGain }
438 QGCLabel { text: _hGyrGainAcro.shortDescription }
439 FactTextField { fact: _hGyrGainAcro }
441 QGCLabel { text: _hColYaw.shortDescription }
442 FactTextField { fact: _hColYaw }