PX4TuningComponentPlane.qml 3.19 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

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

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
Don Gagne's avatar
Don Gagne committed
27

28 29
        Column {
            width: availableWidth
30

31 32 33
            Component.onCompleted: {
                showAdvanced = !ScreenTools.isMobile
            }
34

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

40 41 42 43 44
            // Standard tuning page
            FactSliderPanel {
                width:          availableWidth
                qgcViewPanel:   tuningPage.viewPanel
                visible:        !advanced
Don Gagne's avatar
Don Gagne committed
45

46 47 48 49 50 51 52 53 54
                sliderModel: ListModel {
                    ListElement {
                        title:          qsTr("Cruise throttle")
                        description:    qsTr("This is the throttle setting required to achieve the desired cruise speed. Most planes need 50-60%.")
                        param:          "FW_THR_CRUISE"
                        min:            20
                        max:            80
                        step:           1
                    }
55 56
                }
            }
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88


            Loader {
                anchors.left:       parent.left
                anchors.right:      parent.right
                sourceComponent:    advanced ? advancePageComponent : undefined
            }

            Component {
                id: advancePageComponent

                PIDTuning {
                    anchors.left:   parent.left
                    anchors.right:  parent.right
                    tuneList:            [ qsTr("Roll"), qsTr("Pitch"), qsTr("Yaw") ]
                    params:              [
                        [ controller.getParameterFact(-1, "FW_RR_P"),
                         controller.getParameterFact(-1, "FW_RR_I"),
                         controller.getParameterFact(-1, "FW_RR_FF"),
                         controller.getParameterFact(-1, "FW_R_TC"),],
                        [ controller.getParameterFact(-1, "FW_PR_P"),
                         controller.getParameterFact(-1, "FW_PR_I"),
                         controller.getParameterFact(-1, "FW_PR_FF"),
                         controller.getParameterFact(-1, "FW_P_TC") ],
                        [ controller.getParameterFact(-1, "FW_YR_P"),
                         controller.getParameterFact(-1, "FW_YR_I"),
                         controller.getParameterFact(-1, "FW_YR_FF") ] ]
                }
            } // Component - Advanced Page
        } // Column
    } // Component - pageComponent
} // SetupPage