diff --git a/transmit_disinfection_protocol_v1.hpp b/transmit_disinfection_protocol_v1.hpp new file mode 100644 index 0000000..9cb0bf9 --- /dev/null +++ b/transmit_disinfection_protocol_v1.hpp @@ -0,0 +1,60 @@ +#pragma once +#include +#pragma pack(1) + +typedef struct { + uint16_t packetindex; + uint16_t cmdid; + uint8_t subcmdid; + uint8_t packetType; + uint8_t data[]; +} transmit_disinfection_protocol_header_t; + +#pragma pack() + +typedef enum { + kpt_cmd = 0, + kpt_ack = 1, + kpt_error_ack = 2, + kpt_status_report = 3, +} PacketType_t; + +typedef enum { + kcmd_ping = 0, + kcmd_read_io = 1, + kcmd_set_io = 2, + kcmd_readadc_raw = 3, + + kcmd_m211887_operation = 1000, // 维萨拉压力传感器 + kcmd_read_presure_sensor = 1001, + kcmd_triple_warning_light_ctl = 1002, + kcmd_peristaltic_pump_ctl = 1004, + kcmd_read_huacheng_pressure_sensor = 1005, + kcmd_set_proportional_valve = 1006, // 设置比例阀 {4:valveId,4:valveValue} + kcmd_air_compressor_ch_select = 1007, // 空压机通道选择 {4:val} + kcmd_air_compressor_valve1_set = 1008, // 空压机阀门1控制 {4:val} + kcmd_air_compressor_valve2_set = 1009, // 空压机阀门2控制 {4:val} + kcmd_air_compressor_read_pressure = 1010, // 空压机阀读取压力 {}{4:val} + kcmd_proportional_read_state = 1011, + kcmd_proportional_read_water_immersion_sensor = 1012, // 读取水浸传感器状态 + + kcmd_spray_air_compressor_power_ctrl = 1013, // 喷雾空压机控制 {4:ID}{4:val} + kcmd_air_tightness_test_air_compressor_power_ctrl = 1014, // 气密性空压机控制 {4:ID}{4:val} + + kreport_h2o2_sensor_data = 2000, // h2o2传感器信息 + +} tdp_cmdid_t; + +/*********************************************************************************************************************** + * 上报包 * + ***********************************************************************************************************************/ +#pragma pack(1) +typedef struct { + uint8_t sensorid; + uint8_t sensor_error; // 传感器异常 + uint16_t h2o2; // ppm * 10 + uint16_t humid; // %RH * 10 + uint16_t temp; // °C * 10 + uint16_t saturation; // %RS * 10 +} report_h2o2_data_t; +#pragma pack()