hardbyte / hardbyte/python-can

Not able to send CANFD message in "pcan" interface

Đang mở
#1,750 5 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Python
Star
1.6k
Fork
697
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

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

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.