1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-12-24 10:50:29 -05:00
sdrangel/plugins/samplesource/remotetcpinput
Jon Beniston 0dd466a900 Add DialogPositioner to ensure dialogs are fully on screen and remain on
screen when screen orientation changes.
Add DialPopup to allow dials to adjusted with a slider, which is easier
on touchscreens.
Add TableTapAndHold to support table context menus on touchscreens.
2022-12-20 10:31:15 +00:00
..
CMakeLists.txt Update CMakeLists.txt to support both Qt5 and Qt6. Add option ENABLE_QT6 2022-11-17 14:34:54 +00:00
readme.md 8-bit IQ data is unsigned. Add DC/IQ correction for RTL0. Don't send SDRA commands when RTL0. Implements #1467 2022-11-03 15:57:00 +00:00
remotetcpinput.cpp 8-bit IQ data is unsigned. Add DC/IQ correction for RTL0. Don't send SDRA commands when RTL0. Implements #1467 2022-11-03 15:57:00 +00:00
remotetcpinput.h Remote TCP Input: Make settings assignments atomic. Part of #1329 2022-10-28 20:57:20 +02:00
remotetcpinputgui.cpp Add DialogPositioner to ensure dialogs are fully on screen and remain on 2022-12-20 10:31:15 +00:00
remotetcpinputgui.h Device GUIs: Constain window size via minimumSize/maximumSize, rather than handling resizeEvent. Add maximum button. Hide size buttons when window size is fixed 2022-11-09 15:53:44 +00:00
remotetcpinputgui.ui
remotetcpinputplugin.cpp Updated versions and changelogs 2022-11-15 21:46:52 +01:00
remotetcpinputplugin.h
remotetcpinputsettings.cpp Remote TCP Input: Make settings assignments atomic. Part of #1329 2022-10-28 20:57:20 +02:00
remotetcpinputsettings.h Remote TCP Input: Make settings assignments atomic. Part of #1329 2022-10-28 20:57:20 +02:00
remotetcpinputtcphandler.cpp 8-bit IQ data is unsigned. Add DC/IQ correction for RTL0. Don't send SDRA commands when RTL0. Implements #1467 2022-11-03 15:57:00 +00:00
remotetcpinputtcphandler.h 8-bit IQ data is unsigned. Add DC/IQ correction for RTL0. Don't send SDRA commands when RTL0. Implements #1467 2022-11-03 15:57:00 +00:00
remotetcpinputwebapiadapter.cpp
remotetcpinputwebapiadapter.h

Remote TCP input plugin

Introduction

This input sample source plugin gets its I/Q samples over the network via a TCP/IP connection from a server such as rtl_tcp, rsp_tcp or SDRangel's Remote TCP Channel Sink plugin.

Interface

Remote TCP input plugin GUI

1: Start/Stop

Device start / stop button.

  • Blue triangle icon: device is ready and can be started
  • Green square icon: device is running and can be stopped
  • Red square icon: an error has occured with the connection to the remote device. The plugin will continually try to reconnect.

2: Center frequency

This is the center frequency in kHz of the remote device.

3: Stream sample rate

Network I/Q sample rate in kS/s.

4: Local oscillator correction

This is the correction to be applied to the remote device's local oscillator in ppm.

5: DC offset correction

Check this button to enable DC offset correction.

6: IQ imbalance correction

Check this button to enable IQ imbalance correction.

7: Bias tee

Check this button to enable a bias tee on the remote device, if it supports it.

8: Direct sampling mode

Use this button to activate RTL-SDR's direct sampling mode. This can be used to tune to HF frequencies.

9: Sample rate

Specify the remote device's sample rate in samples per second (S/s). This is the sample rate between the remote device and remote server. This field allows an arbitry rate to be entered. However, some devices are limited in the rates they support, so you should be careful only to enter a supported value, otherwise there may be a mismatch between the displayed rate and the actual rate.

10: Decimation

Decimation in powers of two from 1 (no decimation) to 64 between the remote device and the remote server, which determines the remote baseband sample rate. This is only supported when the remote server is SDRangel.

11: Gain

Specify gain in dB applied in various stages of the remote device. Available gains will depend upon the type of remote device.

12: AGC

Check to enable automatic gain control in the remote device. How AGC works is device dependent.

13: RF Bandwidth

Specifies the bandwidth in kHz of the analog filter in the remote device. Available bandwidths are dependent upon the remote device.

14: Remote sink frequency shift from center frequency of reception

This is the shift of the remote sink channel center frequency from the device center frequency. This is used to select the desired part of the signal when the remote channel sample rate is lower than the baseband sample rate. This is only supported when the remote server is SDRangel.

15: Remote sink gain

Sets a gain figure in dB that is applied to I/Q samples before transmission via TCP/IP. This option may be useful for amplifying very small signals from SDRs with high-dynamic range (E.g. 24-bits), when the network sample bit-depth is 8-bits. This is only supported when the remote server is SDRangel.

16: Remote sink channel sample rate

Specifies the channel and network sample rate in samples per second. If this is different from the remote baseband sample rate, the baseband signal will be decimated to the specified rate. Unless the remote server is SDRangel, the channel sample rate should be the same as the device sample rate.

17: Local channel sample rate to baseband sample rate

When checked, the channel sample rate setting is locked to the remote baseband sample rate. When unchecked, the channel sample rate can be set to any value.

18: Sample bit depth

Specifies number of bits per I/Q sample transmitted via TCP/IP.

When the protocol is RTL0, only 8-bits are supported. SDRA protocol supports 8, 16, 24 and 32-bit samples.

19: Server IP address

IP address or hostname of the server that is running SDRangel's Remote TCP Sink plugin, rtl_tcp or rsp_tcp.

20: Server TCP Port

TCP port on the server to connect to.

21: Connection settings

Determines which settings are used when connecting.

When checked, settings in the RemoteTCPInput GUI are written to the remote device upon connection. When unchecked, if the remote server is using the SDRA protocol, the RemoteTCPInput GUI will be updated with the current settings from the remote device. If the remote server is using the RTL0 protocol, the GUI will not be updated, which may mean the two are inconsistent.

22: Pre-fill

Determines how many seconds of I/Q samples are buffered locally from the remote device, before being processed in SDRangel. More buffering can handle more network congestion and other network problems, without gaps in the output, but increases the latency in changes to remote device settings.

23: Input buffer guage

Shows how much data is in the input buffer. Typically this will be just under the pre-fill setting. If it becomes empty, the plugin will pause outputting of data until the buffer is refilled to the pre-fill level. If the buffer repeatedly runs empty, this suggests you do not have enough network bandwidth for the current combination of channel sample rate and sample bit depth. Reducing these to lower values may be required for uninterupted data.

24: Output buffer guage

Shows how much data is in the output buffer. This should typically be empty. If not empty, this suggests your CPU can't keep up with the amount of data being received.

25: Device status

Shows the type of remote device that has been connected to.

26: Protocol status

Shows the protocol being used by the remote server. This will be RTL0 or SDRA.

rtl_tcp and rsp_tcp always use the RTL0 protocol. SDRangel's Remote TCP Sink plugin can use RTL0 or SDRA.

RTL0 is limited to sending 8-bit data, doesn't support decimation and does not send the current device settings on connection.