From cc9e06568516dd2adcaff084e25bd6b919892049 Mon Sep 17 00:00:00 2001 From: Martin Date: Sat, 5 Jul 2025 21:46:31 +0200 Subject: [PATCH 1/4] Add ACM ports to list of serial ports as this is used by my TH-D74 on Ubuntu --- d_rats/dplatform_unix.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/d_rats/dplatform_unix.py b/d_rats/dplatform_unix.py index 0f0a8d0..e27c3b1 100755 --- a/d_rats/dplatform_unix.py +++ b/d_rats/dplatform_unix.py @@ -85,7 +85,7 @@ def list_serial_ports(self): :returns: The serial ports :rtype: list of str ''' - return sorted(glob.glob("/dev/ttyS*") + glob.glob("/dev/ttyUSB*")) + return sorted(glob.glob("/dev/ttyS*") + glob.glob("/dev/ttyUSB*") + glob.glob("/dev/ttyACM*")) def os_version_string(self): ''' From da4b2bad61242de6c950405ac70b3c914c4ccf7c Mon Sep 17 00:00:00 2001 From: Martin Date: Sun, 6 Jul 2025 21:16:16 +0200 Subject: [PATCH 2/4] Fix #310 - Add /dev/ttyACM* to the list of serial ports --- changes/310.bugfix | 1 + d_rats/dplatform_unix.py | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 changes/310.bugfix diff --git a/changes/310.bugfix b/changes/310.bugfix new file mode 100644 index 0000000..181b71f --- /dev/null +++ b/changes/310.bugfix @@ -0,0 +1 @@ +Add /dev/ttyACM* to the list of serial ports to support radios like Kenwood TH-D74 on Ubuntu 24.04 diff --git a/d_rats/dplatform_unix.py b/d_rats/dplatform_unix.py index e27c3b1..6aa8eca 100755 --- a/d_rats/dplatform_unix.py +++ b/d_rats/dplatform_unix.py @@ -85,7 +85,11 @@ def list_serial_ports(self): :returns: The serial ports :rtype: list of str ''' - return sorted(glob.glob("/dev/ttyS*") + glob.glob("/dev/ttyUSB*") + glob.glob("/dev/ttyACM*")) + return sorted( + glob.glob("/dev/ttyS*") + + glob.glob("/dev/ttyUSB*") + + glob.glob("/dev/ttyACM*") + ) def os_version_string(self): ''' From 3081c1c961411f0a6769506f947b0185cdbffa4c Mon Sep 17 00:00:00 2001 From: Martin Date: Sun, 6 Jul 2025 21:31:28 +0200 Subject: [PATCH 3/4] Fixes #309, Fixes #310 - Better handling of serial ports to allow /dev/ttyACM0 and others --- d_rats/dplatform_unix.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/d_rats/dplatform_unix.py b/d_rats/dplatform_unix.py index 6aa8eca..02e5bf9 100755 --- a/d_rats/dplatform_unix.py +++ b/d_rats/dplatform_unix.py @@ -21,6 +21,7 @@ import glob import os import subprocess +import serial.tools.list_ports from .dplatform_generic import PlatformGeneric @@ -85,11 +86,7 @@ def list_serial_ports(self): :returns: The serial ports :rtype: list of str ''' - return sorted( - glob.glob("/dev/ttyS*") + - glob.glob("/dev/ttyUSB*") + - glob.glob("/dev/ttyACM*") - ) + return [port.device for port in serial.tools.list_ports.comports()] def os_version_string(self): ''' From cc5de913c8e74bb2d568b99b7e612734eaff00c0 Mon Sep 17 00:00:00 2001 From: Martin Date: Sun, 6 Jul 2025 21:33:25 +0200 Subject: [PATCH 4/4] add change message --- changes/309.bugfix | 1 + 1 file changed, 1 insertion(+) create mode 100644 changes/309.bugfix diff --git a/changes/309.bugfix b/changes/309.bugfix new file mode 100644 index 0000000..67dbad9 --- /dev/null +++ b/changes/309.bugfix @@ -0,0 +1 @@ +Better handling of serial ports to allow ports like /dev/ttyACM0 and others