hardbyte / hardbyte/python-can

TODO: Implement Candlelight 2.5 protocol

Open
#2,016 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Python
Stars
1.6k
Forks
697
PR merge metrics
No merged PRs in 30d

Description

The legacy gs_usb protocol from Geschwister Schneider is obsolete now.
It has several misdesigns.

CAN FD packets are always transferred as 80 bytes over USB, even if the CAN packet has only one data byte.
This misdesign limits the USB throughput unnecessarily.
On a CAN bus with very much traffic you may get USB buffer overflows.

Additionally the legacy Geschwiser Schneider protocol echoes all Tx packets back over USB.
The 80 bytes are sent from the adapter back to the host computer, again limiting the USB throughput unnecessarily.

And there are several bugs in the legacy Candlelight firmware.
The automatic driver installation does not work on Windows because of bugs.

And there is no legacy Candlelight firmware for the STM32G431 processor with CAN FD support available, although this is standard today.

The new open source CANable 2.5 firmware fixes all these issues, optimizes the USB throughput to the maximum that is possible over a slow Full Speed USB connection and adds lots of new features.

The CANable 2.5 firmware has been tested successfully up to 10 Megabud CAN FD.

The new CANable 2.5 firmware (which exists as Candlelight and Slcan version) implements an improved Candlelight protocol and adds new features like filters, measuring bus load,....

So implementing the new CANable 2.5 protocol into PythonCAN would be a great benefit for all users.

Read the detailed description here:
https://netcult.ch/elmue/CANable%20Firmware%20Update

In this project you also find a Python demo that you can integrate into PythonCAN.

Image

Image

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.