6import QGroundControl.FactControls
7import QGroundControl.Controls
11 pageComponent: tuningPageComponent
14 id: tuningPageComponent
20 FactPanelController { id: controller; }
22 QGCPalette { id: qgcPal; colorGroupEnabled: true }
24 property real _margins: ScreenTools.defaultFontPixelHeight
30 text: qsTr("Attitude Controller Parameters")
33 onClicked: checked = true
38 text: qsTr("Position Controller Parameters")
40 onClicked: checked = true
45 text: qsTr("Waypoint navigation parameters")
47 onClicked: checked = true
53 Layout.preferredWidth: tuningPage.availableWidth * 0.75
54 visible: atcButton.checked
55 title: qsTr("Attitude Controller Parameters")
61 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "ATC_ANG_PIT_P") }
62 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "ATC_ANG_RLL_P") }
63 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "ATC_ANG_YAW_P") }
64 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "ATC_RAT_PIT_P") }
65 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "ATC_RAT_PIT_I") }
66 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "ATC_RAT_PIT_IMAX") }
67 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "ATC_RAT_PIT_D") }
68 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "ATC_RAT_RLL_P") }
69 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "ATC_RAT_RLL_I") }
70 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "ATC_RAT_RLL_IMAX") }
71 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "ATC_RAT_RLL_D") }
72 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "ATC_RAT_YAW_P") }
73 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "ATC_RAT_YAW_I") }
74 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "ATC_RAT_YAW_IMAX") }
75 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "ATC_RAT_YAW_D") }
77 } // Column - Attitude Controller Parameters
78 } // QGCGroupBox - Attitude Controller Parameters
82 Layout.preferredWidth: tuningPage.availableWidth * 0.75
83 visible: posButton.checked
84 title: qsTr("Position Controller Parameters")
89 anchors.margins: _margins
90 anchors.left: parent.left
91 anchors.right: parent.right
92 anchors.top: parent.top
95 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "PSC_POSXY_P") }
96 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "PSC_POSZ_P") }
97 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "PSC_VELXY_P") }
98 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "PSC_VELXY_I") }
99 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "PSC_VELXY_IMAX") }
100 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "PSC_VELZ_P") }
101 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "PSC_ACCZ_D") }
102 FactTextFieldSlider2 {
103 visible: controller.parameterExists(-1, "PSC_ACCZ_FILT")
104 fact: visible ? controller.getParameterFact(-1, "PSC_ACCZ_FILT") : null
106 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "PSC_ACCZ_I") }
107 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "PSC_ACCZ_IMAX") }
108 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "PSC_ACCZ_P") }
110 } // Column - VEL parameters
115 anchors.margins: _margins
116 anchors.left: parent.left
117 anchors.right: parent.right
118 anchors.top: parent.top
119 spacing: _margins*1.5
121 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "PSC_NE_POS_P") }
122 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "PSC_D_POS_P") }
123 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "PSC_NE_VEL_P") }
124 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "PSC_NE_VEL_I") }
125 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "PSC_NE_VEL_IMAX") }
126 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "PSC_D_VEL_P") }
127 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "PSC_D_ACC_D") }
128 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "PSC_D_ACC_FLTD") }
129 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "PSC_D_ACC_FLTE") }
130 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "PSC_D_ACC_FLTT") }
131 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "PSC_D_ACC_I") }
132 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "PSC_D_ACC_IMAX") }
133 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "PSC_D_ACC_P") }
135 } // Column - VEL parameters
139 anchors.left: parent.left
140 anchors.right: parent.right
141 anchors.top: parent.top
143 sourceComponent: globals.activeVehicle.versionCompare(3, 6, 0) <= 0 ? velColumnUpTo36 :velColumn40
145 } // QGCGroupBox - Position Controller Parameters
149 Layout.preferredWidth: tuningPage.availableWidth * 0.75
150 visible: navButton.checked
151 title: qsTr("Waypoint Navigation Parameters")
153 // WPNAV parameters up to 3.5
157 anchors.margins: _margins
158 anchors.left: parent.left
159 anchors.right: parent.right
160 anchors.top: parent.top
161 spacing: _margins*1.5
164 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "WPNAV_ACCEL") }
165 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "WPNAV_ACCEL_Z") }
166 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "WPNAV_LOIT_JERK") }
167 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "WPNAV_LOIT_MAXA") }
168 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "WPNAV_LOIT_MINA") }
169 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "WPNAV_LOIT_SPEED") }
170 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "WPNAV_RADIUS") }
171 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "WPNAV_SPEED") }
172 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "WPNAV_SPEED_DN") }
173 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "WPNAV_SPEED_UP") }
177 // WPNAV parameters for 3.6 and upwards
181 anchors.margins: _margins
182 anchors.left: parent.left
183 anchors.right: parent.right
184 anchors.top: parent.top
185 spacing: _margins*1.5
187 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "WP_ACC") }
188 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "WP_ACC_Z") }
189 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "WP_RADIUS_M") }
190 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "WP_SPD") }
191 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "WP_SPD_DN") }
192 FactTextFieldSlider2 { fact: controller.getParameterFact(-1, "WP_SPD_UP") }
193 FactTextFieldSlider2 {
194 visible: controller.parameterExists(-1, "LOIT_SPEED")
195 fact: visible ? controller.getParameterFact(-1, "LOIT_SPEED") : null
197 FactTextFieldSlider2 {
198 visible: controller.parameterExists(-1, "LOIT_ACC_MAX")
199 fact: visible ? controller.getParameterFact(-1, "LOIT_ACC_MAX") : null
201 FactTextFieldSlider2 {
202 visible: controller.parameterExists(-1, "LOIT_ANG_MAX")
203 fact: visible ? controller.getParameterFact(-1, "LOIT_ANG_MAX") : null
205 FactTextFieldSlider2 {
206 visible: controller.parameterExists(-1, "LOIT_BRK_ACCEL")
207 fact: visible ? controller.getParameterFact(-1, "LOIT_BRK_ACCEL") : null
209 FactTextFieldSlider2 {
210 visible: controller.parameterExists(-1, "LOIT_BRK_DELAY")
211 fact: visible ? controller.getParameterFact(-1, "LOIT_BRK_DELAY") : null
213 FactTextFieldSlider2 {
214 visible: controller.parameterExists(-1, "LOIT_BRK_JERK")
215 fact: visible ? controller.getParameterFact(-1, "LOIT_BRK_JERK") : null
222 anchors.left: parent.left
223 anchors.right: parent.right
224 anchors.top: parent.top
226 sourceComponent: globals.activeVehicle.versionCompare(3, 6, 0) < 0 ? wpnavColumn35 : wpnavColumn36
228 } // QGCGroupBox - WPNAV parameters