Skip to content

Commit

Permalink
plugins/swiotrefactor: Max14906 tool refactoring.
Browse files Browse the repository at this point in the history
Created diodigitalchannel without .ui file.
I changed the widget layout and implemented the entire functionalities
for the plot.
Also made the widget dockable.

Signed-off-by: andrei.danila <[email protected]>
  • Loading branch information
andreidanila1 committed Mar 26, 2024
1 parent af1b58b commit b6aec78
Show file tree
Hide file tree
Showing 19 changed files with 419 additions and 5,798 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -66,3 +66,4 @@ plugins/adc/include/adcplugin/scopy-adcplugin_export.h
plugins/pqm/include/pqmplugin/scopy-pqmplugin_export.h
plugins/testplugin/include/testplugin/scopy-testplugin_export.h
plugins/testplugin2/include/testplugin2/scopy-testplugin2_export.h
plugins/swiotrefactor/include/swiotrefactor/scopy-swiotrefactor_export.h
1 change: 1 addition & 0 deletions gui/include/gui/stylehelper.h
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@ class SCOPY_GUI_EXPORT StyleHelper : public QObject
static void HoverToolTip(QWidget *w, QString info, QString objectName = "");
static void WarningLabel(QLabel *w, QString objectName = "");
static void NoBackgroundIconButton(QPushButton *w, QIcon icon, QString objectName = "");
static void OrangeWidget(QWidget *w, QString objectName = "");

private:
QMap<QString, QString> colorMap;
Expand Down
13 changes: 13 additions & 0 deletions gui/src/stylehelper.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1263,4 +1263,17 @@ void StyleHelper::NoBackgroundIconButton(QPushButton *w, QIcon icon, QString obj
w->setStyleSheet(style);
}

void StyleHelper::OrangeWidget(QWidget *w, QString objectName)
{
if(!objectName.isEmpty())
w->setObjectName(objectName);
QString style = QString(R"css(
QWidget{
color:&&orange&&
}
)css");
style.replace("&&orange&&", StyleHelper::getColor("CH0"));
w->setStyleSheet(style);
}

#include "moc_stylehelper.cpp"
7 changes: 0 additions & 7 deletions plugins/swiotrefactor/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -66,12 +66,6 @@ else()
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${SCOPY_PLUGIN_BUILD_PATH})
endif()

if(ANDROID)
find_library(QWT_LIBRARIES REQUIRED NAMES qwt_${ANDROID_ABI})
else()
find_library(QWT_LIBRARIES REQUIRED NAMES qwt)
endif()

qt_add_resources(PROJECT_RESOURCES res/resources.qrc ../../resources/resources.qrc)

add_library(${PROJECT_NAME} SHARED ${PROJECT_SOURCES} ${PROJECT_RESOURCES})
Expand All @@ -97,7 +91,6 @@ target_link_libraries(
scopy-gui
scopy-core
scopy-iio-widgets
${QWT_LIBRARIES}
)

set(PLUGIN_NAME ${PROJECT_NAME} PARENT_SCOPE)
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
#ifndef SCOPY_DIOCONTROLLER_H
#define SCOPY_DIOCONTROLLER_H

#include <iio.h>
#include "scopy-swiotrefactor_export.h"
#include <iio.h>
#include <QString>
#include <QThread>
#include <QTimer>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,15 @@
#ifndef SCOPY_DIODIGITALCHANNEL_H
#define SCOPY_DIODIGITALCHANNEL_H

#include "ui_diodigitalchannel.h"
#include "scopy-swiotrefactor_export.h"
#include <QDockWidget>
#include <mutex>
#include <QWidget>
#include <gui/lcdNumber.hpp>
#include <gui/smallOnOffSwitch.h>
#include <gui/plotwidget.h>
#include <gui/generic_menu.hpp>
#include <gui/customSwitch.h>
#include <gui/widgets/menucombo.h>

namespace scopy::swiotrefactor {
class SCOPY_SWIOTREFACTOR_EXPORT DioDigitalChannel : public QWidget
Expand All @@ -37,24 +41,44 @@ class SCOPY_SWIOTREFACTOR_EXPORT DioDigitalChannel : public QWidget

void updateTimeScale(double newMax);
void addDataSample(double value);
const std::vector<std::string> getConfigModes() const;
void setConfigModes(std::vector<std::string> &configModes);
const QStringList getConfigModes() const;
void setConfigModes(QStringList &configModes);
const QString &getSelectedConfigMode() const;
void setSelectedConfigMode(const QString &selectedConfigMode);
void resetSismograph();
void resetPlot();

private:
void connectSignalsAndSlots();

Ui::DioDigitalChannel *ui;
QString m_deviceName;
QString m_deviceType;

std::vector<std::string> m_configModes;
QStringList m_configModes;
QString m_selectedConfigMode;

friend class DioDigitalChannelController;
std::mutex m_mutex;

// plot
PlotWidget *m_plot;
QVector<double> m_yValues;
QVector<double> m_xTime;
PlotChannel *m_plotCh;
int m_timeSpan = 10;

// bottom container
MenuCombo *m_configModesCombo;
MenuCombo *m_currentLimitsCombo;
LcdNumber *m_lcdNumber;
SmallOnOffSwitch *m_valueSwitch;
// top container
QLabel *m_channelName;
QLabel *m_channelType;

void initData();
void initPlot();
QWidget *createBottomContainer(QWidget *parent);
QWidget *createTopContainer(QWidget *parent);
Q_SIGNALS:
void outputValueChanged(bool value);
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,11 @@
#ifndef SCOPY_DIODIGITALCHANNELCONTROLLER_H
#define SCOPY_DIODIGITALCHANNELCONTROLLER_H

#include "diodigitalchannel.h"
#include "scopy-swiotrefactor_export.h"
#include "diodigitalchannel.h"
#include <iio.h>

#include <iioutil/commandqueue.h>
#include <string>

#define ATTR_BUFFER_LEN 200

namespace scopy::swiotrefactor {
class SCOPY_SWIOTREFACTOR_EXPORT DioDigitalChannelController : public QWidget
Expand All @@ -45,17 +42,25 @@ private Q_SLOTS:
void createWriteRawCommand(bool value);
void createWriteTypeCommand(int index);

void readAvailableTypeCmdFinished(scopy::Command *cmd);
void readTypeCmdFinished(scopy::Command *cmd);
void readRawCmdFinished(scopy::Command *cmd);
void readCurrentLimitCmdFinished(scopy::Command *cmd);
void readCurrentLimitAvailableCmdFinished(scopy::Command *cmd);
void writeCurrentLimitCmdFinished(scopy::Command *cmd);
void writeTypeCmdFinished(scopy::Command *cmd);

private:
DioDigitalChannel *m_digitalChannel;

QString m_channelName;
QString m_channelType; // output or input

std::string m_iioAttrAvailableTypes; // iio attribute
std::vector<std::string> m_availableTypes;
QString m_iioAttrAvailableTypes; // iio attribute
QStringList m_availableTypes;

std::string m_iioAttrType; // iio attribute
std::string m_type;
QString m_iioAttrType; // iio attribute
QString m_type;

CommandQueue *m_cmdQueue;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@

#include "scopy-swiotrefactor_export.h"
#include <QWidget>

#include <gui/spinbox_a.hpp>

namespace scopy::swiotrefactor {
Expand All @@ -32,13 +31,11 @@ class SCOPY_SWIOTREFACTOR_EXPORT DioSettingsTab : public QWidget
Q_OBJECT
public:
explicit DioSettingsTab(QWidget *parent = nullptr);

~DioSettingsTab();

double getTimeValue() const;

Q_SIGNALS:

void timeValueChanged(double value);

private:
Expand Down
13 changes: 7 additions & 6 deletions plugins/swiotrefactor/include/swiotrefactor/max14906/max14906.h
Original file line number Diff line number Diff line change
@@ -1,18 +1,19 @@
#ifndef MAX14906_H
#define MAX14906_H

#include "scopy-swiotrefactor_export.h"

#include "diocontroller.h"
#include "diodigitalchannelcontroller.h"
#include "diosettingstab.h"
#include "scopy-swiotrefactor_export.h"
#include <QPushButton>
#include <QWidget>
#include <readerthread.h>
#include <QWidget>
#include <QPushButton>
#include <gui/tooltemplate.h>
#include <gui/widgets/toolbuttons.h>
#include <pluginbase/toolmenuentry.h>
#include <iioutil/commandqueue.h>
#include <iioutil/connection.h>
#include <pluginbase/toolmenuentry.h>

#define MAX_NAME "max14906"
#define MAX14906_POLLING_TIME 1000
Expand Down Expand Up @@ -44,8 +45,8 @@ private Q_SLOTS:
GearBtn *m_gearBtn;

int m_nbDioChannels;
DioController *max14906ToolController;
DioSettingsTab *m_max14906SettingsTab;
DioController *m_max14906ToolController;
DioSettingsTab *m_max14906SettingsTab = nullptr;

QTimer *m_qTimer;

Expand Down

This file was deleted.

Loading

0 comments on commit b6aec78

Please sign in to comment.