hardbyte / hardbyte/python-can

Align with the new CAN frame structure for socketcan adding optional DLC element

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

Descripción

### Is your feature request related to a problem? Please describe.

SocketCAN allows for passing an optional DLC element in its `can_frame` structure in addition to the length element, this allow accessing the raw DLC value that can be 0-15 (with 9-15 interpreted as 8 in classic CAN).
This feature is good for testing compliance with the ISO.
To enable this some changes are implemented in the Linux kernel and in can-utils.
You can see the change being introduced to can-utils in here: https://github.com/linux-can/can-utils/commit/c398e56afb9b60441232736e05fdfb5a525363ca

### Describe the solution you'd like

I would like to suggest an adaptation to the way CAN_FRAME_HEADER_STRUCT is being defined and un/packed.

### Describe alternatives you've considered
I did not find a way to achieve this with the current implementation.

### Additional context
See a patch used in a fork I've created that allowed me to achieve this capability.
[socktcan_over8_dlc.patch](https://github.com/hardbyte/python-can/files/15244735/socktcan_over8_dlc.patch)

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.