Skip to content

Commit

Permalink
updates for release v1.15
Browse files Browse the repository at this point in the history
- built-in http server
- beta phase removed for script functionality
- board calibration can be applied from the software
- channels are no longer fixed to 1 & 2
  • Loading branch information
dpscience committed Apr 30, 2021
1 parent 4f5aec9 commit 83fa933
Show file tree
Hide file tree
Showing 50 changed files with 3,847 additions and 1,257 deletions.
5 changes: 5 additions & 0 deletions CPUUsage/drs4cpuusage.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,11 @@ float DRS4CPUUsageManager::releaseCPULoad()
return percent * 100;
}

float DRS4CPUUsageManager::avgCPULoad()
{
return m_avgCPUUsage;
}

void DRS4CPUUsageManager::start(int intervalInMilliseconds)
{
if (intervalInMilliseconds != -1)
Expand Down
4 changes: 2 additions & 2 deletions CPUUsage/drs4cpuusage.h
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,8 @@ public slots:
static DRS4CPUUsageManager *sharedInstance();

int interval() const;
float releaseCPULoad();
float avgCPULoad();

signals:
void cpu(int);
Expand All @@ -87,8 +89,6 @@ private slots:
DRS4CPUUsageManager(QObject *parent = DNULLPTR);
virtual ~DRS4CPUUsageManager();

float releaseCPULoad();

QTimer m_timer;
int m_interval;

Expand Down
19 changes: 15 additions & 4 deletions DDRS4PALS.pro
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ QT += core gui concurrent script printsupport network

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = DDRS4PALS_1_0_14
TARGET = DDRS4PALS_1_0_15
TEMPLATE = app

RC_FILE = softwareIcon.rc
Expand Down Expand Up @@ -108,7 +108,11 @@ SOURCES += main.cpp\
CPUUsage/drs4cpuusage.cpp \
GUI/drs4doublespinbox.cpp \
GUI/drs4spinbox.cpp \
GUI/drs4licensetextbox.cpp
GUI/drs4licensetextbox.cpp \
GUI/drs4boardcalibrationdlg.cpp \
WebServer/drs4webserver.cpp \
GUI/drs4httpserverconfigdlg.cpp \
GUI/drs4blinkinglight.cpp

HEADERS += DRS/drs507/DRS.h \
DRS/drs507/averager.h\
Expand Down Expand Up @@ -149,7 +153,11 @@ HEADERS += DRS/drs507/DRS.h \
CPUUsage/drs4cpuusage.h \
GUI/drs4doublespinbox.h \
GUI/drs4spinbox.h \
GUI/drs4licensetextbox.h
GUI/drs4licensetextbox.h \
GUI/drs4boardcalibrationdlg.h \
WebServer/drs4webserver.h \
GUI/drs4httpserverconfigdlg.h \
GUI/drs4blinkinglight.h

FORMS += GUI/drs4scopedlg.ui \
GUI/drs4addinfodlg.ui \
Expand All @@ -161,7 +169,10 @@ FORMS += GUI/drs4scopedlg.ui \
GUI/drs4pulsesaverangedlg.ui \
GUI/drs4calculatordlg.ui \
GUI/drs4cfdalgorithmdlg.ui \
GUI/drs4licensetextbox.ui
GUI/drs4licensetextbox.ui \
GUI/drs4boardcalibrationdlg.ui \
GUI/drs4httpserverconfigdlg.ui \
GUI/drs4blinkinglight.ui

win32:CONFIG(release, debug|release): LIBS += -L$$PWD/lib/ -llibusb-1.0
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/lib/ -llibusb-1.0
Expand Down
4 changes: 2 additions & 2 deletions GUI/drs4addinfodlg.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -81,12 +81,12 @@ void DRS4AddInfoDlg::setAddInfo(const QString &info)
QMutexLocker locker(&m_mutex);

ui->textBrowser_addInfo->clear();
ui->textBrowser_addInfo->setHtml(info);
ui->textBrowser_addInfo->setText(info);
}

QString DRS4AddInfoDlg::getInfo() const
{
return ui->textBrowser_addInfo->toHtml();
return ui->textBrowser_addInfo->toPlainText();
}

void DRS4AddInfoDlg::updateText()
Expand Down
92 changes: 92 additions & 0 deletions GUI/drs4blinkinglight.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
#include "drs4blinkinglight.h"
#include "ui_drs4blinkinglight.h"

DRS4BlinkingLight::DRS4BlinkingLight(QWidget *parent) :
QWidget(parent),
ui(new Ui::DRS4BlinkingLight) {
ui->setupUi(this);
}

DRS4BlinkingLight::~DRS4BlinkingLight() {
DDELETE_SAFETY(ui);
}

void DRS4BlinkingLight::setActive(bool active, const QString &msg, int interval) {
if (active) {
ui->frame_light->start(interval);
ui->label_msg->setText(msg);
ui->label_msg->setStyleSheet("color: green");
}
else {
ui->frame_light->stop();
ui->label_msg->setText(msg);
ui->label_msg->setStyleSheet("color: red");
}
}

void DRS4BlinkingLight::resizeEvent(QResizeEvent *event) {
const int newHeight = ui->label_msg->geometry().height();

ui->frame_light->setMaximumSize(newHeight, newHeight);
ui->frame_light->setMinimumSize(newHeight, newHeight);

QWidget::resizeEvent(event);
}

void DRS4BlinkingLight::mouseReleaseEvent(QMouseEvent *event) {
emit clicked();

QWidget::mouseReleaseEvent(event);
}

DRS4CircleFrame::DRS4CircleFrame(QWidget *parent) :
QFrame(parent) {
m_pen_active.setBrush(QBrush(Qt::darkGreen));
m_pen_transparent.setBrush(Qt::transparent);
m_pen_inactive.setBrush(Qt::red);

m_pen = m_pen_transparent;
}

DRS4CircleFrame::~DRS4CircleFrame() {}

void DRS4CircleFrame::start(int interval) {
connect(&m_timer, SIGNAL(timeout()), this, SLOT(blink()));

m_timer.setInterval(interval);
m_timer.start();

m_pen = m_pen_active;

update();
}

void DRS4CircleFrame::stop() {
m_timer.stop();
disconnect(&m_timer, SIGNAL(timeout()), this, SLOT(blink()));

m_pen = m_pen_inactive;

update();
}

void DRS4CircleFrame::blink() {
if (m_pen == m_pen_active)
m_pen = m_pen_transparent;
else
m_pen = m_pen_active;

update();
}

void DRS4CircleFrame::paintEvent(QPaintEvent *event) {
QPainter painter(this);
painter.setPen(m_pen);
painter.setBrush(m_pen.brush());

const int radius = qMin(geometry().height()*0.5, geometry().width()*0.5);

painter.drawEllipse(geometry().width()*0.5, geometry().height()*0.5, radius-1, radius-1);

QFrame::paintEvent(event);
}
66 changes: 66 additions & 0 deletions GUI/drs4blinkinglight.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
#ifndef DRS4BLINKINGLIGHT_H
#define DRS4BLINKINGLIGHT_H

#include <QWidget>
#include <QFrame>
#include <QPaintEvent>
#include <QResizeEvent>
#include <QMouseEvent>
#include <QPen>
#include <QTimer>

#include "dversion.h"
#include "DLib.h"

namespace Ui {
class DRS4BlinkingLight;
}

class DRS4CircleFrame : public QFrame {
Q_OBJECT

public:
explicit DRS4CircleFrame(QWidget *parent = DNULLPTR);
virtual ~DRS4CircleFrame();

public slots:
void start(int interval);
void stop();

private slots:
void blink();

protected:
virtual void paintEvent(QPaintEvent *event);

private:
QPen m_pen;
QPen m_pen_active;
QPen m_pen_transparent;
QPen m_pen_inactive;

QTimer m_timer;
};

class DRS4BlinkingLight : public QWidget {
Q_OBJECT

public:
explicit DRS4BlinkingLight(QWidget *parent = DNULLPTR);
virtual ~DRS4BlinkingLight();

public slots:
void setActive(bool active, const QString& msg = "your message", int interval = 500);

protected:
virtual void resizeEvent(QResizeEvent *event);
virtual void mouseReleaseEvent(QMouseEvent *event);

signals:
void clicked();

private:
Ui::DRS4BlinkingLight *ui;
};

#endif // DRS4BLINKINGLIGHT_H
56 changes: 56 additions & 0 deletions GUI/drs4blinkinglight.ui
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>DRS4BlinkingLight</class>
<widget class="QWidget" name="DRS4BlinkingLight">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>266</width>
<height>80</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="DRS4CircleFrame" name="frame_light">
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_msg">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>DRS4CircleFrame</class>
<extends>QFrame</extends>
<header location="global">GUI/drs4blinkinglight.h</header>
<container>1</container>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>
Loading

0 comments on commit 83fa933

Please sign in to comment.