SDRDaemonSink: always set center frequency on API report analysis

pull/228/head v4.1.0
f4exb 2018-09-18 00:08:15 +02:00
rodzic 1894f0ba02
commit d2a740425b
4 zmienionych plików z 13 dodań i 4 usunięć

Wyświetl plik

@ -211,6 +211,8 @@ The [Test source plugin](https://github.com/f4exb/sdrangel/tree/master/plugins/s
<h2>SDRdaemon receiver input</h2>
Linux only.
The [SDRdaemon source input plugin](https://github.com/f4exb/sdrangel/tree/dev/plugins/samplesource/sdrdaemonsource) is the client side of an instance of SDRangel running the Daemon Sink channel plugin. On the "Data" line you must specify the local address and UDP port to which the remote server connects and samples will flow into the SDRangel application (default is `127.0.0.1`port `9090`). It uses the meta data to retrieve the sample flow characteristics such as sample rate and receiving center frequency. The remote is entirely controlled by the REST API. On the "API" line you can specify the address and port at which the remote REST API listens. However it is used just to display basic information about the remote.
The data blocks transmitted via UDP are protected against loss with a Cauchy MDS block erasure codec. This makes the transmission more robust in particular with WiFi links.
@ -223,6 +225,8 @@ Note that this plugin does not require any of the hardware support libraries nor
<h2>SDRdaemon transmitter output</h2>
Linux only.
The [SDRdaemon sink output plugin](https://github.com/f4exb/sdrangel/tree/dev/plugins/samplesink/sdrdaemonsink) is the client side of and instance of SDRangel running the Daemon Source channel plugin. On the "Data" line you must specify the distant address and UDP port to which the plugin connects and samples from the SDRangel application will flow into the transmitter server (default is `127.0.0.1`port `9090`). The remote is entirely controlled by the REST API. On the "API" line you can specify the address and port at which the remote REST API listens. The API is pinged regularly to retrieve the status of the data blocks queue and allow rate control to stabilize the queue length. Therefore it is important to connect to the API properly (The status line must return "API OK" and the API label should be lit in green).
The data blocks sent via UDP are protected against loss with a Cauchy MDS block erasure codec. This makes the transmission more robust in particular with WiFi links.

Wyświetl plik

@ -10,6 +10,8 @@ The distant SDRangel instance to which the data stream is sent is controlled via
The sample size used in the I/Q stream is the Rx sample size of the local instance. Possible conversion takes place in the distant Daemon source channel plugin to match the Rx sample size of the distant instance. Best performace is obtained when both instances use the same sample size.
It is present only in Linux binary releases.
<h2>Build</h2>
The plugin will be built only if the [CM256cc library](https://github.com/f4exb/cm256cc) is installed in your system. For CM256cc library you will have to specify the include and library paths on the cmake command line. Say if you install cm256cc in `/opt/install/cm256cc` you will have to add `-DCM256CC_INCLUDE_DIR=/opt/install/cm256cc/include/cm256cc -DCM256CC_LIBRARIES=/opt/install/cm256cc/lib/libcm256cc.so` to the cmake commands.

Wyświetl plik

@ -474,14 +474,15 @@ void SDRdaemonSinkOutput::networkManagerFinished(QNetworkReply *reply)
void SDRdaemonSinkOutput::analyzeApiReply(const QJsonObject& jsonObject)
{
if (!m_sdrDaemonSinkThread) {
return;
}
if (jsonObject.contains("DaemonSourceReport"))
{
QJsonObject report = jsonObject["DaemonSourceReport"].toObject();
m_centerFrequency = report["deviceCenterFreq"].toInt() * 1000;
if (!m_sdrDaemonSinkThread) {
return;
}
int queueSize = report["queueSize"].toInt();
queueSize = queueSize == 0 ? 10 : queueSize;
int queueLength = report["queueLength"].toInt();

Wyświetl plik

@ -12,6 +12,8 @@ The distant SDRangel instance that sends the data stream is controlled via its R
A sample size conversion takes place if the stream sample size sent by the distant instance and the Rx sample size of the local instance do not match (i.e. 16 to 24 bits or 24 to 16 bits). Best performace is obtained when both instances use the same sample size.
It is present only in Linux binary releases.
<h2>Build</h2>
The plugin will be built only if the [CM256cc library](https://github.com/f4exb/cm256cc) is installed in your system. For CM256cc library you will have to specify the include and library paths on the cmake command line. Say if you install cm256cc in `/opt/install/cm256cc` you will have to add `-DCM256CC_INCLUDE_DIR=/opt/install/cm256cc/include/cm256cc -DCM256CC_LIBRARIES=/opt/install/cm256cc/lib/libcm256cc.so` to the cmake commands.