From ba9aa2bcd00cc1763ddd978abc2b719b4fba2836 Mon Sep 17 00:00:00 2001 From: SnickerSun Date: Thu, 21 Nov 2024 23:25:21 +0800 Subject: [PATCH] =?utf8?q?=E6=B7=BB=E5=8A=A0=E5=86=99=E5=8F=B7=E5=90=8E?= =?utf8?q?=E7=9A=84=E5=85=B3=E6=9C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- mainwindow.cpp | 38 ++++++++++++++++++++++++++++---------- mainwindow.ui | 2 +- settings.h | 7 ++++++- 3 files changed, 35 insertions(+), 12 deletions(-) diff --git a/mainwindow.cpp b/mainwindow.cpp index 149a7ce..87258c7 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -76,7 +76,7 @@ void MainWindow::readData1() if (uart_rx_flag1) {//指令下达完毕,开始接收数据 uart_rx_buff_array1.append(data); - if (uart_rx_buff_array1.indexOf("OK~")>0) + if (uart_rx_buff_array1.indexOf("OK~")>=0 || uart_rx_buff_array1.indexOf("power off device!")>=0) { uart_rx_flag1 = false; uart_process1();//开始处理当前指令结果 @@ -114,6 +114,11 @@ void MainWindow::readData1() this->uart_send_data1(ATCMD_GET_CPUID); } break; + case 5: + { + this->uart_send_data1(ATCMD_POWEROFF); + } + break; default: { cmd_index_1=-1; @@ -315,7 +320,7 @@ void MainWindow::uart_process1() { //检查当前的号是否已经是写过的号,放置重复写号造成的浪费。 int ret = uart_rx_buff_array1.indexOf(tr("28*****")); - if (ret > 0) + if (ret >= 0) { QString unit="281106"+uart_rx_buff_array1.mid(ret+7,6); bool mac_used=settings::getInstance().getMacUsed(unit.toUpper()); @@ -345,7 +350,7 @@ void MainWindow::uart_process1() // local_addr : 28*****010101 QString unit=ui->ledit_spp_addr_1->text(); int ret = uart_rx_buff_array1.indexOf(tr("28*****")); - if (ret > 0) + if (ret >= 0) { QString unit_watch="281106"+uart_rx_buff_array1.mid(ret+7,6); qDebug()< 0 ) + if (ret >= 0 ) { if (uart_rx_buff_array1.size()-ret >84){ QString cpu_id=uart_rx_buff_array1.mid(ret+9,84).replace("\r\n","").replace("0x","").replace(" ",""); @@ -381,19 +386,32 @@ void MainWindow::uart_process1() if (ret == 1) { ui->textBrowser_result->setText(settings::getInstance().getmacStatusFull()); - ui_show_result(QString::fromLocal8Bit("设置mac成功"),true); + ui_display1(QString::fromLocal8Bit("设置mac成功\r\n"),LOG_DIRECT_IN); }else{ - ui_show_result(QString::fromLocal8Bit("获取cpuid失败"),false); - } - + ui_show_result(QString::fromLocal8Bit("获取cpuid失败\r\n"),false); + } } - waiting_cmd1 = false; + }else{ ui_display1(QString::fromLocal8Bit("获取cpuid失败\r\n"),LOG_DIRECT_OUT); cmd_index_1 = -4; - ui_show_result(QString::fromLocal8Bit("获取cpuid失败"),false); + ui_show_result(QString::fromLocal8Bit("获取cpuid失败\r\n"),false); } } + } + break; + case 5: + { + int ret = uart_rx_buff_array1.indexOf("power off device"); + if (ret >= 0 ) + { + ui_display1(QString::fromLocal8Bit("关机成功\r\n"),LOG_DIRECT_IN); +// waiting_cmd1 = false; + }else{ + ui_display1(QString::fromLocal8Bit("关机失败\r\n"),LOG_DIRECT_OUT); + } + ui_show_result(QString::fromLocal8Bit("设置mac成功\r\n"),true); + } break; default: diff --git a/mainwindow.ui b/mainwindow.ui index 2f9ef39..78b217a 100644 --- a/mainwindow.ui +++ b/mainwindow.ui @@ -18,7 +18,7 @@ - BTMacWriteTool V1.1 + BTMacWriteTool V1.2 diff --git a/settings.h b/settings.h index bf803e6..bc65ae4 100644 --- a/settings.h +++ b/settings.h @@ -42,7 +42,6 @@ OK~ OK~ - */ #define ATCMD_SET_MAC "AT^BTADDR=%1 6\r\n" /*gap_scan_mode_changed_callback mode: 4 @@ -89,6 +88,12 @@ AT^PMADDVOTE MCU SLEEP SUCCESS OK~ */ + +#define ATCMD_POWEROFF "AT^POWEROFF\r\n" +/* +» AT^POWEROFF +« power off device! +*/ #define MAC_LEN 12 class settings : public QObject { -- 2.17.1