2022-05-17 16:34:44 +08:00
|
|
|
|
|
|
|
//
|
|
|
|
var blocknum=1;
|
|
|
|
var flag_sendend = false;
|
|
|
|
var flag_sending = false;
|
|
|
|
var alldata = {};
|
|
|
|
FuncStartSendBlock = function(data){
|
|
|
|
blocknum = 0x01;
|
|
|
|
flag_sendend = false;
|
|
|
|
flag_sending = true;
|
|
|
|
alldata = data;
|
|
|
|
}
|
|
|
|
FuncStopSendBlock = function(data){
|
|
|
|
blocknum = 0x01;
|
|
|
|
flag_sendend = false;
|
|
|
|
flag_sending = false;
|
|
|
|
}
|
|
|
|
FuncGetSendStatus = function(){
|
|
|
|
return flag_sendend;
|
|
|
|
}
|
|
|
|
FuncSendNextBlock = function(){
|
2022-05-18 08:55:11 +08:00
|
|
|
if(#alldata>0x400){
|
2022-05-17 16:34:44 +08:00
|
|
|
FuncReq36(blocknum,table.slice(alldata,1,0x400));
|
|
|
|
alldata = table.slice(alldata,0x401,)
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
FuncReq36(blocknum,alldata);
|
|
|
|
alldata = {};
|
|
|
|
flag_sendend = true;
|
|
|
|
}
|
|
|
|
blocknum += 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//发送
|
|
|
|
FuncReq36 = function(num,data){
|
|
|
|
len = #data+2;
|
2022-05-18 08:55:11 +08:00
|
|
|
if(len > 7){
|
|
|
|
var txdata = {0x10+(len>>8),len&0xff,0x36,num&0xff,data[1],data[2],data[3],data[4]};
|
|
|
|
CANHw.SendMsg(DiagReqID,txdata);
|
|
|
|
FuncPushPackage(DiagReqID,table.slice(data,5));
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
var txdata = {len,0x36,num&0xff,0, 0,0,0,0};
|
|
|
|
for(i=1;#data;1){
|
|
|
|
txdata[i+3] = data[i];
|
|
|
|
}
|
|
|
|
|
|
|
|
CANHw.SendMsg(DiagReqID,txdata);
|
|
|
|
}
|
|
|
|
|
2022-05-17 16:34:44 +08:00
|
|
|
}
|
|
|
|
//接收
|
|
|
|
FuncDiag36Pro = function(data){
|
|
|
|
//console.dumpJson(data);
|
|
|
|
/*
|
|
|
|
if(data[1] == blocknum){
|
|
|
|
blocknum += 1;
|
|
|
|
if(flag_sending == true){
|
|
|
|
FuncSendNextBlock();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*/
|
|
|
|
}
|