70 lines
1.2 KiB
C++
70 lines
1.2 KiB
C++
#ifndef CMD_HMI_CODER_H
|
|
#define CMD_HMI_CODER_H
|
|
|
|
|
|
#include <QObject>
|
|
#include "prot_cmd/cmd_pc.h"
|
|
#include "base/check_cfg.h"
|
|
#include "elec/elec_judge.h"
|
|
#include "QByteArray"
|
|
|
|
|
|
|
|
|
|
// 赋码仪检测命令
|
|
class cmd_hmicoder_check : public selfdev_runtask
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
cmd_hmicoder_check():selfdev_runtask(){
|
|
}
|
|
// pc指令转从机
|
|
myarray cmd_pc_to_slave(myarray data);
|
|
// pc指令生成从机列表
|
|
QList<int> cmd_pc_to_addrs(myarray data){
|
|
QList<int> addr_list;
|
|
addrs=data[0];
|
|
mode=data[1];
|
|
if(addrs<=0||addrs>20){
|
|
return addr_list;
|
|
}
|
|
for(int i=0;i<addrs;i++){
|
|
addr_list.append(i+1);
|
|
}
|
|
return addr_list;
|
|
}
|
|
// 从机发起命令
|
|
int cmd_slave(){
|
|
return 0x20;
|
|
}
|
|
// pc收到回复,返回0不回复
|
|
int cmd_pc_recv(){
|
|
return 0;
|
|
}
|
|
// 生成接收回复到pc
|
|
myarray cmd_pc_recv_to_pc(){
|
|
myarray r;
|
|
r.append(uint8_t(addrs));
|
|
r.append(uint8_t(mode));
|
|
r.append(uint8_t(0));
|
|
return r;
|
|
}
|
|
// pc回复命令,返回0不回复
|
|
int cmd_pc_ret();
|
|
// 从机返回转pc
|
|
myarray ret_slave_to_pc(QList<myarray> data);
|
|
protected:
|
|
int addrs;
|
|
int mode;
|
|
};
|
|
|
|
|
|
void hmicoder_init();
|
|
|
|
|
|
|
|
|
|
#endif // CMD_HMI_CODER_H
|
|
|
|
|