1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-11-03 07:21:14 -05:00
sdrangel/plugins/channeltx/localsource
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 Install debug symbols on Windows for debug builds 2022-02-06 12:56:58 +00:00
localsource.cpp v7: API: added workspace handling for device, spectrum, feature and channel. Implements #1242 2022-05-13 22:24:48 +02:00
localsource.h v7: API: added workspace handling for device, spectrum, feature and channel. Implements #1242 2022-05-13 22:24:48 +02:00
localsourcebaseband.cpp Replace deprecated QMutex(Recursive) with QRecursiveMutex 2022-09-17 23:00:07 +02:00
localsourcebaseband.h Replace deprecated QMutex(Recursive) with QRecursiveMutex 2022-09-17 23:00:07 +02:00
localsourcegui.cpp dd maximize button to MainSpectrum and expandible Channels and Features. 2022-11-11 12:24:27 +00:00
localsourcegui.h dd maximize button to MainSpectrum and expandible Channels and Features. 2022-11-11 12:24:27 +00:00
localsourcegui.ui Massive UI revamping (v7): Fixed sizing of channel windows. Part of #1209 2022-04-24 12:28:56 +02:00
localsourceplugin.cpp Updated main and plugin versions 2022-05-14 13:16:33 +02:00
localsourceplugin.h Channel plugins: use specialized ChannelGUI superclass. Handle GUI lifecycle in MainWindow 2020-10-04 22:16:09 +02:00
localsourcesettings.cpp Massive UI revamping (v7): persistent channel show/hide 2022-04-12 18:27:27 +02:00
localsourcesettings.h Massive UI revamping (v7): persistent channel show/hide 2022-04-12 18:27:27 +02:00
localsourcesource.cpp LocalSource: refactored Thread to Worker object moved to thread. Equivalent to FileInput changes 2020-07-12 02:54:11 +02:00
localsourcesource.h Fixed -Wunused-parameter warnings 2020-11-14 11:13:32 +01:00
localsourcewebapiadapter.cpp Fixed -Wunused-parameter warnings 2020-11-14 11:13:32 +01:00
localsourcewebapiadapter.h REST API: config: GET (13): corrected missing return in deserialize methods of the adapters 2019-08-05 03:42:04 +02:00
localsourceworker.cpp LocalSource: refactored Thread to Worker object moved to thread. Equivalent to FileInput changes 2020-07-12 02:54:11 +02:00
localsourceworker.h LocalSource: refactored Thread to Worker object moved to thread. Equivalent to FileInput changes 2020-07-12 02:54:11 +02:00
readme.md Massive UI revamping (v7): Channel window documentation. Show device type name in index tooltip 2022-04-17 10:20:07 +02:00

Local source channel plugin

Introduction

This plugin draws I/Q samples from a Local Output plugin device sink in another device set into the baseband. It is basically the same as the Remote Source channel plugin but pipes the samples internally instead of receiving them over the network.

It may be used when you want to use a particular sub area of the baseband for madulation.

Note that because it uses only the channelizer half band filter chain to achieve interpolation and center frequency shift you have a limited choice on the center frequencies that may be used (similarly to the Remote Source). The available center frequencies depend on the baseband sample rate, the channel interpolation and the filter chain that is used so you have to play with these parameters to obtain a suitable center frequency and pass band.

Interface

The top and bottom bars of the channel window are described here

Local source channel plugin GUI

1: Interpolation factor

The device baseband can be interpolated from the channel and its center can be selected with (5). The resulting sample rate of the I/Q stream pulled from the Local Output device sink is the baseband sample rate divided by this value. The value is displayed in (2).

2: I/Q stream sample rate

This is the sample rate in kS/s of the I/Q stream pulled from the Local Output device sink instance.

3: Half-band filters chain sequence

This string represents the sequence of half-band filters used in the interpolation. Each character represents a filter type:

  • L: lower half-band
  • H: higher half-band
  • C: centered

4: Center frequency shift

This is the shift of the channel center frequency from the device center frequency. Its value is driven by the device sample rate, the interpolation (1) and the filter chain sequence (5).

5: Half-band filter chain sequence

The slider moves the channel center frequency roughly from the lower to the higher frequency in the device baseband. The number on the right represents the filter sequence as the decimal value of a base 3 number. Each base 3 digit represents the filter type and its sequence from MSB to LSB in the filter chain:

  • 0: lower half-band
  • 1: centered
  • 2: higher half-band

6: Local Output source index

This selects the index of the Local Output device sink from which to pull the I/Q samples. The list can be refreshed with the next button (7)

7: Refresh local output devices list

Use this button to refresh the list of Local Output device sinks indexes.