feat: Allow repeater firmware to bridge over USB and IP#3020
Open
hickey wants to merge 6 commits into
Open
Conversation
Signed-off-by: Gerard Hickey <hickey@kinetic-compute.com>
Signed-off-by: Gerard Hickey <hickey@kinetic-compute.com>
Signed-off-by: Gerard Hickey <hickey@kinetic-compute.com>
Signed-off-by: Gerard Hickey <hickey@kinetic-compute.com>
Signed-off-by: Gerard Hickey <hickey@kinetic-compute.com>
Signed-off-by: Gerard Hickey <hickey@kinetic-compute.com>
This was referenced Jul 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR adds support for bridging packets over USB serial and TCP connections in the same manner as the RS232 bridging works. It uses the same encoding as the RS232 bridge code.
USB serial bridge code is enabled with defining
WITH_USB_SERIAL_BRIDGEand setting the serial stream by definingUSB_SERIAL_STREAM(usually toSerial). Defining the stream in theory should allow the bridging output to be directed to a second USB port if the platform has another USB connection; although I do not have a solid way to test this configuration with the hardware available to me.TCP bridge code is enable by defining
WITH_TCP_BRIDGE. The port that the repeater will listen on is defined byTCP_BRIDGE_PORTand will default to4403if not specified. As a result when using the TCP bridge code the WIFI credential definitions need to be specified also in the build.I have added build environments for the
lilygo_tbeam_SX1262namedTbeam_SX1262_repeater_bridge_usbserialandTbeam_SX1262_repeater_bridge_wifito demonstrate how the firmwares can be built. These environments should be able to be transported to other platforms that have compatible hardware.In addition, I have added the
usbserialandtcpbridge types to theget bridge.typeCLI command. I am not certain if this will have any effects on the remote management in the companion app. There is nothing I see that is obvious. I have also updated the CLI documentation to note the values that can be returned byget bridge.type.Also included is a fix for a bug with the
set bridge.sourceCLI command. The original code would accept a parameter ofrxwhich contradicts the CLI documentation. Any other parameter would be discarded. The fix proposed will only acceptlogRxandlogTxparameters (also the full lowercase versions of these parameters) and produce an error message should another parameter value be specified. This change supersedes #3014 that I created earlier and I will be closing that PR shortly.