diff --git a/Core/modulemessage.cpp b/Core/modulemessage.cpp index 1f938f08da869482b5bfadb0228f51d3460edf8e..f4b5654cfe984c723250926d09046c6bc1dd47d4 100644 --- a/Core/modulemessage.cpp +++ b/Core/modulemessage.cpp @@ -1,5 +1,7 @@ #include "modulemessage.h" +#include <QDateTime> + ModuleMessage::ModuleMessage() { setTimestamp(QDateTime::currentDateTime()); @@ -142,6 +144,17 @@ bool ModuleMessage::getFloatPayload(float &value) const return false; } +QString ModuleMessage::toString() const +{ + QString line = QDateTime::currentDateTime().toString("hh.mm.ss (zzz): ") + "(Topic) " + this->originalTopic() + " -> " + this->payload() + " (payload)"; + auto i = this->getOptions().attributesIterator(); + while(i.hasNext()){ + i.next(); + line = line + ", " + i.value() + " ("+i.key()+")"; + } + return line; +} + void ModuleMessage::copy(const ModuleMessage &msg) { setPayload(msg.payload()); diff --git a/Core/modulemessage.h b/Core/modulemessage.h index bc9a8878cf9523a2366a15431178e99f588a7e17..d5877f886dab1f2220ac917613c8b0f52d30a94b 100644 --- a/Core/modulemessage.h +++ b/Core/modulemessage.h @@ -49,6 +49,8 @@ public: bool getFloatPayload(float &value) const; + QString toString() const; + private: void copy(const ModuleMessage &msg); diff --git a/Modules/FileStream/filestreammodule.cpp b/Modules/FileStream/filestreammodule.cpp new file mode 100644 index 0000000000000000000000000000000000000000..2be76fa2467a91208cfe6553fe32f4484a9315ab --- /dev/null +++ b/Modules/FileStream/filestreammodule.cpp @@ -0,0 +1,205 @@ +#include "filestreammodule.h" +#include "ui_filestreammodule.h" + +#include "Core/modulemessagesbroker.h" +#include <QDebug> +#include <QMessageBox> +#include "Modules/skywardhubstrings.h" +#include <QDir> +#include <QDesktopServices> +#include <QUrl> + +FileStreamModule::FileStreamModule(QWidget *parent) : DefaultModule(parent), ui(new Ui::FileStreamModule) +{ + ui->setupUi(this); + defaultContextMenuSetup(); + connectUI(); + + ui->filePath_lineEdit->setText(SkywardHubStrings::defaultStreamFile); +} + +FileStreamModule::~FileStreamModule() +{ + if(file.isOpen()) + file.close(); + deleteAllTopicViews(); + delete ui; +} + +QWidget *FileStreamModule::toWidget() +{ + return this; +} + +XmlObject FileStreamModule::toXmlObject() +{ + XmlObject obj(getName(ModuleId::FILESTREAM)); + + if(getFilePath() != "") + obj.addAttribute("FilePath", getFilePath()); + + for(int i = 0; i < topicViewsList.count();i++){ + XmlObject subscription("Subscription"); + subscription.setTextValue(topicViewsList[i]->text().trimmed()); + obj.addChild(subscription); + } + return obj; +} + +void FileStreamModule::fromXmlObject(const XmlObject &xmlObject) +{ + if(xmlObject.getObjectName() == getName(ModuleId::FILESTREAM)){ + + if(xmlObject.hasAttribute("FilePath")){ + ui->filePath_lineEdit->setText(xmlObject.getAttribute("FilePath")); + } + + for(int i = 0; i < xmlObject.childCount(); i++){ + XmlObject child = xmlObject.childAt(i); + if(child.getObjectName() == "Subscription" && child.getTextValue() != ""){ + addTopic(child.getTextValue()); + } + } + } +} + +void FileStreamModule::connectUI() +{ + connect(ui->start_button, &QPushButton::clicked, this, &FileStreamModule::onStartClicked); + connect(ui->stop_button, &QPushButton::clicked, this, &FileStreamModule::onStopClicked); + connect(ui->addTopic_button, &QPushButton::clicked, this, &FileStreamModule::onAddTopicClicked); + connect(ui->showFile_button, &QPushButton::clicked, this, &FileStreamModule::onShowFileClick); +} + +QString FileStreamModule::getFilePath() const +{ + return ui->filePath_lineEdit->text().trimmed(); +} + +QString FileStreamModule::getTopicName() const +{ + return ui->topicName_lineEdit->text().trimmed(); +} + +void FileStreamModule::resetTopicName() +{ + ui->topicName_lineEdit->clear(); +} + +void FileStreamModule::onMsgReceived(const ModuleMessage &msg) +{ + if(file.isOpen() ){ + QTextStream out(&file); + out << msg.toString() << Qt::endl; + } +} + +void FileStreamModule::onAddTopicClicked() +{ + QString topicName = getTopicName(); + resetTopicName(); + if(topicName != ""){ + addTopic(topicName); + } +} + +void FileStreamModule::onStartClicked() +{ + file.setFileName(getFilePath()); + if(!file.open(QIODevice::ReadWrite)){ + QString msg = "FileStream: Error occurred while opening file " + getFilePath(); + QMessageBox msgBox; + msgBox.setText(msg); + msgBox.exec(); + return; + } + + file.resize(0); + disableOnStartElement(); + for(int i = 0; i < topicViewsList.count() ; i++ ){ + getCore()->getModuleMessagesBroker()->subscribe(topicViewsList[i]->text().trimmed(), this, [this](const ModuleMessage &msg){ + onMsgReceived(msg); + }); + topicViewsList[i]->setEnabled(false); + } + +} + +void FileStreamModule::onStopClicked() +{ + if(file.isOpen()) + file.close(); + enableElementOnStop(); + + for(int i = 0; i < topicViewsList.count(); i++ ){ + getCore()->getModuleMessagesBroker()->unsubscribe(topicViewsList[i]->text().trimmed(), this); + topicViewsList[i]->setEnabled(true); + } +} + +void FileStreamModule::onTopicEdit() +{ + for(int i = topicViewsList.count() - 1 ; i >= 0; i-- ){ + if(topicViewsList[i]->text().trimmed() == ""){ + topicViewsList[i]->deleteLater(); + topicViewsList.removeAt(i); + } + } +} + +void FileStreamModule::disableOnStartElement() +{ + ui->start_button->setEnabled(false); + ui->addTopic_button->setEnabled(false); + ui->filePath_lineEdit->setEnabled(false); +} + +void FileStreamModule::enableElementOnStop() +{ + ui->start_button->setEnabled(true); + ui->addTopic_button->setEnabled(true); + ui->filePath_lineEdit->setEnabled(true); + ui->writeOnFile_radioButton->setEnabled(true); +} + +void FileStreamModule::onShowFileClick() +{ + QDir dir(SkywardHubStrings::defaultLogsFolder); + if (dir.exists()){ + QDesktopServices::openUrl( QUrl::fromLocalFile(getFilePath()) ); + } + else{ + QString msg = "The file does not exist." + getFilePath(); + QMessageBox msgBox; + msgBox.setText(msg); + msgBox.exec(); + } +} + +void FileStreamModule::addTopic(const QString &topic) +{ + QLineEdit* topicView = createTopicView(topic); + + topicViewsList.append(topicView); + ui->topics_layout->addWidget(topicView); +} + +QLineEdit *FileStreamModule::createTopicView(const QString &topic) const +{ + QLineEdit* topicView = new QLineEdit(); + topicView->setText(topic); + + connect(topicView, &QLineEdit::textEdited, this, &FileStreamModule::onTopicEdit); + return topicView; +} + +void FileStreamModule::deleteAllTopicViews() +{ + for(int i = 0; i < topicViewsList.count(); i++ ){ + getCore()->getModuleMessagesBroker()->unsubscribe(topicViewsList[i]->text().trimmed(), this); + ui->topics_layout->removeWidget(topicViewsList[i]); + topicViewsList[i]->deleteLater(); + } + topicViewsList.clear(); +} + diff --git a/Modules/FileStream/filestreammodule.h b/Modules/FileStream/filestreammodule.h new file mode 100644 index 0000000000000000000000000000000000000000..74bb8cd0d7de82dcca0232d8a4e05db9294785b6 --- /dev/null +++ b/Modules/FileStream/filestreammodule.h @@ -0,0 +1,57 @@ +#ifndef FILESTREAMMODULE_H +#define FILESTREAMMODULE_H + +#include <QWidget> +#include "Modules/DefaultModule/defaultmodule.h" +#include "Core/modulemessage.h" + +#include <QLineEdit> +#include <QFile> + +namespace Ui { +class FileStreamModule; +} + +class FileStreamModule : public DefaultModule +{ + Q_OBJECT + +public: + explicit FileStreamModule(QWidget *parent = nullptr); + ~FileStreamModule(); + + QWidget *toWidget() override; + + XmlObject toXmlObject() override; + void fromXmlObject(const XmlObject &xmlObject) override; + + +protected: + void connectUI(); + QString getFilePath() const; + QString getTopicName() const; + void resetTopicName(); + void onMsgReceived(const ModuleMessage &msg); + + void onAddTopicClicked(); + void onStartClicked(); + void onStopClicked(); + void onTopicEdit(); + void disableOnStartElement(); + void enableElementOnStop(); + void onFileChanged(); + void onShowFileClick(); + + void addTopic(const QString &topic); + QLineEdit* createTopicView(const QString &topic) const; + + void deleteAllTopicViews(); + +private: + Ui::FileStreamModule *ui; + + QList<QLineEdit*> topicViewsList; + QFile file; +}; + +#endif // FILESTREAMMODULE_H diff --git a/Modules/FileStream/filestreammodule.ui b/Modules/FileStream/filestreammodule.ui new file mode 100644 index 0000000000000000000000000000000000000000..85693220457cc6d9b16ac3231d87d1d4e0186018 --- /dev/null +++ b/Modules/FileStream/filestreammodule.ui @@ -0,0 +1,155 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>FileStreamModule</class> + <widget class="QWidget" name="FileStreamModule"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>508</width> + <height>209</height> + </rect> + </property> + <property name="windowTitle"> + <string>Form</string> + </property> + <layout class="QGridLayout" name="gridLayout"> + <item row="0" column="2"> + <widget class="QScrollArea" name="scrollArea"> + <property name="widgetResizable"> + <bool>true</bool> + </property> + <widget class="QWidget" name="scrollAreaWidgetContents"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>486</width> + <height>187</height> + </rect> + </property> + <layout class="QVBoxLayout" name="verticalLayout_2"> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_2"> + <item> + <widget class="QRadioButton" name="writeOnFile_radioButton"> + <property name="text"> + <string>Write the messages received from the topic into the specified file</string> + </property> + <property name="checked"> + <bool>true</bool> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_4"> + <item> + <widget class="QLineEdit" name="filePath_lineEdit"> + <property name="placeholderText"> + <string>File path</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="showFile_button"> + <property name="text"> + <string>Show</string> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QVBoxLayout" name="topics_layout"> + <item> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <widget class="QLabel" name="label_2"> + <property name="text"> + <string>Topic List </string> + </property> + </widget> + </item> + <item> + <widget class="QLineEdit" name="topicName_lineEdit"> + <property name="placeholderText"> + <string>Topic name</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="addTopic_button"> + <property name="text"> + <string>Add</string> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_3"> + <item> + <widget class="QLabel" name="label_4"> + <property name="text"> + <string>To remove a topic, clear the Line Edit control</string> + </property> + <property name="alignment"> + <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> + </property> + </widget> + </item> + <item> + <spacer name="horizontalSpacer"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QPushButton" name="stop_button"> + <property name="text"> + <string>Stop</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="start_button"> + <property name="text"> + <string>Start</string> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </item> + <item> + <spacer name="verticalSpacer"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>40</height> + </size> + </property> + </spacer> + </item> + </layout> + </widget> + </widget> + </item> + </layout> + </widget> + <resources/> + <connections/> +</ui> diff --git a/Modules/Mavlink/mavlinkmodule.cpp b/Modules/Mavlink/mavlinkmodule.cpp index 16bc1aab5f9581d9cc3c7c81f7f27ff9d4c35efa..94dba2d597e43deb899c4f8c4449e3ba85c4ea85 100644 --- a/Modules/Mavlink/mavlinkmodule.cpp +++ b/Modules/Mavlink/mavlinkmodule.cpp @@ -156,6 +156,11 @@ void MavlinkModule::onStartClicked() if(startReadingOnSerialPort()){ portOpen = true; mavlinkReader.setPortNumber(portNumber); + + if(ui->logEnabled_checkBox->isChecked()){ + mavlinkReader.openLogFile(); + } + mavlinkReader.startAsyncReading(); mavlinkCommandAdapter.setPortNumber(portNumber); //mavlinkReader.startAsyncReadingWithSignal(&serialPort); @@ -213,8 +218,6 @@ void MavlinkModule::updateLinkSignalIndicator(int msgArrived, float ratio) publish(linkQualityMsgRatio); } - - void MavlinkModule::onOpenLogFolderClick() { QDir dir(SkywardHubStrings::defaultLogsFolder); diff --git a/Modules/Mavlink/mavlinkmodule.ui b/Modules/Mavlink/mavlinkmodule.ui index 3b7b057c7f1da0b1104587686de59e51e4e3b635..acaf86a5abee6f296060a57dc7d0ec56651730bf 100644 --- a/Modules/Mavlink/mavlinkmodule.ui +++ b/Modules/Mavlink/mavlinkmodule.ui @@ -196,6 +196,16 @@ <item row="1" column="3"> <widget class="QComboBox" name="comboBox_baudRate"/> </item> + <item row="0" column="6"> + <widget class="QCheckBox" name="logEnabled_checkBox"> + <property name="text"> + <string>Enable Log</string> + </property> + <property name="checked"> + <bool>true</bool> + </property> + </widget> + </item> </layout> </widget> </item> diff --git a/Modules/Mavlink/mavlinkreader.cpp b/Modules/Mavlink/mavlinkreader.cpp index 0c3f6ac4effa340db81372035000594ad2ea7955..9150a1f70ec2fee8057298c081364ef2c45245db 100644 --- a/Modules/Mavlink/mavlinkreader.cpp +++ b/Modules/Mavlink/mavlinkreader.cpp @@ -21,7 +21,6 @@ MavlinkReader::~MavlinkReader() void MavlinkReader::startAsyncReading() { stop = false; - openLogFile(); this->start(); // Chiama run() } diff --git a/Modules/SerialStream/serialstreammodule.cpp b/Modules/SerialStream/serialstreammodule.cpp deleted file mode 100644 index 063be98b42c1610bd3d8c0b4f28c7896d1f9fab1..0000000000000000000000000000000000000000 --- a/Modules/SerialStream/serialstreammodule.cpp +++ /dev/null @@ -1,91 +0,0 @@ -#include "serialstreammodule.h" -#include "ui_serialstreammodule.h" - -#include <QSerialPort> -#include <QSerialPortInfo> - - -SerialStreamModule::SerialStreamModule(QWidget *parent) : DefaultModule(parent), ui(new Ui::SerialStreamModule) -{ - ui->setupUi(this); - defaultContextMenuSetup(); - initializeSerialPortView(); - - connectUiSlots(); - //qRegisterMetaType<ModuleMessage>(); -} - -SerialStreamModule::~SerialStreamModule() -{ - delete ui; -} - -QWidget *SerialStreamModule::toWidget() -{ - return this; -} - -XmlObject SerialStreamModule::toXmlObject() -{ - XmlObject obj(getName(ModuleId::SERIALSTREAM)); - obj.addAttribute("BaudRateIndex",QString::number(ui->comboBox_baudRate->currentIndex())); - return obj; -} - -void SerialStreamModule::fromXmlObject(const XmlObject &xmlObject) -{ - if(xmlObject.getObjectName() == getName(ModuleId::SERIALSTREAM)){ - bool ok; - int index = xmlObject.getAttribute("BaudRateIndex").toInt(&ok); - if(ok){ - ui->comboBox_baudRate->setCurrentIndex(index); - } - } -} - -void SerialStreamModule::initializeSerialPortView() -{ - //fill the baud rate combo box - QString baudPrefix = "BaudRate: "; - ui->comboBox_baudRate->addItem(baudPrefix + "115200", QSerialPort::Baud115200); - ui->comboBox_baudRate->addItem(baudPrefix + "57600", QSerialPort::Baud57600); - ui->comboBox_baudRate->addItem(baudPrefix + "38400", QSerialPort::Baud38400); - ui->comboBox_baudRate->addItem(baudPrefix + "19200", QSerialPort::Baud19200); - ui->comboBox_baudRate->addItem(baudPrefix + "9600", QSerialPort::Baud9600); - ui->comboBox_baudRate->addItem(baudPrefix + "4800", QSerialPort::Baud4800); - ui->comboBox_baudRate->addItem(baudPrefix + "2400", QSerialPort::Baud2400); - ui->comboBox_baudRate->addItem(baudPrefix + "1200", QSerialPort::Baud1200); - - - //Check available port - const auto serialPortInfos = QSerialPortInfo::availablePorts(); - for (const QSerialPortInfo &serialPortInfo : serialPortInfos) { -// QString serialNumber = serialPortInfo.serialNumber(); -// QVariant data = (!serialNumber.isEmpty() ? serialNumber : "N/A"); - QVariant data(serialPortInfo.portName()); - ui->comboBox_serialPort->addItem(serialPortInfo.portName(), data); - } -} - -void SerialStreamModule::connectUiSlots() -{ - connect(ui->button_start,&QPushButton::clicked,this, &SerialStreamModule::onStartClicked); - connect(ui->button_stop,&QPushButton::clicked,this, &SerialStreamModule::onStopClicked); - connect(ui->comboBox_serialPort, SIGNAL(currentIndexChanged(int)), this, SLOT(onSerialPortIndexChanged(int))); -} - -void SerialStreamModule::onStartClicked() -{ - -} - -void SerialStreamModule::onStopClicked() -{ - -} - -void SerialStreamModule::onSerialPortIndexChanged(int index) -{ - QVariant data = ui->comboBox_serialPort->itemData(index); - ui->lineEdit_serialPort->setText(data.toString()); -} diff --git a/Modules/SerialStream/serialstreammodule.h b/Modules/SerialStream/serialstreammodule.h deleted file mode 100644 index e9f495aa0aa56ce72920ca333057a5eabcc87fc8..0000000000000000000000000000000000000000 --- a/Modules/SerialStream/serialstreammodule.h +++ /dev/null @@ -1,38 +0,0 @@ -#ifndef SERIALSTREAMMODULE_H -#define SERIALSTREAMMODULE_H - -#include "Modules/DefaultModule/defaultmodule.h" -#include "Core/modulemessage.h" - -//Q_DECLARE_METATYPE(ModuleMessage); - -namespace Ui { -class SerialStreamModule; -} - -class SerialStreamModule : public DefaultModule -{ - Q_OBJECT - -public: - explicit SerialStreamModule(QWidget *parent = nullptr); - ~SerialStreamModule(); - - QWidget *toWidget() override; - XmlObject toXmlObject() override; - void fromXmlObject(const XmlObject &xmlObject) override; - -protected: - void initializeSerialPortView(); - void connectUiSlots(); - void onStartClicked(); - void onStopClicked(); - -protected slots: - void onSerialPortIndexChanged(int index); - -private: - Ui::SerialStreamModule *ui; -}; - -#endif // SERIALSTREAMMODULE_H diff --git a/Modules/SerialStream/serialstreammodule.ui b/Modules/SerialStream/serialstreammodule.ui deleted file mode 100644 index f941bf8a08b53fa9e7ac530a7d8adc69d968c02b..0000000000000000000000000000000000000000 --- a/Modules/SerialStream/serialstreammodule.ui +++ /dev/null @@ -1,169 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<ui version="4.0"> - <class>SerialStreamModule</class> - <widget class="QWidget" name="SerialStreamModule"> - <property name="geometry"> - <rect> - <x>0</x> - <y>0</y> - <width>405</width> - <height>350</height> - </rect> - </property> - <property name="minimumSize"> - <size> - <width>0</width> - <height>350</height> - </size> - </property> - <property name="windowTitle"> - <string>Form</string> - </property> - <layout class="QVBoxLayout" name="verticalLayout"> - <item> - <spacer name="verticalSpacer"> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>20</width> - <height>40</height> - </size> - </property> - </spacer> - </item> - <item> - <layout class="QHBoxLayout" name="horizontalLayout_2"> - <item> - <widget class="QLabel" name="label_2"> - <property name="text"> - <string>Write Topic</string> - </property> - </widget> - </item> - <item> - <widget class="QLineEdit" name="lineEdit_writeTopic"/> - </item> - <item> - <widget class="QPushButton" name="button_start"> - <property name="text"> - <string>Start Writing</string> - </property> - </widget> - </item> - <item> - <widget class="QPushButton" name="button_stop"> - <property name="text"> - <string>Stop Writing</string> - </property> - </widget> - </item> - </layout> - </item> - <item> - <layout class="QHBoxLayout" name="horizontalLayout_3"> - <item> - <widget class="QLabel" name="label"> - <property name="text"> - <string>Read Topic</string> - </property> - </widget> - </item> - <item> - <widget class="QLineEdit" name="lineEdit_readTopic"/> - </item> - <item> - <widget class="QPushButton" name="pushButton"> - <property name="text"> - <string>Start Reading</string> - </property> - </widget> - </item> - <item> - <widget class="QPushButton" name="pushButton_2"> - <property name="text"> - <string>Stop Reading</string> - </property> - </widget> - </item> - </layout> - </item> - <item> - <layout class="QHBoxLayout" name="horizontalLayout"> - <item> - <widget class="QLabel" name="label_3"> - <property name="text"> - <string>Port</string> - </property> - </widget> - </item> - <item> - <widget class="QComboBox" name="comboBox_serialPort"/> - </item> - <item> - <widget class="QLineEdit" name="lineEdit_serialPort"/> - </item> - <item> - <spacer name="horizontalSpacer"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </item> - <item> - <layout class="QHBoxLayout" name="horizontalLayout_4"> - <item> - <widget class="QComboBox" name="comboBox_baudRate"/> - </item> - <item> - <widget class="QLabel" name="label_4"> - <property name="text"> - <string>Timeout [s]</string> - </property> - </widget> - </item> - <item> - <widget class="QDoubleSpinBox" name="doubleSpinBox"/> - </item> - <item> - <spacer name="horizontalSpacer_2"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </item> - <item> - <spacer name="verticalSpacer_2"> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>20</width> - <height>40</height> - </size> - </property> - </spacer> - </item> - </layout> - </widget> - <resources/> - <connections/> -</ui> diff --git a/Modules/moduleinfo.h b/Modules/moduleinfo.h index 103dd9f015ba733591f9ccdb37fe3f6772e8b987..528d53e8550654b44339bea73b02d7b11db81818 100644 --- a/Modules/moduleinfo.h +++ b/Modules/moduleinfo.h @@ -20,7 +20,7 @@ enum ModuleId{ FSMVIEWER, TREEVIEWER, SCROLLAREA, - SERIALSTREAM, + FILESTREAM, MAVLINK_RCK_TESTING }; diff --git a/Modules/moduleslist.cpp b/Modules/moduleslist.cpp index e3e7c578a321d0bbc50061b66e9dc6d55709d51e..e7d34341b8a7c8c08651cd0517a3ea4e7417c8bc 100644 --- a/Modules/moduleslist.cpp +++ b/Modules/moduleslist.cpp @@ -17,7 +17,7 @@ #include "Modules/Fsm/fsmviewermodule.h" #include "Modules/TreeViewer/treeviewermodule.h" #include "Modules/ScrollArea/scrollareamodule.h" -#include "Modules/SerialStream/serialstreammodule.h" +#include "Modules/FileStream/filestreammodule.h" #include "Modules/Mavlink/mavlinkrocketmsgtestingmodule.h" void ModulesList::createModuleList() @@ -112,7 +112,7 @@ void ModulesList::createModuleList() addModuleInfo(mavlink); #endif - #ifdef SERIALSTREAMMODULE_H + #ifdef MAVLINKROCKETMSGTESTINGMODULE_H ModuleInfo mvkRckTesting(ModuleId::MAVLINK_RCK_TESTING, "MavlinkRocketMsgTesting", ModuleCategory::DEFAULT); mvkRckTesting.setFactory([](){return new MavlinkRocketMsgTestingModule();}); addModuleInfo(mvkRckTesting); @@ -139,11 +139,11 @@ void ModulesList::createModuleList() addModuleInfo(scrollArea); #endif - #ifdef SERIALSTREAMMODULE_H - ModuleInfo serialStream(ModuleId::SERIALSTREAM, "SerialStream", ModuleCategory::DATASOURCE); - serialStream.setFactory([](){return new SerialStreamModule();}); - serialStream.addModuleSourceFiles("Modules/SerialStream/"); - addModuleInfo(serialStream); + #ifdef FILESTREAMMODULE_H + ModuleInfo fileStream(ModuleId::FILESTREAM, "FileStream", ModuleCategory::DATASOURCE); + fileStream.setFactory([](){return new FileStreamModule();}); + fileStream.addModuleSourceFiles("Modules/FileStream/"); + addModuleInfo(fileStream); #endif } diff --git a/Modules/skywardhubstrings.cpp b/Modules/skywardhubstrings.cpp index 8099e019eec3e4994456a0ccf8b18ed9da5e40b8..5c131144431eee8983c10ed9917a77c47a33e348 100644 --- a/Modules/skywardhubstrings.cpp +++ b/Modules/skywardhubstrings.cpp @@ -6,6 +6,7 @@ const QString SkywardHubStrings::defaultConfigurationFolder = "SkywardHubConfig" const QString SkywardHubStrings::defaultSettingsFilePath = defaultConfigurationFolder + "/" + "settings.xml"; const QString SkywardHubStrings::defaultPrefabsFolderName = "Prefabs"; const QString SkywardHubStrings::defaultLogsFolder = defaultConfigurationFolder + "/" + "Logs"; +const QString SkywardHubStrings::defaultStreamFile = defaultConfigurationFolder + "/" + "StreamFile.txt"; const QString SkywardHubStrings::defaultPrefabsFolder = defaultConfigurationFolder + "/" + defaultPrefabsFolderName +"/"; const QString SkywardHubStrings::defaultConfigurationFileName = "default.xml"; const QString SkywardHubStrings::defaultConfigurationIconPath = defaultConfigurationFolder + "/" + "defaultConfigIcon.svg"; diff --git a/Modules/skywardhubstrings.h b/Modules/skywardhubstrings.h index a631c0f4d5fa503b6b286be81f79744f8969c3dd..9d4359699f31f3edca9fa3cfc4bf4d6166e3791c 100644 --- a/Modules/skywardhubstrings.h +++ b/Modules/skywardhubstrings.h @@ -15,6 +15,7 @@ public: static const QString defaultConfigurationFileName; static const QString defaultConfigurationIconPath; static const QString defaultLogsFolder; + static const QString defaultStreamFile; // Xml Tags Name static const QString settingsObjectName; diff --git a/SkywardHub.pro b/SkywardHub.pro index 2fb40d62c8759387e531a73a4e6ec7cf6ddca550..a375acafd0729eb0808dc2847b952ec6340cef31 100644 --- a/SkywardHub.pro +++ b/SkywardHub.pro @@ -20,6 +20,7 @@ SOURCES += \ Modules/CommandPad/telemetryrequestmodule.cpp \ Modules/DefaultModule/defaultmodule.cpp \ Modules/Empty/emptymodule.cpp \ + Modules/FileStream/filestreammodule.cpp \ Modules/Fsm/Model/model.cpp \ Modules/Fsm/Model/scxml.cpp \ Modules/Fsm/Model/state.cpp \ @@ -50,7 +51,6 @@ SOURCES += \ Modules/Mavlink/rs232.c \ Modules/MessageViewer/messagesviewermodule.cpp \ Modules/ScrollArea/scrollareamodule.cpp \ - Modules/SerialStream/serialstreammodule.cpp \ Modules/SkywardHub/deployer.cpp \ Modules/SkywardHub/deployerpathpicker.cpp \ Modules/SkywardHub/prefabdialog.cpp \ @@ -83,6 +83,7 @@ HEADERS += \ Modules/CommandPad/telemetryrequestmodule.h \ Modules/DefaultModule/defaultmodule.h \ Modules/Empty/emptymodule.h \ + Modules/FileStream/filestreammodule.h \ Modules/Fsm/Model/model.h \ Modules/Fsm/Model/scxml.h \ Modules/Fsm/Model/state.h \ @@ -115,7 +116,6 @@ HEADERS += \ Modules/Mavlink/rs232.h \ Modules/MessageViewer/messagesviewermodule.h \ Modules/ScrollArea/scrollareamodule.h \ - Modules/SerialStream/serialstreammodule.h \ Modules/SkywardHub/deployer.h \ Modules/SkywardHub/deployerpathpicker.h \ Modules/SkywardHub/prefabdialog.h \ @@ -139,6 +139,7 @@ FORMS += \ Modules/CommandPad/commandpadmodule.ui \ Modules/CommandPad/telemetryrequestmodule.ui \ Modules/Empty/emptymodule.ui \ + Modules/FileStream/filestreammodule.ui \ Modules/Fsm/View/mainwindow.ui \ Modules/Fsm/View/statedialog.ui \ Modules/Fsm/View/transitiondialog.ui \ @@ -152,7 +153,6 @@ FORMS += \ Modules/Mavlink/mavlinkrocketmsgtestingmodule.ui \ Modules/MessageViewer/messagesviewermodule.ui \ Modules/ScrollArea/scrollareamodule.ui \ - Modules/SerialStream/serialstreammodule.ui \ Modules/SkywardHub/deployerpathpicker.ui \ Modules/SkywardHub/prefabdialog.ui \ Modules/SkywardHub/prefabviewelement.ui \ diff --git a/SkywardHub.pro.user b/SkywardHub.pro.user index 29cabb50dd0a0376e569d59300dfdeec5094e4a8..f0ffb8befa8acb04c535fd7818cc7c6c4fde392c 100644 --- a/SkywardHub.pro.user +++ b/SkywardHub.pro.user @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE QtCreatorProject> -<!-- Written by QtCreator 4.14.2, 2021-07-14T12:55:11. --> +<!-- Written by QtCreator 4.14.2, 2021-07-14T18:16:08. --> <qtcreator> <data> <variable>EnvironmentId</variable>