hardbyte / hardbyte/python-can

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

Ouverte
#1,780 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
enhancement
Langage dominant
Python
Étoiles
1.6k
Forks
697
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

### 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)

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.