Browse Source

V7| 添加新设备DT600B

master
zhaohe 1 month ago
parent
commit
a77985829c
  1. 98
      transmit_disfection_protocol.hpp

98
transmit_disfection_protocol.hpp

@ -4,9 +4,23 @@
#include "zscanprotocol/zscanprotocol.h"
namespace iflytop {
namespace transmit_disfection_protocol {
/**
* @brief
*
*
* VERSION 7
*
* DT600B
* DT600B_LC_BOARD
* DT600B_PC_BOARD
*
*/
#define PROTOCOL_VERSION 6
#define PROTOCOL_VERSION 7
#define HEART_OVERTIME (30 * 1000)
#define SWITCH_CASE_STR(key) \
case key: \
return #key;
typedef enum {
klarge_space_disinfection_machine = 1, // 大空间消毒机
@ -14,9 +28,18 @@ typedef enum {
kpipe_disinfection_machine = 3, // 管道式消毒机
kdraw_bar_disinfection_box = 4, // 手持拉杆箱消毒机
kh2o2_ext_sensor = 5, // 外部H2O2传感器
DT600B = 6, // 大空间标准版消毒机
} ProjID_t;
typedef enum {
kFixBoardId_MainBoard = 1, // 主机
kFixBoardId_LiquidCtrl = 2, // 液路板
kFixBoardId_PowerControl = 3, // 电源板
kFixBoardId_ExtChSelector = 4, // 外部球阀控制板
kFixBoardId_H2O2SensorStart = 100, // H2O2传感器板
} BoardId_t;
typedef enum {
kLargeSpaceDMLiquidCtrlBoard = 1, // 大空间消毒机液路板
kLargeSpaceDMPowerCtrlBoard = 2, // 大空间消毒机电源板
kSmallSpaceDMLiquidCtrlBoard = 3, // 小空间消毒机液路板
@ -27,57 +50,43 @@ typedef enum {
kDrawBarDMPowerCtrlBoard = 8, // 手持拉杆箱消毒机电源板
kDrawBarDMExtChSelector = 9, // 手持拉杆箱消毒机外部球阀控制板
kH2O2SensorBoard = 10, // H2O2传感器板
} BoardTypeId_t;
typedef enum {
kFixBoardId_MainBoard = 1, // 主机
kFixBoardId_LiquidCtrl = 2, // 液路板
kFixBoardId_PowerControl = 3, // 电源板
kFixBoardId_ExtChSelector = 4, // 外部球阀控制板
kFixBoardId_H2O2SensorStart = 100, // H2O2传感器板
} BoardId_t;
// 小空间经济版
DT600B_LC_BOARD = DT600B * 16 + 1, // 大空间标准版消毒机-液路板
DT600B_PC_BOARD = DT600B * 16 + 2, // 大空间标准版消毒机-电源板
} BoardTypeId_t;
static inline const char* BoardTypeId2Str(uint32_t id) {
switch (id) {
case kLargeSpaceDMLiquidCtrlBoard:
return "LargeSpaceDMLiquidCtrlBoard";
case kLargeSpaceDMPowerCtrlBoard:
return "LargeSpaceDMPowerCtrlBoard";
case kSmallSpaceDMLiquidCtrlBoard:
return "SmallSpaceDMLiquidCtrlBoard";
case kSmallSpaceDMPowerCtrlBoard:
return "SmallSpaceDMPowerCtrlBoard";
case kPipeDMLiquidCtrlBoard:
return "PipeDMLiquidCtrlBoard";
case kPipeDMPowerCtrlBoard:
return "PipeDMPowerCtrlBoard";
case kDrawBarDMLiquidCtrlBoard:
return "DrawBarDMLiquidCtrlBoard";
case kDrawBarDMPowerCtrlBoard:
return "DrawBarDMPowerCtrlBoard";
case kDrawBarDMExtChSelector:
return "kDrawBarDMExtChSelector";
case kH2O2SensorBoard:
return "H2O2SensorBoard";
SWITCH_CASE_STR(kLargeSpaceDMLiquidCtrlBoard)
SWITCH_CASE_STR(kLargeSpaceDMPowerCtrlBoard)
SWITCH_CASE_STR(kSmallSpaceDMLiquidCtrlBoard)
SWITCH_CASE_STR(kSmallSpaceDMPowerCtrlBoard)
SWITCH_CASE_STR(kPipeDMLiquidCtrlBoard)
SWITCH_CASE_STR(kPipeDMPowerCtrlBoard)
SWITCH_CASE_STR(kDrawBarDMLiquidCtrlBoard)
SWITCH_CASE_STR(kDrawBarDMPowerCtrlBoard)
SWITCH_CASE_STR(kDrawBarDMExtChSelector)
SWITCH_CASE_STR(kH2O2SensorBoard)
SWITCH_CASE_STR(DT600B_LC_BOARD)
SWITCH_CASE_STR(DT600B_PC_BOARD)
default:
return "unkown";
return "Unknown";
}
}
static inline const char* ProjectIDToString(uint32_t id) {
switch (id) {
case klarge_space_disinfection_machine:
return "large_space_disinfection_machine";
case ksmall_space_disinfection_machine:
return "small_space_disinfection_machine";
case kpipe_disinfection_machine:
return "pipe_disinfection_machine";
case kdraw_bar_disinfection_box:
return "draw_bar_disinfection_box";
case kh2o2_ext_sensor:
return "h2o2_ext_sensor";
SWITCH_CASE_STR(klarge_space_disinfection_machine)
SWITCH_CASE_STR(ksmall_space_disinfection_machine)
SWITCH_CASE_STR(kpipe_disinfection_machine)
SWITCH_CASE_STR(kdraw_bar_disinfection_box)
SWITCH_CASE_STR(kh2o2_ext_sensor)
SWITCH_CASE_STR(DT600B)
default:
return "unkown";
return "Unknown";
}
}
@ -234,7 +243,7 @@ typedef enum {
kreport_pressure_data = 1350, // report:subid pressure(0.1pa)
/***********************************************************************************************************************
* *
* - *
***********************************************************************************************************************/
kfn_proportional_set_valve = 1400, // 设置比例阀 {4:valveId,4:valveValue}
kfn_proportional_read_pos = 1402, //
@ -262,6 +271,11 @@ typedef enum {
// kfn_add_liquid_pump_air_intake_valve = 1700, // cmd: state ,true打开进气阀,false关闭进气阀门 加液进气电磁阀(打开,可以正常加液排液,关闭后加液泵倒转可以排空管路
kfn_set_add_fluid_channel_selector_valve = 1700, // cmd: state ,true打开进气阀,false关闭进气阀门 加液进气电磁阀(打开,可以正常加液排液,关闭后加液泵倒转可以排空管路
/***********************************************************************************************************************
* *
***********************************************************************************************************************/
kfn_liquid_level_read_io_state = 1800, // cmd ack:io_state //bit0:低液位置,bit1:中液位,bit2:高液位
} cmd_t;
#pragma pack(1)

Loading…
Cancel
Save