diff --git a/dlg/诊断子窗口.aardio b/dlg/诊断子窗口.aardio index ad5d33e..54a0352 100644 --- a/dlg/诊断子窗口.aardio +++ b/dlg/诊断子窗口.aardio @@ -1,11 +1,67 @@ import win.ui; /*DSG{{*/ -var winform = win.form(text="aardio form";right=759;bottom=469) +var winform = win.form(text="诊断读取";right=679;bottom=319;border="thin";max=false;mode="popup") winform.add( -btnDID_F187={cls="button";text="车辆备用零部件编号";left=68;top=51;right=195;bottom=82;z=1} +btnDID_1701={cls="button";text="电机当前位置霍尔数";left=36;top=162;right=163;bottom=193;z=5}; +btnDID_1702={cls="button";text="软止点位置霍尔数";left=36;top=203;right=163;bottom=234;z=6}; +btnDID_1706={cls="button";text="软止点学习状态";left=178;top=40;right=305;bottom=71;z=7}; +btnDID_1707={cls="button";text="座椅电机电流";left=178;top=80;right=305;bottom=111;z=8}; +btnDID_1708={cls="button";text="模块输入信号状态";left=178;top=121;right=305;bottom=152;z=9}; +btnDID_1709={cls="button";text="模块输出信号状态";left=178;top=162;right=305;bottom=193;z=11}; +btnDID_170B={cls="button";text="系统供电电压";left=178;top=203;right=305;bottom=234;z=10}; +btnDID_F187={cls="button";text="车辆备用零部件编号";left=36;top=40;right=163;bottom=71;z=2}; +btnDID_F18A={cls="button";text="供应商公司名称代码";left=36;top=80;right=163;bottom=111;z=3}; +btnDID_F197={cls="button";text="ECU 系统名称";left=36;top=121;right=163;bottom=152;z=4}; +groupbox={cls="groupbox";text="DID";left=16;top=12;right=328;bottom=260;edge=1;z=1}; +groupbox2={cls="groupbox";text="DTC";left=343;top=12;right=655;bottom=260;edge=1;z=12} ) /*}}*/ +winform.btnDID_F187.oncommand = function(id,event){ + DiagReadDID(0xF187); +} + +winform.btnDID_F18A.oncommand = function(id,event){ + DiagReadDID(0xF18A); +} + +winform.btnDID_F197.oncommand = function(id,event){ + DiagReadDID(0xF197); +} + +winform.btnDID_1701.oncommand = function(id,event){ + DiagReadDID(0x1701); +} + +winform.btnDID_1702.oncommand = function(id,event){ + DiagReadDID(0x1702); +} + +winform.btnDID_1706.oncommand = function(id,event){ + DiagReadDID(0x1706); +} + +winform.btnDID_1707.oncommand = function(id,event){ + DiagReadDID(0x1707); +} + +winform.btnDID_1708.oncommand = function(id,event){ + DiagReadDID(0x1708); +} + +winform.btnDID_1709.oncommand = function(id,event){ + DiagReadDID(0x1709); +} + +winform.btnDID_170B.oncommand = function(id,event){ + DiagReadDID(0x170B); +} + +winform.onClose = function(hwnd,message,wParam,lParam){ + winform.show(false); + return 0; +} + winform.show(); win.loopMessage(); -return winform; +return winform; \ No newline at end of file diff --git a/main.aardio b/main.aardio index 467e5ea..135b15f 100644 --- a/main.aardio +++ b/main.aardio @@ -3,17 +3,17 @@ import win.ui; mainForm = win.form(text="CAN_Bootloader";right=599;bottom=465;border="dialog frame";max=false) mainForm.add( btnConnect={cls="button";text="连接";left=204;top=64;right=289;bottom=90;z=4}; -btnDiag={cls="button";text="诊断";left=149;top=355;right=248;bottom=380;z=25}; -btnFlash={cls="button";text="开始刷写";left=35;top=317;right=134;bottom=345;z=9}; +btnDiag={cls="button";text="诊断";left=149;top=350;right=248;bottom=375;z=25}; +btnFlash={cls="button";text="开始刷写";left=37;top=315;right=136;bottom=343;z=9}; btnFresh={cls="button";text="刷新";left=204;top=28;right=288;bottom=54;z=2}; -btnOpen={cls="button";text="打开文件";left=36;top=282;right=135;bottom=310;z=8}; -btnOpenFlashdrv={cls="button";text="打开FlashDriver";left=151;top=282;right=250;bottom=310;z=24}; -btnReadF186={cls="button";text="读取当前会话";left=37;top=352;right=136;bottom=380;z=13}; -btnReadF198={cls="button";text="读取F198";left=36;top=415;right=135;bottom=443;z=19}; -btnReadF199={cls="button";text="读取F199";left=151;top=415;right=250;bottom=443;z=20}; -btnReadHw={cls="button";text="读取硬件版本号";left=151;top=385;right=250;bottom=413;z=12}; -btnReadSw={cls="button";text="读取软件版本号";left=36;top=384;right=135;bottom=412;z=10}; -btnTest={cls="button";text="停止";left=147;top=317;right=246;bottom=345;z=11}; +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}; +btnReadF186={cls="button";text="读取当前会话";left=37;top=349;right=136;bottom=377;z=13}; +btnReadF198={cls="button";text="读取F198";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}; +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}; cbbChannel={cls="combobox";left=58;top=64;right=191;bottom=90;edge=1;items={};mode="dropdown";z=3}; cbbDev={cls="combobox";left=58;top=27;right=191;bottom=53;edge=1;items={};mode="dropdown";z=1}; checkbox={cls="checkbox";text="CANFD设备";left=151;top=101;right=248;bottom=120;checked=1;z=21}; @@ -147,7 +147,7 @@ var CanThread = function(){ //在子线程启动消息循环 win.loopMessage(FuncLoopMsg) } -var DiagReadDID = function(did){ +DiagReadDID = function(did){ ::PostThreadMessage(thrdId,110,did,0)//自定义消息 } var Diag10Req = function(num){ @@ -229,7 +229,11 @@ mainForm.btnOpenFlashdrv.oncommand = function(id,event){ ::PostThreadMessage(thrdId,104,0,0)//自定义消息-打开flashdriver } +var frmChild = win.loadForm("\dlg\诊断子窗口.aardio"); +frmChild.show(false); mainForm.btnDiag.oncommand = function(id,event){ + + frmChild.show(); } diff --git a/user/Diag22code.aardio b/user/Diag22code.aardio index d8a936d..16a43b2 100644 --- a/user/Diag22code.aardio +++ b/user/Diag22code.aardio @@ -9,6 +9,7 @@ FuncReadDID = function(did){ diag22state = 1; //console.log("did = " + tostring(did,16)); //console.log("ret = " + ret); + //FuncDisplay("did = " + tostring(did,16)); } //接收 @@ -35,8 +36,83 @@ FuncDiag22Pro = function(data){ FuncDisplay("installation_date"); FuncDisplay(string.format("%x%X%x%x",data[3],data[4],data[5],data[6])); } - case 0xF186 { - FuncDisplay("当前会话: " + tostring(data[3])); + case 0xF187 { + FuncDisplay("车辆备用零部件编号"); + FuncDisplay(string.pack(table.slice(data,3))); + + } + case 0xF18A { + FuncDisplay("系统供应商公司名称代码"); + FuncDisplay(string.pack(table.slice(data,3))); + + } + case 0xF197 { + FuncDisplay("ECU 系统名称"); + FuncDisplay(string.pack(table.slice(data,3))); + + } + case 0x1701 { + var 水平 = (data[3]<<8) + (data[4]); + var 靠背 = (data[5]<<8) + (data[6]); + FuncDisplay("水平电机当前位置霍尔数: " + 水平 + "靠背电机当前位置数" + 靠背); + } + case 0x1702 { + 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 + "水平2" + 水平2); + FuncDisplay("靠背1: " + 靠背1 + "靠背2" + 靠背2); + } + case 0x1706 { + var 水平 = data[3]&0x01; + var 靠背 = (data[3]>>1)&0x01; + 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 { diff --git a/user/Diag7Fcode.aardio b/user/Diag7Fcode.aardio index a430c37..9ea414e 100644 --- a/user/Diag7Fcode.aardio +++ b/user/Diag7Fcode.aardio @@ -8,6 +8,21 @@ FuncClrNrc = function(){ errSID = 0; errNRC = 0; } +var TableToStr = function(data){ + if(data == null){ + return " "; + } + if(#data == 0){ + return " "; + } + var str = "data:" + for(i=1;#data;1){ + str += " " + str += tostring(data[i],16); + } + return str; + +} //接收 FuncDiag7FPro = function(data){ @@ -22,7 +37,9 @@ FuncDiag7FPro = function(data){ } else { + FuncDisplay("SID:" + tostring(errSID,16)) FuncDisplay("错误 - NRC:" + tostring(errNRC,16)) + FuncDisplay(TableToStr(data)); } }