增加诊断窗口

This commit is contained in:
sunbeam 2022-10-13 16:47:51 +08:00
parent 7ca8b96fcf
commit 3606564d81
4 changed files with 169 additions and 16 deletions

View File

@ -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;

View File

@ -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();
}

View File

@ -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 {

View File

@ -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));
}
}