6import QGroundControl.Controls
10 pageComponent: pageComponent
12 property bool userLetterMotorIndices: false
14 readonly property int _barHeight: 10
15 readonly property int _barWidth: 5
16 readonly property int _sliderWidth: 15
17 readonly property int _motorTimeoutSecs: 3
19 function motorIndexToString(motorIndex) {
21 if (userLetterMotorIndices) {
22 return String.fromCharCode(asciiA + motorIndex);
24 return motorIndex + 1;
36 spacing: ScreenTools.defaultFontPixelHeight
39 text: qsTr("Warning: Unable to determine motor count")
40 color: qgcPal.warningText
41 visible: controller.vehicle.motorCount == -1
46 enabled: safetySwitch.checked
47 spacing: ScreenTools.defaultFontPixelWidth * 4
51 width: motorButtons.width
52 label: qsTr("Throttle")
57 unitsString: qsTr("%")
62 anchors.left: parent.left
63 anchors.right: parent.right
64 wrapMode: Text.WordWrap
65 text: qsTr("Make sure you remove all props.")
70 enabled: safetySwitch.checked
71 spacing: ScreenTools.defaultFontPixelWidth * 4
75 model: controller.vehicle.motorCount === -1 ? 8 : controller.vehicle.motorCount
79 anchors.verticalCenter: parent.verticalCenter
80 text: motorIndexToString(index)
82 controller.vehicle.motorTest(index + 1, sliderThrottle.value, sliderThrottle.value === 0 ? 0 : _motorTimeoutSecs, true)
91 for (var motorIndex=0; motorIndex<buttonRepeater.count; motorIndex++) {
92 controller.vehicle.motorTest(motorIndex + 1, sliderThrottle.value, sliderThrottle.value === 0 ? 0 : _motorTimeoutSecs, true)
101 for (var motorIndex=0; motorIndex<buttonRepeater.count; motorIndex++) {
102 controller.vehicle.motorTest(motorIndex + 1, 0, 0, true)
109 spacing: ScreenTools.defaultFontPixelWidth
115 sliderThrottle.setValue(0);
121 anchors.verticalCenter: parent.verticalCenter
122 color: qgcPal.warningText
123 text: safetySwitch.checked ? qsTr("Careful : Motors are enabled") : qsTr("Propellers are removed - Enable slider and motors")