1
0
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:
f4exb
2019-07-07 00:33:00 +02:00
parent 892493d92a
commit 7fcc24e06c
25 changed files with 216 additions and 217 deletions
@@ -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:
@@ -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;
@@ -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,