can_bootloader/user/Diag31code.aardio

72 lines
1.5 KiB
Plaintext
Raw Normal View History

2022-05-17 14:11:10 +08:00
2022-05-17 16:34:44 +08:00
FuncReq31EraseFlash = function(addr,len){
2024-10-09 09:09:01 +08:00
FuncDisplay("开始擦除数据");
FuncDisplay("Start erasing data
");
2022-05-17 16:34:44 +08:00
var data = {0xff,0x00,0x44,addr>>24,addr>>16,addr>>8,addr,len>>24,len>>16,len>>8,len};
FuncReq31(data);
}
2022-10-04 16:01:27 +08:00
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};
2022-05-18 08:55:11 +08:00
FuncReq31(data);
}
FuncReq31CheckPD = function(){//Programming Dependencies
var data = {0xFF,0x01};
FuncReq31(data);
}
2022-07-06 16:55:12 +08:00
FuncReq31CheckFlash = function(){
var data = {0x02,0x02};
FuncReq31(data);
}
2022-05-18 08:55:11 +08:00
2022-05-17 14:11:10 +08:00
//发送
FuncReq31 = function(data){
2022-05-17 16:34:44 +08:00
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));
2022-05-17 14:11:10 +08:00
}
2022-05-17 16:34:44 +08:00
else {
var txdata = {2+#data,0x31,0x01,0, 0,0,0,0};
for(i=1;#data;1){
2022-05-18 08:55:11 +08:00
txdata[3+i] = data[i];
2022-05-17 16:34:44 +08:00
}
CANHw.SendMsg(DiagReqID,txdata);
}
2022-05-17 14:11:10 +08:00
}
//接收
2022-05-17 16:34:44 +08:00
FuncDiag31Pro = function(data){
2022-05-17 14:11:10 +08:00
//console.dumpJson(data);
2023-03-20 19:42:48 +08:00
if(#data < 3){
//FuncDisplay("31长度错误");
return;
}
2022-05-18 10:43:03 +08:00
var rid = (data[2]<<8) + data[3];
select(rid) {
case 0xFF00 {
FuncDisplay("擦除成功")
2022-05-17 14:11:10 +08:00
}
2022-05-18 10:43:03 +08:00
case 0x0202 {
2024-10-09 09:09:01 +08:00
FuncDisplay("校验成功");
FuncDisplay("Verification successful
");
2022-05-17 14:11:10 +08:00
}
2022-05-18 10:43:03 +08:00
case 0xFF01 {
FuncDisplay("检查标志成功")
2024-10-09 09:09:01 +08:00
FuncDisplay("Check flag successfully
")
2022-05-18 10:43:03 +08:00
}
case 0xF518 {
FuncDisplay("数字签名错误")
2022-05-17 14:11:10 +08:00
}
else {
}
}
}