From a72856363c10e4f045c722192935d81380ef4067 Mon Sep 17 00:00:00 2001 From: f4exb Date: Mon, 25 Mar 2024 11:21:52 +0100 Subject: [PATCH 1/2] AudioCATSISO enhancements --- .../audiocatsiso/audiocatoutputworker.cpp | 4 ++-- .../samplemimo/audiocatsiso/audiocatsiso.cpp | 2 +- .../samplemimo/audiocatsiso/audiocatsisogui.cpp | 11 ++++++++++- .../samplemimo/audiocatsiso/audiocatsisogui.h | 1 + .../samplemimo/audiocatsiso/audiocatsisogui.ui | 17 +++++++++++++++++ 5 files changed, 31 insertions(+), 4 deletions(-) diff --git a/plugins/samplemimo/audiocatsiso/audiocatoutputworker.cpp b/plugins/samplemimo/audiocatsiso/audiocatoutputworker.cpp index 963cc1446..8f23521bf 100644 --- a/plugins/samplemimo/audiocatsiso/audiocatoutputworker.cpp +++ b/plugins/samplemimo/audiocatsiso/audiocatoutputworker.cpp @@ -25,7 +25,7 @@ #include "audiocatoutputworker.h" -#define AUDIOOUTPUT_THROTTLE_MS 50 +#define AUDIOOUTPUT_THROTTLE_MS 100 AudioCATOutputWorker::AudioCATOutputWorker(SampleMOFifo* sampleFifo, AudioFifo *fifo, QObject* parent) : QObject(parent), @@ -41,7 +41,7 @@ AudioCATOutputWorker::AudioCATOutputWorker(SampleMOFifo* sampleFifo, AudioFifo * m_sampleFifo(sampleFifo), m_audioFifo(fifo) { - m_audioBuffer.resize(1<<15); + m_audioBuffer.resize(12000); m_audioBufferFill = 0; setSamplerate(48000); } diff --git a/plugins/samplemimo/audiocatsiso/audiocatsiso.cpp b/plugins/samplemimo/audiocatsiso/audiocatsiso.cpp index ca580280b..4347d6936 100644 --- a/plugins/samplemimo/audiocatsiso/audiocatsiso.cpp +++ b/plugins/samplemimo/audiocatsiso/audiocatsiso.cpp @@ -46,7 +46,7 @@ MESSAGE_CLASS_DEFINITION(AudioCATSISO::MsgStartStop, Message) AudioCATSISO::AudioCATSISO(DeviceAPI *deviceAPI) : m_deviceAPI(deviceAPI), m_inputFifo(48000), - m_outputFifo(48000), + m_outputFifo(24000), m_settings(), m_inputWorker(nullptr), m_outputWorker(nullptr), diff --git a/plugins/samplemimo/audiocatsiso/audiocatsisogui.cpp b/plugins/samplemimo/audiocatsiso/audiocatsisogui.cpp index 918c868f4..bb0b23098 100644 --- a/plugins/samplemimo/audiocatsiso/audiocatsisogui.cpp +++ b/plugins/samplemimo/audiocatsiso/audiocatsisogui.cpp @@ -257,6 +257,14 @@ void AudioCATSISOGUI::on_streamLock_toggled(bool checked) } } +void AudioCATSISOGUI::on_freqRxToTx_clicked() +{ + m_settings.m_txCenterFrequency = m_settings.m_rxCenterFrequency; + displayFrequency(); + m_settingsKeys.append("txCenterFrequency"); + sendSettings(); +} + void AudioCATSISOGUI::on_centerFrequency_changed(quint64 value) { if (m_rxElseTx) @@ -771,7 +779,8 @@ void AudioCATSISOGUI::makeUIConnections() QObject::connect(ui->streamSide, QOverload::of(&QComboBox::currentIndexChanged), this, &AudioCATSISOGUI::on_streamSide_currentIndexChanged); QObject::connect(ui->spectrumSide, QOverload::of(&QComboBox::currentIndexChanged), this, &AudioCATSISOGUI::on_spectrumSide_currentIndexChanged); QObject::connect(ui->streamLock, &QToolButton::toggled, this, &AudioCATSISOGUI::on_streamLock_toggled); - QObject::connect(ui->startStop, &ButtonSwitch::toggled, this, &AudioCATSISOGUI::on_startStop_toggled); + QObject::connect(ui->freqRxToTx, &QPushButton::clicked, this, &AudioCATSISOGUI::on_freqRxToTx_clicked); + QObject::connect(ui->startStop, &ButtonSwitch::toggled, this, &AudioCATSISOGUI::on_startStop_toggled); QObject::connect(ui->ptt, &ButtonSwitch::toggled, this, &AudioCATSISOGUI::on_ptt_toggled); QObject::connect(ui->catConnect, &ButtonSwitch::toggled, this, &AudioCATSISOGUI::on_catConnect_toggled); QObject::connect(ui->centerFrequency, &ValueDial::changed, this, &AudioCATSISOGUI::on_centerFrequency_changed); diff --git a/plugins/samplemimo/audiocatsiso/audiocatsisogui.h b/plugins/samplemimo/audiocatsiso/audiocatsisogui.h index c750714a8..a8a300140 100644 --- a/plugins/samplemimo/audiocatsiso/audiocatsisogui.h +++ b/plugins/samplemimo/audiocatsiso/audiocatsisogui.h @@ -89,6 +89,7 @@ private slots: void on_streamSide_currentIndexChanged(int index); void on_spectrumSide_currentIndexChanged(int index); void on_streamLock_toggled(bool checked); + void on_freqRxToTx_clicked(); void on_startStop_toggled(bool checked); void on_ptt_toggled(bool checked); void on_pttSpectrumLinkToggled(bool checked); diff --git a/plugins/samplemimo/audiocatsiso/audiocatsisogui.ui b/plugins/samplemimo/audiocatsiso/audiocatsisogui.ui index 4fc028312..7c2bf51d4 100644 --- a/plugins/samplemimo/audiocatsiso/audiocatsisogui.ui +++ b/plugins/samplemimo/audiocatsiso/audiocatsisogui.ui @@ -160,6 +160,23 @@ + + + + Send Rx frequency to Tx + + + + + + + :/arrow_left.png:/arrow_left.png + + + true + + + From c83343267545e38ff2445186a318b7655f800bdf Mon Sep 17 00:00:00 2001 From: f4exb Date: Mon, 25 Mar 2024 11:22:41 +0100 Subject: [PATCH 2/2] ChirpChat modulator enhancements --- .../channeltx/modchirpchat/chirpchatmod.cpp | 4 +-- plugins/channeltx/modchirpchat/chirpchatmod.h | 11 +++++--- .../modchirpchat/chirpchatmodgui.cpp | 1 + .../channeltx/modchirpchat/chirpchatmodgui.ui | 25 ++++++++++++++++--- 4 files changed, 31 insertions(+), 10 deletions(-) diff --git a/plugins/channeltx/modchirpchat/chirpchatmod.cpp b/plugins/channeltx/modchirpchat/chirpchatmod.cpp index bf18f2871..fe07de693 100644 --- a/plugins/channeltx/modchirpchat/chirpchatmod.cpp +++ b/plugins/channeltx/modchirpchat/chirpchatmod.cpp @@ -362,7 +362,7 @@ void ChirpChatMod::applySettings(const ChirpChatModSettings& settings, bool forc if (getMessageQueueToGUI()) { - MsgReportPayloadTime *rpt = MsgReportPayloadTime::create(m_currentPayloadTime); + MsgReportPayloadTime *rpt = MsgReportPayloadTime::create(m_currentPayloadTime, symbols.size()); getMessageQueueToGUI()->push(rpt); } } @@ -1095,7 +1095,7 @@ void ChirpChatMod::udpRx() if (getMessageQueueToGUI()) { - MsgReportPayloadTime *rpt = MsgReportPayloadTime::create(m_currentPayloadTime); + MsgReportPayloadTime *rpt = MsgReportPayloadTime::create(m_currentPayloadTime, symbols.size()); getMessageQueueToGUI()->push(rpt); } } diff --git a/plugins/channeltx/modchirpchat/chirpchatmod.h b/plugins/channeltx/modchirpchat/chirpchatmod.h index 583118235..e2b990183 100644 --- a/plugins/channeltx/modchirpchat/chirpchatmod.h +++ b/plugins/channeltx/modchirpchat/chirpchatmod.h @@ -74,16 +74,19 @@ public: public: float getPayloadTimeMs() const { return m_timeMs; } - static MsgReportPayloadTime* create(float timeMs) { - return new MsgReportPayloadTime(timeMs); + std::size_t getNbSymbols() const { return m_nbSymbols; } + static MsgReportPayloadTime* create(float timeMs, std::size_t nbSymbols) { + return new MsgReportPayloadTime(timeMs, nbSymbols); } private: float m_timeMs; //!< time in milliseconds + std::size_t m_nbSymbols; //!< number of symbols - MsgReportPayloadTime(float timeMs) : + MsgReportPayloadTime(float timeMs, std::size_t nbSymbols) : Message(), - m_timeMs(timeMs) + m_timeMs(timeMs), + m_nbSymbols(nbSymbols) {} }; diff --git a/plugins/channeltx/modchirpchat/chirpchatmodgui.cpp b/plugins/channeltx/modchirpchat/chirpchatmodgui.cpp index f7215e70d..29fa32f64 100644 --- a/plugins/channeltx/modchirpchat/chirpchatmodgui.cpp +++ b/plugins/channeltx/modchirpchat/chirpchatmodgui.cpp @@ -97,6 +97,7 @@ bool ChirpChatModGUI::handleMessage(const Message& message) fourthsChirps += m_settings.hasSyncWord() ? 8 : 0; fourthsChirps += m_settings.getNbSFDFourths(); float controlMs = fourthsChirps * fourthsMs; // preamble + sync word + SFD + ui->timeMessageLengthText->setText(tr("%1").arg(rpt.getNbSymbols())); ui->timePayloadText->setText(tr("%1 ms").arg(QString::number(rpt.getPayloadTimeMs(), 'f', 0))); ui->timeTotalText->setText(tr("%1 ms").arg(QString::number(rpt.getPayloadTimeMs() + controlMs, 'f', 0))); ui->timeSymbolText->setText(tr("%1 ms").arg(QString::number(4.0*fourthsMs, 'f', 1))); diff --git a/plugins/channeltx/modchirpchat/chirpchatmodgui.ui b/plugins/channeltx/modchirpchat/chirpchatmodgui.ui index feb0f9db1..03915bf8e 100644 --- a/plugins/channeltx/modchirpchat/chirpchatmodgui.ui +++ b/plugins/channeltx/modchirpchat/chirpchatmodgui.ui @@ -722,12 +722,12 @@ - + Qt::ClickFocus - Report to callee + Caller QRA locator @@ -751,12 +751,12 @@ - + Qt::ClickFocus - Caller QRA locator + Report to callee @@ -1028,6 +1028,23 @@ + + + + ML + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + 000 + + +