diff --git a/app_protocols/transmit_disfection_protocol b/app_protocols/transmit_disfection_protocol index 2793d57..20cd700 160000 --- a/app_protocols/transmit_disfection_protocol +++ b/app_protocols/transmit_disfection_protocol @@ -1 +1 @@ -Subproject commit 2793d57d7d94a044240958a8084b345369c1ef7a +Subproject commit 20cd7005a568952e4e8a440a3dc318ca7258311b diff --git a/usrc/app_main.cpp b/usrc/app_main.cpp index 0cb17b0..78c85b4 100644 --- a/usrc/app_main.cpp +++ b/usrc/app_main.cpp @@ -51,23 +51,24 @@ void debug_light_ctrl() { void idtable_init() { // 大空间ID初始化 - IdMgr::ins().addIdItem({klarge_space_disinfection_machine, kBoardType_LiquidCtrl, kFixBoardId_LiquidCtrl}); - IdMgr::ins().addIdItem({klarge_space_disinfection_machine, kBoardType_PowerControl, kFixBoardId_PowerControl}); + + IdMgr::ins().addIdItem({kLargeSpaceDMLiquidCtrlBoard, klarge_space_disinfection_machine, kFixBoardId_LiquidCtrl}); + IdMgr::ins().addIdItem({kLargeSpaceDMPowerCtrlBoard, klarge_space_disinfection_machine, kFixBoardId_PowerControl}); // 小空间ID初始化 - IdMgr::ins().addIdItem({ksmall_space_disinfection_machine, kBoardType_LiquidCtrl, kFixBoardId_LiquidCtrl}); - IdMgr::ins().addIdItem({ksmall_space_disinfection_machine, kBoardType_PowerControl, kFixBoardId_PowerControl}); + IdMgr::ins().addIdItem({kSmallSpaceDMLiquidCtrlBoard, ksmall_space_disinfection_machine, kFixBoardId_LiquidCtrl}); + IdMgr::ins().addIdItem({kSmallSpaceDMPowerCtrlBoard, ksmall_space_disinfection_machine, kFixBoardId_PowerControl}); // 管道ID初始化 - IdMgr::ins().addIdItem({kpipe_disinfection_machine, kBoardType_LiquidCtrl, kFixBoardId_LiquidCtrl}); - IdMgr::ins().addIdItem({kpipe_disinfection_machine, kBoardType_PowerControl, kFixBoardId_PowerControl}); + IdMgr::ins().addIdItem({kPipeDMLiquidCtrlBoard, kpipe_disinfection_machine, kFixBoardId_LiquidCtrl}); + IdMgr::ins().addIdItem({kPipeDMPowerCtrlBoard, kpipe_disinfection_machine, kFixBoardId_PowerControl}); // 拉杆箱ID初始化 - IdMgr::ins().addIdItem({kdraw_bar_disinfection_box, kBoardType_LiquidCtrl, kFixBoardId_LiquidCtrl}); - IdMgr::ins().addIdItem({kdraw_bar_disinfection_box, kBoardType_PowerControlMiniBoard, kFixBoardId_PowerControl}); + IdMgr::ins().addIdItem({kDrawBarDMLiquidCtrlBoard, kdraw_bar_disinfection_box, kFixBoardId_LiquidCtrl}); + IdMgr::ins().addIdItem({kDrawBarDMPowerCtrlBoard, kdraw_bar_disinfection_box, kFixBoardId_PowerControl}); // H2O2传感器ID初始化 - IdMgr::ins().addIdItem({kh2o2_ext_sensor, kBoardType_H2O2Sensor, kFixBoardId_H2O2SensorStart}); + IdMgr::ins().addIdItem({kH2O2SensorBoard, kh2o2_ext_sensor, kFixBoardId_H2O2SensorStart}); } void umain() { @@ -86,17 +87,29 @@ void umain() { ZLOGI(TAG, "boardId : %d", PublicBoard::ins()->getBoardId()); ZLOGI(TAG, "="); + ProtocolProcesserMgr::ins()->initialize(); + ProtocolProcesserMgr::ins()->regProcesser(PublicCmdProcesser::ins()); + switch (PublicBoard::ins()->getBoardTypeId()) { - case kBoardType_LiquidCtrl: + case kLargeSpaceDMLiquidCtrlBoard: + case kSmallSpaceDMLiquidCtrlBoard: LiquidCtrlBoard::ins()->initialize(); + ProtocolProcesserMgr::ins()->regProcesser(LiquidCtrlBoardCmdProcesser::ins()); + break; + case kLargeSpaceDMPowerCtrlBoard: + case kSmallSpaceDMPowerCtrlBoard: break; - case kBoardType_PowerControl: + case kPipeDMLiquidCtrlBoard: break; - case kBoardType_PowerControlMiniBoard: + case kPipeDMPowerCtrlBoard: break; - case kBoardType_ExtBallValveCtrl: + case kDrawBarDMLiquidCtrlBoard: break; - case kBoardType_H2O2Sensor: + case kDrawBarDMPowerCtrlBoard: + break; + case kDrawBarDMExtBallValveCtrl: + break; + case kH2O2SensorBoard: break; default: gInitErrorFlag = true; @@ -104,12 +117,7 @@ void umain() { } ZLOGI(TAG, "======================= init processer ================ "); - ProtocolProcesserMgr::ins()->initialize(); - ProtocolProcesserMgr::ins()->regProcesser(PublicCmdProcesser::ins()); - if (PublicBoard::ins()->getBoardTypeId() == kBoardType_LiquidCtrl) { - ProtocolProcesserMgr::ins()->regProcesser(LiquidCtrlBoardCmdProcesser::ins()); - } ProtocolProcesserMgr::ins()->startSchedule(); ZLOGI(TAG, "="); diff --git a/usrc/board/public_board.cpp b/usrc/board/public_board.cpp index fc3a982..f4f9408 100644 --- a/usrc/board/public_board.cpp +++ b/usrc/board/public_board.cpp @@ -81,5 +81,5 @@ void PublicBoard::setDebugLightState(bool state) { m_debugled.write(state); } void PublicBoard::toggleDebugLight() { m_debugled.toggle(); } int PublicBoard::getProjId() { return klarge_space_disinfection_machine; } -int PublicBoard::getBoardTypeId() { return kBoardType_LiquidCtrl; } -int PublicBoard::getBoardId() { return IdMgr::ins().getBoardId(getProjId(), getBoardTypeId()); } +int PublicBoard::getBoardTypeId() { return kLargeSpaceDMLiquidCtrlBoard; } +int PublicBoard::getBoardId() { return IdMgr::ins().getBoardId(getBoardTypeId()); } diff --git a/usrc/idtable/IdMgr.cpp b/usrc/idtable/IdMgr.cpp index 6c51d2d..7761060 100644 --- a/usrc/idtable/IdMgr.cpp +++ b/usrc/idtable/IdMgr.cpp @@ -3,7 +3,7 @@ #include "zsdk/zsdk.hpp" using namespace iflytop; -void IdMgr::addIdItem(IdIterm item) { +void IdMgr::addIdItem(IdIterm item) { if (tableNum >= MAX_IDITERM) { ZASSERT(0); return; @@ -11,11 +11,19 @@ void IdMgr::addIdItem(IdIterm item) { table[tableNum] = item; tableNum++; } -int IdMgr::getBoardId(int projId, int boardTypeId) { +int IdMgr::getBoardId(int boardTypeId) { for (int i = 0; i < tableNum; i++) { - if (table[i].projId == projId && table[i].boardTypeId == boardTypeId) { + if (table[i].boardTypeId == boardTypeId) { return table[i].boardId; } } - return -1; + return 0; +} +int IdMgr::getProjId(int boardTypeId) { + for (int i = 0; i < tableNum; i++) { + if (table[i].boardTypeId == boardTypeId) { + return table[i].projId; + } + } + return 0; } diff --git a/usrc/idtable/IdMgr.hpp b/usrc/idtable/IdMgr.hpp index 732faf3..1467726 100644 --- a/usrc/idtable/IdMgr.hpp +++ b/usrc/idtable/IdMgr.hpp @@ -6,11 +6,13 @@ using namespace std; class IdIterm { public: - int projId; int boardTypeId; + + int projId; int boardId; - IdIterm(int projId, int boardTypeId, int boardId) : projId(projId), boardTypeId(boardTypeId), boardId(boardId) {} - IdIterm() : projId(0), boardTypeId(0), boardId(0) {} + + IdIterm(int boardTypeId, int projId, int boardId) : boardTypeId(boardTypeId), projId(projId), boardId(boardId) {} + IdIterm() {} }; class IdMgr { @@ -24,7 +26,8 @@ class IdMgr { } void addIdItem(IdIterm item); - int getBoardId(int projId, int boardTypeId); + int getBoardId(int boardTypeId); + int getProjId(int boardTypeId); }; } // namespace iflytop \ No newline at end of file diff --git a/usrc/protocol_processer_impl/liquid_ctrl_board_cmd_processer.hpp b/usrc/protocol_processer_impl/liquid_ctrl_board_cmd_processer.hpp index 0516d88..13506bd 100644 --- a/usrc/protocol_processer_impl/liquid_ctrl_board_cmd_processer.hpp +++ b/usrc/protocol_processer_impl/liquid_ctrl_board_cmd_processer.hpp @@ -8,7 +8,6 @@ using namespace zscanprotocol; using namespace transmit_disfection_protocol; class LiquidCtrlBoardCmdProcesser : public IProtocolProcesser { - list cmdprocesser; uint8_t boardResetFlag; // 0: 重启标志 public: