From 649a686add6d52aeed45d032ee60abea95b2ae63 Mon Sep 17 00:00:00 2001 From: sunbeam Date: Wed, 11 Dec 2024 09:43:25 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=B8=8A=E4=BD=8D=E6=9C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CAN_Bootloader/default.aproj | 2 +- CAN_Bootloader/lib/usb2canfd.aardio | 2 +- CAN_Bootloader/main.aardio | 16 +++-- CAN_Bootloader/user/CanThread.aardio | 11 ++-- CAN_Bootloader/user/Diag22code.aardio | 88 ++++----------------------- CAN_Bootloader/user/Diag34code.aardio | 2 +- 6 files changed, 29 insertions(+), 92 deletions(-) diff --git a/CAN_Bootloader/default.aproj b/CAN_Bootloader/default.aproj index 4bfa223..7f20fb6 100644 --- a/CAN_Bootloader/default.aproj +++ b/CAN_Bootloader/default.aproj @@ -1,5 +1,5 @@  - + diff --git a/CAN_Bootloader/lib/usb2canfd.aardio b/CAN_Bootloader/lib/usb2canfd.aardio index 079ca27..039f656 100644 --- a/CAN_Bootloader/lib/usb2canfd.aardio +++ b/CAN_Bootloader/lib/usb2canfd.aardio @@ -262,7 +262,7 @@ namespace usb2canfd{ canconfig.Mode = 0; //0-正常模式,1-自发自收模式 canconfig.ISOCRCEnable = 0;//0-禁止ISO CRC,1-使能ISO CRC - canconfig.RetrySend = 0;//0-禁止重发,1-无限制重发 + canconfig.RetrySend = 1;//0-禁止重发,1-无限制重发 canconfig.ResEnable = 1;//0-不接入内部120欧终端电阻,1-接入内部120欧终端电阻 //波特率参数可以用TCANLINPro软件里面的波特率计算工具计算 //仲裁段波特率参数,波特率=40M/NBT_BRP*(1+NBT_SEG1+NBT_SEG2) diff --git a/CAN_Bootloader/main.aardio b/CAN_Bootloader/main.aardio index e7d5116..86b28a9 100644 --- a/CAN_Bootloader/main.aardio +++ b/CAN_Bootloader/main.aardio @@ -7,9 +7,10 @@ btnFlash={cls="button";text="开始刷写";left=37;top=315;right=136;bottom=343; btnFresh={cls="button";text="刷新";left=204;top=28;right=288;bottom=54;z=2}; btnOpen={cls="button";text="打开文件";left=37;top=282;right=136;bottom=310;z=8}; btnOpenFlashdrv={cls="button";text="打开FlashDriver";left=149;top=282;right=248;bottom=310;z=24}; +btnReadF180={cls="button";text="读取boot版本";left=37;top=415;right=136;bottom=443;z=19}; btnReadF186={cls="button";text="读取当前会话";left=37;top=349;right=136;bottom=377;z=13}; -btnReadF191={cls="button";text="读取F191";left=37;top=415;right=136;bottom=443;z=19}; -btnReadF199={cls="button";text="读取F199";left=149;top=415;right=248;bottom=443;z=20}; +btnReadF187={cls="button";text="读取型号";left=149;top=415;right=248;bottom=443;z=20}; +btnReadF191={cls="button";text="读取编译日期";left=149;top=348;right=248;bottom=376;z=25}; btnReadHw={cls="button";text="读取硬件版本号";left=149;top=381;right=248;bottom=409;z=12}; btnReadSw={cls="button";text="读取软件版本号";left=37;top=382;right=136;bottom=410;z=10}; btnTest={cls="button";text="停止";left=149;top=316;right=248;bottom=344;z=11}; @@ -224,12 +225,12 @@ mainForm.onClose = function(hwnd,message,wParam,lParam){ //console.pause() } -mainForm.btnReadF191.oncommand = function(id,event){ - DiagReadDID(0xF191); +mainForm.btnReadF180.oncommand = function(id,event){ + DiagReadDID(0xF180); } -mainForm.btnReadF199.oncommand = function(id,event){ - DiagReadDID(0x1702); +mainForm.btnReadF187.oncommand = function(id,event){ + DiagReadDID(0xF187); } mainForm.btnOpenFlashdrv.oncommand = function(id,event){ @@ -246,6 +247,9 @@ mainForm.onClose = function(hwnd,message,wParam,lParam){ //frmChild.close(); } +mainForm.btnReadF191.oncommand = function(id,event){ + DiagReadDID(0xF191); +} mainForm.show(); return win.loopMessage(); \ No newline at end of file diff --git a/CAN_Bootloader/user/CanThread.aardio b/CAN_Bootloader/user/CanThread.aardio index 2f704a7..30d5d1a 100644 --- a/CAN_Bootloader/user/CanThread.aardio +++ b/CAN_Bootloader/user/CanThread.aardio @@ -209,12 +209,11 @@ FuncStartBoot = function(){ } var delay = function(w){ - while(w){ - for(i=1;delay_const;1) - { - } - w -= 1; - } + var delay_time = w*delay_const; + for(i=1;delay_time;1) + { + } + } var PackNext = 0x21; diff --git a/CAN_Bootloader/user/Diag22code.aardio b/CAN_Bootloader/user/Diag22code.aardio index 752ce9f..19a2c74 100644 --- a/CAN_Bootloader/user/Diag22code.aardio +++ b/CAN_Bootloader/user/Diag22code.aardio @@ -20,6 +20,11 @@ FuncDiag22Pro = function(data){ } var did = (data[1]<<8) + data[2]; select(did) { + case 0xF180 { + FuncDisplay("BOOT版本号"); + FuncDisplay(string.str(string.pack(table.slice(data,3)))); + + } case 0xF186 { FuncDisplay("当前会话: " + data[3]); } @@ -35,6 +40,11 @@ FuncDiag22Pro = function(data){ FuncDisplay("编译时间"); FuncDisplay(string.str(string.pack(table.slice(data,3)))); } + case 0xF187 { + FuncDisplay("ECU系统名称"); + FuncDisplay(string.str(string.pack(table.slice(data,3)))); + + } case 0xF198 { FuncDisplay("repair_shopcode"); FuncDisplay(string.str(string.pack(table.slice(data,3)))); @@ -43,11 +53,7 @@ FuncDiag22Pro = function(data){ FuncDisplay("installation_date"); FuncDisplay(string.format("%x%X%x%x",data[3],data[4],data[5],data[6])); } - case 0xF187 { - FuncDisplay("车辆备用零部件编号"); - FuncDisplay(string.pack(table.slice(data,3))); - - } + case 0xF18A { FuncDisplay("系统供应商公司名称代码"); FuncDisplay(string.pack(table.slice(data,3))); @@ -57,78 +63,6 @@ FuncDiag22Pro = function(data){ FuncDisplay("ECU 系统名称"); FuncDisplay(string.pack(table.slice(data,3))); - } - case 0x1701 { - var 水平 = (data[3]<<8) + (data[4]); - var 靠背 = (data[5]<<8) + (data[6]); - FuncDisplay("水平当前位置: " ++ (水平-0x8000) ); - FuncDisplay("靠背当前位置" ++ (靠背 - 0x8000) ); - } - case 0x1702 { - if(#data < 10){ - FuncDisplay("DID-0x1702长度错误") - return; - } - var 水平1 = (data[3]<<8) + (data[4]); - var 水平2 = (data[5]<<8) + (data[6]); - var 靠背1 = (data[7]<<8) + (data[8]); - var 靠背2 = (data[9]<<8) + (data[10]); - FuncDisplay("水平1: " + (水平1-0x8000) + "水平2: " + (水平2-0x8000)); - FuncDisplay("靠背1: " + (靠背1-0x8000) + "靠背2: " + (靠背2-0x8000)); - FuncDisplay("水平1: " + (水平1) + "水平2: " + (水平2)); - FuncDisplay("靠背1: " + (靠背1) + "靠背2: " + (靠背2)); - } - case 0x1706 { - var 水平 = data[3]&0x01; - var 靠背 = (data[3]>>1)&0x01; - FuncDisplay("座椅水平方向电机学习状态: " + 水平); - FuncDisplay("座椅靠背方向电机学习状态" + 靠背); - } - case 0x1707 { - var 电流 = (data[3]<<8) + data[4]; - FuncDisplay("电流: " + tostring(电流)); - - } - case 0x1708 { - FuncDisplay("输入状态: "); - var 座椅向前 = data[3]&0x01; - var 座椅向后 = (data[3]>>1)&0x01; - var 靠背向前 = (data[3]>>2)&0x01; - var 靠背向后 = (data[3]>>3)&0x01; - var 快进按键 = (data[3]>>4)&0x01; - var 快出按键 = (data[3]>>5)&0x01; - var 锁扣状态 = (data[3]>>6)&0x01; - var 坐人状态 = (data[3]>>7)&0x01; - FuncDisplay("座椅向前: " + 座椅向前); - FuncDisplay("座椅向后: " + 座椅向后); - FuncDisplay("靠背向前: " + 靠背向前); - FuncDisplay("靠背向后: " + 靠背向后); - FuncDisplay("快进按键: " + 快进按键); - FuncDisplay("快出按键: " + 快出按键); - FuncDisplay("锁扣状态: " + 锁扣状态); - FuncDisplay("坐人状态: " + 坐人状态); - } - case 0x1709 { - FuncDisplay("输出状态: "); - var 座椅向前 = data[3]&0x01; - var 座椅向后 = (data[3]>>1)&0x01; - var 靠背向前 = (data[3]>>2)&0x01; - var 靠背向后 = (data[3]>>3)&0x01; - var 快进按键 = (data[3]>>4)&0x01; - var 快出按键 = (data[3]>>5)&0x01; - - FuncDisplay("座椅向前: " + 座椅向前); - FuncDisplay("座椅向后: " + 座椅向后); - FuncDisplay("靠背向前: " + 靠背向前); - FuncDisplay("靠背向后: " + 靠背向后); - FuncDisplay("快进输出: " + 快进按键); - FuncDisplay("快出输出: " + 快进按键); - - } - case 0x170B { - var 系统供电电压 = data[3]/10; - FuncDisplay("系统供电电压: " + tostring(系统供电电压) + " V"); - } else { FuncDisplay("未知DID - " + tostring(did,16)); diff --git a/CAN_Bootloader/user/Diag34code.aardio b/CAN_Bootloader/user/Diag34code.aardio index 62c238e..34e36b3 100644 --- a/CAN_Bootloader/user/Diag34code.aardio +++ b/CAN_Bootloader/user/Diag34code.aardio @@ -19,7 +19,7 @@ FuncDiag34Pro = function(data){ FuncGetSengLen = function(){ if(maxlen>2){ - return maxlen; + return maxlen-2; } else { return 0;