Add RAK13800 Ethernet Companion targets with multi-client TCP support#2972
Add RAK13800 Ethernet Companion targets with multi-client TCP support#2972mathisono wants to merge 8 commits into
Conversation
|
Progress summary: This PR replaces the earlier target-name-only framing from #2929 with a clearer branch and PR scope: RAK13800 Ethernet Companion board support with multi-client framed Companion TCP. What has been completed:
Transport verification completed:
The standout functional change is multi-client framed Companion TCP: multiple Companion clients can stay connected at the same time, push frames can be broadcast, and command responses route back to the client that sent the command. |
This PR is a follow-up to the Ethernet support merged in #1983.
It adds the RAK13800 Ethernet Companion board-support layer and upgrades the Companion Ethernet transport from single-client behavior to multi-client framed Companion TCP.
Headline changes
Multi-client framed Companion TCP
This PR updates
SerialEthernetInterfaceso multiple Companion TCP clients can remain connected at the same time.The transport now supports:
MAX_ETH_CLIENTS, defaulting to 3_last_rxtracking for command response routingThis avoids the old failure mode where a second connection or incoming packet could close the live Companion socket.
Framed Companion API preserved
This is still MeshCore Companion framing, not CLI/raw-line mode:
This PR intentionally does not enable raw line mode for the Companion target.
RAK13800 board-support targets
Adds canonical RAK13800 Ethernet Companion targets:
RAK_RAK13800_companion_radio_ethRAK_RAK13800_companion_radio_eth_static_diagKeeps compatibility aliases for older names:
RAK_4631_companion_radio_eth_cleanRAK_4631_companion_radio_eth_static_diagRAK_4631_companion_radio_ethernetCrow / gateway settings
The RAK13800 Companion target uses:
ETHERNET_ENABLED=1ETHERNET_TCP_PORT=4403FORCE_CLIENT_REPEAT=0MAX_CONTACTS=128The static diagnostic target adds:
10.245.94.4710.245.94.3310.245.94.33255.255.255.224Device model
Ethernet builds report:
Normal RAK4631 builds continue to report the normal RAK4631 model string.
What this is not
This is the framed MeshCore Companion API over Ethernet TCP, with multi-client support for RAK4631 + RAK13800/W5100S hardware.
Validation
Added Companion TCP smoke-test scripts for:
Expected validation:
Expected static diagnostic hardware result:
10.245.94.47/274403openAPP_STARTreceives a responseDEVICE_QUERYreceives response code0x0d