final
This commit is contained in:
parent
18d7395f11
commit
558dfbcfc6
@ -11,6 +11,16 @@ MainWindow::MainWindow(QWidget *parent)
|
||||
|
||||
ui->lcdNumber_temp->setDigitCount(8);
|
||||
initFigure();
|
||||
|
||||
ui->frame_body_status->setAutoFillBackground(true);
|
||||
ui->frame_gas_status->setAutoFillBackground(true);
|
||||
|
||||
QTimer *clock_tmr = new QTimer(this);
|
||||
clock_tmr->setTimerType(Qt::PreciseTimer);
|
||||
clock_tmr->start();
|
||||
connect(clock_tmr, &QTimer::timeout, this, [=]() {
|
||||
ui->label_time->setText(QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss"));
|
||||
});
|
||||
}
|
||||
|
||||
MainWindow::~MainWindow()
|
||||
@ -18,7 +28,7 @@ MainWindow::~MainWindow()
|
||||
if (m_serialPort->isOpen()) {
|
||||
m_serialPort->clear();
|
||||
m_serialPort->close();
|
||||
qDebug() << "exiting, clear and close serial port...";
|
||||
qDebug() << "[!] exiting, close and clear serial port...";
|
||||
}
|
||||
delete m_serialPort;
|
||||
delete ui;
|
||||
@ -32,22 +42,39 @@ void MainWindow::msgBox(QWidget* ctx, QString content) {
|
||||
msgBox(ctx, "title", content);
|
||||
}
|
||||
|
||||
uint16_t m_buff = 0x0000;
|
||||
|
||||
void MainWindow::receiveData() {
|
||||
QByteArray msg = m_serialPort->readAll();
|
||||
qDebug() << "\nreceived data:" << msg.count() << msg.toHex();
|
||||
if (msg.isEmpty()) return;
|
||||
|
||||
QByteArray bufferArray;
|
||||
|
||||
if(COMPATIBILITY_MODE == 1) {
|
||||
for (int i = 0; i < msg.size(); ++i) {
|
||||
uint8_t byte = static_cast<uint8_t>(msg.at(i));
|
||||
m_buff = ((m_buff << 8) & 0xFF00) | byte;
|
||||
bufferArray.append(static_cast<char>((m_buff >> 8) & 0xFF)); // MSB
|
||||
bufferArray.append(static_cast<char>(m_buff & 0xFF)); // LSB
|
||||
}
|
||||
} else {
|
||||
bufferArray = msg;
|
||||
}
|
||||
|
||||
qDebug() << "\n[<] received data:" << bufferArray.toHex();
|
||||
|
||||
uint16_t LSB, MSB;
|
||||
|
||||
int count = 0;
|
||||
if (msg.count() % 2 == 0) {
|
||||
count = msg.count() / 2;
|
||||
if (bufferArray.count() % 2 == 0) {
|
||||
count = bufferArray.count() / 2;
|
||||
for (int i = 0; i < count; i ++) {
|
||||
MSB = ((uchar) msg.at(2 * i)) << 8;
|
||||
LSB = (uchar) msg.at(2 * i + 1);
|
||||
MSB = ((uchar) bufferArray.at(2 * i)) << 8;
|
||||
LSB = (uchar) bufferArray.at(2 * i + 1);
|
||||
uint16_t tmp = MSB + LSB;
|
||||
uchar t_cmd = tmp >> 12;
|
||||
uint16_t t_data = tmp & 0xFFF;
|
||||
qDebug() << "CMD: " << t_cmd << " DATA: " << t_data;
|
||||
qDebug() << "CMD: " << t_cmd << "\t DATA: " << t_data;
|
||||
|
||||
if (t_cmd == MCU_CMD_TEMP) {
|
||||
processTempData(t_data);
|
||||
@ -133,7 +160,15 @@ void MainWindow::processTempData(uint data) {
|
||||
}
|
||||
|
||||
void MainWindow::processBodyData(uint data) {
|
||||
|
||||
QColor status_color;
|
||||
if (data == MCU_CMD_BODY_YES) {
|
||||
status_color.setRgb(255, 0, 0);
|
||||
ui->frame_body_status->setPalette(status_color);
|
||||
}
|
||||
if (data == MCU_CMD_BODY_NO) {
|
||||
status_color.setRgb(0, 255, 0);
|
||||
ui->frame_body_status->setPalette(status_color);
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::processGasState(uint data) {
|
||||
@ -351,3 +386,14 @@ void MainWindow::on_pushButton_temp_details_clicked()
|
||||
dialog->exec();
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_pushButton_clicked()
|
||||
{
|
||||
ui->comboBox_sys_mode->setCurrentIndex(0);
|
||||
ui->comboBox_temp_fetch->setCurrentIndex(0);
|
||||
ui->comboBox_body_fetch->setCurrentIndex(0);
|
||||
ui->comboBox_sys_mode->setCurrentIndex(2);
|
||||
ui->comboBox_temp_fetch->setCurrentIndex(1);
|
||||
ui->comboBox_body_fetch->setCurrentIndex(2);
|
||||
}
|
||||
|
||||
|
@ -2,6 +2,7 @@
|
||||
#define MAINWINDOW_H
|
||||
|
||||
#define _DISPLAY_DATA_LENGTH_ 201
|
||||
#define COMPATIBILITY_MODE 1
|
||||
|
||||
#include <QMainWindow>
|
||||
#include <QMessageBox>
|
||||
@ -15,6 +16,10 @@
|
||||
#include <QtCharts/QChart>
|
||||
#include <QtCharts/QValueAxis>
|
||||
|
||||
#include <QTime>
|
||||
#include <QTimer>
|
||||
#include <QDateTime>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
class QLineSeries;
|
||||
class QChart;
|
||||
@ -65,6 +70,8 @@ private slots:
|
||||
|
||||
void on_pushButton_temp_details_clicked();
|
||||
|
||||
void on_pushButton_clicked();
|
||||
|
||||
private:
|
||||
Ui::MainWindow *ui;
|
||||
|
||||
|
@ -14,7 +14,7 @@
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Serialicon by Tmithy Yin</string>
|
||||
<string>Serialicon by Timothy Yin</string>
|
||||
</property>
|
||||
<widget class="QWidget" name="centralwidget">
|
||||
<widget class="QWidget" name="horizontalLayoutWidget_10">
|
||||
@ -1309,33 +1309,15 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_9">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_gas_current">
|
||||
<property name="text">
|
||||
<string>当前气体浓度: 0.00</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_gas_max">
|
||||
<property name="text">
|
||||
<string>最高气体浓度: 0.00</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_10">
|
||||
<item>
|
||||
<widget class="QLineEdit" name="lineEdit"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_gas_details">
|
||||
<widget class="QLabel" name="label_time">
|
||||
<property name="text">
|
||||
<string>气体监测详情</string>
|
||||
<string>0000-00-00 00:00:00</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -1389,7 +1371,7 @@
|
||||
<item>
|
||||
<widget class="QComboBox" name="comboBox_baud">
|
||||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
<number>1</number>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
@ -1436,6 +1418,19 @@
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>50</x>
|
||||
<y>400</y>
|
||||
<width>80</width>
|
||||
<height>26</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>一键启动</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QMenuBar" name="menubar">
|
||||
<property name="geometry">
|
||||
|
Loading…
Reference in New Issue
Block a user