Compare commits

...

6 Commits

Author SHA1 Message Date
f2b1e3388c 更新 2024-03-04 10:03:50 +08:00
3dce038937 更新诊断格式 2023-03-23 15:18:23 +08:00
edb0df7387 更新boot流程 2023-03-21 21:52:32 +08:00
34b4afa2c2 Merge branch 'S51EV_ECU' of http://ikuai.hua-hua.cn:23080/huahua/can_bootloader into S51EV_ECU 2023-03-09 11:24:14 +08:00
467d41ea06 更新文件检测 2023-03-09 11:24:02 +08:00
131d4a4134 20230228 2023-02-28 20:45:28 +08:00
4 changed files with 57 additions and 21 deletions

View File

@ -43,7 +43,9 @@ timer_bootcount.onTimer = function(){//boot时间定时器100ms间隔
} }
Display = function(str){//显示日志 Display = function(str){//显示日志
mainForm.edit.print(tostring(time()) + " " + str); var nowtime = time();
nowtime.format="%H:%M:%S";
mainForm.edit.print(tostring(nowtime) + " " + str);
} }
//遍历目录 //遍历目录
import console; import console;
@ -161,12 +163,12 @@ var DiagStopReq = function(){
} }
mainForm.btnReadSw.oncommand = function(id,event){ mainForm.btnReadSw.oncommand = function(id,event){
DiagReadDID(0xF188); DiagReadDID(0xF195);
} }
mainForm.btnReadHw.oncommand = function(id,event){ mainForm.btnReadHw.oncommand = function(id,event){
DiagReadDID(0xF191); DiagReadDID(0xF193);
} }
mainForm.btnReadF186.oncommand = function(id,event){ mainForm.btnReadF186.oncommand = function(id,event){
@ -179,7 +181,11 @@ mainForm.btnTest.oncommand = function(id,event){
mainForm.btnFlash.oncommand = function(id,event){ mainForm.btnFlash.oncommand = function(id,event){
if(io.exist(mainForm.edFile.text) == null){ if(io.exist(mainForm.edFile.text) == null){
Display("请打开文件"); Display("请打开烧写文件");
return;
}
if(io.exist(mainForm.edFile2.text) == null){
Display("请打开flashdriver文件");
return; return;
} }
if(flag_connected == 0){ if(flag_connected == 0){

View File

@ -5,8 +5,8 @@ import win.timer;
CANHw = usb2canfd.USB2CANHW(); CANHw = usb2canfd.USB2CANHW();
CANHw.LoadDll(); CANHw.LoadDll();
DiagReqID = 0x741;//0x18dadff1; DiagReqID = 0x7F3;//0x18dadff1;
DiagRespID = 0x751;//0x18daf1df; DiagRespID = 0x7FB;//0x18daf1df;
DiagGloableID = 0x7DF;//0x18DB33F1; DiagGloableID = 0x7DF;//0x18DB33F1;
stopflag = 0; stopflag = 0;
//注册一个消息钩子函数 //注册一个消息钩子函数

View File

@ -12,6 +12,7 @@ FuncReadDID = function(did){
//FuncDisplay("did = " + tostring(did,16)); //FuncDisplay("did = " + tostring(did,16));
} }
CurrentSession = 0;
//接收 //接收
FuncDiag22Pro = function(data){ FuncDiag22Pro = function(data){
//console.log("诊断22服务") //console.log("诊断22服务")
@ -22,6 +23,7 @@ FuncDiag22Pro = function(data){
select(did) { select(did) {
case 0xF186 { case 0xF186 {
FuncDisplay("当前会话: " + data[3]); FuncDisplay("当前会话: " + data[3]);
CurrentSession = data[3];
} }
case 0xF191 { case 0xF191 {
FuncDisplay("硬件版本号"); FuncDisplay("硬件版本号");
@ -57,7 +59,8 @@ FuncDiag22Pro = function(data){
case 0x1701 { case 0x1701 {
var 水平 = (data[3]<<8) + (data[4]); var 水平 = (data[3]<<8) + (data[4]);
var 靠背 = (data[5]<<8) + (data[6]); var 靠背 = (data[5]<<8) + (data[6]);
FuncDisplay("水平电机当前位置霍尔数: " + 水平 + "靠背电机当前位置数" + 靠背); FuncDisplay("水平当前位置: " ++ (水平-0x8000) );
FuncDisplay("靠背当前位置" ++ (靠背 - 0x8000) );
} }
case 0x1702 { case 0x1702 {
if(#data < 10){ if(#data < 10){
@ -68,13 +71,16 @@ FuncDiag22Pro = function(data){
var 水平2 = (data[5]<<8) + (data[6]); var 水平2 = (data[5]<<8) + (data[6]);
var 靠背1 = (data[7]<<8) + (data[8]); var 靠背1 = (data[7]<<8) + (data[8]);
var 靠背2 = (data[9]<<8) + (data[10]); var 靠背2 = (data[9]<<8) + (data[10]);
FuncDisplay("水平1: " + 水平1 + "水平2" + 水平2); FuncDisplay("水平1: " + (水平1-0x8000) + "水平2: " + (水平2-0x8000));
FuncDisplay("靠背1: " + 靠背1 + "靠背2" + 靠背2); FuncDisplay("靠背1: " + (靠背1-0x8000) + "靠背2: " + (靠背2-0x8000));
FuncDisplay("水平1: " + (水平1) + "水平2: " + (水平2));
FuncDisplay("靠背1: " + (靠背1) + "靠背2: " + (靠背2));
} }
case 0x1706 { case 0x1706 {
var 水平 = data[3]&0x01; var 水平 = data[3]&0x01;
var 靠背 = (data[3]>>1)&0x01; var 靠背 = (data[3]>>1)&0x01;
FuncDisplay("座椅水平方向电机学习状态: " + 水平 + "座椅靠背方向电机学习状态" + 靠背); FuncDisplay("座椅水平方向电机学习状态: " + 水平);
FuncDisplay("座椅靠背方向电机学习状态" + 靠背);
} }
case 0x1707 { case 0x1707 {
var 电流 = (data[3]<<8) + data[4]; var 电流 = (data[3]<<8) + data[4];
@ -96,7 +102,7 @@ FuncDiag22Pro = function(data){
FuncDisplay("靠背向前: " + 靠背向前); FuncDisplay("靠背向前: " + 靠背向前);
FuncDisplay("靠背向后: " + 靠背向后); FuncDisplay("靠背向后: " + 靠背向后);
FuncDisplay("快进按键: " + 快进按键); FuncDisplay("快进按键: " + 快进按键);
FuncDisplay("快进按键: " + 快进按键); FuncDisplay("快出按键: " + 快出按键);
FuncDisplay("锁扣状态: " + 锁扣状态); FuncDisplay("锁扣状态: " + 锁扣状态);
FuncDisplay("坐人状态: " + 坐人状态); FuncDisplay("坐人状态: " + 坐人状态);
} }

View File

@ -202,26 +202,43 @@ FuncBootSeq = function(){
if(sendstate == 0){ if(sendstate == 0){
FuncReadDID(0xF195);//读取软件版本 FuncReadDID(0xF195);//读取软件版本
FuncClearState(); FuncClearState();
delaycount = 0;
} }
else { else {
var ret = FuncWait(0x22); //var ret = FuncWait(0x22);
nextstate(ret); //nextstate(0);
delaycount += 1;
if(delaycount > 10){
nextstate(0);//延时1S
}
} }
} }
case 2 { case 2 {
if(sendstate == 0){ if(sendstate == 0){
FuncReadDID(0xF193);//读取硬件版本 FuncReadDID(0xF193);//读取硬件版本
FuncClearState(); FuncClearState();
delaycount = 0;
} }
else { else {
var ret = FuncWait(0x22); //var ret = FuncWait(0x22);
nextstate(ret); //nextstate(0);
delaycount += 1;
if(delaycount > 10){
nextstate(0);//延时1S
}
} }
} }
case 3 { case 3 {
if(sendstate == 0){ if(sendstate == 0){
FuncReq10(true,0x03);//进入扩展会话 if(CurrentSession == 2){
FuncClearState(); nextstate(0);
}
else {
FuncReq10(true,0x03);//进入扩展会话
FuncClearState();
}
} }
else { else {
var ret = FuncWait(0x10); var ret = FuncWait(0x10);
@ -232,20 +249,27 @@ FuncBootSeq = function(){
if(sendstate == 0){ if(sendstate == 0){
FuncReq85(0x02);//关闭DTC FuncReq85(0x02);//关闭DTC
FuncClearState(); FuncClearState();
delaycount = 0;
} }
else { else {
var ret = FuncWait(0x85); delaycount += 1;
nextstate(ret); if(delaycount > 10){
nextstate(0);//延时1S
}
} }
} }
case 5 { case 5 {
if(sendstate == 0){ if(sendstate == 0){
FuncReq28(0x01,0x01);//禁止发送 FuncReq28(0x01,0x01);//禁止发送
FuncClearState(); FuncClearState();
delaycount = 0;
} }
else { else {
var ret = FuncWait(0x28); delaycount += 1;
nextstate(ret); if(delaycount > 10){
nextstate(0);//延时1S
}
} }
} }
case 6 { case 6 {