main
Daniel Gorbea 2021-11-03 22:41:25 -05:00
rodzic 87d4df5d67
commit 860f1a3016
7 zmienionych plików z 37 dodań i 29 usunięć

Plik binarny nie jest wyświetlany.

Wyświetl plik

@ -21,16 +21,14 @@ MainWindow::MainWindow(QWidget* parent)
: QMainWindow(parent) : QMainWindow(parent)
, ui(new Ui::MainWindow), , ui(new Ui::MainWindow),
m_serial(new QSerialPort(this)), m_serial(new QSerialPort(this)),
m_pixmap(new QPixmap(500, 400)), m_pixmap(new QPixmap(520, 250)),
m_paint(new QPainter(m_pixmap)), m_paint(new QPainter(m_pixmap)),
m_ui_settings(new SettingsDialog()), m_ui_settings(new SettingsDialog()),
m_statusLabel(new QLabel()) m_statusLabel(new QLabel())
{ {
ui->setupUi(this); ui->setupUi(this);
ui->lbPic->setMinimumSize(1, 1); ui->lbPic->setMinimumSize(50, 50);
//ui->lbPic->adjustSize();
drawBackground();
ui->lbPic->setPixmap(*m_pixmap); ui->lbPic->setPixmap(*m_pixmap);
statusBar()->addWidget(m_statusLabel); statusBar()->addWidget(m_statusLabel);
m_statusLabel->setText("Disconnected"); m_statusLabel->setText("Disconnected");
@ -52,7 +50,7 @@ MainWindow::MainWindow(QWidget* parent)
ui->cbHdiv->addItem("100us/d"); ui->cbHdiv->addItem("100us/d");
ui->cbHdiv->setItemData(0, 10000); ui->cbHdiv->setItemData(0, 10000);
ui->cbHdiv->setItemData(1, 5000); ui->cbHdiv->setItemData(1, 5000);
ui->cbHdiv->setItemData(2, 100); ui->cbHdiv->setItemData(2, 1000);
ui->cbHdiv->setItemData(3, 500); ui->cbHdiv->setItemData(3, 500);
ui->cbHdiv->setItemData(4, 100); ui->cbHdiv->setItemData(4, 100);
ui->cbHdiv->setCurrentIndex(2); ui->cbHdiv->setCurrentIndex(2);
@ -64,21 +62,20 @@ MainWindow::MainWindow(QWidget* parent)
QMenu *menu = menuBar()->addMenu(tr("&Menu")); QMenu *menu = menuBar()->addMenu(tr("&Menu"));
const QIcon connectIcon = QIcon::fromTheme("connect", QIcon("connect.png")); const QIcon connectIcon = QIcon(":/connect.png");
connectAct = new QAction(connectIcon, tr("&Connect"), this); connectAct = new QAction(connectIcon, tr("&Connect"), this);
menu->addAction(connectAct); menu->addAction(connectAct);
const QIcon disconnectIcon = QIcon(":/disconnect.png");
const QIcon disconnectIcon = QIcon::fromTheme("disconnect", QIcon("disconnect.png"));
disconnectAct = new QAction(disconnectIcon, tr("&Disconnect"), this); disconnectAct = new QAction(disconnectIcon, tr("&Disconnect"), this);
menu->addAction(disconnectAct); menu->addAction(disconnectAct);
menu->addSeparator(); menu->addSeparator();
const QIcon exportIcon = QIcon::fromTheme("export", QIcon("save.png")); const QIcon exportIcon = QIcon(":/save.png");
QAction *exportAct = new QAction(exportIcon, tr("&Export..."), this); QAction *exportAct = new QAction(exportIcon, tr("&Export..."), this);
menu->addAction(exportAct); menu->addAction(exportAct);
const QIcon settingsIcon = QIcon::fromTheme("settings", QIcon("settings.png")); const QIcon settingsIcon = QIcon(":/settings.png");
QAction *settingsAct = new QAction(settingsIcon, tr("&Settings..."), this); QAction *settingsAct = new QAction(settingsIcon, tr("&Settings..."), this);
menu->addAction(settingsAct); menu->addAction(settingsAct);
menu->addSeparator(); menu->addSeparator();
@ -86,7 +83,7 @@ MainWindow::MainWindow(QWidget* parent)
QAction *aboutAct = new QAction(tr("&About"), this); QAction *aboutAct = new QAction(tr("&About"), this);
menu->addAction(aboutAct); menu->addAction(aboutAct);
const QIcon exitIcon = QIcon::fromTheme("exit", QIcon("application-exit.png")); const QIcon exitIcon = QIcon(":/application-exit.png");
QAction *exitAct = new QAction(exitIcon, tr("&Exit"), this); QAction *exitAct = new QAction(exitIcon, tr("&Exit"), this);
menu->addAction(exitAct); menu->addAction(exitAct);
@ -100,8 +97,10 @@ MainWindow::MainWindow(QWidget* parent)
toolBar->addSeparator(); toolBar->addSeparator();
toolBar->addAction(exitAct); toolBar->addAction(exitAct);
#endif #endif
disconnectAct->setEnabled(false); disconnectAct->setEnabled(false);
connect(m_serial, &QSerialPort::readyRead, this, &MainWindow::readData); connect(m_serial, &QSerialPort::readyRead, this, &MainWindow::readData);
connect(connectAct, &QAction::triggered, this, &MainWindow::openSerialPort); connect(connectAct, &QAction::triggered, this, &MainWindow::openSerialPort);
connect(disconnectAct, &QAction::triggered, this, &MainWindow::closeSerialPort); connect(disconnectAct, &QAction::triggered, this, &MainWindow::closeSerialPort);
@ -109,13 +108,15 @@ MainWindow::MainWindow(QWidget* parent)
connect(exportAct, &QAction::triggered, this, &MainWindow::exportData); connect(exportAct, &QAction::triggered, this, &MainWindow::exportData);
connect(aboutAct, &QAction::triggered, this, &MainWindow::about); connect(aboutAct, &QAction::triggered, this, &MainWindow::about);
connect(exitAct, &QAction::triggered, this, &MainWindow::exitApp); connect(exitAct, &QAction::triggered, this, &MainWindow::exitApp);
connect(ui->cbHdiv, &QComboBox::currentIndexChanged, this, &MainWindow::updateHdiv);
connect(ui->cbVdiv, &QComboBox::currentIndexChanged, this, &MainWindow::updateVdiv); connect(ui->cbHdiv, &QComboBox::currentTextChanged, this, &MainWindow::updateHdiv);
connect(ui->cbTriggerType, &QComboBox::currentIndexChanged, this, &MainWindow::updateTriggerType); connect(ui->cbVdiv, &QComboBox::currentTextChanged, this, &MainWindow::updateVdiv);
connect(ui->sbTriggerValue, &QDoubleSpinBox::valueChanged, this, &MainWindow::updateTrigger); connect(ui->cbTriggerType, &QComboBox::currentTextChanged, this, &MainWindow::updateTriggerType);
connect(ui->sbTriggerValue, &QDoubleSpinBox::textChanged, this, &MainWindow::updateTrigger);
connect(m_ui_settings, &SettingsDialog::accepted, this, &MainWindow::refresh); connect(m_ui_settings, &SettingsDialog::accepted, this, &MainWindow::refresh);
qInfo() << QString::number(ui->lbPic->height()) + " " + QString::number(ui->lbPic->width()); ui->lbPic->adjustSize();
drawBackground();
} }
MainWindow::~MainWindow() MainWindow::~MainWindow()
@ -242,7 +243,6 @@ void MainWindow::drawBackground()
float voltPos = (float)ui->slVolt->value() / (ui->slVolt->maximum() - ui->slVolt->minimum()); float voltPos = (float)ui->slVolt->value() / (ui->slVolt->maximum() - ui->slVolt->minimum());
uint16_t yPos = m_pixmap->height() * (5 / volt + (6 - 5 / vDiv) / 6 / 2); uint16_t yPos = m_pixmap->height() * (5 / volt + (6 - 5 / vDiv) / 6 / 2);
m_paint->drawLine(0, yPos + m_pixmap->height() * voltPos, m_pixmap->width(), yPos + m_pixmap->height() * voltPos); m_paint->drawLine(0, yPos + m_pixmap->height() * voltPos, m_pixmap->width(), yPos + m_pixmap->height() * voltPos);
//m_paint->setPen(QColor(0, 0, 0, 123));
m_paint->setPen(QColor(m_ui_settings->m_currentSettings.gridcolor)); m_paint->setPen(QColor(m_ui_settings->m_currentSettings.gridcolor));
for (uint8_t i = 0; i < 6; i++) { // horizontal lines for (uint8_t i = 0; i < 6; i++) { // horizontal lines
@ -257,7 +257,6 @@ void MainWindow::drawBackground()
font.setPixelSize(14); font.setPixelSize(14);
//font.setBold(true); //font.setBold(true);
m_paint->setFont(font); m_paint->setFont(font);
//m_paint->setPen(QColor(0, 0, 100, 255));
m_paint->setPen(QColor(m_ui_settings->m_currentSettings.textcolor)); m_paint->setPen(QColor(m_ui_settings->m_currentSettings.textcolor));
m_paint->drawText(5, height - 5, QString::number(vDiv * 1000) + "mV/d " + QString::number((float)timeLenght / 10 * 1000) + "μs/d Vmax=" + QString::number((float)maxValue / 0xFF * 5, 'f', m_paint->drawText(5, height - 5, QString::number(vDiv * 1000) + "mV/d " + QString::number((float)timeLenght / 10 * 1000) + "μs/d Vmax=" + QString::number((float)maxValue / 0xFF * 5, 'f',
3) + " Vmin=" + QString::number((float)minValue / 0xFF * 5, 'f', 3)); 3) + " Vmin=" + QString::number((float)minValue / 0xFF * 5, 'f', 3));

Wyświetl plik

@ -18,7 +18,6 @@
#include <QMainWindow> #include <QMainWindow>
#include <QSerialPort> #include <QSerialPort>
#include <QSerialPortInfo>
#include <QDebug> #include <QDebug>
#include <QPainter> #include <QPainter>
#include <QFileDialog> #include <QFileDialog>
@ -61,12 +60,12 @@ private:
float trigger = 1; float trigger = 1;
enum Edge { min, max }; enum Edge { min, max };
enum TriggerType { none, rising, falling }; enum TriggerType { none, rising, falling };
TriggerType triggerType = none; TriggerType triggerType = rising;
uint8_t maxValue = 0; uint8_t maxValue = 0;
uint8_t minValue = 0; uint8_t minValue = 0;
uint16_t rawFreq; uint16_t rawFreq = 0;
uint16_t rawDuty; uint16_t rawDuty = 0;
bool pendingExport = false; bool pendingExport = false;
QString fileName; QString fileName;

Wyświetl plik

@ -6,8 +6,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>1009</width> <width>565</width>
<height>766</height> <height>428</height>
</rect> </rect>
</property> </property>
<property name="font"> <property name="font">
@ -100,6 +100,12 @@ selection-background-color: rgb(192, 191, 188);</string>
<property name="enabled"> <property name="enabled">
<bool>true</bool> <bool>true</bool>
</property> </property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>0</width> <width>0</width>
@ -164,7 +170,7 @@ selection-background-color: rgb(192, 191, 188);</string>
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>1009</width> <width>565</width>
<height>24</height> <height>24</height>
</rect> </rect>
</property> </property>

Wyświetl plik

@ -21,6 +21,12 @@ FORMS += \
mainwindow.ui \ mainwindow.ui \
settingsdialog.ui settingsdialog.ui
CONFIG(win) {
TARGET = oscilloscope_win
} else {
TARGET = oscilloscope_linux
}
# Default rules for deployment. # Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin else: unix:!android: target.path = /opt/$${TARGET}/bin
@ -29,6 +35,3 @@ else: unix:!android: target.path = /opt/$${TARGET}/bin
RESOURCES += \ RESOURCES += \
resources.qrc resources.qrc
DISTFILES += \
../../README.md \
connect.png

Wyświetl plik

@ -3,5 +3,7 @@
<file>oscilloscope.bmp</file> <file>oscilloscope.bmp</file>
<file>connect.png</file> <file>connect.png</file>
<file>disconnect.png</file> <file>disconnect.png</file>
<file>save.png</file>
<file>settings.png</file>
</qresource> </qresource>
</RCC> </RCC>

Wyświetl plik

@ -20,7 +20,6 @@
#include <QSerialPort> #include <QSerialPort>
#include <QSettings> #include <QSettings>
#include <QDebug> #include <QDebug>
#include <QIntValidator>
#include <QLineEdit> #include <QLineEdit>
#include <QSerialPortInfo> #include <QSerialPortInfo>
#include <QColorDialog> #include <QColorDialog>