PX4TuningComponentCopter.qml 4.07 KB
Newer Older
1 2 3 4 5 6 7 8
/****************************************************************************
 *
 *   (c) 2009-2016 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
 *
 * QGroundControl is licensed according to the terms in the file
 * COPYING.md in the root of the source code directory.
 *
 ****************************************************************************/
Don Gagne's avatar
Don Gagne committed
9

DonLakeFlyer's avatar
DonLakeFlyer committed
10 11 12 13
import QtQuick          2.3
import QtQuick.Controls 1.2
import QtCharts         2.2
import QtQuick.Layouts  1.2
Don Gagne's avatar
Don Gagne committed
14

DonLakeFlyer's avatar
DonLakeFlyer committed
15 16 17 18 19
import QGroundControl               1.0
import QGroundControl.Controls      1.0
import QGroundControl.FactSystem    1.0
import QGroundControl.FactControls  1.0
import QGroundControl.ScreenTools   1.0
Don Gagne's avatar
Don Gagne committed
20

21 22 23
SetupPage {
    id:             tuningPage
    pageComponent:  pageComponent
Don Gagne's avatar
Don Gagne committed
24

25 26
    Component {
        id: pageComponent
27

DonLakeFlyer's avatar
DonLakeFlyer committed
28 29 30 31
        Column {
            width: availableWidth

            Component.onCompleted: {
32
                showAdvanced = !ScreenTools.isMobile
DonLakeFlyer's avatar
DonLakeFlyer committed
33 34
            }

35 36 37 38 39
            FactPanelController {
                id:         controller
                factPanel:  tuningPage.viewPanel
            }

DonLakeFlyer's avatar
DonLakeFlyer committed
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
            // Standard tuning page
            FactSliderPanel {
                width:          availableWidth
                qgcViewPanel:   tuningPage.viewPanel
                visible:        !advanced

                sliderModel: ListModel {
                    ListElement {
                        title:          qsTr("Hover Throttle")
                        description:    qsTr("Adjust throttle so hover is at mid-throttle. Slide to the left if hover is lower than throttle center. Slide to the right if hover is higher than throttle center.")
                        param:          "MPC_THR_HOVER"
                        min:            20
                        max:            80
                        step:           1
                    }
55

DonLakeFlyer's avatar
DonLakeFlyer committed
56 57 58 59 60 61 62 63
                    ListElement {
                        title:          qsTr("Manual minimum throttle")
                        description:    qsTr("Slide to the left to start the motors with less idle power. Slide to the right if descending in manual flight becomes unstable.")
                        param:          "MPC_MANTHR_MIN"
                        min:            0
                        max:            15
                        step:           1
                    }
64 65
                }
            }
DonLakeFlyer's avatar
DonLakeFlyer committed
66

67
            Loader {
DonLakeFlyer's avatar
DonLakeFlyer committed
68 69
                anchors.left:       parent.left
                anchors.right:      parent.right
70 71 72 73 74 75
                sourceComponent:    advanced ? advancePageComponent : undefined
            }

            Component {
                id: advancePageComponent

76 77 78 79 80
                PIDTuning {
                    anchors.left:   parent.left
                    anchors.right:  parent.right
                    tuneList:            [ qsTr("Roll"), qsTr("Pitch"), qsTr("Yaw") ]
                    params:              [
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
                        [ controller.getParameterFact(-1, "MC_ROLL_P"),
                         controller.getParameterFact(-1, "MC_ROLLRATE_P"),
                         controller.getParameterFact(-1, "MC_ROLLRATE_I"),
                         controller.getParameterFact(-1, "MC_ROLLRATE_D"),
                         controller.getParameterFact(-1, "MC_ROLLRATE_FF") ],
                        [ controller.getParameterFact(-1, "MC_PITCH_P"),
                         controller.getParameterFact(-1, "MC_PITCHRATE_P"),
                         controller.getParameterFact(-1, "MC_PITCHRATE_I"),
                         controller.getParameterFact(-1, "MC_PITCHRATE_D"),
                         controller.getParameterFact(-1, "MC_PITCHRATE_FF") ],
                        [ controller.getParameterFact(-1, "MC_YAW_P"),
                         controller.getParameterFact(-1, "MC_YAWRATE_P"),
                         controller.getParameterFact(-1, "MC_YAWRATE_I"),
                         controller.getParameterFact(-1, "MC_YAWRATE_D"),
                         controller.getParameterFact(-1, "MC_YAWRATE_FF") ] ]
96
                }
97
            } // Component - Advanced Page
DonLakeFlyer's avatar
DonLakeFlyer committed
98 99
        } // Column
    } // Component - pageComponent
100
} // SetupPage