From 9d043350a34bd29a1b43335b049d6b4eca7ebde2 Mon Sep 17 00:00:00 2001 From: Bruno Kremel Date: Fri, 17 Apr 2020 11:16:49 +0200 Subject: [PATCH] Add _detect_available_configs to serial_can --- can/interfaces/serial/serial_can.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/can/interfaces/serial/serial_can.py b/can/interfaces/serial/serial_can.py index d7a81c98a..63bca5477 100644 --- a/can/interfaces/serial/serial_can.py +++ b/can/interfaces/serial/serial_can.py @@ -21,6 +21,11 @@ ) serial = None +try: + from serial.tools import list_ports +except ImportError: + list_ports = None + class SerialBus(BusABC): """ @@ -162,3 +167,15 @@ def fileno(self): return self.ser.fileno() # Return an invalid file descriptor on Windows return -1 + + @staticmethod + def _detect_available_configs(): + channels = [] + serial_ports = [] + + if list_ports: + serial_ports = list_ports.comports() + + for port in serial_ports: + channels.append({"interface": "serial", "channel": port.device}) + return channels