#pragma once #include namespace iflytop { namespace zcr { #pragma pack(push, 1) typedef struct { uint16_t packetindex; uint16_t cmdMainId; // cmd main id uint8_t cmdSubId; // cmd sub id uint8_t packetType; // uint16_t moduleid; // module id uint8_t data[]; } zcr_cmd_header_t; #pragma pack(pop) typedef enum { kptv2_cmd = 0, kptv2_ack = 1, kptv2_error_ack = 2, kptv2_event = 3, } zcan_cmd_packet_type_t; } // namespace zcr } // namespace iflytop #define CMD_SUB_ID(cmdid) (cmdid & 0xff) #define MODULE_CMDID(cmdid) (cmdid >> 8) #define STEP_MOTOR_ID_OFF 100 #define XY_MOTOR_ID_OFF 200