sdrangel/plugins/feature/simpleptt
Jon Beniston c966f1cb5a dd maximize button to MainSpectrum and expandible Channels and Features.
Add sizeToContents in ChannelGUI and FeatureGUI, called when widget is
rolled, so we can remove resizing code from all of the individual
channels and features.

In RollupContents, use minimumSizeHint for calculated size, so that
minimumWidth can come from .ui file.

In DeviceGUI::sizeToContents(), call adjustSize(), so Device GUIs start
out at minimum needed size (which should restore appearance prior to
last patch).

In stackSubWindows, use available space for channels if no
spectrum/features present.
In stackSubWindows, fix spectrum from being sized too big, resulting in
scroll bars appearing.
Reset user-defined channel width in stackSubWindows, when channels are
removed.
Don't stack maximized windows.

There's one hack in Channel/FeatureGUI::maximizeWindow(). It seems that
when maximimzing a window, QOpenGLWidgets aren't always paint properly
immediately afterwards, so the code forces an additional update. I can't
see why the first call to paintGL doesn't work.
2022-11-11 12:24:27 +00:00
..
CMakeLists.txt
readme.md
simpleptt.cpp
simpleptt.h
simplepttgui.cpp dd maximize button to MainSpectrum and expandible Channels and Features. 2022-11-11 12:24:27 +00:00
simplepttgui.h dd maximize button to MainSpectrum and expandible Channels and Features. 2022-11-11 12:24:27 +00:00
simplepttgui.ui
simplepttplugin.cpp Updated versions and changelogs 2022-10-07 00:24:31 +02:00
simplepttplugin.h
simplepttreport.cpp
simplepttreport.h
simplepttsettings.cpp
simplepttsettings.h
simplepttwebapiadapter.cpp
simplepttwebapiadapter.h
simplepttworker.cpp
simplepttworker.h

readme.md

Simple PTT plugin

Introduction

This plugin controls switchover between a Rx (Device source) and Tx (Device sink). It has no other controls than an adjustable delay from Rx to Tx and back to Rx. Because of its simplicity it can also serve as a model to build other feature plugins.

Interface

PTT feature plugin GUI

1: Start/Stop plugin

This button starts or stops the plugin

2: PTT button

Click to switch from Rx to Tx and again to switch back to Rx. When in Tx mode the button is lit.

3: Status indicator

This LED type display shows the current PTT status:

  • Green: Rx runs
  • Red: Tx runs
  • Grey: None active (transient)

4: Vox control

PTT feature vox control

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)

6: Select Rx device set

Use this combo to select which Rx device is controlled

7: Select Tx device set

Use this combo to select which Tx device is controlled

8: Transition delay from Rx to Tx

Value in milliseconds between Rx stop and Tx start

9: Transition delay from Tx to Rx

Value in milliseconds between Tx stop and Rx start