|
@ -4,9 +4,23 @@ |
|
|
#include "zscanprotocol/zscanprotocol.h"
|
|
|
#include "zscanprotocol/zscanprotocol.h"
|
|
|
namespace iflytop { |
|
|
namespace iflytop { |
|
|
namespace transmit_disfection_protocol { |
|
|
namespace transmit_disfection_protocol { |
|
|
|
|
|
|
|
|
#define PROTOCOL_VERSION 6
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* @brief |
|
|
|
|
|
* |
|
|
|
|
|
* |
|
|
|
|
|
* VERSION 7 |
|
|
|
|
|
* 添加新设备类型和板子类型 |
|
|
|
|
|
* DT600B |
|
|
|
|
|
* DT600B_LC_BOARD |
|
|
|
|
|
* DT600B_PC_BOARD |
|
|
|
|
|
* |
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
|
|
#define PROTOCOL_VERSION 7
|
|
|
#define HEART_OVERTIME (30 * 1000)
|
|
|
#define HEART_OVERTIME (30 * 1000)
|
|
|
|
|
|
#define SWITCH_CASE_STR(key) \
|
|
|
|
|
|
case key: \ |
|
|
|
|
|
return #key; |
|
|
|
|
|
|
|
|
typedef enum { |
|
|
typedef enum { |
|
|
klarge_space_disinfection_machine = 1, // 大空间消毒机
|
|
|
klarge_space_disinfection_machine = 1, // 大空间消毒机
|
|
@ -14,9 +28,18 @@ typedef enum { |
|
|
kpipe_disinfection_machine = 3, // 管道式消毒机
|
|
|
kpipe_disinfection_machine = 3, // 管道式消毒机
|
|
|
kdraw_bar_disinfection_box = 4, // 手持拉杆箱消毒机
|
|
|
kdraw_bar_disinfection_box = 4, // 手持拉杆箱消毒机
|
|
|
kh2o2_ext_sensor = 5, // 外部H2O2传感器
|
|
|
kh2o2_ext_sensor = 5, // 外部H2O2传感器
|
|
|
|
|
|
DT600B = 6, // 大空间标准版消毒机
|
|
|
} ProjID_t; |
|
|
} ProjID_t; |
|
|
|
|
|
|
|
|
typedef enum { |
|
|
typedef enum { |
|
|
|
|
|
kFixBoardId_MainBoard = 1, // 主机
|
|
|
|
|
|
kFixBoardId_LiquidCtrl = 2, // 液路板
|
|
|
|
|
|
kFixBoardId_PowerControl = 3, // 电源板
|
|
|
|
|
|
kFixBoardId_ExtChSelector = 4, // 外部球阀控制板
|
|
|
|
|
|
kFixBoardId_H2O2SensorStart = 100, // H2O2传感器板
|
|
|
|
|
|
} BoardId_t; |
|
|
|
|
|
|
|
|
|
|
|
typedef enum { |
|
|
kLargeSpaceDMLiquidCtrlBoard = 1, // 大空间消毒机液路板
|
|
|
kLargeSpaceDMLiquidCtrlBoard = 1, // 大空间消毒机液路板
|
|
|
kLargeSpaceDMPowerCtrlBoard = 2, // 大空间消毒机电源板
|
|
|
kLargeSpaceDMPowerCtrlBoard = 2, // 大空间消毒机电源板
|
|
|
kSmallSpaceDMLiquidCtrlBoard = 3, // 小空间消毒机液路板
|
|
|
kSmallSpaceDMLiquidCtrlBoard = 3, // 小空间消毒机液路板
|
|
@ -27,57 +50,43 @@ typedef enum { |
|
|
kDrawBarDMPowerCtrlBoard = 8, // 手持拉杆箱消毒机电源板
|
|
|
kDrawBarDMPowerCtrlBoard = 8, // 手持拉杆箱消毒机电源板
|
|
|
kDrawBarDMExtChSelector = 9, // 手持拉杆箱消毒机外部球阀控制板
|
|
|
kDrawBarDMExtChSelector = 9, // 手持拉杆箱消毒机外部球阀控制板
|
|
|
kH2O2SensorBoard = 10, // H2O2传感器板
|
|
|
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) { |
|
|
static inline const char* BoardTypeId2Str(uint32_t id) { |
|
|
switch (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: |
|
|
default: |
|
|
return "unkown"; |
|
|
|
|
|
|
|
|
return "Unknown"; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
static inline const char* ProjectIDToString(uint32_t id) { |
|
|
static inline const char* ProjectIDToString(uint32_t id) { |
|
|
switch (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: |
|
|
default: |
|
|
return "unkown"; |
|
|
|
|
|
|
|
|
return "Unknown"; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -234,7 +243,7 @@ typedef enum { |
|
|
kreport_pressure_data = 1350, // report:subid pressure(0.1pa)
|
|
|
kreport_pressure_data = 1350, // report:subid pressure(0.1pa)
|
|
|
|
|
|
|
|
|
/***********************************************************************************************************************
|
|
|
/***********************************************************************************************************************
|
|
|
* 比例阀控制 * |
|
|
|
|
|
|
|
|
* 正负压-比例阀控制 * |
|
|
***********************************************************************************************************************/ |
|
|
***********************************************************************************************************************/ |
|
|
kfn_proportional_set_valve = 1400, // 设置比例阀 {4:valveId,4:valveValue}
|
|
|
kfn_proportional_set_valve = 1400, // 设置比例阀 {4:valveId,4:valveValue}
|
|
|
kfn_proportional_read_pos = 1402, //
|
|
|
kfn_proportional_read_pos = 1402, //
|
|
@ -262,6 +271,11 @@ typedef enum { |
|
|
// kfn_add_liquid_pump_air_intake_valve = 1700, // cmd: state ,true打开进气阀,false关闭进气阀门 加液进气电磁阀(打开,可以正常加液排液,关闭后加液泵倒转可以排空管路
|
|
|
// 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_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; |
|
|
} cmd_t; |
|
|
|
|
|
|
|
|
#pragma pack(1)
|
|
|
#pragma pack(1)
|
|
|