1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-11-28 10:48:57 -05:00

Compare commits

...

6 Commits

Author SHA1 Message Date
Edouard Griffiths
a9fb5b91ec
Merge pull request #1032 from srcejon/rtlsdr_biastee
RTLSDR: Restore biasT widget state in displaySettings
2021-11-02 00:51:49 +01:00
Edouard Griffiths
1a31504c87
Merge pull request #1030 from srcejon/remoteinput_api_port_fix
RemoteInput
2021-11-01 22:05:13 +01:00
Edouard Griffiths
c4a886abe2
Merge pull request #1029 from srcejon/fix_1028
Fix for #1028 - allow API to bind to any address
2021-11-01 21:04:35 +01:00
Jon Beniston
0d3d02681c RTLSDR: Report biasT widget state in displaySettings 2021-11-01 11:16:58 +00:00
Jon Beniston
499b051f38 RemoteInput
Set default value of API port to 8091, as used elsewhere.
Fix spelling mistakes in readme.
Update tooltip to clarify data address is for reception.
2021-11-01 10:50:42 +00:00
Jon Beniston
c13943bfbb Fix for 1028 - allow API to bind to any address 2021-11-01 09:51:50 +00:00
6 changed files with 25 additions and 24 deletions

View File

@ -2,7 +2,7 @@
<h2>Introduction</h2>
This input sample source plugin gets its samples over tbe network from a SDRangel instance's Remote channel sink using UDP connection.
This input sample source plugin gets its samples over the network from a SDRangel instance's Remote channel sink using UDP connection.
Forward Error Correction with a Cauchy MDS block erasure codec is used to prevent block loss. This can make the UDP transmission more robust particularly over WiFi links.
@ -10,9 +10,7 @@ Please note that there is no provision for handling out of sync UDP blocks. It i
The remote SDRangel instance that sends the data stream is controlled via its REST API using a separate control software for example [SDRangelcli](https://github.com/f4exb/sdrangelcli)
A sample size conversion takes place if the stream sample size sent by the remote 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.
A sample size conversion takes place if the stream sample size sent by the remote 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 performance is obtained when both instances use the same sample size.
<h2>Build</h2>
@ -70,7 +68,7 @@ This is the current timestamp of the block of data sent from the receiver. It is
There are two gauges separated by a dot in the center. Ideally these gauges should not display any value thus read and write pointers are always half a buffer apart. However due to the fact that a whole frame is reconstructed at once up to ~10% variation is normal and should appear on the left gauge (write leads).
- The left gauge is the negative gauge. It is the value in percent of buffer size from the write pointer position to the read pointer position when this difference is less than half of a buffer distance. It means that the writes are leading or reads are lagging.
- The right gauge is the positive gauge. It is the value in percent of buffer size of the difference from the read pointer position to the write pointer position when this difference is less than half of a buffer distance. It menas that the writes are lagging or reads are leading.
- The right gauge is the positive gauge. It is the value in percent of buffer size of the difference from the read pointer position to the write pointer position when this difference is less than half of a buffer distance. It means that the writes are lagging or reads are leading.
The system tries to compensate read / write unbalance however at start or when a large stream disruption has occurred a delay of a few tens of seconds is necessary before read / write reaches equilibrium.
@ -160,7 +158,7 @@ Local port the remote SDRangel instance sends the data to. Effective when the v
<h4>8.3: Validation button</h4>
When the return key is hit within the interface address (8.2), port (8.3), multicast group address (10) and multicast group join/leave (9) the changes of parameters for data reception are ready for commit and this button turns green. You then push this button to commt the changes.
When the return key is hit within the interface address (8.2), port (8.3), multicast group address (10) and multicast group join/leave (9) the changes of parameters for data reception are ready for commit and this button turns green. You then push this button to commit the changes.
<h3>9: Join or leave multicast group</h3>

View File

@ -726,7 +726,7 @@
</size>
</property>
<property name="toolTip">
<string>Local network interface IPv4 address</string>
<string>Local network interface IPv4 address for data reception</string>
</property>
<property name="inputMask">
<string>000.000.000.000</string>

View File

@ -26,7 +26,7 @@ RemoteInputSettings::RemoteInputSettings()
void RemoteInputSettings::resetToDefaults()
{
m_apiAddress = "127.0.0.1";
m_apiPort = 9091;
m_apiPort = 8091;
m_dataAddress = "127.0.0.1";
m_dataPort = 9090;
m_multicastAddress = "224.0.0.1";
@ -76,9 +76,9 @@ bool RemoteInputSettings::deserialize(const QByteArray& data)
d.readString(3, &m_multicastAddress, "224.0.0.1");
d.readBool(4, &m_multicastJoin, false);
d.readString(5, &m_apiAddress, "127.0.0.1");
d.readU32(6, &uintval, 9090);
d.readU32(6, &uintval, 8091);
m_apiPort = uintval % (1<<16);
d.readU32(7, &uintval, 9091);
d.readU32(7, &uintval, 9090);
m_dataPort = uintval % (1<<16);
d.readString(8, &m_dataAddress, "127.0.0.1");
d.readBool(9, &m_dcBlock, false);

View File

@ -299,6 +299,7 @@ void RTLSDRGui::displaySettings()
ui->agc->setChecked(m_settings.m_agc);
ui->lowSampleRate->setChecked(m_settings.m_lowSampleRate);
ui->offsetTuning->setChecked(m_settings.m_offsetTuning);
ui->biasT->setChecked(m_settings.m_biasTee);
}
void RTLSDRGui::sendSettings()

View File

@ -26,7 +26,7 @@ MainParser::MainParser() :
m_serverAddressOption(QStringList() << "a" << "api-address",
"Web API server address.",
"address",
"127.0.0.1"),
""),
m_serverPortOption(QStringList() << "p" << "api-port",
"Web API server port.",
"port",
@ -36,7 +36,7 @@ MainParser::MainParser() :
"file",
"")
{
m_serverAddress = "127.0.0.1";
m_serverAddress = ""; // Bind to any address
m_serverPort = 8091;
m_mimoSupport = false;
m_fftwfWindowFileName = "";
@ -63,18 +63,20 @@ void MainParser::parse(const QCoreApplication& app)
// server address
QString serverAddress = m_parser.value(m_serverAddressOption);
if (!serverAddress.isEmpty())
{
QString ipRange = "(?:[0-1]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])";
QRegExp ipRegex ("^" + ipRange
+ "\\." + ipRange
+ "\\." + ipRange
+ "\\." + ipRange + "$");
QRegExpValidator ipValidator(ipRegex);
QString ipRange = "(?:[0-1]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])";
QRegExp ipRegex ("^" + ipRange
+ "\\." + ipRange
+ "\\." + ipRange
+ "\\." + ipRange + "$");
QRegExpValidator ipValidator(ipRegex);
if (ipValidator.validate(serverAddress, pos) == QValidator::Acceptable) {
m_serverAddress = serverAddress;
} else {
qWarning() << "MainParser::parse: server address invalid. Defaulting to " << m_serverAddress;
if (ipValidator.validate(serverAddress, pos) == QValidator::Acceptable) {
m_serverAddress = serverAddress;
} else {
qWarning() << "MainParser::parse: server address invalid. Defaulting to any address.";
}
}
// server port

View File

@ -2191,7 +2191,7 @@ void MainWindow::deleteFeature(int featureSetIndex, int featureIndex)
void MainWindow::on_action_About_triggered()
{
AboutDialog dlg(m_apiHost, m_apiPort, m_mainCore->m_settings, this);
AboutDialog dlg(m_apiHost.isEmpty() ? "127.0.0.1" : m_apiHost, m_apiPort, m_mainCore->m_settings, this);
dlg.exec();
}