diff --git a/sdrbase/ambe/ambeengine.cpp b/sdrbase/ambe/ambeengine.cpp index b132e7182..d0cff37ec 100644 --- a/sdrbase/ambe/ambeengine.cpp +++ b/sdrbase/ambe/ambeengine.cpp @@ -33,7 +33,12 @@ #endif #endif +#include +#include + #include +#include +#include #include "ambeworker.h" #include "ambeengine.h" @@ -42,10 +47,12 @@ AMBEEngine::AMBEEngine() {} AMBEEngine::~AMBEEngine() -{} +{ + qDebug("AMBEEngine::~AMBEEngine: %lu controllers", m_controllers.size()); +} #ifdef __WINDOWS__ -void DVSerialEngine::getComList() +void AMBEEngine::getComList() { m_comList.clear(); m_comList8250.clear(); @@ -100,8 +107,8 @@ void AMBEEngine::getComList() #ifndef __WINDOWS__ void AMBEEngine::register_comport( - std::list& comList, - std::list& comList8250, + std::vector& comList, + std::vector& comList8250, const std::string& dir) { // Get the driver the device is using @@ -123,11 +130,11 @@ void AMBEEngine::register_comport( } void AMBEEngine::probe_serial8250_comports( - std::list& comList, - std::list comList8250) + std::vector& comList, + std::vector comList8250) { struct serial_struct serinfo; - std::list::iterator it = comList8250.begin(); + std::vector::iterator it = comList8250.begin(); // Iterate over all serial8250-devices while (it != comList8250.end()) @@ -177,16 +184,17 @@ std::string AMBEEngine::get_driver(const std::string& tty) } #endif // not Windows -bool AMBEEngine::scan(std::vector& ambeDevices) +void AMBEEngine::scan(std::vector& ambeDevices) { getComList(); - std::list::const_iterator it = m_comList.begin(); + std::vector::const_iterator it = m_comList.begin(); ambeDevices.clear(); while (it != m_comList.end()) { AMBEWorker *worker = new AMBEWorker(); qDebug("AMBEEngine::scan: com: %s", it->c_str()); + if (worker->open(*it)) { ambeDevices.push_back(QString(it->c_str())); @@ -214,6 +222,7 @@ bool AMBEEngine::registerController(const std::string& deviceRef) connect(m_controllers.back().worker, SIGNAL(finished()), m_controllers.back().worker, SLOT(deleteLater())); connect(m_controllers.back().thread, SIGNAL(finished()), m_controllers.back().thread, SLOT(deleteLater())); connect(&m_controllers.back().worker->m_inputMessageQueue, SIGNAL(messageEnqueued()), m_controllers.back().worker, SLOT(handleInputMessages())); + std::this_thread::sleep_for(std::chrono::seconds(1)); m_controllers.back().thread->start(); return true; @@ -224,7 +233,6 @@ bool AMBEEngine::registerController(const std::string& deviceRef) void AMBEEngine::releaseController(const std::string& deviceRef) { - qDebug("AMBEEngine::releaseController"); std::vector::iterator it = m_controllers.begin(); while (it != m_controllers.end()) @@ -237,7 +245,7 @@ void AMBEEngine::releaseController(const std::string& deviceRef) it->worker->m_inputMessageQueue.clear(); it->worker->close(); m_controllers.erase(it); - qDebug() << "DVSerialEngine::releaseController: closed device at: " << it->device.c_str(); + qDebug() << "AMBEEngine::releaseController: closed device at: " << it->device.c_str(); break; } @@ -247,7 +255,6 @@ void AMBEEngine::releaseController(const std::string& deviceRef) void AMBEEngine::releaseAll() { - qDebug("AMBEEngine::releaseAll"); std::vector::iterator it = m_controllers.begin(); while (it != m_controllers.end()) @@ -257,7 +264,7 @@ void AMBEEngine::releaseAll() it->thread->wait(100); it->worker->m_inputMessageQueue.clear(); it->worker->close(); - qDebug() << "DVSerialEngine::release: closed device at: " << it->device.c_str(); + qDebug() << "AMBEEngine::release: closed device at: " << it->device.c_str(); ++it; } @@ -319,3 +326,47 @@ void AMBEEngine::pushMbeFrame( } } } + +QByteArray AMBEEngine::serialize() const +{ + QStringList qDeviceList; + std::vector::const_iterator it = m_controllers.begin(); + + while (it != m_controllers.end()) + { + qDebug("AMBEEngine::serialize: %s", it->device.c_str()); + qDeviceList << QString(it->device.c_str()); + ++it; + } + + QByteArray data; + QDataStream *stream = new QDataStream(&data, QIODevice::WriteOnly); + (*stream) << qDeviceList; + delete stream; + + return data; +} + +bool AMBEEngine::deserialize(const QByteArray& data) +{ + if (data.size() <= 0) + { + qDebug("AMBEEngine::deserialize: invalid or no data"); + return false; + } + + QStringList qDeviceList; + QDataStream *stream = new QDataStream(data); + (*stream) >> qDeviceList; + delete stream; + + releaseAll(); + + for (int i = 0; i < qDeviceList.size(); ++i) + { + qDebug(" AMBEEngine::deserialize: %s", qDeviceList.at(i).toStdString().c_str()); + registerController(qDeviceList.at(i).toStdString()); + } + + return true; +} diff --git a/sdrbase/ambe/ambeengine.h b/sdrbase/ambe/ambeengine.h index 199c9e44c..59c16291f 100644 --- a/sdrbase/ambe/ambeengine.h +++ b/sdrbase/ambe/ambeengine.h @@ -21,11 +21,11 @@ #include #include -#include #include #include #include +#include #include "export.h" @@ -40,7 +40,7 @@ public: AMBEEngine(); ~AMBEEngine(); - bool scan(std::vector& ambeDevices); + void scan(std::vector& ambeDevices); void releaseAll(); int getNbDevices() const { return m_controllers.size(); } //!< number of devices used @@ -57,9 +57,17 @@ public: int upsampling, AudioFifo *audioFifo); + QByteArray serialize() const; + bool deserialize(const QByteArray& data); + private: struct AMBEController { + AMBEController() : + thread(nullptr), + worker(nullptr) + {} + QThread *thread; AMBEWorker *worker; std::string device; @@ -67,14 +75,14 @@ private: #ifndef __WINDOWS__ static std::string get_driver(const std::string& tty); - static void register_comport(std::list& comList, std::list& comList8250, const std::string& dir); - static void probe_serial8250_comports(std::list& comList, std::list comList8250); + static void register_comport(std::vector& comList, std::vector& comList8250, const std::string& dir); + static void probe_serial8250_comports(std::vector& comList, std::vector comList8250); #endif void getComList(); - std::list m_comList; - std::list m_comList8250; std::vector m_controllers; + std::vector m_comList; + std::vector m_comList8250; QMutex m_mutex; }; diff --git a/sdrbase/ambe/ambeworker.cpp b/sdrbase/ambe/ambeworker.cpp index 59fabca85..233b6bf41 100644 --- a/sdrbase/ambe/ambeworker.cpp +++ b/sdrbase/ambe/ambeworker.cpp @@ -200,7 +200,7 @@ void AMBEWorker::noUpsample(short *in, int nbSamplesIn, unsigned char channels) } else { - qDebug("DVSerialWorker::noUpsample: audio buffer is full check its size"); + qDebug("AMBEWorker::noUpsample: audio buffer is full check its size"); } } } diff --git a/sdrbase/dsp/dspengine.cpp b/sdrbase/dsp/dspengine.cpp index 4917d520c..57f1a519d 100644 --- a/sdrbase/dsp/dspengine.cpp +++ b/sdrbase/dsp/dspengine.cpp @@ -155,44 +155,25 @@ DSPDeviceMIMOEngine *DSPEngine::getDeviceMIMOEngineByUID(uint uid) return nullptr; } -#ifdef DSD_USE_SERIALDV -void DSPEngine::setDVSerialSupport(bool support) -{ - if (support) - { - m_dvSerialSupport = m_dvSerialEngine.scan(); - } - else - { - m_dvSerialEngine.release(); - m_dvSerialSupport = false; - } -} -#else -void DSPEngine::setDVSerialSupport(bool support) -{ (void) support; } -#endif - bool DSPEngine::hasDVSerialSupport() { -#ifdef DSD_USE_SERIALDV - return m_dvSerialSupport; -#else - return false; -#endif + return m_ambeEngine.getNbDevices() > 0; } -#ifdef DSD_USE_SERIALDV +void DSPEngine::setDVSerialSupport(bool support) +{ (void) support; } + void DSPEngine::getDVSerialNames(std::vector& deviceNames) { - m_dvSerialEngine.getDevicesNames(deviceNames); -} -#else -void DSPEngine::getDVSerialNames(std::vector& deviceNames) -{ (void) deviceNames; } -#endif + std::vector qDeviceRefs; + m_ambeEngine.getDeviceRefs(qDeviceRefs); + deviceNames.clear(); + + for (std::vector::const_iterator it = qDeviceRefs.begin(); it != qDeviceRefs.end(); ++it) { + deviceNames.push_back(it->toStdString()); + } +} -#ifdef DSD_USE_SERIALDV void DSPEngine::pushMbeFrame( const unsigned char *mbeFrame, int mbeRateIndex, @@ -202,24 +183,5 @@ void DSPEngine::pushMbeFrame( int upsampling, AudioFifo *audioFifo) { - m_dvSerialEngine.pushMbeFrame(mbeFrame, mbeRateIndex, mbeVolumeIndex, channels, useHP, upsampling, audioFifo); + m_ambeEngine.pushMbeFrame(mbeFrame, mbeRateIndex, mbeVolumeIndex, channels, useHP, upsampling, audioFifo); } -#else -void DSPEngine::pushMbeFrame( - const unsigned char *mbeFrame, - int mbeRateIndex, - int mbeVolumeIndex, - unsigned char channels, - bool useHP, - int upsampling, - AudioFifo *audioFifo) -{ - (void) mbeFrame; - (void) mbeRateIndex; - (void) mbeVolumeIndex; - (void) channels; - (void) useHP; - (void) upsampling; - (void) audioFifo; -} -#endif diff --git a/sdrbase/dsp/dspengine.h b/sdrbase/dsp/dspengine.h index 01bd58be8..c28bda5e9 100644 --- a/sdrbase/dsp/dspengine.h +++ b/sdrbase/dsp/dspengine.h @@ -27,9 +27,6 @@ #include "audio/audiooutput.h" #include "audio/audioinput.h" #include "export.h" -#ifdef DSD_USE_SERIALDV -#include "dsp/dvserialengine.h" -#endif #include "ambe/ambeengine.h" class DSPDeviceSourceEngine; @@ -56,6 +53,7 @@ public: void removeLastDeviceMIMOEngine(); AudioDeviceManager *getAudioDeviceManager() { return &m_audioDeviceManager; } + AMBEEngine *getAMBEEngine() { return &m_ambeEngine; } uint32_t getDeviceSourceEnginesNumber() const { return m_deviceSourceEngines.size(); } DSPDeviceSourceEngine *getDeviceSourceEngineByIndex(uint deviceIndex) { return m_deviceSourceEngines[deviceIndex]; } @@ -82,7 +80,6 @@ public: bool useHP, int upsampling, AudioFifo *audioFifo); - AMBEEngine& getAMBEEngine() { return m_ambeEngine; } const QTimer& getMasterTimer() const { return m_masterTimer; } void setMIMOSupport(bool mimoSupport) { m_mimoSupport = mimoSupport; } @@ -101,9 +98,6 @@ private: QTimer m_masterTimer; bool m_dvSerialSupport; bool m_mimoSupport; -#ifdef DSD_USE_SERIALDV - DVSerialEngine m_dvSerialEngine; -#endif AMBEEngine m_ambeEngine; }; diff --git a/sdrbase/resources/webapi/doc/html2/index.html b/sdrbase/resources/webapi/doc/html2/index.html index 8927af033..f0241dcff 100644 --- a/sdrbase/resources/webapi/doc/html2/index.html +++ b/sdrbase/resources/webapi/doc/html2/index.html @@ -707,7 +707,7 @@ margin-bottom: 20px; "description" : "1 if device is to be removed from active list" } }, - "description" : "AMBE devices actibe in the system" + "description" : "AMBE devices active in the system" }; defs.AMBEDevices = { "required" : [ "nbDevices" ], @@ -27046,7 +27046,7 @@ except ApiException as e:
- Generated 2019-07-19T18:33:26.198+02:00 + Generated 2019-07-20T20:43:22.760+02:00
diff --git a/sdrbase/resources/webapi/doc/swagger/swagger.yaml b/sdrbase/resources/webapi/doc/swagger/swagger.yaml index 77a35cf8c..c17a93af0 100644 --- a/sdrbase/resources/webapi/doc/swagger/swagger.yaml +++ b/sdrbase/resources/webapi/doc/swagger/swagger.yaml @@ -1767,7 +1767,7 @@ definitions: $ref: "#/definitions/AMBEDevice" AMBEDevice: - description: "AMBE devices actibe in the system" + description: "AMBE devices active in the system" properties: deviceRef: description: "Serial device name or server address" diff --git a/sdrbase/settings/mainsettings.cpp b/sdrbase/settings/mainsettings.cpp index 1ebdbde0a..66062a442 100644 --- a/sdrbase/settings/mainsettings.cpp +++ b/sdrbase/settings/mainsettings.cpp @@ -3,8 +3,12 @@ #include "settings/mainsettings.h" #include "commands/command.h" +#include "audio/audiodevicemanager.h" +#include "ambe/ambeengine.h" -MainSettings::MainSettings() : m_audioDeviceManager(0) +MainSettings::MainSettings() : + m_audioDeviceManager(nullptr), + m_ambeEngine(nullptr) { resetToDefaults(); qInfo("MainSettings::MainSettings: settings file: format: %d location: %s", getFileFormat(), qPrintable(getFileLocation())); @@ -42,11 +46,14 @@ void MainSettings::load() m_preferences.deserialize(qUncompress(QByteArray::fromBase64(s.value("preferences").toByteArray()))); m_workingPreset.deserialize(qUncompress(QByteArray::fromBase64(s.value("current").toByteArray()))); - if (m_audioDeviceManager) - { + if (m_audioDeviceManager) { m_audioDeviceManager->deserialize(qUncompress(QByteArray::fromBase64(s.value("audio").toByteArray()))); } + if (m_ambeEngine) { + m_ambeEngine->deserialize(qUncompress(QByteArray::fromBase64(s.value("ambe").toByteArray()))); + } + QStringList groups = s.childGroups(); for(int i = 0; i < groups.size(); ++i) @@ -95,11 +102,14 @@ void MainSettings::save() const s.setValue("preferences", qCompress(m_preferences.serialize()).toBase64()); s.setValue("current", qCompress(m_workingPreset.serialize()).toBase64()); - if (m_audioDeviceManager) - { + if (m_audioDeviceManager) { s.setValue("audio", qCompress(m_audioDeviceManager->serialize()).toBase64()); } + if (m_ambeEngine) { + s.setValue("ambe", qCompress(m_ambeEngine->serialize()).toBase64()); + } + QStringList groups = s.childGroups(); for(int i = 0; i < groups.size(); ++i) diff --git a/sdrbase/settings/mainsettings.h b/sdrbase/settings/mainsettings.h index f4c833906..c49bbda3d 100644 --- a/sdrbase/settings/mainsettings.h +++ b/sdrbase/settings/mainsettings.h @@ -2,13 +2,14 @@ #define INCLUDE_SETTINGS_H #include -#include "audio/audiodevicemanager.h" #include "device/deviceuserargs.h" #include "preferences.h" #include "preset.h" #include "export.h" class Command; +class AudioDeviceManager; +class AMBEEngine; class SDRBASE_API MainSettings { public: @@ -63,6 +64,7 @@ public: const AudioDeviceManager *getAudioDeviceManager() const { return m_audioDeviceManager; } void setAudioDeviceManager(AudioDeviceManager *audioDeviceManager) { m_audioDeviceManager = audioDeviceManager; } + void setAMBEEngine(AMBEEngine *ambeEngine) { m_ambeEngine = ambeEngine; } protected: Preferences m_preferences; @@ -73,6 +75,7 @@ protected: typedef QList Commands; Commands m_commands; DeviceUserArgs m_hardwareDeviceUserArgs; + AMBEEngine *m_ambeEngine; }; #endif // INCLUDE_SETTINGS_H diff --git a/sdrbench/parserbench.cpp b/sdrbench/parserbench.cpp index 830fd5e56..adbe3b135 100644 --- a/sdrbench/parserbench.cpp +++ b/sdrbench/parserbench.cpp @@ -24,7 +24,7 @@ ParserBench::ParserBench() : m_testOption(QStringList() << "t" << "test", - "Test type.", + "Test type: decimateii, decimatefi, decimateff, decimateif, decimateinfii, decimatesupii, ambe", "test", "decimateii"), m_nbSamplesOption(QStringList() << "n" << "nb-samples", diff --git a/sdrgui/gui/ambedevicesdialog.cpp b/sdrgui/gui/ambedevicesdialog.cpp index d6e685e32..63c855550 100644 --- a/sdrgui/gui/ambedevicesdialog.cpp +++ b/sdrgui/gui/ambedevicesdialog.cpp @@ -22,7 +22,7 @@ #include "ambedevicesdialog.h" #include "ui_ambedevicesdialog.h" -AMBEDevicesDialog::AMBEDevicesDialog(AMBEEngine& ambeEngine, QWidget* parent) : +AMBEDevicesDialog::AMBEDevicesDialog(AMBEEngine* ambeEngine, QWidget* parent) : QDialog(parent), ui(new Ui::AMBEDevicesDialog), m_ambeEngine(ambeEngine) @@ -40,7 +40,7 @@ AMBEDevicesDialog::~AMBEDevicesDialog() void AMBEDevicesDialog::populateSerialList() { std::vector ambeSerialDevices; - m_ambeEngine.scan(ambeSerialDevices); + m_ambeEngine->scan(ambeSerialDevices); ui->ambeSerialDevices->clear(); std::vector::const_iterator it = ambeSerialDevices.begin(); @@ -53,7 +53,7 @@ void AMBEDevicesDialog::populateSerialList() void AMBEDevicesDialog::refreshInUseList() { std::vector inUseDevices; - m_ambeEngine.getDeviceRefs(inUseDevices); + m_ambeEngine->getDeviceRefs(inUseDevices); ui->ambeDeviceRefs->clear(); std::vector::const_iterator it = inUseDevices.begin(); @@ -80,7 +80,7 @@ void AMBEDevicesDialog::on_importSerial_clicked(bool checked) if (foundItems.size() == 0) { - if (m_ambeEngine.registerController(serialName.toStdString())) + if (m_ambeEngine->registerController(serialName.toStdString())) { ui->ambeDeviceRefs->addItem(serialName); ui->statusText->setText(tr("%1 added").arg(serialName)); @@ -109,7 +109,7 @@ void AMBEDevicesDialog::on_importAllSerial_clicked(bool checked) if (foundItems.size() == 0) { - if (m_ambeEngine.registerController(serialName.toStdString())) + if (m_ambeEngine->registerController(serialName.toStdString())) { ui->ambeDeviceRefs->addItem(serialName); count++; @@ -132,7 +132,7 @@ void AMBEDevicesDialog::on_removeAmbeDevice_clicked(bool checked) } QString deviceName = deviceItem->text(); - m_ambeEngine.releaseController(deviceName.toStdString()); + m_ambeEngine->releaseController(deviceName.toStdString()); ui->statusText->setText(tr("%1 removed").arg(deviceName)); refreshInUseList(); } @@ -151,7 +151,7 @@ void AMBEDevicesDialog::on_clearAmbeList_clicked(bool checked) return; } - m_ambeEngine.releaseAll(); + m_ambeEngine->releaseAll(); ui->ambeDeviceRefs->clear(); ui->statusText->setText("All items released"); } @@ -164,7 +164,7 @@ void AMBEDevicesDialog::on_importAddress_clicked(bool checked) if (foundItems.size() == 0) { - if (m_ambeEngine.registerController(addressAndPort.toStdString())) + if (m_ambeEngine->registerController(addressAndPort.toStdString())) { ui->ambeDeviceRefs->addItem(addressAndPort); ui->statusText->setText(tr("%1 added").arg(addressAndPort)); diff --git a/sdrgui/gui/ambedevicesdialog.h b/sdrgui/gui/ambedevicesdialog.h index dba322820..c0309f395 100644 --- a/sdrgui/gui/ambedevicesdialog.h +++ b/sdrgui/gui/ambedevicesdialog.h @@ -34,7 +34,7 @@ class SDRGUI_API AMBEDevicesDialog : public QDialog { Q_OBJECT public: - explicit AMBEDevicesDialog(AMBEEngine& ambeEngine, QWidget* parent = nullptr); + explicit AMBEDevicesDialog(AMBEEngine* ambeEngine, QWidget* parent = nullptr); ~AMBEDevicesDialog(); private: @@ -42,7 +42,7 @@ private: void refreshInUseList(); Ui::AMBEDevicesDialog* ui; - AMBEEngine& m_ambeEngine; + AMBEEngine* m_ambeEngine; private slots: void on_importSerial_clicked(bool checked); diff --git a/sdrgui/mainwindow.cpp b/sdrgui/mainwindow.cpp index e571e2128..4d523e866 100644 --- a/sdrgui/mainwindow.cpp +++ b/sdrgui/mainwindow.cpp @@ -123,6 +123,7 @@ MainWindow::MainWindow(qtwebapp::LoggerWithFile *logger, const MainParser& parse splash->showStatusMessage("starting...", Qt::white); m_settings.setAudioDeviceManager(m_dspEngine->getAudioDeviceManager()); + m_settings.setAMBEEngine(m_dspEngine->getAMBEEngine()); ui->setupUi(this); createStatusBar(); @@ -1628,48 +1629,6 @@ void MainWindow::on_action_AMBE_triggered() ambeDevicesDialog.exec(); } -void MainWindow::on_action_DV_Serial_triggered(bool checked) -{ - m_dspEngine->setDVSerialSupport(checked); - - if (checked) - { - if (m_dspEngine->hasDVSerialSupport()) - { - std::vector deviceNames; - m_dspEngine->getDVSerialNames(deviceNames); - - if (deviceNames.size() == 0) - { - QMessageBox::information(this, tr("Message"), tr("No DV serial devices found")); - qDebug("MainWindow::on_action_DV_Serial_triggered: No DV serial devices found"); - } - else - { - std::vector::iterator it = deviceNames.begin(); - std::string deviceNamesStr = "DV Serial devices found: "; - - while (it != deviceNames.end()) - { - if (it != deviceNames.begin()) { - deviceNamesStr += ","; - } - - deviceNamesStr += *it; - ++it; - } - - QMessageBox::information(this, tr("Message"), tr(deviceNamesStr.c_str())); - } - } - else - { - QMessageBox::information(this, tr("Message"), tr("No DV serial support")); - qDebug("MainWindow::on_action_DV_Serial_triggered: No DV serial support"); - } - } -} - void MainWindow::sampleSourceChanged() { // Do it in the currently selected source tab diff --git a/sdrgui/mainwindow.h b/sdrgui/mainwindow.h index 36117af86..a091e754c 100644 --- a/sdrgui/mainwindow.h +++ b/sdrgui/mainwindow.h @@ -380,7 +380,6 @@ private slots: void on_action_Audio_triggered(); void on_action_Logging_triggered(); void on_action_AMBE_triggered(); - void on_action_DV_Serial_triggered(bool checked); void on_action_My_Position_triggered(); void on_action_DeviceUserArguments_triggered(); void sampleSourceChanged(); diff --git a/sdrgui/mainwindow.ui b/sdrgui/mainwindow.ui index e1c4aa248..5f1ef57eb 100644 --- a/sdrgui/mainwindow.ui +++ b/sdrgui/mainwindow.ui @@ -64,7 +64,7 @@ 0 0 1012 - 19 + 20 @@ -126,7 +126,6 @@ - diff --git a/sdrsrv/maincore.cpp b/sdrsrv/maincore.cpp index 8924b47cb..7e6220777 100644 --- a/sdrsrv/maincore.cpp +++ b/sdrsrv/maincore.cpp @@ -59,6 +59,7 @@ MainCore::MainCore(qtwebapp::LoggerWithFile *logger, const MainParser& parser, Q m_instance = this; m_settings.setAudioDeviceManager(m_dspEngine->getAudioDeviceManager()); + m_settings.setAMBEEngine(m_dspEngine->getAMBEEngine()); m_pluginManager = new PluginManager(this); m_pluginManager->loadPlugins(QString("pluginssrv")); diff --git a/swagger/sdrangel/api/swagger/swagger.yaml b/swagger/sdrangel/api/swagger/swagger.yaml index 93d22cf9f..e0d0f221d 100644 --- a/swagger/sdrangel/api/swagger/swagger.yaml +++ b/swagger/sdrangel/api/swagger/swagger.yaml @@ -1767,7 +1767,7 @@ definitions: $ref: "#/definitions/AMBEDevice" AMBEDevice: - description: "AMBE devices actibe in the system" + description: "AMBE devices active in the system" properties: deviceRef: description: "Serial device name or server address" diff --git a/swagger/sdrangel/code/html2/index.html b/swagger/sdrangel/code/html2/index.html index 8927af033..f0241dcff 100644 --- a/swagger/sdrangel/code/html2/index.html +++ b/swagger/sdrangel/code/html2/index.html @@ -707,7 +707,7 @@ margin-bottom: 20px; "description" : "1 if device is to be removed from active list" } }, - "description" : "AMBE devices actibe in the system" + "description" : "AMBE devices active in the system" }; defs.AMBEDevices = { "required" : [ "nbDevices" ], @@ -27046,7 +27046,7 @@ except ApiException as e:
- Generated 2019-07-19T18:33:26.198+02:00 + Generated 2019-07-20T20:43:22.760+02:00
diff --git a/swagger/sdrangel/code/qt5/client/SWGAMBEDevice.h b/swagger/sdrangel/code/qt5/client/SWGAMBEDevice.h index ff70aa138..fad69088b 100644 --- a/swagger/sdrangel/code/qt5/client/SWGAMBEDevice.h +++ b/swagger/sdrangel/code/qt5/client/SWGAMBEDevice.h @@ -13,7 +13,7 @@ /* * SWGAMBEDevice.h * - * AMBE devices actibe in the system + * AMBE devices active in the system */ #ifndef SWGAMBEDevice_H_