APRS call cache
This commit is contained in:
parent
119499afa4
commit
fe1cbcf6c6
@ -4088,7 +4088,13 @@ void MainWindow::aprsLogReport(int offset, int snr, QString callsign, QString gr
|
|||||||
auto base = Radio::base_callsign(callsign);
|
auto base = Radio::base_callsign(callsign);
|
||||||
callsign = APRSISClient::replaceCallsignSuffixWithSSID(callsign, base);
|
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_aprsClient->enqueueSpot(callsign, grid, comment);
|
||||||
|
m_aprsCallCache.insert(callsign, DriftingDateTime::currentDateTimeUtc());
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::killFile ()
|
void MainWindow::killFile ()
|
||||||
@ -9510,6 +9516,10 @@ void MainWindow::processCommandActivity() {
|
|||||||
cd.grid = grid;
|
cd.grid = grid;
|
||||||
cd.snr = d.snr;
|
cd.snr = d.snr;
|
||||||
cd.utcTimestamp = d.utcTimestamp;
|
cd.utcTimestamp = d.utcTimestamp;
|
||||||
|
|
||||||
|
m_aprsCallCache.remove(cd.call);
|
||||||
|
m_aprsCallCache.remove(APRSISClient::replaceCallsignSuffixWithSSID(cd.call, Radio::base_callsign(cd.call)));
|
||||||
|
|
||||||
logCallActivity(cd, true);
|
logCallActivity(cd, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -779,6 +779,7 @@ private:
|
|||||||
QMap<int, MessageBuffer> m_messageBuffer; // freq -> (cmd, [frames, ...])
|
QMap<int, MessageBuffer> m_messageBuffer; // freq -> (cmd, [frames, ...])
|
||||||
QMap<QString, CallDetail> m_callActivity; // call -> (last freq, last timestamp)
|
QMap<QString, CallDetail> m_callActivity; // call -> (last freq, last timestamp)
|
||||||
QQueue<QString> m_txBeaconQueue; // beacon frames to be sent
|
QQueue<QString> m_txBeaconQueue; // beacon frames to be sent
|
||||||
|
QMap<QString, QDateTime> m_aprsCallCache;
|
||||||
|
|
||||||
QMap<QString, QMap<QString, CallDetail>> m_callActivityCache; // band -> call activity
|
QMap<QString, QMap<QString, CallDetail>> m_callActivityCache; // band -> call activity
|
||||||
QMap<QString, QMap<int, QList<ActivityDetail>>> m_bandActivityCache; // band -> band activity
|
QMap<QString, QMap<int, QList<ActivityDetail>>> m_bandActivityCache; // band -> band activity
|
||||||
|
Loading…
Reference in New Issue
Block a user