#pragma once #include "sdk/os/zos.hpp" namespace iflytop { namespace zcr { typedef struct { uint16_t packetindex; uint16_t cmdid; uint8_t subcmdid; uint8_t packetType; uint8_t data[]; } Cmdheader_t; 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_high_power_electrical_ctl = 1003, // 大功率电源控制 kcmd_peristaltic_pump_ctl = 1004, // 液泵控制 kcmd_read_huacheng_pressure_sensor = 1005, // 华诚压力传感器 } CmdID_t; } // namespace zcr } // namespace iflytop typedef struct { uint8_t boardid; } kcmd_ping_t; typedef struct { uint8_t boardid; } kcmd_ping_ack_t; typedef struct { uint8_t ioid; } kcmd_read_io_t; typedef struct { uint8_t ioid; uint8_t val; } kcmd_read_io_ack_t; typedef struct { uint8_t ioid; uint8_t val; } kcmd_set_io_t; typedef struct { uint8_t ioid; uint8_t val; } kcmd_set_io_ack_t; typedef struct { uint8_t sensorid; } kcmd_readadc_raw_t; typedef struct { uint8_t sensorid; uint8_t __p; // padding int32_t val; } kcmd_readadc_raw_ack_t;