Merge branch 'S51EV_ECU' of http://ikuai.hua-hua.cn:23080/huahua/can_bootloader into S51EV_ECU
This commit is contained in:
commit
d3924dcadb
BIN
USB2XXX.dll
BIN
USB2XXX.dll
Binary file not shown.
@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?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"/>
|
<file name="main.aardio" path="main.aardio" comment="main.aardio"/>
|
||||||
<folder name="资源文件" path="res" embed="true" local="false" ignored="false"/>
|
<folder name="资源文件" path="res" embed="true" local="false" ignored="false"/>
|
||||||
<folder name="窗体文件" path="dlg" comment="目录" embed="true" local="false" ignored="false"/>
|
<folder name="窗体文件" path="dlg" comment="目录" embed="true" local="false" ignored="false"/>
|
||||||
|
@ -197,8 +197,9 @@ namespace usb2canfd{
|
|||||||
{ //如果序号大于最大硬件数
|
{ //如果序号大于最大硬件数
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
import console;
|
||||||
var ret = DllHandle.USB_OpenDevice(AvailableHW[index].hLINHW)
|
var ret = DllHandle.USB_OpenDevice(AvailableHW[index].hLINHW)
|
||||||
canfd = true;
|
//canfd = true;
|
||||||
if(canfd == true){
|
if(canfd == true){
|
||||||
canconfig = ..usb2canfd.CANFD_INIT_CONFIG();
|
canconfig = ..usb2canfd.CANFD_INIT_CONFIG();
|
||||||
|
|
||||||
@ -229,12 +230,13 @@ namespace usb2canfd{
|
|||||||
canconfig.CAN_NART = 1;//禁止报文重传
|
canconfig.CAN_NART = 1;//禁止报文重传
|
||||||
canconfig.CAN_RFLM = 0;//FIFO满之后覆盖旧报文
|
canconfig.CAN_RFLM = 0;//FIFO满之后覆盖旧报文
|
||||||
canconfig.CAN_TXFP = 1;//发送请求决定发送顺序
|
canconfig.CAN_TXFP = 1;//发送请求决定发送顺序
|
||||||
//配置波特率,波特率 = 100M/(BRP*(SJW+BS1+BS2))
|
//配置波特率,波特率 = 42M/(BRP*(SJW+BS1+BS2))
|
||||||
canconfig.CAN_BRP = 25;
|
canconfig.CAN_BRP = 4;
|
||||||
canconfig.CAN_BS1 = 2;
|
canconfig.CAN_BS1 = 15;
|
||||||
canconfig.CAN_BS2 = 1;
|
canconfig.CAN_BS2 = 5;
|
||||||
canconfig.CAN_SJW = 1;
|
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;
|
canfd_connected = canfd;
|
||||||
@ -300,6 +302,20 @@ namespace usb2canfd{
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
var msg = ..usb2canfd.CAN_MSG();
|
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 {
|
else {
|
||||||
//CAN
|
//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)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
BIN
libusb-1.0.dll
BIN
libusb-1.0.dll
Binary file not shown.
55
main.aardio
55
main.aardio
@ -1,28 +1,31 @@
|
|||||||
import win.ui;
|
import win.ui;
|
||||||
/*DSG{{*/
|
/*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(
|
mainForm.add(
|
||||||
btnConnect={cls="button";text="连接";left=204;top=64;right=289;bottom=90;z=4};
|
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};
|
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};
|
btnOpen={cls="button";text="打开文件";left=36;top=282;right=135;bottom=310;z=8};
|
||||||
btnReadF186={cls="button";text="读取当前会话";left=33;top=228;right=132;bottom=256;z=13};
|
btnOpenFlashdrv={cls="button";text="打开FlashDriver";left=151;top=282;right=250;bottom=310;z=24};
|
||||||
btnReadF198={cls="button";text="读取F198";left=33;top=291;right=132;bottom=319;z=19};
|
btnReadF186={cls="button";text="读取当前会话";left=37;top=352;right=136;bottom=380;z=13};
|
||||||
btnReadF199={cls="button";text="读取F199";left=148;top=291;right=247;bottom=319;z=20};
|
btnReadF198={cls="button";text="读取F198";left=36;top=415;right=135;bottom=443;z=19};
|
||||||
btnReadHw={cls="button";text="读取硬件版本号";left=148;top=261;right=247;bottom=289;z=12};
|
btnReadF199={cls="button";text="读取F199";left=151;top=415;right=250;bottom=443;z=20};
|
||||||
btnReadSw={cls="button";text="读取软件版本号";left=33;top=260;right=132;bottom=288;z=10};
|
btnReadHw={cls="button";text="读取硬件版本号";left=151;top=385;right=250;bottom=413;z=12};
|
||||||
btnTest={cls="button";text="停止";left=148;top=229;right=247;bottom=257;z=11};
|
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};
|
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};
|
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};
|
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};
|
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};
|
edFile2={cls="richedit";left=8;top=213;right=288;bottom=269;border=1;disabled=1;edge=1;multiline=1;wrap=1;z=22};
|
||||||
progress={cls="progress";left=16;top=349;right=279;bottom=377;edge=1;max=100;min=0;z=15};
|
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};
|
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};
|
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};
|
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){//显示日志
|
Display = function(str){//显示日志
|
||||||
mainForm.edit.print(tostring(time()) + " " + 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
|
CANHw = usb2canfd.USB2CANHW();//尝试加载CAN dll
|
||||||
var ret = CANHw.LoadDll();
|
var ret = CANHw.LoadDll();
|
||||||
if(ret == 0){
|
if(ret == 0){
|
||||||
Display("DLL加载成功");
|
Display("DLL加载成功");
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
//初始化界面
|
//初始化界面
|
||||||
mainForm.cbbChannel.add("通道1");
|
mainForm.cbbChannel.add("通道1");
|
||||||
@ -121,7 +131,7 @@ var CanThread = function(){
|
|||||||
//线程函数内部要添加自已的import语句
|
//线程函数内部要添加自已的import语句
|
||||||
import win;
|
import win;
|
||||||
import console;
|
import console;
|
||||||
//console.log("线程开始运行")
|
console.log("线程开始运行")
|
||||||
loadcodex("\user\CanThread.aardio");//加载线程程序
|
loadcodex("\user\CanThread.aardio");//加载线程程序
|
||||||
//在子线程启动消息循环
|
//在子线程启动消息循环
|
||||||
win.loopMessage(FuncLoopMsg)
|
win.loopMessage(FuncLoopMsg)
|
||||||
@ -140,12 +150,12 @@ var DiagStopReq = function(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
mainForm.btnReadSw.oncommand = function(id,event){
|
mainForm.btnReadSw.oncommand = function(id,event){
|
||||||
DiagReadDID(0xF195);
|
DiagReadDID(0xF188);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
mainForm.btnReadHw.oncommand = function(id,event){
|
mainForm.btnReadHw.oncommand = function(id,event){
|
||||||
DiagReadDID(0xF192);
|
DiagReadDID(0xF191);
|
||||||
}
|
}
|
||||||
|
|
||||||
mainForm.btnReadF186.oncommand = function(id,event){
|
mainForm.btnReadF186.oncommand = function(id,event){
|
||||||
@ -184,8 +194,11 @@ mainForm.btnOpen.oncommand = function(id,event){
|
|||||||
|
|
||||||
//程序关闭
|
//程序关闭
|
||||||
mainForm.onClose = function(hwnd,message,wParam,lParam){
|
mainForm.onClose = function(hwnd,message,wParam,lParam){
|
||||||
|
if(thrdId != null){
|
||||||
::PostThreadMessage(thrdId,105,0,0)//自定义消息
|
::PostThreadMessage(thrdId,105,0,0)//自定义消息
|
||||||
thread.waitClose(thrdHandle);
|
thread.waitClose(thrdHandle);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//PLinHw.isConnected()///待完善
|
//PLinHw.isConnected()///待完善
|
||||||
//console.print("线程已关闭")
|
//console.print("线程已关闭")
|
||||||
@ -193,14 +206,14 @@ mainForm.onClose = function(hwnd,message,wParam,lParam){
|
|||||||
}
|
}
|
||||||
|
|
||||||
mainForm.btnReadF198.oncommand = function(id,event){
|
mainForm.btnReadF198.oncommand = function(id,event){
|
||||||
DiagReadDID(0xF198);
|
DiagReadDID(0x1701);
|
||||||
}
|
}
|
||||||
|
|
||||||
mainForm.btnReadF199.oncommand = function(id,event){
|
mainForm.btnReadF199.oncommand = function(id,event){
|
||||||
DiagReadDID(0xF199);
|
DiagReadDID(0x1702);
|
||||||
}
|
}
|
||||||
|
|
||||||
thrdHandle,thrdId = thread.create( CanThread )
|
//thrdHandle,thrdId = thread.create( CanThread )
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -69,7 +69,7 @@ FuncFreshHw = function(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
FuncConnect = function(dev,chn){
|
FuncConnect = function(dev,chn){
|
||||||
var ret = CANHw.OpenDevice(dev,chn);
|
var ret = CANHw.OpenDevice(dev,chn,false);
|
||||||
if(ret == 0){
|
if(ret == 0){
|
||||||
FuncDisplay("连接成功");
|
FuncDisplay("连接成功");
|
||||||
thread.command.$Connected();
|
thread.command.$Connected();
|
||||||
|
@ -17,11 +17,11 @@ FuncDiag22Pro = function(data){
|
|||||||
}
|
}
|
||||||
var did = (data[1]<<8) + data[2];
|
var did = (data[1]<<8) + data[2];
|
||||||
select(did) {
|
select(did) {
|
||||||
case 0xF193 {
|
case 0xF191 {
|
||||||
FuncDisplay("硬件版本号");
|
FuncDisplay("硬件版本号");
|
||||||
FuncDisplay(string.pack(table.slice(data,3)));
|
FuncDisplay(string.pack(table.slice(data,3)));
|
||||||
}
|
}
|
||||||
case 0xF195 {
|
case 0xF188 {
|
||||||
FuncDisplay("软件版本号");
|
FuncDisplay("软件版本号");
|
||||||
FuncDisplay(string.pack(table.slice(data,3)));
|
FuncDisplay(string.pack(table.slice(data,3)));
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user