hardbyte / hardbyte/python-can

Ixxat USB-to-CAN v2 | python-can: Close bus, ACK and send_periodic errors

オープン
#1,605 コメント 4 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Python
スター
1.6k
フォーク
697
PR マージ指標
30日以内にマージされた PR はありません

説明

Hi,

I'm new with python-can (package version= 4.2.1, running on python3.9.6, under Windows 10) and I wanted to perform a test to send/read CAN message using USB-to-CAN v2 (and SimplyCAN as target).
But I faced few issues using python-can:

**1. Close bus error:**

```
import can
bus = can.interface.Bus(interface='ixxat', channel=0, bitrate=250000, extended=True)
heartbeat = can.Message(arbitration_id=0x11487020, is_extended_id=True, data=[0x01])
bus.send(heartbeat)
bus.shutdown()
```

Above is the code I used to send CAN message. The point is once the code has been performed, it seems to not close properly the CAN bus.
Bellow the error I got:
```
IXXATBus was not properly shut down
Exception ignored in:
```

Is there a way to properly close the CAN bus ? As i can rerun this script even after the error, should I just not taking account this error ?

**2. send_periodic :**
I wanted to send CAN message every seconds using the method "send_periodic" but it raise the bellow exception:
`AttributeError: 'IXXATBus' object has no attribute '_periodic_tasks'`

As in the doc, it's written that for Ixxat devices, the method "send_periodic" is supported, what did I misunderstand for the use of send_periodic method using Ixxat devices ? Bellow the code for the periodic message:
```
import can
bus = can.interface.Bus(interface='ixxat', channel=1, bitrate=250000, extended=True)
heartbeat = can.Message(arbitration_id=0x11487020, is_extended_id=True, data=[0x01])
bus.send_periodic(heartbeat, period=1)
bus.shutdown()
```

**3. NACK error :**

If the target has a problem and couldn't ACK the CAN message, the python-can API print errors logs as bellow:
```
CAN acknowledgment error
CAN message flags bAddFlags/bFlags2 0x00 bflags 0x05
```

And even once the target is reconnected this error message still appears. Is there a way to avoid them ?

Thanks in advance for any help,

Best regards,
Antoine

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。