hardbyte / hardbyte/python-can
Single millisecond send resolution with python-can, Vector
- 主要语言
- Python
- 星标
- 1.6k
- 派生
- 697
- PR 合并指标
- 30 天内没有已合并 PR
描述
python version: 3.9.13, python-can version: 4.0.0
I am trying to send a CAN message every millisecond using python-can to access Vector's CANalyzer software. Using the code below, I would expect to see a message every millisecond:
```
import can
import time
import logging
bus = can.interface.Bus(bustype="vector", channel=0, bitrate=500000, app_name='CANalyzer')
def periodic_send(msg, bus):
task = bus.send_periodic(msg, 0.001)
assert isinstance(task, can.CyclicSendTaskABC)
return task
tasks = []
msg = can.Message(arbitration_id=0xCE, data=[1, 1, 1, 1], is_extended_id=False)
tasks.append(periodic_send(msg,bus))
time.sleep(200)
```
However, when I look at the signal in CANalyzer, it shows the message being sent every 15ms or so (blue measurement cursor is first sample, orange is second):

I have also tried managing timing directly and have similarly been unable to achieve single millisecond intervals. Is this possible with python-can?
贡献指南
评估
这个 Issue 还没有评估数据。