From 9a6aca08521f418a349a0d95e96ef3b79cc6500a Mon Sep 17 00:00:00 2001 From: mikecarper Date: Thu, 15 Oct 2026 17:37:55 -0700 Subject: [PATCH] Declare bridge UART ownership and avoid RAK3401 GPS conflicts --- test/test_iotthinks_merge.py | 4 ++++ variants/heltec_tracker_v2/platformio.ini | 1 + variants/rak3401/platformio.ini | 5 +++++ 3 files changed, 10 insertions(+) diff --git a/test/test_iotthinks_merge.py b/test/test_iotthinks_merge.py index ed5108d1d..5fd448f53 100644 --- a/test/test_iotthinks_merge.py +++ b/test/test_iotthinks_merge.py @@ -39,7 +39,11 @@ class IotthinksMergeTests(unittest.TestCase): rak = self.flags("env:RAK_3401_repeater_bridge_rs232_serial1") tracker = self.flags("env:heltec_tracker_v2_repeater_bridge_rs232") self.assertIn("-D WITH_RS232_BRIDGE=Serial1", rak) + self.assertIn("-D WITH_RS232_BRIDGE_UART=1", rak) + self.assertIn("-UENV_INCLUDE_GPS", rak) + self.assertIn("-D ENV_INCLUDE_GPS=0", rak) self.assertIn("-D WITH_RS232_BRIDGE=Serial2", tracker) + self.assertIn("-D WITH_RS232_BRIDGE_UART=2", tracker) self.assertIn("-D WITH_RS232_BRIDGE_RX=44", tracker) self.assertIn("-D WITH_RS232_BRIDGE_TX=43", tracker) diff --git a/variants/heltec_tracker_v2/platformio.ini b/variants/heltec_tracker_v2/platformio.ini index 9fadda019..cf069a04e 100644 --- a/variants/heltec_tracker_v2/platformio.ini +++ b/variants/heltec_tracker_v2/platformio.ini @@ -160,6 +160,7 @@ build_flags = -D ADMIN_PASSWORD='"password"' -D MAX_NEIGHBOURS=50 -D WITH_RS232_BRIDGE=Serial2 + -D WITH_RS232_BRIDGE_UART=2 -D WITH_RS232_BRIDGE_RX=44 -D WITH_RS232_BRIDGE_TX=43 ; -D MESH_PACKET_LOGGING=1 diff --git a/variants/rak3401/platformio.ini b/variants/rak3401/platformio.ini index e1ce0c76c..5c2f868db 100644 --- a/variants/rak3401/platformio.ini +++ b/variants/rak3401/platformio.ini @@ -154,8 +154,13 @@ build_src_filter = ${rak3401.build_src_filter} extends = env:RAK_3401_repeater build_flags = ${env:RAK_3401_repeater.build_flags} + ; This dedicated bridge owns the GPS connector's UART1. Never probe or + ; restart GPS on the same pins while the external serial peer is attached. + -UENV_INCLUDE_GPS + -D ENV_INCLUDE_GPS=0 -D ADVERT_NAME='"RAK3401 1W RS232 Bridge"' -D WITH_RS232_BRIDGE=Serial1 + -D WITH_RS232_BRIDGE_UART=1 -D WITH_RS232_BRIDGE_RX=PIN_SERIAL1_RX -D WITH_RS232_BRIDGE_TX=PIN_SERIAL1_TX build_src_filter = ${env:RAK_3401_repeater.build_src_filter}