Various fixups

pull/4/head
Doug McLain 1 year ago
parent 21ec14fde7
commit 99c7ec02fd

@ -1,5 +1,9 @@
QT += quick quickcontrols2 network multimedia
android:QT += androidextras
equals(QT_MAJOR_VERSION, 5){
android:QT += androidextras
}
unix:!ios:QT += serialport
CONFIG += c++11
LFLAGS +=

@ -1,5 +1,5 @@
<?xml version="1.0"?>
<manifest package="org.dudetronics.droidstar" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="-- %%INSERT_VERSION_NAME%% --" android:versionCode="68" android:installLocation="auto">
<manifest package="org.dudetronics.droidstar" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="-- %%INSERT_VERSION_NAME%% --" android:versionCode="71" android:installLocation="auto">
<!-- The following comment will be replaced upon deployment with default permissions based on the dependencies of the application.
@ -13,15 +13,11 @@
<supports-screens android:largeScreens="true" android:normalScreens="true" android:anyDensity="true" android:smallScreens="true"/>
<application android:hardwareAccelerated="true" android:name="org.qtproject.qt5.android.bindings.QtApplication" android:label="-- %%INSERT_APP_NAME%% --" android:extractNativeLibs="true" android:icon="@drawable/icon">
<activity android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation|mcc|mnc|density" android:name="org.qtproject.qt5.android.bindings.QtActivity" android:label="-- %%INSERT_APP_NAME%% --" android:screenOrientation="unspecified" android:launchMode="singleTop">
<activity android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation|mcc|mnc|density" android:name="org.qtproject.qt5.android.bindings.QtActivity" android:label="-- %%INSERT_APP_NAME%% --" android:screenOrientation="unspecified" android:launchMode="singleTop" android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter>
<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"/>
</intent-filter>
<meta-data android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" android:resource="@xml/device_filter"/>
<!-- Application arguments -->
<!-- meta-data android:name="android.app.arguments" android:value="arg1 arg2 arg3"/ -->
<!-- Application arguments -->

@ -18,6 +18,8 @@
package DroidStar;
import java.util.Arrays;
import java.util.List;
import android.content.Intent;
import android.app.PendingIntent;
import android.content.Context;
import android.hardware.usb.UsbManager;
import android.hardware.usb.UsbDeviceConnection;
@ -40,6 +42,10 @@ public class USBSerialWrapper implements SerialInputOutputManagerTest.Listener {
UsbSerialPort m_port;
SerialInputOutputManagerTest usbIoManager;
private static final String ACTION_USB_PERMISSION = "org.dudetronics.droidstar.USB_PERMISSION";
//private final ArrayBlockingQueue<PendingUsbPermission> queuedPermissions = new ArrayBlockingQueue<>(100);
//private volatile boolean processingPermission = false;
//private PendingUsbPermission currentPendingPermission;
public USBSerialWrapper() {
this.id = counter;
@ -146,6 +152,9 @@ public class USBSerialWrapper implements SerialInputOutputManagerTest.Listener {
if (connection == null) {
// add UsbManager.requestPermission(driver.getDevice(), ..) handling here
PendingIntent mPendingIntent = PendingIntent.getBroadcast(c, 0, new Intent(ACTION_USB_PERMISSION), PendingIntent.FLAG_MUTABLE);
manager.requestPermission(driver.getDevice(), mPendingIntent);
return "No connection, need permission?";
}

@ -378,7 +378,7 @@ void DCS::transmit()
pcm[i] = 0;
}
else{
pcm[i] = tts_audio->samples[m_ttscnt*2] / 2;
pcm[i] = tts_audio->samples[m_ttscnt*2] / 8;
m_ttscnt++;
}
}

@ -459,7 +459,7 @@ void DMR::transmit()
pcm[i] = 0;
}
else{
pcm[i] = tts_audio->samples[m_ttscnt*2] / 2;
pcm[i] = tts_audio->samples[m_ttscnt*2] / 8;
m_ttscnt++;
}
}

@ -116,6 +116,7 @@ void DroidStar::reset_connect_status()
process_connect();
}
}
#endif
void DroidStar::discover_devices()
@ -255,14 +256,6 @@ void DroidStar::process_connect()
MicPermission::check_permission();
#endif
if( (m_callsign.size() < 4) ||
(m_dmrid < 250000) ||
(m_callsign != m_dmrids[m_dmrid]))
{
emit connect_status_changed(4);
return;
}
if(m_protocol == "REF"){
m_refname = m_saved_refhost;
}
@ -644,7 +637,7 @@ void DroidStar::process_settings()
m_latitude = m_settings->value("DMRLAT", "0").toString().simplified();
m_longitude = m_settings->value("DMRLONG", "0").toString().simplified();
m_location = m_settings->value("DMRLOC").toString().simplified();
m_description = m_settings->value("DMRDESC", "DroidStar").toString().simplified();
m_description = m_settings->value("DMRDESC", "").toString().simplified();
m_freq = m_settings->value("DMRFREQ", "438800000").toString().simplified();
m_url = m_settings->value("DMRURL", "www.qrz.com").toString().simplified();
m_swid = m_settings->value("DMRSWID", "20200922").toString().simplified();
@ -1410,14 +1403,27 @@ void DroidStar::update_data(Mode::MODEINFO info)
}
QString t = QDateTime::fromMSecsSinceEpoch(info.ts).toString("yyyy.MM.dd hh:mm:ss.zzz");
if(info.stream_state == Mode::STREAM_NEW){
emit update_log(t + " " + m_protocol + " RX started id: " + QString::number(info.streamid, 16) + " src: " + info.src + " dst: " + info.gw2);
}
if(info.stream_state == Mode::STREAM_END){
emit update_log(t + " " + m_protocol + " RX ended id: " + QString::number(info.streamid, 16) + " src: " + info.src + " dst: " + info.gw2);
if((m_protocol == "DMR") || (m_protocol == "P25") || (m_protocol == "NXDN")){
if(info.stream_state == Mode::STREAM_NEW){
emit update_log(t + " " + m_protocol + " RX started id: " + " srcid: " + QString::number(info.srcid) + " dstid: " + QString::number(info.dstid));
}
if(info.stream_state == Mode::STREAM_END){
emit update_log(t + " " + m_protocol + " RX ended id: " + " srcid: " + QString::number(info.srcid) + " dstid: " + QString::number(info.dstid));
}
if(info.stream_state == Mode::STREAM_LOST){
emit update_log(t + " " + m_protocol + " RX lost id: " + " srcid: " + QString::number(info.srcid) + " dstid: " + QString::number(info.dstid));
}
}
if(info.stream_state == Mode::STREAM_LOST){
emit update_log(t + " " + m_protocol + " RX lost id: " + QString::number(info.streamid, 16) + " src: " + info.src + " dst: " + info.gw2);
else{
if(info.stream_state == Mode::STREAM_NEW){
emit update_log(t + " " + m_protocol + " RX started id: " + QString::number(info.streamid, 16) + " src: " + info.src + " dst: " + info.gw2);
}
if(info.stream_state == Mode::STREAM_END){
emit update_log(t + " " + m_protocol + " RX ended id: " + QString::number(info.streamid, 16) + " src: " + info.src + " dst: " + info.gw2);
}
if(info.stream_state == Mode::STREAM_LOST){
emit update_log(t + " " + m_protocol + " RX lost id: " + QString::number(info.streamid, 16) + " src: " + info.src + " dst: " + info.gw2);
}
}
emit update_data();
}

@ -798,7 +798,7 @@ void IAX::transmit()
pcm[i] = 0;
}
else{
pcm[i] = tts_audio->samples[m_ttscnt*2] / 2;
pcm[i] = tts_audio->samples[m_ttscnt*2] / 8;
m_ttscnt++;
}
}

@ -746,7 +746,7 @@ void M17::transmit()
pcm[i] = 0;
}
else{
pcm[i] = tts_audio->samples[ttscnt*2] / 2;
pcm[i] = tts_audio->samples[ttscnt*2] / 8;
ttscnt++;
}
}

@ -40,11 +40,6 @@ ApplicationWindow {
palette.windowText: "white"
palette.highlight: "steelblue"
MessageDialog {
id: idcheckDialog
title: "Invalid credentials"
text: "A valid callsign and DMR ID are required to use Dudestar on any mode, and they must match. If you have entered a valid DMR ID that matches the entered callsign, and you are still seeing this message, then you either have to click update ID files button or wait until your DMR ID is added to the ID file and try again."
}
MessageDialog {
id: errorDialog
title: "Error"

@ -255,7 +255,7 @@ void NXDN::transmit()
pcm[i] = 0;
}
else{
pcm[i] = tts_audio->samples[m_ttscnt*2] / 2;
pcm[i] = tts_audio->samples[m_ttscnt*2] / 8;
m_ttscnt++;
}
}
@ -305,13 +305,14 @@ void NXDN::send_frame()
temp_nxdn = get_frame();
txdata.append((char *)temp_nxdn, 43);
m_udp->writeDatagram(txdata, m_address, m_modeinfo.port);
fprintf(stderr, "SEND:%d: ", txdata.size());
#ifdef DEBUG
fprintf(stderr, "SEND:%lli: ", txdata.size());
for(int i = 0; i < txdata.size(); ++i){
fprintf(stderr, "%02x ", (uint8_t)txdata.data()[i]);
}
fprintf(stderr, "\n");
fflush(stderr);
#endif
}
else{
fprintf(stderr, "NXDN TX stopped\n");

@ -246,7 +246,7 @@ void P25::transmit()
pcm[i] = 0;
}
else{
pcm[i] = tts_audio->samples[m_ttscnt*2] / 2;
pcm[i] = tts_audio->samples[m_ttscnt*2] / 8;
m_ttscnt++;
}
}

@ -430,7 +430,7 @@ void REF::transmit()
pcm[i] = 0;
}
else{
pcm[i] = tts_audio->samples[m_ttscnt*2] / 2;
pcm[i] = tts_audio->samples[m_ttscnt*2] / 8;
m_ttscnt++;
}
}

@ -383,7 +383,7 @@ void XRF::transmit()
pcm[i] = 0;
}
else{
pcm[i] = tts_audio->samples[m_ttscnt*2] / 2;
pcm[i] = tts_audio->samples[m_ttscnt*2] / 8;
m_ttscnt++;
}
}

@ -738,7 +738,7 @@ void YSF::transmit()
pcm[i] = 0;
}
else{
pcm[i] = tts_audio->samples[m_ttscnt*2] / 2;
pcm[i] = tts_audio->samples[m_ttscnt*2] / 8;
m_ttscnt++;
}
}

Loading…
Cancel
Save