hardbyte / hardbyte/python-can

Not able to send CANFD message in "pcan" interface

Abierto
#1,750 5 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Python
Estrellas
1.6k
Forks
697
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

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

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.