From aad3eb0758bdf5e9214bc82fc27dbcd00c557e11 Mon Sep 17 00:00:00 2001 From: zhaohe Date: Sun, 11 Aug 2024 18:19:38 +0800 Subject: [PATCH] update --- app_protocols/transmit_disfection_protocol | 2 +- .../channel/transmit_disinfection_can_master.hpp | 10 +++++++++- src/app/transmit_disinfection/transmitdisinfection.cpp | 2 +- src/app/transmit_disinfection/utils/tabbuilder.cpp | 15 ++++++++++++--- 4 files changed, 23 insertions(+), 6 deletions(-) diff --git a/app_protocols/transmit_disfection_protocol b/app_protocols/transmit_disfection_protocol index 058ea4c..9836b9c 160000 --- a/app_protocols/transmit_disfection_protocol +++ b/app_protocols/transmit_disfection_protocol @@ -1 +1 @@ -Subproject commit 058ea4cf80c30868271212b80b97a86539339ea1 +Subproject commit 9836b9c4356e8cf635be9ab8394d75c8fb301dfe diff --git a/src/app/transmit_disinfection/channel/transmit_disinfection_can_master.hpp b/src/app/transmit_disinfection/channel/transmit_disinfection_can_master.hpp index 1dc068c..b0ff428 100644 --- a/src/app/transmit_disinfection/channel/transmit_disinfection_can_master.hpp +++ b/src/app/transmit_disinfection/channel/transmit_disinfection_can_master.hpp @@ -105,13 +105,21 @@ class TransmitDisinfectionCanMaster { int heaterIsOpen(int boardid) { return m_com->callcmd0(boardid, kfn_heater_is_open, DEFUALT_OVERTIME)->getContent(0); } void warningLightSetState(int boardid, int r, int g, int b, int warning); - void warningLightReadState(int boardid, int *r, int *g, int *b, int *warning); + void warningLightReadState(int boardid, int *r, int *g, int *b, int *warning) { + auto ret = m_com->callcmd0(boardid, kfn_triple_warning_light_read_state); + *r = ret->getContent(0); + *g = ret->getContent(1); + *b = ret->getContent(2); + *warning = ret->getContent(3); + } int evaporationTankWSReadState(int boardid); int bottomWSReadState(int boardid); int32_t psBusReadData(int boardid, int subid); ack_psbus_scan_t psBusScan(int boardid); + void psBusStartReport(int boardid, int period) { m_com->callcmd1(boardid, kfn_psbus_start_report, period, DEFUALT_OVERTIME); } + void psBusStopReport(int boardid) { m_com->callcmd0(boardid, kfn_psbus_stop_report, DEFUALT_OVERTIME); } void proportionalSetValve(int boardid, int valveId, int valveValue) { m_com->callcmd2(boardid, kfn_proportional_set_valve, valveId, valveValue, DEFUALT_OVERTIME); } int proportionalReadPos(int boardid) { return m_com->callcmd0(boardid, kfn_proportional_read_pos, DEFUALT_OVERTIME)->getContent(0); } diff --git a/src/app/transmit_disinfection/transmitdisinfection.cpp b/src/app/transmit_disinfection/transmitdisinfection.cpp index 4a892a9..3445754 100644 --- a/src/app/transmit_disinfection/transmitdisinfection.cpp +++ b/src/app/transmit_disinfection/transmitdisinfection.cpp @@ -80,7 +80,7 @@ void TransmitDisinfection::processReportPacket(packet_type_t type, uint8_t from, QString info; info.append(fmt("[Pressure][FROM:%03d](%d)", from, ack->sensorDataNum)); for (int i = 0; i < ack->sensorDataNum; i++) { - info.append(fmt(" %d:%d,", ack->data[i].subid, ack->data[i].pressureVal)); + info.append(fmt(" %2d:%10d, ", ack->data[i].subid, ack->data[i].pressureVal)); } RSHOW(info.toStdString().c_str()); } diff --git a/src/app/transmit_disinfection/utils/tabbuilder.cpp b/src/app/transmit_disinfection/utils/tabbuilder.cpp index 934cbe9..f83ec79 100644 --- a/src/app/transmit_disinfection/utils/tabbuilder.cpp +++ b/src/app/transmit_disinfection/utils/tabbuilder.cpp @@ -282,12 +282,21 @@ void TabBuilder::buildPSBusTab(const char *tabname, int boardid) { ISHOW("val:%d", val); }); - box->newSubButton("扫描", [this, boardid](int argn, const char **args) { + box->newSubButton("读取扫描结果", [this, boardid](int argn, const char **args) { auto result = CAN_MASTER->psBusScan(boardid); - for (int i = 0; i < result.numOnlineId; i++) { - ISHOW("%d", result.onlineId); + for (int i = 0; i < 10; i++) { + if (result.sensor[i].isOnline) { + ISHOW("id %d, subid %d, ptype %s, uint %s, precision %d, zero %d, full %d", // + i, result.sensor[i].subid, PSType2Str(result.sensor[i].ptype), p100uint2Str(result.sensor[i].uint), result.sensor[i].precision, result.sensor[i].zero, result.sensor[i].full); + } else { + ISHOW("id %d, offline", i); + } } }); + + box->newSubButtonEnd(); + box->newSubButton("开始上报", [this, boardid](int argn, const char **args) { CAN_MASTER->psBusStartReport(boardid, 1000); }); + box->newSubButton("停止上报", [this, boardid](int argn, const char **args) { CAN_MASTER->psBusStopReport(boardid); }); } void TabBuilder::buildProportionalTab(const char *tabname, int boardid) {