From c23865d1c95429aac2bb4efe5bfd42e88cea60f9 Mon Sep 17 00:00:00 2001 From: Doug McLain Date: Wed, 12 Apr 2023 18:10:26 -0400 Subject: [PATCH] Much improved USB handling for Android, Add MMDVM_DIRECT as a settings option to allow host combo to be used for M17 destination on TX --- DroidStar.pro | 3 +- MainTab.qml | 12 ++- SettingsTab.qml | 16 ++- android/AndroidManifest.xml | 2 +- android/src/main/java/USBSerialWrapper.java | 78 ++++++++++---- androidserialport.cpp | 23 +++- androidserialport.h | 6 +- dcs.cpp | 26 +---- dmr.cpp | 34 +----- droidstar.cpp | 31 ++++-- droidstar.h | 8 ++ httpmanager.cpp | 2 + m17.cpp | 44 +++----- main.qml | 22 +++- mode.cpp | 69 +++++++++--- mode.h | 9 +- nxdn.cpp | 16 +-- p25.cpp | 3 +- ref.cpp | 27 +---- serialambe.cpp | 111 ++++++++++---------- serialambe.h | 2 + serialmodem.cpp | 46 ++++---- serialmodem.h | 2 + xrf.cpp | 22 +--- ysf.cpp | 30 +----- 25 files changed, 327 insertions(+), 317 deletions(-) diff --git a/DroidStar.pro b/DroidStar.pro index 5447171..cf2ce9f 100644 --- a/DroidStar.pro +++ b/DroidStar.pro @@ -2,7 +2,7 @@ QT += quick quickcontrols2 network multimedia equals(QT_MAJOR_VERSION, 5){ android:QT += androidextras - } +} unix:!ios:QT += serialport CONFIG += c++11 @@ -34,6 +34,7 @@ ios:QMAKE_INFO_PLIST = Info.plist VERSION_BUILD='$(shell cd $$PWD;git rev-parse --short HEAD)' DEFINES += VERSION_NUMBER=\"\\\"$${VERSION_BUILD}\\\"\" DEFINES += QT_DEPRECATED_WARNINGS +#DEFINES += QT_DEBUG_PLUGINS=1 #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 DEFINES += VOCODER_PLUGIN #DEFINES += USE_FLITE diff --git a/MainTab.qml b/MainTab.qml index 9300c29..85714cd 100644 --- a/MainTab.qml +++ b/MainTab.qml @@ -180,7 +180,6 @@ Item { } onCurrentTextChanged: { droidstar.set_slot(_comboSlot.currentIndex); - } visible: false } @@ -262,6 +261,7 @@ Item { droidstar.set_modemP25TxLevel(settingsTab.modemYSFTXLevelEdit.text); droidstar.set_modemNXDNTxLevel(settingsTab.modemNXDNTXLevelEdit.text); droidstar.set_modemBaud(settingsTab.modemBaudEdit.text); + //droidstar.set_mmdvm_direct(settingsTab.mmdvmBox.checked) droidstar.process_connect(); } } @@ -282,7 +282,10 @@ Item { color: _comboHost.enabled ? "white" : "darkgrey" } onCurrentTextChanged: { - if(!droidstar.get_modelchange()){ + if(settingsTab.mmdvmBox.checked){ + droidstar.set_dst(_comboHost.currentText); + } + else if(!droidstar.get_modelchange()){ droidstar.process_host_change(_comboHost.currentText); } } @@ -296,7 +299,7 @@ Item { font.pixelSize: parent.height / 35 currentIndex: -1 displayText: currentIndex === -1 ? "Mod..." : currentText - model: ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"] + model: [" ", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"] contentItem: Text { text: _comboModule.displayText font: _comboModule.font @@ -406,12 +409,11 @@ Item { droidstar.set_modemM17CAN(_comboM17CAN.currentText); } } - CheckBox { id: _swtxBox x: (parent.width * 2 / 5) + 5 y: (parent.height / rows + 1) * 2; - width: parent.width / 4 + width: parent.width / 4 height: parent.height / rows font.pixelSize: parent.height / 40; text: qsTr("SWTX") diff --git a/SettingsTab.qml b/SettingsTab.qml index ae2e63f..22455ff 100644 --- a/SettingsTab.qml +++ b/SettingsTab.qml @@ -70,13 +70,14 @@ Item { property alias modemP25TXLevelEdit: _modemP25TXLevelEdit property alias modemNXDNTXLevelEdit: _modemNXDNTXLevelEdit property alias modemBaudEdit: _modemBaudEdit + property alias mmdvmBox: _mmdvmBox Flickable { id: flickable anchors.fill: parent contentWidth: parent.width - contentHeight: _modemBaudLabel.y + - _modemBaudLabel.height + 10 + contentHeight: _mmdvmBox.y + + _mmdvmBox.height + 10 flickableDirection: Flickable.VerticalFlick clip: true ScrollBar.vertical: ScrollBar {} @@ -1067,5 +1068,16 @@ Item { selectByMouse: true inputMethodHints: "ImhPreferNumbers" } + CheckBox { + id: _mmdvmBox + x: 10 + y: 1360 + width: parent.width + height: 25 + text: qsTr("MMDVM_DIRECT") + onClicked:{ + droidstar.set_mmdvm_direct(_mmdvmBox.checked) + } + } } } diff --git a/android/AndroidManifest.xml b/android/AndroidManifest.xml index f9b1b19..b6afc06 100644 --- a/android/AndroidManifest.xml +++ b/android/AndroidManifest.xml @@ -1,5 +1,5 @@ - +