PX4TuningComponentPlane.qml 3.14 KB
Newer Older
1 2
/****************************************************************************
 *
3
 * (c) 2009-2020 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
4 5 6 7 8
 *
 * 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
            Component.onCompleted: {
32
                // We use QtCharts only on Desktop platforms
33 34
                showAdvanced = !ScreenTools.isMobile
            }
35

36 37 38
            FactPanelController {
                id:         controller
            }
39

40 41 42 43 44 45 46 47 48 49 50 51 52
            // Standard tuning page
            FactSliderPanel {
                width:          availableWidth
                visible:        !advanced
                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
                    }
53 54
                }
            }
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

            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