6import QGroundControl.Controls
7import QGroundControl.FactControls
10 property real _availableHeight: availableHeight
11 property real _availableWidth: availableWidth
12 property Fact _airmode: controller.getParameterFact(-1, "MC_AIRMODE", false)
13 property Fact _thrustModelFactor: controller.getParameterFact(-1, "THR_MDL_FAC", false)
17 availableWidth: _availableWidth
18 availableHeight: _availableHeight - pidTuning.y
20 tuningMode: Vehicle.ModeRateAndAttitude
22 axis: [ roll, pitch, yaw ]
24 showAutoModeChange: false
27 property var roll: QtObject {
28 property string name: qsTr("Roll")
30 { name: "Response", value: globals.activeVehicle.rollRate.value },
31 { name: "Setpoint", value: globals.activeVehicle.setpoint.rollRate.value }
33 property var params: ListModel {
35 title: qsTr("Overall Multiplier (SC_ROLLRATE_K)")
36 description: qsTr("Multiplier for P, I and D gains: increase for more responsiveness, reduce if the rates overshoot (and increasing D does not help).")
37 param: "SC_ROLLRATE_K"
43 title: qsTr("Differential Gain (SC_ROLLRATE_D)")
44 description: qsTr("Damping: increase to reduce overshoots and oscillations, but not higher than really needed.")
45 param: "SC_ROLLRATE_D"
51 title: qsTr("Integral Gain (SC_ROLLRATE_I)")
52 description: qsTr("Generally does not need much adjustment, reduce this when seeing slow oscillations.")
53 param: "SC_ROLLRATE_I"
60 property var pitch: QtObject {
61 property string name: qsTr("Pitch")
63 { name: "Response", value: globals.activeVehicle.pitchRate.value },
64 { name: "Setpoint", value: globals.activeVehicle.setpoint.pitchRate.value }
66 property var params: ListModel {
68 title: qsTr("Overall Multiplier (SC_PITCHRATE_K)")
69 description: qsTr("Multiplier for P, I and D gains: increase for more responsiveness, reduce if the rates overshoot (and increasing D does not help).")
70 param: "SC_PITCHRATE_K"
76 title: qsTr("Differential Gain (SC_PITCHRATE_D)")
77 description: qsTr("Damping: increase to reduce overshoots and oscillations, but not higher than really needed.")
78 param: "SC_PITCHRATE_D"
84 title: qsTr("Integral Gain (SC_PITCHRATE_I)")
85 description: qsTr("Generally does not need much adjustment, reduce this when seeing slow oscillations.")
86 param: "SC_PITCHRATE_I"
93 property var yaw: QtObject {
94 property string name: qsTr("Yaw")
96 { name: "Response", value: globals.activeVehicle.yawRate.value },
97 { name: "Setpoint", value: globals.activeVehicle.setpoint.yawRate.value }
99 property var params: ListModel {
101 title: qsTr("Overall Multiplier (SC_YAWRATE_K)")
102 description: qsTr("Multiplier for P, I and D gains: increase for more responsiveness, reduce if the rates overshoot (and increasing D does not help).")
103 param: "SC_YAWRATE_K"
109 title: qsTr("Derivative Gain (SC_YAWRATE_D)")
110 description: qsTr("Damping: increase to reduce overshoots and oscillations, but not higher than really needed.")
111 param: "SC_YAWRATE_D"
117 title: qsTr("Integral Gain (SC_YAWRATE_I)")
118 description: qsTr("Generally does not need much adjustment, reduce this when seeing slow oscillations.")
119 param: "SC_YAWRATE_I"
125 title: qsTr("Integral Limit (SC_YR_INT_LIM)")
126 description: qsTr("Increase if the robot still has a steady-state error at maximum integral gain.")
127 param: "SC_YR_INT_LIM"