增加usbcan功能
This commit is contained in:
parent
a50d01ce7c
commit
b55d450a81
@ -192,12 +192,13 @@ namespace usb2canfd{
|
|||||||
}
|
}
|
||||||
|
|
||||||
//打开设备,包括初始化通道
|
//打开设备,包括初始化通道
|
||||||
OpenDevice = function(index,channel,canfd = true){
|
OpenDevice = function(index,channel,canfd){
|
||||||
if(index > HwNum)
|
if(index > HwNum)
|
||||||
{ //如果序号大于最大硬件数
|
{ //如果序号大于最大硬件数
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
var ret = DllHandle.USB_OpenDevice(AvailableHW[index].hLINHW)
|
var ret = DllHandle.USB_OpenDevice(AvailableHW[index].hLINHW)
|
||||||
|
canfd = true;
|
||||||
if(canfd == true){
|
if(canfd == true){
|
||||||
canconfig = ..usb2canfd.CANFD_INIT_CONFIG();
|
canconfig = ..usb2canfd.CANFD_INIT_CONFIG();
|
||||||
|
|
||||||
@ -217,7 +218,7 @@ namespace usb2canfd{
|
|||||||
canconfig.DBT_SEG2 = 10;
|
canconfig.DBT_SEG2 = 10;
|
||||||
canconfig.DBT_SJW = 2;
|
canconfig.DBT_SJW = 2;
|
||||||
|
|
||||||
ret = DllHandle.CANFD_Init(AvailableHW[index].hLINHW,channel,canconfig);
|
ret = DllHandle.CANFD_Init(AvailableHW[index].hLINHW,channel,canconfig);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
canconfig = ..usb2canfd.CAN_INIT_CONFIG();
|
canconfig = ..usb2canfd.CAN_INIT_CONFIG();
|
||||||
@ -233,13 +234,14 @@ namespace usb2canfd{
|
|||||||
canconfig.CAN_BS1 = 2;
|
canconfig.CAN_BS1 = 2;
|
||||||
canconfig.CAN_BS2 = 1;
|
canconfig.CAN_BS2 = 1;
|
||||||
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);
|
||||||
}
|
}
|
||||||
|
|
||||||
canfd_connected =
|
canfd_connected = canfd;
|
||||||
if(ret == 0){//调用成功
|
if(ret == 0){//调用成功
|
||||||
Hwconnected = AvailableHW[index].hLINHW;
|
Hwconnected = AvailableHW[index].hLINHW;
|
||||||
Chconntected = channel;
|
Chconntected = channel;
|
||||||
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
Hwconnected = null
|
Hwconnected = null
|
||||||
@ -280,7 +282,8 @@ namespace usb2canfd{
|
|||||||
if(#data == 0 || #data>8){//长度不对
|
if(#data == 0 || #data>8){//长度不对
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if(canfd_connect == true){
|
//console.log("发送报文")
|
||||||
|
if(canfd_connected == true){
|
||||||
var msg = ..usb2canfd.CANFD_MSG();
|
var msg = ..usb2canfd.CANFD_MSG();
|
||||||
msg.Flags = 0;
|
msg.Flags = 0;
|
||||||
if(id <= 0x7ff){
|
if(id <= 0x7ff){
|
||||||
@ -307,18 +310,25 @@ namespace usb2canfd{
|
|||||||
GetMsg = function(){
|
GetMsg = function(){
|
||||||
var ret = 0;
|
var ret = 0;
|
||||||
var retdata = {};
|
var retdata = {};
|
||||||
do{
|
if(canfd_connected == true){
|
||||||
var msgbuf = ..usb2canfd.CANFD_MSG();
|
//CANFD
|
||||||
ret = DllHandle.CANFD_GetMsg(Hwconnected,CANIndex,msgbuf,1);
|
do{
|
||||||
if(ret == 1){
|
var msgbuf = ..usb2canfd.CANFD_MSG();
|
||||||
var data = {};
|
ret = DllHandle.CANFD_GetMsg(Hwconnected,CANIndex,msgbuf,1);
|
||||||
for(i=1;msgbuf.DLC;1){
|
if(ret == 1){
|
||||||
data[i] = msgbuf.Data[i];
|
var data = {};
|
||||||
|
for(i=1;msgbuf.DLC;1){
|
||||||
|
data[i] = msgbuf.Data[i];
|
||||||
|
}
|
||||||
|
var msg = {"id"=msgbuf.ID;"data"=data;};//
|
||||||
|
..table.push(retdata,msg);
|
||||||
}
|
}
|
||||||
var msg = {"id"=msgbuf.ID;"data"=data;};//
|
}while(ret > 0)
|
||||||
..table.push(retdata,msg);
|
}
|
||||||
}
|
else {
|
||||||
}while(ret > 0)
|
//CAN
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
return retdata;
|
return retdata;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user