Files
checker_host/prot_cmd/cmd_pc.h
2023-12-18 22:56:17 +08:00

283 lines
4.9 KiB
C++

#ifndef cmd_pc_h__
#define cmd_pc_h__
#include "prot/prot_pc.h"
#include "prot/prot_m4.h"
#include "prot_cmd/cmd_slave.h"
// 检测 自研批检仪
class selfdev_check : public HandlePc
{
Q_OBJECT
public:
selfdev_check() : HandlePc() {
slave_acked_num=0;
moter_down_cb_fun=nullptr;
}
~selfdev_check() {
if(moter_down_cb_fun!=nullptr){
// 取消电机下降到位回调
prot_m4 *m4 = protM4();
if(m4!=nullptr) {
m4->del_irq_fun(moter_down_cb_fun,"moter ");
}
}
}
int dolater(int cmd, myarray data);
void timeout();
public slots:
void slave_end_slot(int addr,int ack, myarray data);
protected:
QList<myarray> slave_acked;
int slave_acked_num;
prot_m4_cb moter_down_cb_fun;
signals:
void send_to_m4_signal(myarray data);
};
// 检测 自研批检仪 广播形式
class selfdev_check2 : public HandlePc
{
Q_OBJECT
public:
selfdev_check2() : HandlePc() {
slave_acked_num=0;
moter_down_cb_fun=nullptr;
}
~selfdev_check2() {
if(moter_down_cb_fun!=nullptr){
// 取消电机下降到位回调
prot_m4 *m4 = protM4();
if(m4!=nullptr) {
m4->del_irq_fun(moter_down_cb_fun,"moter ");
}
}
}
int dolater(int cmd, myarray data);
void timeout();
public slots:
void slave_end_slot(int addr,int ack, slave_data data);
protected:
QList<myarray> slave_acked;
int slave_acked_num;
prot_m4_cb moter_down_cb_fun;
signals:
void send_to_m4_signal(myarray data);
};
// 检测结束 自研批检仪
class selfdev_checkend : public HandlePc
{
Q_OBJECT
public:
selfdev_checkend() : HandlePc() {}
~selfdev_checkend() {}
int dolater(int cmd, myarray data);
void timeout();
signals:
void send_to_m4_signal(myarray data);
};
// 电机 自研批检仪
class selfdev_moter : public HandlePc
{
Q_OBJECT
public:
selfdev_moter() : HandlePc() {}
~selfdev_moter() {}
int dolater(int cmd, myarray data);
void timeout();
signals:
void send_to_m4_signal(myarray data);
};
// 小板升级
class selfdev_slaveupdate : public HandlePc
{
Q_OBJECT
public:
selfdev_slaveupdate() : HandlePc() {}
~selfdev_slaveupdate() {}
int dolater(int cmd, myarray data);
void timeout();
public slots:
void slave_end_slot(int addr,int ack, slave_data data);
signals:
void send_to_m4_signal(myarray data);
};
// 升级方案
class selfdev_update_scheme : public HandlePc
{
Q_OBJECT
public:
selfdev_update_scheme() : HandlePc() {}
~selfdev_update_scheme() {}
int dolater(int cmd, myarray data);
void timeout();
public slots:
void slave_end_slot(int addr,int ack, slave_data data);
signals:
void send_to_m4_signal(myarray data);
};
// 本机升级
class selfdev_hostupdate : public selfdev_slaveupdate
{
Q_OBJECT
public:
selfdev_hostupdate() : selfdev_slaveupdate() {}
~selfdev_hostupdate() {}
int dolater(int cmd, myarray data);
};
// jwt升级
class selfdev_jwtupdate : public selfdev_slaveupdate
{
Q_OBJECT
public:
selfdev_jwtupdate() : selfdev_slaveupdate() {}
~selfdev_jwtupdate() {}
int dolater(int cmd, myarray data);
};
// 自检
class selfdev_bootinfo : public HandlePc
{
Q_OBJECT
public:
selfdev_bootinfo() : HandlePc() {
slave_acked_num=0;
}
~selfdev_bootinfo() {
}
int dolater(int cmd, myarray data);
void timeout();
public slots:
void slave_end_slot(int addr,int ack, slave_data data);
protected:
QList<myarray> slave_acked;
int slave_acked_num;
};
// 测量电阻
class selfdev_measure_rescv : public HandlePc
{
Q_OBJECT
public:
selfdev_measure_rescv() : HandlePc() {
slave_acked_num=0;
}
~selfdev_measure_rescv() {
if(moter_down_cb_fun!=nullptr){
// 取消电机下降到位回调
prot_m4 *m4 = protM4();
if(m4!=nullptr) {
m4->del_irq_fun(moter_down_cb_fun,"moter ");
}
}
}
int dolater(int cmd, myarray data);
void timeout();
public slots:
void slave_end_slot(int addr,int ack, slave_data data);
protected:
QList<myarray> slave_acked;
int slave_acked_num;
prot_m4_cb moter_down_cb_fun;
signals:
void send_to_m4_signal(myarray data);
};
// 设置电阻校准
class selfdev_set_rescv : public HandlePc
{
Q_OBJECT
public:
selfdev_set_rescv() : HandlePc() {
slave_acked_num=0;
}
~selfdev_set_rescv() {
}
int dolater(int cmd, myarray data);
void timeout();
public slots:
void slave_end_slot(int addr,int ack, slave_data data);
protected:
QList<myarray> slave_acked;
int slave_acked_num;
signals:
void send_to_m4_signal(myarray data);
};
// 执行任务
class selfdev_runtask : public HandlePc
{
Q_OBJECT
public:
selfdev_runtask() : HandlePc() {
slave_acked_num=0;
}
~selfdev_runtask() {
}
int dolater(int cmd, myarray data);
void timeout();
public slots:
void slave_end_slot(int addr,int ack, slave_data data);
protected:
QList<myarray> slave_acked;
int slave_acked_num;
signals:
void send_to_m4_signal(myarray data);
};
#endif