From afc106b51f7bc8ccb3fbe54e955cbd538101aa4f Mon Sep 17 00:00:00 2001 From: f4exb Date: Mon, 3 Jan 2022 19:07:43 +0100 Subject: [PATCH] Simple PTT feature: implemented vox. Issue #1002 --- doc/img/SimplePTT_plugin.png | Bin 14844 -> 19910 bytes doc/img/SimplePTT_plugin.xcf | Bin 53947 -> 66606 bytes doc/img/SimplePTT_vox.png | Bin 0 -> 7256 bytes doc/img/SimplePTT_vox.xcf | Bin 0 -> 24575 bytes plugins/feature/simpleptt/readme.md | 42 +++++++++++++++--- plugins/feature/simpleptt/simplepttgui.cpp | 14 ++++-- plugins/feature/simpleptt/simplepttgui.ui | 4 +- plugins/feature/simpleptt/simplepttworker.cpp | 12 +++-- 8 files changed, 58 insertions(+), 14 deletions(-) create mode 100644 doc/img/SimplePTT_vox.png create mode 100644 doc/img/SimplePTT_vox.xcf diff --git a/doc/img/SimplePTT_plugin.png b/doc/img/SimplePTT_plugin.png index 748881e100f73158a80ff2039008e0a5436d1fb8..8cfdd0fe4e81dc0b4187d6f7ebf3a4f6e7b23699 100644 GIT binary patch literal 19910 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≻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 OV(@hJb6Mw<&;$Sr%~t;a literal 14844 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 diff --git a/doc/img/SimplePTT_plugin.xcf b/doc/img/SimplePTT_plugin.xcf index af6b8a8a3c18121cee923dc3e6f4835c307ab426..900612a03420f599f78cde6c2d29fdab17ea896b 100644 GIT binary patch literal 66606 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 literal 0 HcmV?d00001 diff --git a/doc/img/SimplePTT_vox.xcf b/doc/img/SimplePTT_vox.xcf new file mode 100644 index 0000000000000000000000000000000000000000..eeee8c352dddb7fbb3010b9ceeec4ecdfa73f404 GIT binary patch literal 24575 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 literal 0 HcmV?d00001 diff --git a/plugins/feature/simpleptt/readme.md b/plugins/feature/simpleptt/readme.md index 6a5bf4c19..9d07da304 100644 --- a/plugins/feature/simpleptt/readme.md +++ b/plugins/feature/simpleptt/readme.md @@ -6,7 +6,7 @@ This plugin controls switchover between a Rx (Device source) and Tx (Device sink

Interface

-![File source channel plugin GUI](../../../doc/img/SimplePTT_plugin.png) +![PTT feature plugin GUI](../../../doc/img/SimplePTT_plugin.png)

1: Start/Stop plugin

@@ -24,22 +24,52 @@ This LED type display shows the current PTT status: - **Red**: Tx runs - **Grey**: None active (transient) -

4: Refresh list of devices

+

4: Vox control

+ +![PTT feature vox control](../../../doc/img/SimplePTT_vox.png) + +

4.1: Activate vox system

+ +Toggle this switch to activate or de-activate vox control. When activated the audio input level is monitored and appears in (4.5) and if the level exceeds the level set by (4.3) and displayed in (4.4) then the vox button turns green until vox goes off after the hold period (4.6). The vox system controls the PTT only if the vox PTT enable checkbox is checked (4.2). Thus you can set the appropriate level (4.3) before engaging PTT control. + +Right click on this button to open the audio input device selection dialog. + +

4.2: Enable PTT control

+ +Check this box to enable PTT control by the vox system. + +

4.3: Vox threshold level

+ +Use this button to adjust the vox threshold level in power dB (0 dB = full range) + +

4.4: Vox threshold display

+ +This is the value set by (4.3) in dB. + +

4.5: Audio input level

+ +This is the audio input level in dB displayed when the vox system is active (4.1) + +

4.6: Vox hold period

+ +The vox is held active for this amount of time in milliseconds after the audio input power goes below the threshold level (4.3) + +

5: Refresh list of devices

Use this button to refresh the list of devices (5) and (6) -

5: Select Rx device set

+

6: Select Rx device set

Use this combo to select which Rx device is controlled -

6: Select Tx device set

+

7: Select Tx device set

Use this combo to select which Tx device is controlled -

7: Transistion delay from Rx to Tx

+

8: Transistion delay from Rx to Tx

Value in milliseconds between Rx stop and Tx start -

8: Transistion delay from Tx to Rx

+

9: Transistion delay from Tx to Rx

Value in milliseconds between Tx stop and Rx start diff --git a/plugins/feature/simpleptt/simplepttgui.cpp b/plugins/feature/simpleptt/simplepttgui.cpp index 037e03b26..05785470b 100644 --- a/plugins/feature/simpleptt/simplepttgui.cpp +++ b/plugins/feature/simpleptt/simplepttgui.cpp @@ -99,9 +99,9 @@ bool SimplePTTGUI::handleMessage(const Message& message) const SimplePTTReport::MsgVox& cfg = (const SimplePTTReport::MsgVox&) message; if (cfg.getVox()) { - ui->voxLevelText->setStyleSheet("QLabel { background-color : green; }"); + ui->voxLevel->setStyleSheet("QDial { background-color : green; }"); } else { - ui->voxLevelText->setStyleSheet("QLabel { background:rgb(79,79,79); }"); + ui->voxLevel->setStyleSheet("QDial { background:rgb(79,79,79); }"); } return true; @@ -331,6 +331,13 @@ void SimplePTTGUI::on_startStop_toggled(bool checked) { if (m_doApplySettings) { + if (checked) + { + updateDeviceSetLists(); + displaySettings(); + applySettings(); + } + SimplePTT::MsgStartStop *message = SimplePTT::MsgStartStop::create(checked); m_simplePTT->getInputMessageQueue()->push(message); } @@ -393,7 +400,7 @@ void SimplePTTGUI::on_voxEnable_clicked(bool checked) void SimplePTTGUI::on_voxLevel_valueChanged(int value) { m_settings.m_voxLevel = value; - ui->voxLevelText->setText(tr("%1dB").arg(m_settings.m_voxLevel)); + ui->voxLevelText->setText(tr("%1").arg(m_settings.m_voxLevel)); applySettings(); } @@ -453,6 +460,7 @@ void SimplePTTGUI::applyPTT(bool tx) { if (m_doApplySettings) { + qDebug("SimplePTTGUI::applyPTT: %s", tx ? "tx" : "rx"); SimplePTT::MsgPTT* message = SimplePTT::MsgPTT::create(tx); m_simplePTT->getInputMessageQueue()->push(message); } diff --git a/plugins/feature/simpleptt/simplepttgui.ui b/plugins/feature/simpleptt/simplepttgui.ui index 92999e4be..619aaf38a 100644 --- a/plugins/feature/simpleptt/simplepttgui.ui +++ b/plugins/feature/simpleptt/simplepttgui.ui @@ -243,10 +243,10 @@ Vox delay (ms) - 200 + 500 - 2000 + 5000 100 diff --git a/plugins/feature/simpleptt/simplepttworker.cpp b/plugins/feature/simpleptt/simplepttworker.cpp index 9bb19b484..29e97f6ae 100644 --- a/plugins/feature/simpleptt/simplepttworker.cpp +++ b/plugins/feature/simpleptt/simplepttworker.cpp @@ -106,7 +106,7 @@ bool SimplePTTWorker::handleMessage(const Message& cmd) else if (MsgPTT::match(cmd)) { MsgPTT& cfg = (MsgPTT&) cmd; - qDebug() << "SimplePTTWorker::handleMessage: MsgPTT"; + qDebug() << "SimplePTTWorker::handleMessage: MsgPTT tx:" << cfg.getTx(); sendPTT(cfg.getTx()); @@ -142,6 +142,8 @@ void SimplePTTWorker::applySettings(const SimplePTTSettings& settings, bool forc audioDeviceManager->removeAudioSource(&m_audioFifo); audioDeviceManager->addAudioSource(&m_audioFifo, getInputMessageQueue(), audioDeviceIndex); m_audioSampleRate = audioDeviceManager->getInputSampleRate(audioDeviceIndex); + m_voxHoldCount = 0; + m_voxState = false; } if ((settings.m_vox != m_settings.m_vox) || force) @@ -174,6 +176,7 @@ void SimplePTTWorker::applySettings(const SimplePTTSettings& settings, bool forc void SimplePTTWorker::sendPTT(bool tx) { + qDebug("SimplePTTWorker::sendPTT: %s", tx ? "tx" : "rx"); if (!m_updateTimer.isActive()) { bool switchedOff = false; @@ -218,6 +221,7 @@ void SimplePTTWorker::sendPTT(bool tx) void SimplePTTWorker::updateHardware() { + qDebug("SimplePTTWorker::updateHardware: m_tx: %s", m_tx ? "on" : "off"); SWGSDRangel::SWGSuccessResponse response; SWGSDRangel::SWGErrorResponse error; m_updateTimer.stop(); @@ -240,6 +244,7 @@ void SimplePTTWorker::updateHardware() bool SimplePTTWorker::turnDevice(bool on) { + qDebug("SimplePTTWorker::turnDevice %s: %s", m_tx ? "tx" : "rx", on ? "on" : "off"); SWGSDRangel::SWGDeviceState response; SWGSDRangel::SWGErrorResponse error; int httpCode; @@ -254,6 +259,7 @@ bool SimplePTTWorker::turnDevice(bool on) if (httpCode/100 == 2) { + qDebug("SimplePTTWorker::turnDevice: %s success", on ? "on" : "off"); return true; } else @@ -278,9 +284,9 @@ void SimplePTTWorker::handleAudio() { bool voxState = m_voxState; - for (const auto &it : m_audioReadBuffer) + for (unsigned int i = 0; i < m_audioReadBufferFill; i++) { - std::complex za{it.l / 32768.0f, it.r / 32768.0f}; + std::complex za{m_audioReadBuffer[i].l / 46334.0f, m_audioReadBuffer[i].r / 46334.0f}; float magSq = std::norm(za); if (magSq > m_audioMagsqPeak) {