1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-11-16 05:11:49 -05:00

SDRdaemon plugin: widen auto skew rate compensation to +/-20%

This commit is contained in:
f4exb 2016-02-22 15:17:44 +01:00
parent aa709b9d5c
commit 501b14d1e7
2 changed files with 8 additions and 4 deletions

View File

@ -109,8 +109,12 @@ Note that this plugin does not require any of the hardware support libraries nor
<h2>SDRdaemon input</h2> <h2>SDRdaemon input</h2>
Warning: this is experimental and not fully debugged yet.
This is the client side of the SDRdaemon server. See the [SDRdaemon](https://github.com/f4exb/sdrdaemon) project in this Github repository. You must specify the address and UDP port to which the 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 receiveng center frequency. This is the client side of the SDRdaemon server. See the [SDRdaemon](https://github.com/f4exb/sdrdaemon) project in this Github repository. You must specify the address and UDP port to which the 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 receiveng center frequency.
There is an automated skew rate compensation in place. During rate readjustemnt streaming is suspended for about one second.
Note that this plugin does not require any of the hardware support libraries nor the libusb library. It is alwasys available in the list of devices as `SDRdaemon[0]` even if no physical device is connected. Note that this plugin does not require any of the hardware support libraries nor the libusb library. It is alwasys available in the list of devices as `SDRdaemon[0]` even if no physical device is connected.
<h1>Software build</h1> <h1>Software build</h1>

View File

@ -271,10 +271,10 @@ uint8_t *SDRdaemonBuffer::readDataChunk()
if (m_readCycles && ((m_writeIndex < m_rawSize / 10) || (m_rawSize - m_writeIndex < m_rawSize / 10))) if (m_readCycles && ((m_writeIndex < m_rawSize / 10) || (m_rawSize - m_writeIndex < m_rawSize / 10)))
{ {
m_skewRate = m_skewRateSum / m_readCycles; m_skewRate = m_skewRateSum / m_readCycles;
if (m_skewRate > 0.04) { if (m_skewRate > 0.2) {
m_skewRate = 0.04; m_skewRate = 0.2;
} else if (m_skewRate < -0.04) { } else if (m_skewRate < -0.2) {
m_skewRate = -0.04; m_skewRate = -0.2;
} }
qDebug("SDRdaemonBuffer::readDataChunk: m_skewRate: %lf", m_skewRate); qDebug("SDRdaemonBuffer::readDataChunk: m_skewRate: %lf", m_skewRate);
} }