Further expanding the rx threshold window
This commit is contained in:
parent
1ad0efa634
commit
e4d4487d23
@ -131,8 +131,6 @@ extern "C" {
|
|||||||
void plotsave_(float swide[], int* m_w , int* m_h1, int* irow);
|
void plotsave_(float swide[], int* m_w , int* m_h1, int* irow);
|
||||||
}
|
}
|
||||||
|
|
||||||
const int NEAR_THRESHOLD_RX = 10;
|
|
||||||
|
|
||||||
int volatile itone[NUM_ISCAT_SYMBOLS]; //Audio tones for all Tx symbols
|
int volatile itone[NUM_ISCAT_SYMBOLS]; //Audio tones for all Tx symbols
|
||||||
int volatile icw[NUM_CW_SYMBOLS]; //Dits for CW ID
|
int volatile icw[NUM_CW_SYMBOLS]; //Dits for CW ID
|
||||||
struct dec_data dec_data; // for sharing with Fortran
|
struct dec_data dec_data; // for sharing with Fortran
|
||||||
@ -4227,7 +4225,7 @@ void MainWindow::readFromStdout() //readFromStdout
|
|||||||
if(m_messageDupeCache.contains(frame)){
|
if(m_messageDupeCache.contains(frame)){
|
||||||
// check to see if the frequency is near our previous frame
|
// check to see if the frequency is near our previous frame
|
||||||
auto cachedFreq = m_messageDupeCache.value(frame, 0);
|
auto cachedFreq = m_messageDupeCache.value(frame, 0);
|
||||||
if(qAbs(cachedFreq - frameOffset) <= NEAR_THRESHOLD_RX){
|
if(qAbs(cachedFreq - frameOffset) <= rxThreshold()){
|
||||||
qDebug() << "duplicate frame from" << cachedFreq << "and" << frameOffset;
|
qDebug() << "duplicate frame from" << cachedFreq << "and" << frameOffset;
|
||||||
bValidFrame = false;
|
bValidFrame = false;
|
||||||
}
|
}
|
||||||
@ -4255,9 +4253,7 @@ void MainWindow::readFromStdout() //readFromStdout
|
|||||||
int offset = decodedtext.frequencyOffset();
|
int offset = decodedtext.frequencyOffset();
|
||||||
|
|
||||||
if(!m_bandActivity.contains(offset)){
|
if(!m_bandActivity.contains(offset)){
|
||||||
int range = 10;
|
int range = rxThreshold();
|
||||||
if(m_nSubMode == Varicode::JS8CallFast){ range = 16; }
|
|
||||||
if(m_nSubMode == Varicode::JS8CallTurbo){ range = 32; }
|
|
||||||
|
|
||||||
QList<int> offsets = generateOffsets(offset-range, offset+range);
|
QList<int> offsets = generateOffsets(offset-range, offset+range);
|
||||||
|
|
||||||
@ -4536,9 +4532,7 @@ bool MainWindow::hasExistingMessageBuffer(int offset, bool drift, int *pPrevOffs
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
int range = 10;
|
int range = rxThreshold();
|
||||||
if(m_nSubMode == Varicode::JS8CallFast){ range = 16; }
|
|
||||||
if(m_nSubMode == Varicode::JS8CallTurbo){ range = 32; }
|
|
||||||
|
|
||||||
QList<int> offsets = generateOffsets(offset-range, offset+range);
|
QList<int> offsets = generateOffsets(offset-range, offset+range);
|
||||||
|
|
||||||
@ -9472,6 +9466,13 @@ void MainWindow::tryNotify(const QString &key){
|
|||||||
emit playNotification(path);
|
emit playNotification(path);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int MainWindow::rxThreshold(){
|
||||||
|
int threshold = 10;
|
||||||
|
if(m_nSubMode == Varicode::JS8CallFast){ threshold = 16; }
|
||||||
|
if(m_nSubMode == Varicode::JS8CallTurbo){ threshold = 32; }
|
||||||
|
return threshold;
|
||||||
|
}
|
||||||
|
|
||||||
void MainWindow::displayTransmit(){
|
void MainWindow::displayTransmit(){
|
||||||
// Transmit Activity
|
// Transmit Activity
|
||||||
update_dynamic_property (ui->startTxButton, "transmitting", m_transmitting);
|
update_dynamic_property (ui->startTxButton, "transmitting", m_transmitting);
|
||||||
@ -9792,7 +9793,7 @@ void MainWindow::clearCallsignSelected(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool MainWindow::isRecentOffset(int offset){
|
bool MainWindow::isRecentOffset(int offset){
|
||||||
if(abs(offset - currentFreqOffset()) <= NEAR_THRESHOLD_RX){
|
if(abs(offset - currentFreqOffset()) <= rxThreshold()){
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return (
|
return (
|
||||||
@ -9964,7 +9965,7 @@ void MainWindow::processRxActivity() {
|
|||||||
|
|
||||||
// use the actual frequency and check its delta from our current frequency
|
// use the actual frequency and check its delta from our current frequency
|
||||||
// meaning, if our current offset is 1502 and the d.freq is 1492, the delta is <= 10;
|
// meaning, if our current offset is 1502 and the d.freq is 1492, the delta is <= 10;
|
||||||
bool shouldDisplay = abs(d.freq - freqOffset) <= NEAR_THRESHOLD_RX;
|
bool shouldDisplay = abs(d.freq - freqOffset) <= rxThreshold();
|
||||||
|
|
||||||
int prevOffset = d.freq;
|
int prevOffset = d.freq;
|
||||||
if(hasExistingMessageBuffer(d.freq, false, &prevOffset) && (
|
if(hasExistingMessageBuffer(d.freq, false, &prevOffset) && (
|
||||||
|
@ -167,6 +167,7 @@ public slots:
|
|||||||
void resetMessageTransmitQueue();
|
void resetMessageTransmitQueue();
|
||||||
QPair<QString, int> popMessageFrame();
|
QPair<QString, int> popMessageFrame();
|
||||||
void tryNotify(const QString &key);
|
void tryNotify(const QString &key);
|
||||||
|
int rxThreshold();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void keyPressEvent (QKeyEvent *) override;
|
void keyPressEvent (QKeyEvent *) override;
|
||||||
|
Loading…
Reference in New Issue
Block a user