5import QGroundControl.Controls
6import QGroundControl.FactControls
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
16 property int _locationType: QGroundControl.settingsManager.remoteIDSettings.locationType.value
18 readonly property int _idxDisabled: 0
19 readonly property int _idxUdpPort: 1
24 Layout.fillWidth: true
28 onActivated: (index) => {
30 QGroundControl.settingsManager.autoConnectSettings.autoConnectNmeaPort.value = comboBox.textAt(index);
33 Component.onCompleted: {
34 model.append({text: qsTr("Disabled")})
35 model.append({text: qsTr("UDP Port")})
37 for (var i in QGroundControl.linkManager.serialPorts) {
38 nmeaPortCombo.model.append({text: QGroundControl.linkManager.serialPorts[i]})
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>")})
50 label: qsTr("Baudrate")
51 Layout.fillWidth: true
52 visible: nmeaPortCombo.currentIndex > _idxUdpPort
53 model: QGroundControl.linkManager.serialBaudRates
55 onActivated: (index) => {
57 QGroundControl.settingsManager.autoConnectSettings.autoConnectNmeaBaud.value = parseInt(comboBox.textAt(index));
60 Component.onCompleted: {
61 var index = nmeaBaudCombo.comboBox.find(QGroundControl.settingsManager.autoConnectSettings.autoConnectNmeaBaud.valueString);
62 nmeaBaudCombo.currentIndex = index;
66 LabelledFactTextField {
67 label: qsTr("UDP Port")
68 fact: QGroundControl.settingsManager.autoConnectSettings.nmeaUdpPort
69 Layout.fillWidth: true
70 visible: nmeaPortCombo.currentIndex === _idxUdpPort