#ifndef CMD_CODER_H #define CMD_CODER_H #include #include "prot_cmd/cmd_pc.h" #include "base/check_cfg.h" #include "elec/elec_judge.h" /* 执行任务命令格式 [0...1]=总字节数,[2]=当前包数(0开始),[3]=当前包字节数 [4...n]=数据 数据域格式 [0]=小板地址,[1]=数据长度,[2...n]=数据 单个任务数据格式 [0]=插槽序号,[1]=任务id,[2]=参数个数(u16) [3]=返回值个数(u16),[4]=异常代码,[5]=任务序号 [6...n]=参数 返回数据域格式 [0]=任务序号,[1]=返回数据长度(u16) [2...n]=参数 */ int coder_find_task_id(const char *str); // 赋码仪检测命令 class cmd_coder_check : public selfdev_runtask { Q_OBJECT public: cmd_coder_check():selfdev_runtask(){ } // pc指令转从机 myarray cmd_pc_to_slave(myarray data){ } // pc指令生成从机列表 QList cmd_pc_to_addrs(myarray data){ QList addr_list; addrs=data[0]|(data[1]<<8)|(data[2]<<16); for(int i=0;i<20;i++){ if((addrs&(1<>8)&0xff)); r.append(uint8_t((addrs>>16)&0xff)); r.append(uint8_t(0)); return r; } // pc回复命令,返回0不回复 int cmd_pc_ret(){ return 0x90; } // 从机返回转pc myarray ret_slave_to_pc(QList data){ } protected: int addrs; }; #endif // CMD_CODER_H