Files
checker_host/prot_cmd/cmd_slave.h
ranchuan cc5b1b7458 广播命令已接收的回复不再触发回调
检测命令0x0c只能使用单播方式,广播方式因为不能即时回复停止信号,回复会出错
  添加电阻测试命令,添加自检命令
2023-12-13 18:29:46 +08:00

163 lines
2.6 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef CMD_SLAVE_H
#define CMD_SLAVE_H
#include "prot/prot_slave.h"
// 从机检测命令
class slave_check:public HandleSlave
{
public:
slave_check():HandleSlave(){}
int start(myarray data);
int dolater(int cmd, myarray data);
void timeout();
};
// 从机检测命令
class slave_check2:public HandleBoardCast
{
public:
slave_check2():HandleBoardCast(){}
int start(myarray data);
int dolater(int cmd, myarray data);
void timeout();
};
// 获取检测结果命令
class slave_result:public HandleSlave
{
public:
slave_result():HandleSlave(){}
int start(myarray data);
int dolater(int cmd, myarray data);
void timeout();
};
// 设置硬件版本号命令
class slave_sethardver:public HandleSlave
{
public:
slave_sethardver():HandleSlave(){}
int start(myarray data);
int dolater(int cmd, myarray data);
void timeout();
};
// 设置电阻校准值命令
class slave_setresver:public HandleSlave
{
public:
slave_setresver():HandleSlave(){}
int start(myarray data);
int dolater(int cmd, myarray data);
void timeout();
};
// 获取电阻值命令
class slave_resvalue:public HandleSlave
{
public:
slave_resvalue():HandleSlave(){}
int start(myarray data);
int dolater(int cmd, myarray data);
void timeout();
};
// 程序升级
class boardcast_updata:public HandleBoardCast
{
public:
boardcast_updata():HandleBoardCast(){step=0;count_sent=0;}
int start(myarray data);
int dolater(int cmd, myarray data);
void timeout();
bool send_packet();
private:
int step;
myarray data;
int count_sent;
};
// 方案升级
class boardcast_updata_scheme:public HandleBoardCast
{
public:
boardcast_updata_scheme():HandleBoardCast(){step=0;count_sent=0;base_addr=0;}
virtual int start(myarray data);
int dolater(int cmd, myarray data);
void timeout();
bool send_packet();
protected:
int step;
myarray data;
int count_sent;
uint32_t base_addr;
};
// jwt升级
class boardcast_updata_jwt:public boardcast_updata_scheme
{
public:
boardcast_updata_jwt():boardcast_updata_scheme(){step=0;count_sent=0;base_addr=0;}
int start(myarray data);
};
// 自检信息
class slave_bootinfo:public HandleSlave
{
public:
slave_bootinfo():HandleSlave(){}
int start(myarray data);
int dolater(int cmd, myarray data);
void timeout();
};
// 获取命令数据使用前先设置cmd
class slave_cmd:public HandleBoardCast
{
public:
slave_cmd():HandleBoardCast(){}
int start(myarray data);
int dolater(int cmd, myarray data);
void timeout();
};
#endif // CMD_SLAVE_H