From d962cec3d9a9e77ca037af1a338db3e19bdbd8eb Mon Sep 17 00:00:00 2001 From: zhaohe Date: Tue, 4 Jun 2024 19:07:49 +0800 Subject: [PATCH] update --- .vscode/settings.json | 3 +- libzqt/zui/zqui.cpp | 10 +---- libzqt/zui/zqui.hpp | 3 -- src/mainwindow.cpp | 43 +++++++++++------- src/mainwindow.h | 7 ++- src/mainwindow.ui | 108 +++++++++++++++++++++++++++++++++------------- src/tab/board_ext_tab.cpp | 2 +- 7 files changed, 117 insertions(+), 59 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index d24c438..66372a9 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -102,7 +102,8 @@ "qpushbutton": "cpp", "qspaceritem": "cpp", "xlocinfo": "cpp", - "xstring": "cpp" + "xstring": "cpp", + "xlocale": "cpp" }, "files.autoGuessEncoding": false, } \ No newline at end of file diff --git a/libzqt/zui/zqui.cpp b/libzqt/zui/zqui.cpp index 9870a06..085e2c9 100644 --- a/libzqt/zui/zqui.cpp +++ b/libzqt/zui/zqui.cpp @@ -35,15 +35,7 @@ void ZQUI::reportPreviewShow(const char *fmt, ...) { if (m_reportPreviewShow) m_reportPreviewShow(text); } -void ZQUI::blockDataUploadPreviewShow(const char *fmt, ...) { - va_list args; - va_start(args, fmt); - char buf[1024] = {0}; - vsnprintf(buf, sizeof(buf), fmt, args); - va_end(args); - QString text(buf); - if (m_blockDataUploadPreviewShow) m_blockDataUploadPreviewShow(text); -} + void ZQUI::rawshow(const char *fmt, ...) { va_list args; va_start(args, fmt); diff --git a/libzqt/zui/zqui.hpp b/libzqt/zui/zqui.hpp index fe8c4a5..3e82707 100644 --- a/libzqt/zui/zqui.hpp +++ b/libzqt/zui/zqui.hpp @@ -43,7 +43,6 @@ class ZQUI : public QObject { std::function m_ishow; std::function m_reportPreviewShow; - std::function m_blockDataUploadPreviewShow; std::function m_rawshow; std::function m_instructionPreviewClear; @@ -55,13 +54,11 @@ class ZQUI : public QObject { void ishow(const char *fmt, ...); void reportPreviewShow(const char *fmt, ...); - void blockDataUploadPreviewShow(const char *fmt, ...); void rawshow(const char *fmt, ...); void instructionPreviewClear(); void setishow(std::function func) { m_ishow = func; } void setReportPreviewShow(std::function func) { m_reportPreviewShow = func; } - void setBlockDataUploadPreviewShow(std::function func) { m_blockDataUploadPreviewShow = func; } void setrawshow(std::function func) { m_rawshow = func; } void setInstructionPreviewClear(std::function func) { m_instructionPreviewClear = func; } diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 9c7b48b..45edbad 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -68,8 +68,8 @@ void MainWindow::doinui_slot(QFunction func) { void MainWindow::ishow(QString text) { QString info; - info.append(QDateTime::currentDateTime().toString("hh:mm:ss.zzz ")); - info.append(" |"); + info.append(QDateTime::currentDateTime().toString("hh:mm:ss")); + info.append("|"); info.append(text); emit doinui_signal(QFunction([this, info]() { ui->instructionPreview->append(info); })); } @@ -85,18 +85,7 @@ void MainWindow::reportPreviewShow(QString text) { ui->reportPreview->append(info); })); } -void MainWindow::blockDataUploadPreviewShow(QString text) { - QString info; - info.append(QDateTime::currentDateTime().toString("hh:mm:ss.zzz ")); - info.append(text); - emit doinui_signal(QFunction([this, info]() { - if (ui->uploadDataPreview->document()->lineCount() > 1000) { - ui->uploadDataPreview->document()->clear(); - } - ui->uploadDataPreview->append(info); - })); -} void MainWindow::rawshow(QString text) { QString info; @@ -228,7 +217,6 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi qRegisterMetaType("QFunction"); connect(this, SIGNAL(doinui_signal(QFunction)), this, SLOT(doinui_slot(QFunction))); ZQUI::ins()->initialize(); - ZQUI::ins()->setBlockDataUploadPreviewShow([this](QString text) { blockDataUploadPreviewShow(text); }); ZQUI::ins()->setishow([this](QString text) { ishow(text); }); ZQUI::ins()->setReportPreviewShow([this](QString text) { reportPreviewShow(text); }); ZQUI::ins()->setrawshow([this](QString text) { rawshow(text); }); @@ -299,6 +287,31 @@ void MainWindow::on_PublicState_DeviceID_textChanged() { PublicState_DeviceIDVal void MainWindow::on_clearPreview_clicked() { doinui_signal(QFunction([this]() { ui->instructionPreview->clear(); })); doinui_signal(QFunction([this]() { ui->reportPreview->clear(); })); - doinui_signal(QFunction([this]() { ui->uploadDataPreview->clear(); })); doinui_signal(QFunction([this]() { ui->rawDataPreview->clear(); })); } + +void MainWindow::on_dumpFuncListButton_clicked() { + zcr::cmdinfo_t *cmdtable = cmdid_get_table(); + ui->instructionPreview->clear(); + for (int i = 0; i < cmdid_get_table_size(); i++) { + ZQUI::ins()->ishow("%-50s %d", cmdtable[i].fnname, cmdtable[i].index); + } +} + +void MainWindow::on_dumpErrorCodeButton_clicked() { + ui->instructionPreview->clear(); + + err::ecode_table_item_t *err_table = err::error_get_table(); + for (int i = 0; i < err::error_get_table_size(); i++) { + ZQUI::ins()->ishow("%-50s %d", err_table[i].info, err_table[i].index); + } +} + +void MainWindow::on_dumpRegListButton_clicked() { + ui->instructionPreview->clear(); + + reginfo_t *regtable = reg_get_table(); + for (int i = 0; i < reg_get_table_size(); i++) { + ZQUI::ins()->ishow("%-50s %d", regtable[i].regname, regtable[i].index); + } +} diff --git a/src/mainwindow.h b/src/mainwindow.h index 7a47f5d..c7138a0 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -94,6 +94,12 @@ class MainWindow : public QMainWindow { void on_clearPreview_clicked(); + void on_dumpFuncListButton_clicked(); + + void on_dumpErrorCodeButton_clicked(); + + void on_dumpRegListButton_clicked(); + signals: void doinui_signal(QFunction); @@ -103,7 +109,6 @@ signals: void instructionPreviewClear(); void ishow(QString info); void reportPreviewShow(QString info); - void blockDataUploadPreviewShow(QString info); void rawshow(QString info); void displayWave(int16_t wave1, int16_t wave2, int16_t wave3); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index b4701d9..aebca3a 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -849,6 +849,63 @@ QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { + + + + + 1 + 0 + + + + + 0 + 30 + + + + 打印寄存器列表 + + + + + + + + 1 + 0 + + + + + 0 + 30 + + + + 打印错误码 + + + + + + + + 1 + 0 + + + + + 0 + 30 + + + + 打印方法列表 + + + @@ -927,7 +984,7 @@ QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { 30 20 541 - 611 + 721 @@ -941,9 +998,9 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Consolas','Courier New','monospace'; font-size:11pt; color:#ff0000;"> 板夹仓平移电机(21)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Consolas','Courier New','monospace'; font-size:11pt; color:#ff0000;"> 板夹枪推杆电机(22)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Consolas','Courier New','monospace'; font-size:11pt; color:#ff0000;">30  摇匀模组</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Consolas','Courier New','monospace'; font-size:11pt; color:#ff0000;"> 31:步进夹爪</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Consolas','Courier New','monospace'; font-size:11pt; color:#ff0000;"> 32:步进升降(正转向下,0.1mm)</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Consolas','Courier New','monospace'; font-size:11pt; color:#ff0000;"> 33:步进摇匀</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Consolas','Courier New','monospace'; font-size:11pt; color:#ff0000;"> 31:步进夹爪 (单位0.1mm,单边开合范围0-&gt;9mm,打开为正方向)</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Consolas','Courier New','monospace'; font-size:11pt; color:#ff0000;"> 32:步进升降 (正转向下,0.1mm)</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Consolas','Courier New','monospace'; font-size:11pt; color:#ff0000;"> 33:步进摇匀 (360为1圈)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Consolas','Courier New','monospace'; font-size:11pt; color:#ff0000;"> 34:舵机-试管帽夹爪-水平移动(舵机一圈3600,中点1800)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Consolas','Courier New','monospace'; font-size:11pt; color:#ff0000;"> 35:舵机-试管帽夹爪(夹紧点为1800)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Consolas','Courier New','monospace'; font-size:11pt; color:#ff0000;"> 36:舵机-试管扫码夹紧(舵机一圈3600)</span></p> @@ -1000,6 +1057,12 @@ p, li { white-space: pre-wrap; } + + + 0 + 2 + + 指令回执显示 @@ -1025,6 +1088,12 @@ p, li { white-space: pre-wrap; } + + + 0 + 1 + + 上报回执显示 @@ -1049,32 +1118,13 @@ p, li { white-space: pre-wrap; } - - - 上传数据显示 - - - - - - - 0 - 0 - - - - - 0 - 0 - - - - - - - - + + + 0 + 1 + + 二进制 diff --git a/src/tab/board_ext_tab.cpp b/src/tab/board_ext_tab.cpp index d541833..e506f5d 100644 --- a/src/tab/board_ext_tab.cpp +++ b/src/tab/board_ext_tab.cpp @@ -37,7 +37,7 @@ void BoardExtTab::construct(QTabWidget *fathertab) { ZQUI::ins()->ishow("Status:%d", ICM->getAck(0)); }); - box->newFunc("写入IO", {"ioindex"}, [this](int argn, const char **args) { ICM->callcmd1(getDeviceId(), kboard_write_ext_io, atoi(args[0])); }); + box->newFunc("写入IO", {"ioindex", "iostate"}, [this](int argn, const char **args) { ICM->callcmd1(getDeviceId(), kboard_write_ext_io, atoi(args[0]), atoi(args[1])); }); } /***********************************************************************************************************************