QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
RemoteIDGpsLocation.qml
Go to the documentation of this file.
1import QtQuick
2import QtQuick.Layouts
3
4import QGroundControl
5import QGroundControl.Controls
6import QGroundControl.FactControls
7
8SettingsGroupLayout {
9 heading: qsTr("NMEA External GPS")
10 Layout.fillWidth: true
11 visible: !ScreenTools.isMobile
12 && QGroundControl.settingsManager.autoConnectSettings.autoConnectNmeaPort.userVisible
13 && QGroundControl.settingsManager.autoConnectSettings.autoConnectNmeaBaud.userVisible
14 && _locationType !== RemoteIDSettings.LocationType.TAKEOFF
15
16 property int _locationType: QGroundControl.settingsManager.remoteIDSettings.locationType.value
17
18 readonly property int _idxDisabled: 0
19 readonly property int _idxUdpPort: 1
20
21 LabelledComboBox {
22 id: nmeaPortCombo
23 label: qsTr("Device")
24 Layout.fillWidth: true
25
26 model: ListModel { }
27
28 onActivated: (index) => {
29 if (index !== -1) {
30 QGroundControl.settingsManager.autoConnectSettings.autoConnectNmeaPort.value = comboBox.textAt(index);
31 }
32 }
33 Component.onCompleted: {
34 model.append({text: qsTr("Disabled")})
35 model.append({text: qsTr("UDP Port")})
36
37 for (var i in QGroundControl.linkManager.serialPorts) {
38 nmeaPortCombo.model.append({text: QGroundControl.linkManager.serialPorts[i]})
39 }
40 var index = nmeaPortCombo.comboBox.find(QGroundControl.settingsManager.autoConnectSettings.autoConnectNmeaPort.valueString);
41 nmeaPortCombo.currentIndex = index;
42 if (QGroundControl.linkManager.serialPorts.length === 0) {
43 nmeaPortCombo.model.append({text: qsTr("Serial <none available>")})
44 }
45 }
46 }
47
48 LabelledComboBox {
49 id: nmeaBaudCombo
50 label: qsTr("Baudrate")
51 Layout.fillWidth: true
52 visible: nmeaPortCombo.currentIndex > _idxUdpPort
53 model: QGroundControl.linkManager.serialBaudRates
54
55 onActivated: (index) => {
56 if (index !== -1) {
57 QGroundControl.settingsManager.autoConnectSettings.autoConnectNmeaBaud.value = parseInt(comboBox.textAt(index));
58 }
59 }
60 Component.onCompleted: {
61 var index = nmeaBaudCombo.comboBox.find(QGroundControl.settingsManager.autoConnectSettings.autoConnectNmeaBaud.valueString);
62 nmeaBaudCombo.currentIndex = index;
63 }
64 }
65
66 LabelledFactTextField {
67 label: qsTr("UDP Port")
68 fact: QGroundControl.settingsManager.autoConnectSettings.nmeaUdpPort
69 Layout.fillWidth: true
70 visible: nmeaPortCombo.currentIndex === _idxUdpPort
71 }
72}