Browse Source

update

master
zhaohe 1 year ago
parent
commit
eeeb409ed9
  1. 2
      app_protocols/transmit_disfection_protocol
  2. 46
      usrc/app_main.cpp
  3. 4
      usrc/board/public_board.cpp
  4. 16
      usrc/idtable/IdMgr.cpp
  5. 11
      usrc/idtable/IdMgr.hpp
  6. 1
      usrc/protocol_processer_impl/liquid_ctrl_board_cmd_processer.hpp

2
app_protocols/transmit_disfection_protocol

@ -1 +1 @@
Subproject commit 2793d57d7d94a044240958a8084b345369c1ef7a
Subproject commit 20cd7005a568952e4e8a440a3dc318ca7258311b

46
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, "=");

4
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()); }

16
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;
}

11
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

1
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> cmdprocesser;
uint8_t boardResetFlag; // 0: 重启标志
public:

Loading…
Cancel
Save