You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Messages are truncated while using send command.
Messages are truncated while using close command.
To Reproduce
Code as example. Requires python-can and pyserial modules.
Windows PC and CANable with original firmware: https://github.com/normaldotcom/canable-fw
Counter-interface: PCAN USB dongle and oscilloscoop
Problem 1: When looping messages within the "with can.Bus", one can see on the scope that the messages are corrupted/truncated.
Problem 2: When looping messages main, one can see that the last message in the "with can.Bus" is truncated.
Possible solution:
End the _write-function with: "time.sleep(3.0e-5)"
Begin the close-function with: "time.sleep(3.0e-5)"
Additional information, experimentally obtained:
10kbps: total fail (!)
20kpbs: requires 5.0e-3 seconds
50kpbs: requires 2.0e-3 seconds
83kpbs: requires 2.0e-3 seconds
100kpbs: requires 6.0e-4 seconds
125kpbs: requires 6.0e-4 seconds
250kpbs: requires 5.0e-5 seconds
500kpbs: requires 3.0e-5 seconds
750kpbs: other side (PCAN in this case) has no setting for 750, it has 800 which is not compatible
1000kpbs: requires 4.0e-6 seconds or even lower
Expected behavior
Truncated messages: seen on a oscilloscoop. PCAN viewer tels me stuffing errors. The error will result in resending infinite retrying messages.
Additional context
OS and version: Windows 11
Python version: Python 3.12
python-can version: 4.3.1
pyserial version: 3.5
python-can interface/s (if applicable): slcan
Hardware interface: CANable 2.0 Pro
IDE: PyCharm recent version
Oscilloscope: Rigol DS1000-series
Counter-interface: PCAN USB isolated version and PCAN-View software
Possible solution:
End the _write-function with: "time.sleep(3.0e-5)"
Begin the close-function with: "time.sleep(3.0e-5)"
Traceback and logs
None
See code example.
def send_one():
with can.Bus(interface="slcan", channel="COM7@115200", bitrate=500000, sleep_after_open=0.0) as bus:
msg = can.Message(
arbitration_id=0x555, data=[0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55], is_extended_id=False
)
try:
j = 0
while j < 2:
bus.send(msg)
j = j + 1
except can.CanError:
print("Message NOT sent")
if __name__ == "__main__":
i = 0
while i < 2:
send_one()
i = i + 1
The text was updated successfully, but these errors were encountered:
Describe the bug
Messages are truncated while using send command.
Messages are truncated while using close command.
To Reproduce
Code as example. Requires python-can and pyserial modules.
Windows PC and CANable with original firmware: https://github.com/normaldotcom/canable-fw
Counter-interface: PCAN USB dongle and oscilloscoop
Problem 1: When looping messages within the "with can.Bus", one can see on the scope that the messages are corrupted/truncated.
Problem 2: When looping messages main, one can see that the last message in the "with can.Bus" is truncated.
Possible solution:
End the _write-function with: "time.sleep(3.0e-5)"
Begin the close-function with: "time.sleep(3.0e-5)"
Additional information, experimentally obtained:
10kbps: total fail (!)
20kpbs: requires 5.0e-3 seconds
50kpbs: requires 2.0e-3 seconds
83kpbs: requires 2.0e-3 seconds
100kpbs: requires 6.0e-4 seconds
125kpbs: requires 6.0e-4 seconds
250kpbs: requires 5.0e-5 seconds
500kpbs: requires 3.0e-5 seconds
750kpbs: other side (PCAN in this case) has no setting for 750, it has 800 which is not compatible
1000kpbs: requires 4.0e-6 seconds or even lower
Expected behavior
Truncated messages: seen on a oscilloscoop. PCAN viewer tels me stuffing errors. The error will result in resending infinite retrying messages.
Additional context
OS and version: Windows 11
Python version: Python 3.12
python-can version: 4.3.1
pyserial version: 3.5
python-can interface/s (if applicable): slcan
Hardware interface: CANable 2.0 Pro
IDE: PyCharm recent version
Oscilloscope: Rigol DS1000-series
Counter-interface: PCAN USB isolated version and PCAN-View software
Possible solution:
End the _write-function with: "time.sleep(3.0e-5)"
Begin the close-function with: "time.sleep(3.0e-5)"
Traceback and logs
NoneSee code example.
The text was updated successfully, but these errors were encountered: