2022-05-14 15:57:52 +08:00
|
|
|
var diag22state = 0;
|
|
|
|
//发送
|
|
|
|
FuncReadDID = function(did){
|
|
|
|
if(CANHw.isConnected() == false){
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
var data = {0x03,0x22,did>>8,did&0xff,0,0,0,0};
|
2022-09-30 16:32:52 +08:00
|
|
|
var ret = CANHw.SendMsg(DiagReqID,data);
|
2022-05-14 15:57:52 +08:00
|
|
|
diag22state = 1;
|
2022-10-04 16:01:27 +08:00
|
|
|
//console.log("did = " + tostring(did,16));
|
|
|
|
//console.log("ret = " + ret);
|
2022-10-13 16:47:51 +08:00
|
|
|
//FuncDisplay("did = " + tostring(did,16));
|
2022-05-14 15:57:52 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
//接收
|
|
|
|
FuncDiag22Pro = function(data){
|
|
|
|
//console.log("诊断22服务")
|
|
|
|
if(#data < 3){
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
var did = (data[1]<<8) + data[2];
|
|
|
|
select(did) {
|
2023-02-20 20:00:26 +08:00
|
|
|
case 0xF186 {
|
|
|
|
FuncDisplay("当前会话: " + data[3]);
|
|
|
|
}
|
2023-03-20 19:42:48 +08:00
|
|
|
case 0xF193 {
|
|
|
|
var len = string.len(string.pack(table.slice(data,3)),3);
|
|
|
|
if(data[3] != 0){
|
|
|
|
var str = string.pack(table.slice(data,3,len+3));
|
|
|
|
FuncDisplay("硬件版本号:" ++ str);
|
2024-10-09 09:09:01 +08:00
|
|
|
FuncDisplay("Hardware Version:" ++ str++"
|
|
|
|
");
|
2023-03-20 19:42:48 +08:00
|
|
|
}
|
|
|
|
else {
|
|
|
|
FuncDisplay("硬件版本号未读到");
|
2024-10-09 09:09:01 +08:00
|
|
|
FuncDisplay("Hardware version number not read
|
|
|
|
");
|
2023-03-20 19:42:48 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
case 0xF195 {
|
|
|
|
var len = string.len(string.pack(table.slice(data,3)),3);
|
|
|
|
if(data[3] != 0){
|
|
|
|
var str = string.pack(table.slice(data,3,len+3));
|
|
|
|
FuncDisplay("软件版本号:" ++ str);
|
2024-10-09 09:09:01 +08:00
|
|
|
FuncDisplay("Software Version:" ++ str++"
|
|
|
|
");
|
2023-03-20 19:42:48 +08:00
|
|
|
}
|
|
|
|
else {
|
|
|
|
FuncDisplay("软件版本号未读到");
|
2024-10-09 09:09:01 +08:00
|
|
|
FuncDisplay("Software version number not read
|
|
|
|
");
|
2023-03-20 19:42:48 +08:00
|
|
|
}
|
2022-05-14 15:57:52 +08:00
|
|
|
}
|
2022-05-18 14:06:44 +08:00
|
|
|
case 0xF198 {
|
|
|
|
FuncDisplay("repair_shopcode");
|
|
|
|
FuncDisplay(string.pack(table.slice(data,3)));
|
|
|
|
}
|
|
|
|
case 0xF199 {
|
|
|
|
FuncDisplay("installation_date");
|
2023-03-20 19:42:48 +08:00
|
|
|
FuncDisplay(string.format("%02x%02x%02x%02x",data[3],data[4],data[5],data[6]));
|
2022-05-18 14:06:44 +08:00
|
|
|
}
|
2022-10-13 16:47:51 +08:00
|
|
|
case 0xF187 {
|
|
|
|
FuncDisplay("车辆备用零部件编号");
|
|
|
|
FuncDisplay(string.pack(table.slice(data,3)));
|
|
|
|
|
|
|
|
}
|
|
|
|
case 0xF18A {
|
2024-10-09 09:09:01 +08:00
|
|
|
FuncDisplay("软件日期:"++string.pack(table.slice(data,3)));
|
|
|
|
FuncDisplay("Software date:"++string.pack(table.slice(data,3))++"
|
|
|
|
");
|
2022-10-13 16:47:51 +08:00
|
|
|
|
|
|
|
}
|
|
|
|
case 0xF197 {
|
|
|
|
FuncDisplay("ECU 系统名称");
|
|
|
|
FuncDisplay(string.pack(table.slice(data,3)));
|
|
|
|
|
|
|
|
}
|
2022-05-14 15:57:52 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
}
|