72 lines
1.5 KiB
Plaintext
72 lines
1.5 KiB
Plaintext
|
|
FuncReq31EraseFlash = function(addr,len){
|
|
FuncDisplay("开始擦除数据");
|
|
FuncDisplay("Start erasing data
|
|
");
|
|
var data = {0xff,0x00,0x44,addr>>24,addr>>16,addr>>8,addr,len>>24,len>>16,len>>8,len};
|
|
FuncReq31(data);
|
|
}
|
|
|
|
FuncReq31CheckLogicBlock = function(crc){//(addr,len)
|
|
//var data = {0x02,0x02,0x44,addr>>24,addr>>16,addr>>8,addr,len>>24,len>>16,len>>8,len};
|
|
var data = {0x02,0x02,crc>>24,crc>>16,crc>>8,crc};
|
|
FuncReq31(data);
|
|
}
|
|
FuncReq31CheckPD = function(){//Programming Dependencies
|
|
var data = {0xFF,0x01};
|
|
FuncReq31(data);
|
|
}
|
|
FuncReq31CheckFlash = function(){
|
|
var data = {0x02,0x02};
|
|
FuncReq31(data);
|
|
}
|
|
|
|
|
|
|
|
|
|
//发送
|
|
FuncReq31 = function(data){
|
|
if(#data > 5){//多帧
|
|
var txdata = {0x10,2+#data,0x31,0x01,data[1],data[2],data[3],data[4]};
|
|
CANHw.SendMsg(DiagReqID,txdata);
|
|
FuncPushPackage(DiagReqID,table.slice(data,5));
|
|
}
|
|
else {
|
|
var txdata = {2+#data,0x31,0x01,0, 0,0,0,0};
|
|
for(i=1;#data;1){
|
|
txdata[3+i] = data[i];
|
|
}
|
|
CANHw.SendMsg(DiagReqID,txdata);
|
|
}
|
|
|
|
|
|
}
|
|
//接收
|
|
FuncDiag31Pro = function(data){
|
|
//console.dumpJson(data);
|
|
if(#data < 3){
|
|
//FuncDisplay("31长度错误");
|
|
return;
|
|
}
|
|
var rid = (data[2]<<8) + data[3];
|
|
select(rid) {
|
|
case 0xFF00 {
|
|
FuncDisplay("擦除成功")
|
|
}
|
|
case 0x0202 {
|
|
FuncDisplay("校验成功");
|
|
FuncDisplay("Verification successful
|
|
");
|
|
}
|
|
case 0xFF01 {
|
|
FuncDisplay("检查标志成功")
|
|
FuncDisplay("Check flag successfully
|
|
")
|
|
}
|
|
case 0xF518 {
|
|
FuncDisplay("数字签名错误")
|
|
}
|
|
else {
|
|
}
|
|
}
|
|
} |