fix: pass USB bridge to Python for RNode interface startup

The USB RNode interface was saved to database correctly but failed to
start because:

1. The usb_device_id was missing from _pending_rnode_config in
   reticulum_wrapper.py
2. The KotlinUSBBridge was never passed to the Python side (unlike
   KotlinRNodeBridge for Bluetooth)
3. The connect() call didn't pass baud rate (Chaquopy doesn't support
   Kotlin default parameters)

Changes:
- Add usb_device_id to _pending_rnode_config dictionary
- Add set_usb_bridge() method to reticulum_wrapper.py
- Set USB bridge in ReticulumServiceBinder before Python init
- Pass baud rate (115200) explicitly to usb_bridge.connect()

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
torlando-tech 2026-01-19 12:15:26 -05:00
parent 777845e25d
commit 758754ddee
3 changed files with 28 additions and 5 deletions

View file

@ -401,8 +401,8 @@ class ColumbaRNodeInterface:
RNS.log(f"Connecting to RNode via USB (device ID {self.usb_device_id})...", RNS.LOG_INFO)
# Connect via USB bridge
if not self.usb_bridge.connect(self.usb_device_id):
# Connect via USB bridge (baud rate 115200 is standard for RNode)
if not self.usb_bridge.connect(self.usb_device_id, 115200):
RNS.log(f"Failed to connect to USB device {self.usb_device_id}", RNS.LOG_ERROR)
return False