Restore audio frequency after responding to allcall or transmitting beacon
This commit is contained in:
parent
95e75741ed
commit
1b2f8a1c6c
@ -427,7 +427,8 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple,
|
|||||||
psk_Reporter {new PSK_Reporter {m_messageClient, this}},
|
psk_Reporter {new PSK_Reporter {m_messageClient, this}},
|
||||||
m_manual {&m_network_manager},
|
m_manual {&m_network_manager},
|
||||||
m_i3bit {0},
|
m_i3bit {0},
|
||||||
m_txFrameCount {0}
|
m_txFrameCount {0},
|
||||||
|
m_previousFreq {0}
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
createStatusBar();
|
createStatusBar();
|
||||||
@ -4193,6 +4194,13 @@ void MainWindow::stopTx()
|
|||||||
ui->extFreeTextMsgEdit->setReadOnly(false);
|
ui->extFreeTextMsgEdit->setReadOnly(false);
|
||||||
update_dynamic_property(ui->extFreeTextMsgEdit, "transmitting", false);
|
update_dynamic_property(ui->extFreeTextMsgEdit, "transmitting", false);
|
||||||
on_stopTxButton_clicked();
|
on_stopTxButton_clicked();
|
||||||
|
|
||||||
|
// if we have a previousFrequency, and should jump to it, do it
|
||||||
|
if(m_previousFreq && m_shouldRestoreFreq){
|
||||||
|
setFreq4(m_previousFreq, m_previousFreq);
|
||||||
|
m_previousFreq = 0;
|
||||||
|
m_shouldRestoreFreq = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ptt0Timer.start(200); //end-of-transmission sequencer delay
|
ptt0Timer.start(200); //end-of-transmission sequencer delay
|
||||||
@ -5756,6 +5764,7 @@ void MainWindow::prepareBeacon(){
|
|||||||
|
|
||||||
// TODO: jsherer - return to the original frequency afterwards?
|
// TODO: jsherer - return to the original frequency afterwards?
|
||||||
setFreq4(f, f);
|
setFreq4(f, f);
|
||||||
|
m_shouldRestoreFreq = true;
|
||||||
|
|
||||||
QStringList lines;
|
QStringList lines;
|
||||||
|
|
||||||
@ -7072,6 +7081,7 @@ void MainWindow::on_macrosMacroButton_pressed(){
|
|||||||
void MainWindow::on_tableWidgetRXAll_cellClicked(int row, int col){
|
void MainWindow::on_tableWidgetRXAll_cellClicked(int row, int col){
|
||||||
auto item = ui->tableWidgetRXAll->item(row, 0);
|
auto item = ui->tableWidgetRXAll->item(row, 0);
|
||||||
int offset = item->text().toInt();
|
int offset = item->text().toInt();
|
||||||
|
|
||||||
setFreq4(offset, offset);
|
setFreq4(offset, offset);
|
||||||
|
|
||||||
ui->tableWidgetCalls->selectionModel()->select(
|
ui->tableWidgetCalls->selectionModel()->select(
|
||||||
@ -7127,7 +7137,9 @@ void MainWindow::on_tableWidgetCalls_cellClicked(int row, int col){
|
|||||||
if(!m_callActivity.contains(call)){
|
if(!m_callActivity.contains(call)){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int offset = m_callActivity[call].freq;
|
int offset = m_callActivity[call].freq;
|
||||||
|
|
||||||
setFreq4(offset, offset);
|
setFreq4(offset, offset);
|
||||||
|
|
||||||
ui->tableWidgetRXAll->selectionModel()->select(
|
ui->tableWidgetRXAll->selectionModel()->select(
|
||||||
@ -7353,6 +7365,8 @@ void MainWindow::setFreq4(int rxFreq, int txFreq)
|
|||||||
txFreq = qMax(500, txFreq);
|
txFreq = qMax(500, txFreq);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
m_previousFreq = currentFreq();
|
||||||
|
|
||||||
if (ui->RxFreqSpinBox->isEnabled ()) ui->RxFreqSpinBox->setValue(rxFreq);
|
if (ui->RxFreqSpinBox->isEnabled ()) ui->RxFreqSpinBox->setValue(rxFreq);
|
||||||
ui->labDialFreqOffset->setText(QString("%1 Hz").arg(rxFreq));
|
ui->labDialFreqOffset->setText(QString("%1 Hz").arg(rxFreq));
|
||||||
if(m_mode.startsWith ("WSPR")) {
|
if(m_mode.startsWith ("WSPR")) {
|
||||||
@ -7371,6 +7385,8 @@ void MainWindow::setFreq4(int rxFreq, int txFreq)
|
|||||||
setXIT (ui->TxFreqSpinBox->value ());
|
setXIT (ui->TxFreqSpinBox->value ());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::handle_transceiver_update (Transceiver::TransceiverState const& s)
|
void MainWindow::handle_transceiver_update (Transceiver::TransceiverState const& s)
|
||||||
@ -8384,6 +8400,8 @@ void MainWindow::displayActivity(bool force){
|
|||||||
// if we have beacon turned on, and it's more than 15 seconds away, automatically reply now, and bump the beacon
|
// if we have beacon turned on, and it's more than 15 seconds away, automatically reply now, and bump the beacon
|
||||||
if(QDateTime::currentDateTimeUtc().secsTo(m_nextBeacon) >= 15){
|
if(QDateTime::currentDateTimeUtc().secsTo(m_nextBeacon) >= 15){
|
||||||
setFreq4(f, f);
|
setFreq4(f, f);
|
||||||
|
m_shouldRestoreFreq = true;
|
||||||
|
|
||||||
ui->startTxButton->setChecked(true);
|
ui->startTxButton->setChecked(true);
|
||||||
|
|
||||||
if(ui->beaconButton->isChecked()){
|
if(ui->beaconButton->isChecked()){
|
||||||
|
@ -691,6 +691,8 @@ private:
|
|||||||
QMap<int, QList<ActivityDetail>> m_bandActivity; // freq -> [(text, last timestamp), ...]
|
QMap<int, QList<ActivityDetail>> m_bandActivity; // freq -> [(text, last timestamp), ...]
|
||||||
QMap<QString, CallDetail> m_callActivity; // call -> (last freq, last timestamp)
|
QMap<QString, CallDetail> m_callActivity; // call -> (last freq, last timestamp)
|
||||||
QSet<QString> m_callSeenBeacon; // call
|
QSet<QString> m_callSeenBeacon; // call
|
||||||
|
int m_previousFreq;
|
||||||
|
bool m_shouldRestoreFreq;
|
||||||
QMap<QString,FoxQSO> m_foxQSO;
|
QMap<QString,FoxQSO> m_foxQSO;
|
||||||
QMap<QString,QString> m_loggedByFox;
|
QMap<QString,QString> m_loggedByFox;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user