添加tcp心跳

添加升级小板程序、方案、jwt文件的进度条命令
This commit is contained in:
ranchuan
2023-12-29 09:41:37 +08:00
parent 8e7f3347d9
commit 92f3ebbe33
16 changed files with 389 additions and 55 deletions

View File

@@ -7,6 +7,7 @@
#include "base/check_cfg.h"
#include "QDebug"
#include "elec/elec_judge.h"
#include "QDateTime"
typedef struct
{
@@ -349,7 +350,6 @@ int selfdev_slaveupdate::dolater(int cmd, myarray data)
emit send_data_signal(0xfe,myarray(1,char(0)));
// 自动给小板升级
// start_updata_mcu(cfg_->config_path+name,slave_addrs);
HandleBoardCast *b=new boardcast_updata();
bool ack=slave->set_boardcast_handle(cfg_->calc_slave_addrs(),b);
if(ack==false){
@@ -357,6 +357,8 @@ int selfdev_slaveupdate::dolater(int cmd, myarray data)
busy=0;
}else{
connect(b,&HandleBoardCast::end_signal,this,&selfdev_slaveupdate::slave_end_slot);
connect(b,&HandleBoardCast::rate_signal,this,&selfdev_slaveupdate::rate_slot);
handle_start_time=QDateTime::currentDateTime().toTime_t();
b->start(data);
}
@@ -368,6 +370,18 @@ void selfdev_slaveupdate::timeout(){
qDebug("slave update timeout");
}
void selfdev_slaveupdate::rate_slot(int rate, mystring str)
{
qint64 now_time=QDateTime::currentDateTime().toTime_t();
now_time=now_time-handle_start_time;
myarray data;
data.append(char(rate&0xff));
data.append(uint8_t(now_time&0xff));
data.append(uint8_t((now_time>>8)&0xff));
data.append(str.toLocal8Bit());
emit send_data_signal(0x46,data);
}
void selfdev_slaveupdate::slave_end_slot(int addr,int ack, slave_data data)
{
qDebug("slave update end,ack=%s",ack?"failed":"success");
@@ -414,11 +428,6 @@ int selfdev_update_scheme::dolater(int cmd, myarray data)
r.append(ack?char(0):char(1));
r.append(rw);
if(ack){
// 检测数据保存
// if(comm_f_!=nullptr){
// delete comm_f_;
// comm_f_=nullptr;
// }
// 自动给小板升级
HandleBoardCast *b=new boardcast_updata_scheme();
bool ack=slave->set_boardcast_handle(cfg_->calc_slave_addrs(),b);
@@ -427,6 +436,8 @@ int selfdev_update_scheme::dolater(int cmd, myarray data)
busy=0;
}else{
connect(b,&HandleBoardCast::end_signal,this,&selfdev_update_scheme::slave_end_slot);
connect(b,&HandleBoardCast::rate_signal,this,&selfdev_update_scheme::rate_slot);
handle_start_time=QDateTime::currentDateTime().toTime_t();
myarray scheme=myarray((const char *)ccfg_->check_scheme(),ccfg_->check_scheme_size());
b->start(scheme);
}
@@ -444,6 +455,17 @@ void selfdev_update_scheme::timeout(){
busy=0;
qDebug("slave update timeout");
}
void selfdev_update_scheme::rate_slot(int rate, mystring str)
{
qint64 now_time=QDateTime::currentDateTime().toTime_t();
now_time=now_time-handle_start_time;
myarray data;
data.append(char(rate&0xff));
data.append(uint8_t(now_time&0xff));
data.append(uint8_t((now_time>>8)&0xff));
data.append(str.toLocal8Bit());
emit send_data_signal(0x46,data);
}
void selfdev_update_scheme::slave_end_slot(int addr,int ack, slave_data data)
{
@@ -523,6 +545,8 @@ int selfdev_jwtupdate::dolater(int cmd, myarray data)
busy=0;
}else{
connect(b,&HandleBoardCast::end_signal,this,&selfdev_slaveupdate::slave_end_slot);
connect(b,&HandleBoardCast::rate_signal,this,&selfdev_slaveupdate::rate_slot);
handle_start_time=QDateTime::currentDateTime().toTime_t();
b->start(data);
}