diff --git a/Configuration.ui b/Configuration.ui
index bf89dd5..9641d5d 100644
--- a/Configuration.ui
+++ b/Configuration.ui
@@ -14,6 +14,9 @@
Settings
+
+ 1
+
-
@@ -23,7 +26,7 @@
Select tab to change configuration parameters.
- 0
+ 3
@@ -63,7 +66,7 @@
0
0
738
- 453
+ 461
@@ -1922,7 +1925,7 @@ this setting allows you to select which audio input will be used
0
0
760
- 502
+ 510
@@ -2181,9 +2184,9 @@ both here.
-
-
- false
-
+
+ false
+
AzEl Directory
@@ -2309,7 +2312,7 @@ both here.
0
0
746
- 663
+ 573
@@ -2557,88 +2560,13 @@ This is used for reverse ping analysis which is very useful
for assessing propagation and system performance.
- Enable spotting to reporting networks (JS8NET, PSKReporter, APRS-IS, etc)
+ Enable spotting to reporting networks (JS8NET, PSKReporter, etc)
true
- -
-
-
- QFormLayout::AllNonFixedFieldsGrow
-
-
-
-
-
- APRS Server:
-
-
- udp_server_line_edit
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- <html><head/><body><p>Optional hostname of APRS server to send spots to.</p><p>Formats:</p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">hostname</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">IPv4 address</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">IPv6 address</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">IPv4 multicast group address</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">IPv6 multicast group address</li></ul><p>Clearing this field will disable the spotting to APRS.</p></body></html>
-
-
- Qt::ImhDigitsOnly
-
-
- rotate.aprs2.net
-
-
-
- -
-
-
- APRS Server Port:
-
-
- udp_server_port_spin_box
-
-
-
- -
-
-
- <html><head/><body><p>Enter the service port number of the APRS server that should receive updates. If this is zero no updates will be broadcast.</p></body></html>
-
-
- 0
-
-
- 65534
-
-
- 14580
-
-
-
- -
-
-
- <html><head/><body><p>APRS Server Passcode for Sending APRS Packets</p></body></html>
-
-
- APRS Passcode:
-
-
-
- -
-
-
-
-
@@ -2744,6 +2672,111 @@ for assessing propagation and system performance.
+ -
+
+
+
+ 0
+ 0
+
+
+
+ false
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+ QFormLayout::AllNonFixedFieldsGrow
+
+
-
+
+
+ APRS Server:
+
+
+ udp_server_line_edit
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ <html><head/><body><p>Optional hostname of APRS server to send spots to.</p><p>Formats:</p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">hostname</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">IPv4 address</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">IPv6 address</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">IPv4 multicast group address</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">IPv6 multicast group address</li></ul><p>Clearing this field will disable the spotting to APRS.</p></body></html>
+
+
+ Qt::ImhDigitsOnly
+
+
+ rotate.aprs2.net
+
+
+
+ -
+
+
+ APRS Server Port:
+
+
+ udp_server_port_spin_box
+
+
+
+ -
+
+
+ <html><head/><body><p>Enter the service port number of the APRS server that should receive updates. If this is zero no updates will be broadcast.</p></body></html>
+
+
+ 0
+
+
+ 65534
+
+
+ 14580
+
+
+
+ -
+
+
+ <html><head/><body><p>APRS Server Passcode for Sending APRS Packets</p></body></html>
+
+
+ APRS Passcode:
+
+
+
+ -
+
+
+
+
+
+
+
-
@@ -2804,7 +2837,7 @@ for assessing propagation and system performance.
0
0
760
- 502
+ 510
@@ -3141,7 +3174,7 @@ QListView::item:hover {
0
0
760
- 502
+ 510
@@ -4544,11 +4577,11 @@ soundcard changes
-
-
-
+
+
+
diff --git a/js8call.pro b/js8call.pro
index fa39151..924b2aa 100644
--- a/js8call.pro
+++ b/js8call.pro
@@ -71,7 +71,6 @@ SOURCES += \
NetworkMessage.cpp \
MessageClient.cpp \
SelfDestructMessageBox.cpp \
- APRSISClient.cpp \
messagereplydialog.cpp \
keyeater.cpp \
DriftingDateTime.cpp \
@@ -113,7 +112,6 @@ HEADERS += qt_helpers.hpp \
NetworkMessage.hpp \
MessageClient.hpp \
SelfDestructMessageBox.h \
- APRSISClient.h \
messagereplydialog.h \
keyeater.h \
DriftingDateTime.h \
diff --git a/mainwindow.cpp b/mainwindow.cpp
index 0340e52..fd30713 100644
--- a/mainwindow.cpp
+++ b/mainwindow.cpp
@@ -32,7 +32,6 @@
#include
#include
-#include "APRSISClient.h"
#include "revision_utils.hpp"
#include "qt_helpers.hpp"
#include "NetworkAccessManager.hpp"
@@ -438,7 +437,6 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple,
this}},
m_n3fjpClient { new TCPClient{this}},
m_spotClient { new SpotClient{m_messageClient, this}},
- m_aprsClient {new APRSISClient{"rotate.aprs2.net", 14580, this}},
psk_Reporter {new PSK_Reporter {m_messageClient, this}},
m_i3bit {0},
m_manual {&m_network_manager},
@@ -3117,12 +3115,8 @@ void MainWindow::prepareSpotting(){
if(m_config.spot_to_reporting_networks ()){
spotSetLocal();
pskSetLocal();
- aprsSetLocal();
- m_aprsClient->setServer(m_config.aprs_server_name(), m_config.aprs_server_port());
- m_aprsClient->setPaused(false);
ui->spotButton->setChecked(true);
} else {
- m_aprsClient->setPaused(true);
ui->spotButton->setChecked(false);
}
}
@@ -5170,18 +5164,6 @@ void MainWindow::spotCmd(CommandDetail cmd){
m_spotClient->enqueueCmd(cmdStr, cmd.from, cmd.to, cmd.relayPath, cmd.text, cmd.grid, cmd.extra, m_freqNominal + cmd.freq, cmd.snr);
}
-void MainWindow::spotAPRSMsg(CommandDetail d){
- if(!m_config.spot_to_reporting_networks()) return;
- if(!m_aprsClient->isPasscodeValid()) return;
-
- // ONLY MSG IS APPROPRIATE HERE, e.g.,
- // KN4CRD: @APRSIS MSG :EMAIL-2 :email@domain.com booya{
- if(d.cmd != " MSG") return;
-
- qDebug() << "enqueueing third party text" << d.from << d.text;
- m_aprsClient->enqueueThirdParty(Radio::base_callsign(d.from), d.text);
-}
-
void MainWindow::pskLogReport(QString mode, int offset, int snr, QString callsign, QString grid){
if(!m_config.spot_to_reporting_networks()) return;
@@ -5196,33 +5178,6 @@ void MainWindow::pskLogReport(QString mode, int offset, int snr, QString callsig
QString::number(DriftingDateTime::currentDateTime().toTime_t()));
}
-void MainWindow::aprsLogReport(int offset, int snr, QString callsign, QString grid){
- if(!m_config.spot_to_reporting_networks()) return;
-
- Frequency frequency = m_freqNominal + offset;
-
- if(grid.length() < 6){
- qDebug() << "APRSISClient Spot Skipped:" << callsign << grid;
- return;
- }
-
- auto comment = QString("%1MHz %2dB").arg(Radio::frequency_MHz_string(frequency)).arg(Varicode::formatSNR(snr));
- if(callsign.contains("/")){
- comment = QString("%1 %2").arg(callsign).arg(comment);
- }
-
- auto base = Radio::base_callsign(callsign);
- callsign = APRSISClient::replaceCallsignSuffixWithSSID(callsign, base);
-
- if(m_aprsCallCache.contains(callsign)){
- qDebug() << "APRSISClient Spot Skipped For Cache:" << callsign << grid;
- return;
- }
-
- m_aprsClient->enqueueSpot(callsign, grid, comment);
- m_aprsCallCache.insert(callsign, DriftingDateTime::currentDateTimeUtc());
-}
-
void MainWindow::killFile ()
{
if (m_fnameWE.size () &&
@@ -6664,11 +6619,6 @@ bool MainWindow::ensureCreateMessageReady(const QString &text){
return false;
}
- if(text.contains("@APRSIS") && !m_aprsClient->isPasscodeValid()){
- MessageBox::warning_message(this, tr ("Please ensure a valid APRS passcode is set in the settings when sending to the @APRSIS group."));
- return false;
- }
-
return true;
}
@@ -7772,7 +7722,6 @@ void MainWindow::band_changed (Frequency f)
m_bandEdited = false;
psk_Reporter->sendReport(); // Upload any queued spots before changing band
- m_aprsClient->sendReports();
if (!m_transmitting) monitor (true);
if ("FreqCal" == m_mode)
{
@@ -9501,7 +9450,6 @@ void MainWindow::handle_transceiver_update (Transceiver::TransceiverState const&
if (m_config.spot_to_reporting_networks ()) {
spotSetLocal();
pskSetLocal();
- aprsSetLocal();
}
statusChanged();
m_wideGraph->setDialFreq(m_freqNominal / 1.e6);
@@ -9661,19 +9609,6 @@ void MainWindow::pskSetLocal ()
psk_Reporter->setLocalStation(m_config.my_callsign (), m_config.my_grid (), info, QString {"JS8Call v" + version() }.simplified ());
}
-void MainWindow::aprsSetLocal ()
-{
- auto call = m_config.my_callsign();
- auto base = Radio::base_callsign(call);
- auto grid = m_config.my_grid();
- auto passcode = m_config.aprs_passcode();
-
- call = APRSISClient::replaceCallsignSuffixWithSSID(call, base);
-
- qDebug() << "APRSISClient Set Local Station:" << call << grid << passcode;
- m_aprsClient->setLocalStation(call, grid, passcode);
-}
-
void MainWindow::transmitDisplay (bool transmitting)
{
ui->monitorTxButton->setChecked(transmitting);
@@ -10833,25 +10768,15 @@ void MainWindow::processCommandActivity() {
cd.tdrift = d.tdrift;
cd.submode = d.submode;
- if(d.to == "@APRSIS"){
- m_aprsCallCache.remove(cd.call);
- m_aprsCallCache.remove(APRSISClient::replaceCallsignSuffixWithSSID(cd.call, Radio::base_callsign(cd.call)));
- }
-
logCallActivity(cd, true);
}
}
- // PROCESS @JS8NET SPOTS FOR EVERYONE
- if (d.to == "@JS8NET"){
+ // PROCESS @JS8NET AND @APRSIS SPOTS FOR EVERYONE
+ if (d.to == "@JS8NET" || d.to == "@APRSIS"){
spotCmd(d);
}
- // PROCESS @APRSIS MSG SPOTS FOR EVERYONE
- if (d.to == "@APRSIS"){
- spotAPRSMsg(d);
- }
-
// PREPARE CMD TEXT STRING
QStringList textList = {
QString("%1: %2%3").arg(d.from).arg(d.to).arg(d.cmd)
@@ -11669,7 +11594,6 @@ void MainWindow::processSpots() {
spotReport(d.freq, d.snr, d.call, d.grid);
pskLogReport("JS8", d.freq, d.snr, d.call, d.grid);
- aprsLogReport(d.freq, d.snr, d.call, d.grid);
sendNetworkMessage("RX.SPOT", "", {
{"DIAL", QVariant(dial)},
diff --git a/mainwindow.h b/mainwindow.h
index 541452b..bef602e 100644
--- a/mainwindow.h
+++ b/mainwindow.h
@@ -46,7 +46,6 @@
#include "MessageClient.hpp"
#include "TCPClient.h"
#include "SpotClient.h"
-#include "APRSISClient.h"
#include "keyeater.h"
#include "NotificationAudio.h"
@@ -840,7 +839,6 @@ private:
QMap m_messageBuffer; // freq -> (cmd, [frames, ...])
int m_lastClosedMessageBufferOffset;
QMap m_callActivity; // call -> (last freq, last timestamp)
- QMap m_aprsCallCache;
QMap> m_heardGraphOutgoing; // callsign -> [stations who've this callsign has heard]
QMap> m_heardGraphIncoming; // callsign -> [stations who've heard this callsign]
@@ -917,7 +915,6 @@ private:
TCPClient * m_n3fjpClient;
PSK_Reporter *psk_Reporter;
SpotClient *m_spotClient;
- APRSISClient * m_aprsClient;
DisplayManual m_manual;
QHash m_pwrBandTxMemory; // Remembers power level by band
QHash m_pwrBandTuneMemory; // Remembers power level by band for tuning
@@ -950,12 +947,9 @@ private:
void rigFailure (QString const& reason);
void spotSetLocal();
void pskSetLocal ();
- void aprsSetLocal ();
void spotReport(int offset, int snr, QString callsign, QString grid);
void spotCmd(CommandDetail cmd);
- void spotAPRSMsg(CommandDetail d);
void pskLogReport(QString mode, int offset, int snr, QString callsign, QString grid);
- void aprsLogReport(int offset, int snr, QString callsign, QString grid);
Radio::Frequency dialFrequency();
void setSubmode(int submode);
int submodeNameToSubmode(QString speed);