hardbyte / hardbyte/python-can

Socketcand UNIX Socket Support

Abierto
#2,018 0 comentarios 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.

I am working with CAN bus in Docker containers. I personally find it more reliable to pass a UNIX socket path from the host to a container than it is to use `host.containers.internal` or whatever they call it these days. Socketcand natively supports binding to a UNIX socket, but there is no API to connect to it via python-can.

### Describe the solution you'd like

An additional argument to `SocketCanDaemonBus` that allows specifying a socket path. When passed, it should allow for the host and port to be empty, and should change `socket.AF_INET` to `socket.AF_UNIX` on [this line](https://github.com/hardbyte/python-can/blob/b57bc514a64e61ff1579a7d456310ef2bc30c80d/can/interfaces/socketcand/socketcand.py#L47). The socket path should be passed to `socket.connect()` without the port.

### Describe alternatives you've considered

I have tried long and hard to get communication working via standard TCP/IP but it just seems to hate me. This seems like the next best option, and I think it should be supported since it's a core feature of Socketcand :)

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.