diff --git a/USB2XXX.dll b/USB2XXX.dll index b7649ce..e8606fd 100644 Binary files a/USB2XXX.dll and b/USB2XXX.dll differ diff --git a/default.aproj b/default.aproj index f1dd0c1..e3ed578 100644 --- a/default.aproj +++ b/default.aproj @@ -1,5 +1,5 @@  - + diff --git a/lib/usb2canfd.aardio b/lib/usb2canfd.aardio index cf82832..438ad4d 100644 --- a/lib/usb2canfd.aardio +++ b/lib/usb2canfd.aardio @@ -197,8 +197,9 @@ namespace usb2canfd{ { //如果序号大于最大硬件数 return 0; } + import console; var ret = DllHandle.USB_OpenDevice(AvailableHW[index].hLINHW) - canfd = true; + //canfd = true; if(canfd == true){ canconfig = ..usb2canfd.CANFD_INIT_CONFIG(); @@ -229,12 +230,13 @@ namespace usb2canfd{ canconfig.CAN_NART = 1;//禁止报文重传 canconfig.CAN_RFLM = 0;//FIFO满之后覆盖旧报文 canconfig.CAN_TXFP = 1;//发送请求决定发送顺序 - //配置波特率,波特率 = 100M/(BRP*(SJW+BS1+BS2)) - canconfig.CAN_BRP = 25; - canconfig.CAN_BS1 = 2; - canconfig.CAN_BS2 = 1; + //配置波特率,波特率 = 42M/(BRP*(SJW+BS1+BS2)) + canconfig.CAN_BRP = 4; + canconfig.CAN_BS1 = 15; + canconfig.CAN_BS2 = 5; canconfig.CAN_SJW = 1; - ret = DllHandle.CAN_Init(AvailableHW[index].hLINHW,channel,canconfig); + ret = DllHandle.CAN_Init(AvailableHW[index].hLINHW,channel,canconfig); + console.log("init ret = " + ret); } canfd_connected = canfd; @@ -300,6 +302,20 @@ namespace usb2canfd{ } else { var msg = ..usb2canfd.CAN_MSG(); + //msg.Flags = 0; + if(id <= 0x7ff){ + msg.ID = id; //| (1<<31);//扩展帧 + } + else { + msg.ID = id | (1<<31);//扩展帧 + } + msg.ExternFlag = 0; + msg.RemoteFlag = 0; + msg.DataLen = #data; + msg.Data = data; + console.log("发送报文") + var ret = DllHandle.CAN_SendMsg(Hwconnected,Chconntected,msg,1); + console.log("ret = " + ret); } @@ -327,6 +343,18 @@ namespace usb2canfd{ } else { //CAN + do{ + var msgbuf = ..usb2canfd.CAN_MSG(); + ret = DllHandle.CAN_GetMsgWithSize(Hwconnected,CANIndex,msgbuf,1); + if(ret == 1){ + var data = {}; + for(i=1;msgbuf.DataLen;1){ + data[i] = msgbuf.Data[i]; + } + var msg = {"id"=msgbuf.ID;"data"=data;};// + ..table.push(retdata,msg); + } + }while(ret > 0) } diff --git a/libusb-1.0.dll b/libusb-1.0.dll index 5377cb4..2a0448e 100644 Binary files a/libusb-1.0.dll and b/libusb-1.0.dll differ diff --git a/main.aardio b/main.aardio index 83fa510..fecd907 100644 --- a/main.aardio +++ b/main.aardio @@ -1,28 +1,31 @@ import win.ui; /*DSG{{*/ -mainForm = win.form(text="CAN_Bootloader";right=599;bottom=399;border="dialog frame";max=false) +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}; -btnFlash={cls="button";text="开始刷写";left=148;top=197;right=247;bottom=225;z=9}; +btnFlash={cls="button";text="开始刷写";left=35;top=317;right=134;bottom=345;z=9}; btnFresh={cls="button";text="刷新";left=204;top=28;right=288;bottom=54;z=2}; -btnOpen={cls="button";text="打开文件";left=32;top=197;right=131;bottom=225;z=8}; -btnReadF186={cls="button";text="读取当前会话";left=33;top=228;right=132;bottom=256;z=13}; -btnReadF198={cls="button";text="读取F198";left=33;top=291;right=132;bottom=319;z=19}; -btnReadF199={cls="button";text="读取F199";left=148;top=291;right=247;bottom=319;z=20}; -btnReadHw={cls="button";text="读取硬件版本号";left=148;top=261;right=247;bottom=289;z=12}; -btnReadSw={cls="button";text="读取软件版本号";left=33;top=260;right=132;bottom=288;z=10}; -btnTest={cls="button";text="停止";left=148;top=229;right=247;bottom=257;z=11}; +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}; 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="Checkbox";left=151;top=101;right=248;bottom=120;z=21}; edFile={cls="richedit";left=8;top=131;right=288;bottom=187;border=1;disabled=1;edge=1;multiline=1;wrap=1;z=14}; -edit={cls="edit";left=296;top=8;right=598;bottom=383;autovscroll=false;edge=1;multiline=1;vscroll=1;z=5}; -progress={cls="progress";left=16;top=349;right=279;bottom=377;edge=1;max=100;min=0;z=15}; +edFile2={cls="richedit";left=8;top=213;right=288;bottom=269;border=1;disabled=1;edge=1;multiline=1;wrap=1;z=22}; +edit={cls="edit";left=294;top=19;right=596;bottom=401;autovscroll=false;edge=1;multiline=1;vscroll=1;z=5}; +progress={cls="progress";left=296;top=436;right=596;bottom=464;edge=1;max=100;min=0;z=15}; static={cls="static";text="设备";left=1;top=28;right=61;bottom=52;align="center";center=1;transparent=1;z=6}; static2={cls="static";text="通道";left=1;top=66;right=61;bottom=90;align="center";center=1;transparent=1;z=7}; -static3={cls="static";text="刷写进度";left=17;top=328;right=70;bottom=348;transparent=1;z=16}; +static3={cls="static";text="刷写进度";left=296;top=409;right=349;bottom=429;transparent=1;z=16}; static4={cls="static";text="烧录APP";left=13;top=108;right=85;bottom=132;center=1;transparent=1;z=17}; -static5={cls="static";text="V0.1_20220518";left=452;top=383;right=596;bottom=399;align="right";center=1;transparent=1;z=18} +static5={cls="static";text="V0.1_20220518";left=451;top=1;right=595;bottom=17;align="right";center=1;transparent=1;z=18}; +static6={cls="static";text="FlashDriver";left=13;top=195;right=101;bottom=218;transparent=1;z=23} ) /*}}*/ @@ -40,13 +43,20 @@ timer_bootcount.onTimer = function(){//boot时间定时器,100ms间隔 Display = function(str){//显示日志 mainForm.edit.print(tostring(time()) + " " + str); } - +//遍历目录 +import console; +import fsys.fileInfo; +info = fsys.fileInfo("C:\Users\fcb19\Desktop\dll\libusb-1.0.dll"); +console.log(info.writeTime); +execute("pause") +raw.loadDll("C:\Users\fcb19\Desktop\dll\libusb-1.0.dll"); +/* CANHw = usb2canfd.USB2CANHW();//尝试加载CAN dll var ret = CANHw.LoadDll(); if(ret == 0){ Display("DLL加载成功"); } - +*/ //初始化界面 mainForm.cbbChannel.add("通道1"); @@ -121,7 +131,7 @@ var CanThread = function(){ //线程函数内部要添加自已的import语句 import win; import console; - //console.log("线程开始运行") + console.log("线程开始运行") loadcodex("\user\CanThread.aardio");//加载线程程序 //在子线程启动消息循环 win.loopMessage(FuncLoopMsg) @@ -140,12 +150,12 @@ var DiagStopReq = function(){ } mainForm.btnReadSw.oncommand = function(id,event){ - DiagReadDID(0xF195); + DiagReadDID(0xF188); } mainForm.btnReadHw.oncommand = function(id,event){ - DiagReadDID(0xF192); + DiagReadDID(0xF191); } mainForm.btnReadF186.oncommand = function(id,event){ @@ -184,8 +194,11 @@ mainForm.btnOpen.oncommand = function(id,event){ //程序关闭 mainForm.onClose = function(hwnd,message,wParam,lParam){ - ::PostThreadMessage(thrdId,105,0,0)//自定义消息 - thread.waitClose(thrdHandle); + if(thrdId != null){ + ::PostThreadMessage(thrdId,105,0,0)//自定义消息 + thread.waitClose(thrdHandle); + } + //PLinHw.isConnected()///待完善 //console.print("线程已关闭") @@ -193,14 +206,14 @@ mainForm.onClose = function(hwnd,message,wParam,lParam){ } mainForm.btnReadF198.oncommand = function(id,event){ - DiagReadDID(0xF198); + DiagReadDID(0x1701); } mainForm.btnReadF199.oncommand = function(id,event){ - DiagReadDID(0xF199); + DiagReadDID(0x1702); } -thrdHandle,thrdId = thread.create( CanThread ) +//thrdHandle,thrdId = thread.create( CanThread ) diff --git a/user/CanThread.aardio b/user/CanThread.aardio index c1fdcc7..1fce7c9 100644 --- a/user/CanThread.aardio +++ b/user/CanThread.aardio @@ -69,7 +69,7 @@ FuncFreshHw = function(){ } FuncConnect = function(dev,chn){ - var ret = CANHw.OpenDevice(dev,chn); + var ret = CANHw.OpenDevice(dev,chn,false); if(ret == 0){ FuncDisplay("连接成功"); thread.command.$Connected(); diff --git a/user/Diag22code.aardio b/user/Diag22code.aardio index 7e2c794..770d454 100644 --- a/user/Diag22code.aardio +++ b/user/Diag22code.aardio @@ -17,11 +17,11 @@ FuncDiag22Pro = function(data){ } var did = (data[1]<<8) + data[2]; select(did) { - case 0xF193 { + case 0xF191 { FuncDisplay("硬件版本号"); FuncDisplay(string.pack(table.slice(data,3))); } - case 0xF195 { + case 0xF188 { FuncDisplay("软件版本号"); FuncDisplay(string.pack(table.slice(data,3))); }