mirror of
https://github.com/f4exb/sdrangel.git
synced 2026-06-07 00:14:49 -04:00
FileSource input: renaming of settings and report
This commit is contained in:
@@ -4,14 +4,14 @@ set(filesource_SOURCES
|
||||
filesourceinput.cpp
|
||||
filesourceplugin.cpp
|
||||
filesourcethread.cpp
|
||||
filesourcesettings.cpp
|
||||
filesourceinputsettings.cpp
|
||||
)
|
||||
|
||||
set(filesource_HEADERS
|
||||
filesourceinput.h
|
||||
filesourceplugin.h
|
||||
filesourcethread.h
|
||||
filesourcesettings.h
|
||||
filesourceinputsettings.h
|
||||
)
|
||||
|
||||
include_directories(
|
||||
|
||||
@@ -242,7 +242,7 @@ void FileSourceGui::displaySettings()
|
||||
{
|
||||
blockApplySettings(true);
|
||||
ui->playLoop->setChecked(m_settings.m_loop);
|
||||
ui->acceleration->setCurrentIndex(FileSourceSettings::getAccelerationIndex(m_settings.m_accelerationFactor));
|
||||
ui->acceleration->setCurrentIndex(FileSourceInputSettings::getAccelerationIndex(m_settings.m_accelerationFactor));
|
||||
blockApplySettings(false);
|
||||
}
|
||||
|
||||
@@ -335,7 +335,7 @@ void FileSourceGui::on_acceleration_currentIndexChanged(int index)
|
||||
{
|
||||
if (m_doApplySettings)
|
||||
{
|
||||
m_settings.m_accelerationFactor = FileSourceSettings::getAccelerationValue(index);
|
||||
m_settings.m_accelerationFactor = FileSourceInputSettings::getAccelerationValue(index);
|
||||
FileSourceInput::MsgConfigureFileSource *message = FileSourceInput::MsgConfigureFileSource::create(m_settings, false);
|
||||
m_sampleSource->getInputMessageQueue()->push(message);
|
||||
}
|
||||
@@ -412,7 +412,7 @@ void FileSourceGui::setAccelerationCombo()
|
||||
ui->acceleration->clear();
|
||||
ui->acceleration->addItem(QString("1"));
|
||||
|
||||
for (unsigned int i = 0; i <= FileSourceSettings::m_accelerationMaxScale; i++)
|
||||
for (unsigned int i = 0; i <= FileSourceInputSettings::m_accelerationMaxScale; i++)
|
||||
{
|
||||
QString s;
|
||||
int m = pow(10.0, i);
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
#include "util/messagequeue.h"
|
||||
|
||||
#include "filesourcesettings.h"
|
||||
#include "filesourceinputsettings.h"
|
||||
#include "filesourceinput.h"
|
||||
|
||||
class DeviceUISet;
|
||||
@@ -56,7 +56,7 @@ private:
|
||||
Ui::FileSourceGui* ui;
|
||||
|
||||
DeviceUISet* m_deviceUISet;
|
||||
FileSourceSettings m_settings;
|
||||
FileSourceInputSettings m_settings;
|
||||
bool m_doApplySettings;
|
||||
QTimer m_statusTimer;
|
||||
std::vector<int> m_gains;
|
||||
|
||||
@@ -23,10 +23,9 @@
|
||||
#include <QBuffer>
|
||||
|
||||
#include "SWGDeviceSettings.h"
|
||||
#include "SWGFileSourceSettings.h"
|
||||
#include "SWGFileSourceInputSettings.h"
|
||||
#include "SWGDeviceState.h"
|
||||
#include "SWGDeviceReport.h"
|
||||
#include "SWGFileSourceSettings.h"
|
||||
|
||||
#include "util/simpleserializer.h"
|
||||
#include "dsp/dspcommands.h"
|
||||
@@ -275,7 +274,7 @@ quint64 FileSourceInput::getCenterFrequency() const
|
||||
|
||||
void FileSourceInput::setCenterFrequency(qint64 centerFrequency)
|
||||
{
|
||||
FileSourceSettings settings = m_settings;
|
||||
FileSourceInputSettings settings = m_settings;
|
||||
settings.m_centerFrequency = centerFrequency;
|
||||
|
||||
MsgConfigureFileSource* message = MsgConfigureFileSource::create(m_settings, false);
|
||||
@@ -298,7 +297,7 @@ bool FileSourceInput::handleMessage(const Message& message)
|
||||
if (MsgConfigureFileSource::match(message))
|
||||
{
|
||||
MsgConfigureFileSource& conf = (MsgConfigureFileSource&) message;
|
||||
FileSourceSettings settings = conf.getSettings();
|
||||
FileSourceInputSettings settings = conf.getSettings();
|
||||
applySettings(settings);
|
||||
return true;
|
||||
}
|
||||
@@ -404,7 +403,7 @@ bool FileSourceInput::handleMessage(const Message& message)
|
||||
}
|
||||
}
|
||||
|
||||
bool FileSourceInput::applySettings(const FileSourceSettings& settings, bool force)
|
||||
bool FileSourceInput::applySettings(const FileSourceInputSettings& settings, bool force)
|
||||
{
|
||||
QList<QString> reverseAPIKeys;
|
||||
|
||||
@@ -452,8 +451,8 @@ int FileSourceInput::webapiSettingsGet(
|
||||
QString& errorMessage)
|
||||
{
|
||||
(void) errorMessage;
|
||||
response.setFileSourceSettings(new SWGSDRangel::SWGFileSourceSettings());
|
||||
response.getFileSourceSettings()->init();
|
||||
response.setFileSourceInputSettings(new SWGSDRangel::SWGFileSourceInputSettings());
|
||||
response.getFileSourceInputSettings()->init();
|
||||
webapiFormatDeviceSettings(response, m_settings);
|
||||
return 200;
|
||||
}
|
||||
@@ -465,28 +464,28 @@ int FileSourceInput::webapiSettingsPutPatch(
|
||||
QString& errorMessage)
|
||||
{
|
||||
(void) errorMessage;
|
||||
FileSourceSettings settings = m_settings;
|
||||
FileSourceInputSettings settings = m_settings;
|
||||
|
||||
if (deviceSettingsKeys.contains("fileName")) {
|
||||
settings.m_fileName = *response.getFileSourceSettings()->getFileName();
|
||||
settings.m_fileName = *response.getFileSourceInputSettings()->getFileName();
|
||||
}
|
||||
if (deviceSettingsKeys.contains("accelerationFactor")) {
|
||||
settings.m_accelerationFactor = response.getFileSourceSettings()->getAccelerationFactor();
|
||||
settings.m_accelerationFactor = response.getFileSourceInputSettings()->getAccelerationFactor();
|
||||
}
|
||||
if (deviceSettingsKeys.contains("loop")) {
|
||||
settings.m_loop = response.getFileSourceSettings()->getLoop() != 0;
|
||||
settings.m_loop = response.getFileSourceInputSettings()->getLoop() != 0;
|
||||
}
|
||||
if (deviceSettingsKeys.contains("useReverseAPI")) {
|
||||
settings.m_useReverseAPI = response.getFileSourceSettings()->getUseReverseApi() != 0;
|
||||
settings.m_useReverseAPI = response.getFileSourceInputSettings()->getUseReverseApi() != 0;
|
||||
}
|
||||
if (deviceSettingsKeys.contains("reverseAPIAddress")) {
|
||||
settings.m_reverseAPIAddress = *response.getFileSourceSettings()->getReverseApiAddress();
|
||||
settings.m_reverseAPIAddress = *response.getFileSourceInputSettings()->getReverseApiAddress();
|
||||
}
|
||||
if (deviceSettingsKeys.contains("reverseAPIPort")) {
|
||||
settings.m_reverseAPIPort = response.getFileSourceSettings()->getReverseApiPort();
|
||||
settings.m_reverseAPIPort = response.getFileSourceInputSettings()->getReverseApiPort();
|
||||
}
|
||||
if (deviceSettingsKeys.contains("reverseAPIDeviceIndex")) {
|
||||
settings.m_reverseAPIDeviceIndex = response.getFileSourceSettings()->getReverseApiDeviceIndex();
|
||||
settings.m_reverseAPIDeviceIndex = response.getFileSourceInputSettings()->getReverseApiDeviceIndex();
|
||||
}
|
||||
|
||||
MsgConfigureFileSource *msg = MsgConfigureFileSource::create(settings, force);
|
||||
@@ -535,28 +534,28 @@ int FileSourceInput::webapiReportGet(
|
||||
QString& errorMessage)
|
||||
{
|
||||
(void) errorMessage;
|
||||
response.setFileSourceReport(new SWGSDRangel::SWGFileSourceReport());
|
||||
response.getFileSourceReport()->init();
|
||||
response.setFileSourceInputReport(new SWGSDRangel::SWGFileSourceInputReport());
|
||||
response.getFileSourceInputReport()->init();
|
||||
webapiFormatDeviceReport(response);
|
||||
return 200;
|
||||
}
|
||||
|
||||
void FileSourceInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const FileSourceSettings& settings)
|
||||
void FileSourceInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const FileSourceInputSettings& settings)
|
||||
{
|
||||
response.getFileSourceSettings()->setFileName(new QString(settings.m_fileName));
|
||||
response.getFileSourceSettings()->setAccelerationFactor(settings.m_accelerationFactor);
|
||||
response.getFileSourceSettings()->setLoop(settings.m_loop ? 1 : 0);
|
||||
response.getFileSourceInputSettings()->setFileName(new QString(settings.m_fileName));
|
||||
response.getFileSourceInputSettings()->setAccelerationFactor(settings.m_accelerationFactor);
|
||||
response.getFileSourceInputSettings()->setLoop(settings.m_loop ? 1 : 0);
|
||||
|
||||
response.getFileSourceSettings()->setUseReverseApi(settings.m_useReverseAPI ? 1 : 0);
|
||||
response.getFileSourceInputSettings()->setUseReverseApi(settings.m_useReverseAPI ? 1 : 0);
|
||||
|
||||
if (response.getFileSourceSettings()->getReverseApiAddress()) {
|
||||
*response.getFileSourceSettings()->getReverseApiAddress() = settings.m_reverseAPIAddress;
|
||||
if (response.getFileSourceInputSettings()->getReverseApiAddress()) {
|
||||
*response.getFileSourceInputSettings()->getReverseApiAddress() = settings.m_reverseAPIAddress;
|
||||
} else {
|
||||
response.getFileSourceSettings()->setReverseApiAddress(new QString(settings.m_reverseAPIAddress));
|
||||
response.getFileSourceInputSettings()->setReverseApiAddress(new QString(settings.m_reverseAPIAddress));
|
||||
}
|
||||
|
||||
response.getFileSourceSettings()->setReverseApiPort(settings.m_reverseAPIPort);
|
||||
response.getFileSourceSettings()->setReverseApiDeviceIndex(settings.m_reverseAPIDeviceIndex);
|
||||
response.getFileSourceInputSettings()->setReverseApiPort(settings.m_reverseAPIPort);
|
||||
response.getFileSourceInputSettings()->setReverseApiDeviceIndex(settings.m_reverseAPIDeviceIndex);
|
||||
}
|
||||
|
||||
void FileSourceInput::webapiFormatDeviceReport(SWGSDRangel::SWGDeviceReport& response)
|
||||
@@ -578,42 +577,42 @@ void FileSourceInput::webapiFormatDeviceReport(SWGSDRangel::SWGDeviceReport& res
|
||||
QTime t(0, 0, 0, 0);
|
||||
t = t.addSecs(t_sec);
|
||||
t = t.addMSecs(t_msec);
|
||||
response.getFileSourceReport()->setElapsedTime(new QString(t.toString("HH:mm:ss.zzz")));
|
||||
response.getFileSourceInputReport()->setElapsedTime(new QString(t.toString("HH:mm:ss.zzz")));
|
||||
|
||||
qint64 startingTimeStampMsec = m_startingTimeStamp * 1000LL;
|
||||
QDateTime dt = QDateTime::fromMSecsSinceEpoch(startingTimeStampMsec);
|
||||
dt = dt.addSecs(t_sec);
|
||||
dt = dt.addMSecs(t_msec);
|
||||
response.getFileSourceReport()->setAbsoluteTime(new QString(dt.toString("yyyy-MM-dd HH:mm:ss.zzz")));
|
||||
response.getFileSourceInputReport()->setAbsoluteTime(new QString(dt.toString("yyyy-MM-dd HH:mm:ss.zzz")));
|
||||
|
||||
QTime recordLength(0, 0, 0, 0);
|
||||
recordLength = recordLength.addSecs(m_recordLength);
|
||||
response.getFileSourceReport()->setDurationTime(new QString(recordLength.toString("HH:mm:ss")));
|
||||
response.getFileSourceInputReport()->setDurationTime(new QString(recordLength.toString("HH:mm:ss")));
|
||||
|
||||
response.getFileSourceReport()->setFileName(new QString(m_fileName));
|
||||
response.getFileSourceReport()->setSampleRate(m_sampleRate);
|
||||
response.getFileSourceReport()->setSampleSize(m_sampleSize);
|
||||
response.getFileSourceInputReport()->setFileName(new QString(m_fileName));
|
||||
response.getFileSourceInputReport()->setSampleRate(m_sampleRate);
|
||||
response.getFileSourceInputReport()->setSampleSize(m_sampleSize);
|
||||
}
|
||||
|
||||
void FileSourceInput::webapiReverseSendSettings(QList<QString>& deviceSettingsKeys, const FileSourceSettings& settings, bool force)
|
||||
void FileSourceInput::webapiReverseSendSettings(QList<QString>& deviceSettingsKeys, const FileSourceInputSettings& settings, bool force)
|
||||
{
|
||||
SWGSDRangel::SWGDeviceSettings *swgDeviceSettings = new SWGSDRangel::SWGDeviceSettings();
|
||||
swgDeviceSettings->setDirection(0); // single Rx
|
||||
swgDeviceSettings->setOriginatorIndex(m_deviceAPI->getDeviceSetIndex());
|
||||
swgDeviceSettings->setDeviceHwType(new QString("FileSource"));
|
||||
swgDeviceSettings->setFileSourceSettings(new SWGSDRangel::SWGFileSourceSettings());
|
||||
SWGSDRangel::SWGFileSourceSettings *swgFileSourceSettings = swgDeviceSettings->getFileSourceSettings();
|
||||
swgDeviceSettings->setFileSourceInputSettings(new SWGSDRangel::SWGFileSourceInputSettings());
|
||||
SWGSDRangel::SWGFileSourceInputSettings *swgFileSourceInputSettings = swgDeviceSettings->getFileSourceInputSettings();
|
||||
|
||||
// transfer data that has been modified. When force is on transfer all data except reverse API data
|
||||
|
||||
if (deviceSettingsKeys.contains("accelerationFactor") || force) {
|
||||
swgFileSourceSettings->setAccelerationFactor(settings.m_accelerationFactor);
|
||||
swgFileSourceInputSettings->setAccelerationFactor(settings.m_accelerationFactor);
|
||||
}
|
||||
if (deviceSettingsKeys.contains("loop") || force) {
|
||||
swgFileSourceSettings->setLoop(settings.m_loop);
|
||||
swgFileSourceInputSettings->setLoop(settings.m_loop);
|
||||
}
|
||||
if (deviceSettingsKeys.contains("fileName") || force) {
|
||||
swgFileSourceSettings->setFileName(new QString(settings.m_fileName));
|
||||
swgFileSourceInputSettings->setFileName(new QString(settings.m_fileName));
|
||||
}
|
||||
|
||||
QString deviceSettingsURL = QString("http://%1:%2/sdrangel/deviceset/%3/device/settings")
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
#include <QNetworkRequest>
|
||||
|
||||
#include "dsp/devicesamplesource.h"
|
||||
#include "filesourcesettings.h"
|
||||
#include "filesourceinputsettings.h"
|
||||
|
||||
class QNetworkAccessManager;
|
||||
class QNetworkReply;
|
||||
@@ -42,19 +42,19 @@ public:
|
||||
MESSAGE_CLASS_DECLARATION
|
||||
|
||||
public:
|
||||
const FileSourceSettings& getSettings() const { return m_settings; }
|
||||
const FileSourceInputSettings& getSettings() const { return m_settings; }
|
||||
bool getForce() const { return m_force; }
|
||||
|
||||
static MsgConfigureFileSource* create(const FileSourceSettings& settings, bool force)
|
||||
static MsgConfigureFileSource* create(const FileSourceInputSettings& settings, bool force)
|
||||
{
|
||||
return new MsgConfigureFileSource(settings, force);
|
||||
}
|
||||
|
||||
private:
|
||||
FileSourceSettings m_settings;
|
||||
FileSourceInputSettings m_settings;
|
||||
bool m_force;
|
||||
|
||||
MsgConfigureFileSource(const FileSourceSettings& settings, bool force) :
|
||||
MsgConfigureFileSource(const FileSourceInputSettings& settings, bool force) :
|
||||
Message(),
|
||||
m_settings(settings),
|
||||
m_force(force)
|
||||
@@ -322,7 +322,7 @@ public:
|
||||
private:
|
||||
DeviceAPI *m_deviceAPI;
|
||||
QMutex m_mutex;
|
||||
FileSourceSettings m_settings;
|
||||
FileSourceInputSettings m_settings;
|
||||
std::ifstream m_ifstream;
|
||||
FileSourceThread* m_fileSourceThread;
|
||||
QString m_deviceDescription;
|
||||
@@ -338,10 +338,10 @@ public:
|
||||
|
||||
void openFileStream();
|
||||
void seekFileStream(int seekMillis);
|
||||
bool applySettings(const FileSourceSettings& settings, bool force = false);
|
||||
void webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const FileSourceSettings& settings);
|
||||
bool applySettings(const FileSourceInputSettings& settings, bool force = false);
|
||||
void webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const FileSourceInputSettings& settings);
|
||||
void webapiFormatDeviceReport(SWGSDRangel::SWGDeviceReport& response);
|
||||
void webapiReverseSendSettings(QList<QString>& deviceSettingsKeys, const FileSourceSettings& settings, bool force);
|
||||
void webapiReverseSendSettings(QList<QString>& deviceSettingsKeys, const FileSourceInputSettings& settings, bool force);
|
||||
void webapiReverseSendStartStop(bool start);
|
||||
|
||||
private slots:
|
||||
|
||||
+8
-8
@@ -17,16 +17,16 @@
|
||||
|
||||
#include "util/simpleserializer.h"
|
||||
|
||||
#include "filesourcesettings.h"
|
||||
#include "filesourceinputsettings.h"
|
||||
|
||||
const unsigned int FileSourceSettings::m_accelerationMaxScale = 2;
|
||||
const unsigned int FileSourceInputSettings::m_accelerationMaxScale = 2;
|
||||
|
||||
FileSourceSettings::FileSourceSettings()
|
||||
FileSourceInputSettings::FileSourceInputSettings()
|
||||
{
|
||||
resetToDefaults();
|
||||
}
|
||||
|
||||
void FileSourceSettings::resetToDefaults()
|
||||
void FileSourceInputSettings::resetToDefaults()
|
||||
{
|
||||
m_centerFrequency = 435000000;
|
||||
m_sampleRate = 48000;
|
||||
@@ -39,7 +39,7 @@ void FileSourceSettings::resetToDefaults()
|
||||
m_reverseAPIDeviceIndex = 0;
|
||||
}
|
||||
|
||||
QByteArray FileSourceSettings::serialize() const
|
||||
QByteArray FileSourceInputSettings::serialize() const
|
||||
{
|
||||
SimpleSerializer s(1);
|
||||
s.writeString(1, m_fileName);
|
||||
@@ -53,7 +53,7 @@ QByteArray FileSourceSettings::serialize() const
|
||||
return s.final();
|
||||
}
|
||||
|
||||
bool FileSourceSettings::deserialize(const QByteArray& data)
|
||||
bool FileSourceInputSettings::deserialize(const QByteArray& data)
|
||||
{
|
||||
SimpleDeserializer d(data);
|
||||
|
||||
@@ -91,7 +91,7 @@ bool FileSourceSettings::deserialize(const QByteArray& data)
|
||||
}
|
||||
}
|
||||
|
||||
int FileSourceSettings::getAccelerationIndex(int accelerationValue)
|
||||
int FileSourceInputSettings::getAccelerationIndex(int accelerationValue)
|
||||
{
|
||||
if (accelerationValue <= 1) {
|
||||
return 0;
|
||||
@@ -123,7 +123,7 @@ int FileSourceSettings::getAccelerationIndex(int accelerationValue)
|
||||
return 3*m_accelerationMaxScale + 3;
|
||||
}
|
||||
|
||||
int FileSourceSettings::getAccelerationValue(int accelerationIndex)
|
||||
int FileSourceInputSettings::getAccelerationValue(int accelerationIndex)
|
||||
{
|
||||
if (accelerationIndex <= 0) {
|
||||
return 1;
|
||||
+6
-6
@@ -15,13 +15,13 @@
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>. //
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef PLUGINS_SAMPLESOURCE_FILESOURCE_FILESOURCESETTINGS_H_
|
||||
#define PLUGINS_SAMPLESOURCE_FILESOURCE_FILESOURCESETTINGS_H_
|
||||
#ifndef PLUGINS_SAMPLESOURCE_FILESOURCE_FILESOURCEINPUTSETTINGS_H_
|
||||
#define PLUGINS_SAMPLESOURCE_FILESOURCE_FILESOURCEINPUTSETTINGS_H_
|
||||
|
||||
#include <QString>
|
||||
#include <QByteArray>
|
||||
|
||||
struct FileSourceSettings {
|
||||
struct FileSourceInputSettings {
|
||||
quint64 m_centerFrequency;
|
||||
qint32 m_sampleRate;
|
||||
QString m_fileName;
|
||||
@@ -34,8 +34,8 @@ struct FileSourceSettings {
|
||||
|
||||
static const unsigned int m_accelerationMaxScale; //!< Max power of 10 multiplier to 2,5,10 base ex: 2 -> 2,5,10,20,50,100,200,500,1000
|
||||
|
||||
FileSourceSettings();
|
||||
~FileSourceSettings() {}
|
||||
FileSourceInputSettings();
|
||||
~FileSourceInputSettings() {}
|
||||
|
||||
void resetToDefaults();
|
||||
QByteArray serialize() const;
|
||||
@@ -44,4 +44,4 @@ struct FileSourceSettings {
|
||||
static int getAccelerationValue(int averagingIndex);
|
||||
};
|
||||
|
||||
#endif /* PLUGINS_SAMPLESOURCE_FILESOURCE_FILESOURCESETTINGS_H_ */
|
||||
#endif /* PLUGINS_SAMPLESOURCE_FILESOURCE_FILESOURCEINPUTSETTINGS_H_ */
|
||||
@@ -29,7 +29,7 @@
|
||||
|
||||
const PluginDescriptor FileSourcePlugin::m_pluginDescriptor = {
|
||||
QString("File source input"),
|
||||
QString("4.5.2"),
|
||||
QString("4.11.0"),
|
||||
QString("(c) Edouard Griffiths, F4EXB"),
|
||||
QString("https://github.com/f4exb/sdrangel"),
|
||||
true,
|
||||
|
||||
Reference in New Issue
Block a user