This commit is contained in:
sunbeam 2022-09-19 23:28:05 +08:00
parent f8de166289
commit d9070f88f4
7 changed files with 74 additions and 33 deletions

Binary file not shown.

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<project ver="10" name="CAN_Bootloader" libEmbed="true" icon="..." ui="win" output="CAN_Bootloader.exe" CompanyName="单位名称" FileDescription="CAN_Bootloader" LegalCopyright="Copyright (C) 作者 2022" ProductName="CAN_Bootloader" InternalName="CAN_Bootloader" FileVersion="0.0.0.1" ProductVersion="0.0.0.1" publishDir="/dist/" dstrip="false" local="false" ignored="false">
<project ver="10" name="CAN_Bootloader" libEmbed="true" icon="..." ui="win" output="CAN_Bootloader.exe" CompanyName="单位名称" FileDescription="CAN_Bootloader" LegalCopyright="Copyright (C) 作者 2022" ProductName="CAN_Bootloader" InternalName="CAN_Bootloader" FileVersion="0.0.0.02" ProductVersion="0.0.0.02" publishDir="/dist/" dstrip="false" local="false" ignored="false">
<file name="main.aardio" path="main.aardio" comment="main.aardio"/>
<folder name="资源文件" path="res" embed="true" local="false" ignored="false"/>
<folder name="窗体文件" path="dlg" comment="目录" embed="true" local="false" ignored="false"/>

View File

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

Binary file not shown.

View File

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

View File

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

View File

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