hardbyte / hardbyte/python-can

Not able to send CANFD message in "pcan" interface

未关闭
#1,750 5 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Python
星标
1.6k
派生
697
PR 合并指标
30 天内没有已合并 PR

描述

I am trying to send a CANFD message with a PCAN interface with PCAN USB-FD. I am not getting that sent message on my HW. I am using the below script to send messages.

```python

import time
import can

def initialize_can_bus(channel, bitrate):
try:
# Initialize the CAN interface for nominal bitrate 500kbit/sec and data bitrate 2Mbit/sec
can_interface = 'pcan'
can_bus = can.interface.Bus(channel=channel, bustype=can_interface, bitrate=bitrate,
fd=True,
f_clock_mhz=40,nom_brp = 5, nom_tseg1 = 11, nom_tseg2 = 4, nom_sjw = 4, data_brp = 4, data_tseg1 = 3, data_tseg2 = 1, data_sjw = 1)

# Log initialization details
print(f"CAN bus initialized successfully on channel {channel} with bitrate {bitrate}.")

return can_bus

except can.CanError as e:
print(f"Error initializing CAN bus on channel {channel} with bitrate {bitrate}: {e}")
return None

# Main script
if __name__ == "__main__":
channel = 'PCAN_USBBUS1'
bitrates = [2000000] # 500k, 1M, and 2M bitrates

for bitrate in bitrates:
print(f"Attempting to initialize CAN bus on channel {channel} with bitrate {bitrate}...")
can_bus = initialize_can_bus(channel, bitrate)

if can_bus is not None:
# Prepare a CAN message
can_message = can.Message(arbitration_id=0x600, data=[0x22, 0x22, 0, 0, 0, 0, 0, 0], is_extended_id=False, is_fd=True,bitrate_switch=True)

# Send the CAN message
try:
can_bus.send(can_message)
print("CAN-FD message sent successfully.")

except can.CanError as e:
print(f"Error sending CAN-FD message: {e}")

# Allow time for message transmission
time.sleep(1)

# Close the CAN bus
can_bus.shutdown()
print("CAN bus shutdown.\n")

```

Output:
Attempting to initialize CAN bus on channel PCAN_USBBUS1 with bitrate 2000000...
uptime library not available, timestamps are relative to boot time and not to Epoch UTC
CAN bus initialized successfully on channel PCAN_USBBUS1 with bitrate 2000000.
CAN-FD message sent successfully.
CAN bus shutdown.

But not receive this message in my HW and red LED is blinking in PCAN USB-FD device.
### Additional context

OS and version: Windows 10
Python version: Python 3.9.0
python-can version: python-can 4.3.1
python-can interface/s (if applicable): pcan

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。