You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

73 lines
1.4 KiB

#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;