Files
Meshtastic-Android/feature
James Rich 30c35418ca feat(network): this device as a mesh node, served to the app in-process
NodeRadioTransport runs a meshtastic-node-kmp MeshNode inside the app and
speaks the firmware phone API to it over PhoneApiSession, so every screen
works on top of the phone's own node with no radio in the path: BLE
advertisements and mesh-peer GATT to other phones and BLE-mesh radios, and
LoRa through a CH341 stick on the USB-C port. Config writes land in the
node's AdminService and persist; a lora write rebuilds the bearer the way a
radio reboots for one. TX power is capped at 10 dBm for a bus-powered stick.

Offered as "This device as a mesh node" behind the Demo Mode gate, address
prefix 'p'. BLUETOOTH_ADVERTISE joins the manifest and the runtime set, since
the node is a peripheral and an advertiser.

Demo branch for VCF Midwest: depends on node-kmp from ~/.m2
(-PuseMavenLocal=1, 0.1.0-pb2.8.0.35-g3b3df2a-SNAPSHOT, built from e808296
against this app's protobufs pin), so it is not mergeable as-is and skips the
spec lifecycle on purpose. No foreground service yet; Wi-Fi Aware and UDP not
wired in.
2026-09-11 16:51:35 -05:00
..