can_bootloader/user/Diag36code.aardio

64 lines
1.2 KiB
Plaintext
Raw Normal View History

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();
}
}
*/
}