hardbyte / hardbyte/python-can

Add support for the more efficient ElmüSoft Candlelight Protocol

Aberta
#2,102 0 comentários 0 reações 0 responsáveis Ver no GitHub
enhancement
Linguagem predominante
Python
Estrelas
1.6k
Forks
697
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

**Hello**

The legacy Candlelight protocol from Geschwister Schneider has not been designed very well.
It has several design errors.
The transfer over USB is far from optimal. For each CAN FD packet 80 bytes are transferred over USB no matter how many data bytes the CAN packet has.
There is no useful error feedback and there is no feedback if a Tx packet has been acknowledged on CAN bus.
The legacy Candlelight protocol only sends a FAKE echo back to the host computer, even if the Tx packet has never been sent to CAN bus.
You have a big problem to find out WHY CAN bus does not work without a useful feedback.

Therefore I designed the new **ElmüSoft Candlelight 2.5 protocol** with lots of improvements, lots of new features and the maximum USB transfer speed that is possible.

I wrote a **Python demo** application that contains **ready-to-use classes** that can be copied and pasted into any Python project. They could also be integrated into python-can.

The firmware runs on several CAN bus adapters with STM32G431, STM32G473 and STM32G0B1 processors.
The Python classes were tested on Windows where they use WinUSB and on Linux where they use libusb.

Here you find a detailed description of the entire project:
https://netcult.ch/elmue/CANable%20Firmware%20Update/

The sourcecode is on Github:
https://github.com/Elmue/CANable-2.5-firmware-Slcan-and-Candlelight

The Python demo shows all the functionality of the new firmware:

Image

And here a snippet of my manual with comparison between legacy and ElmüSoft Candlelight protocol in my firmware:

Image

Guia de contribuição

Abrir o guia de contribuição

Direção de pesquisa

Comece pela descrição detalhada do projeto vinculada e pela demonstração em Python no ElmüSoft Candlelight 2.5 firmware repository para entender o protocolo e a funcionalidade necessária. Em seguida, revise o suporte existente a Candlelight no python-can e determine os pontos de entrada da integração. Considera-se concluído quando o python-can oferecer suporte aos recursos de transferência USB e feedback do novo protocolo sem perder o suporte legado.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
python
Domínio
networking
Tipo de issue
Funcionalidade
Dificuldade
5/5
Tempo estimado
Mais de uma semana
Status de atividade
Ativa
Clareza
Precisa de esclarecimento
Facilidade para iniciantes
30/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.