mirror of
https://github.com/meshtastic/firmware.git
synced 2026-10-08 06:06:31 -04:00
The same BLEGattMeshHandler the ESP32 runs, with the Bluefruit half it was missing: an open write/write-without-response/notify characteristic on the mesh-peer UUID, received values queued from Bluefruit's callback task for the main-task pump, subscribed links as notify targets, and the negotiated MTU read live per peer. S140 has one advertising set, so the service UUID rides in the phone advertisement's scan response (instead of the TX power) and the name beside it is shortened. A link becomes a mesh peer when it subscribes to the mesh characteristic; the phone API's disconnect handler skips those links so a peer dropping never closes the phone's session. Bluefruit.begin(2, 1): the phone and one mesh peer at once, on the re-based linker script. Enabled by the BLE_GATT_PEER protocol bit, built by rak4631_blemesh. WisMesh Pocket <-> Pixel 6a monitor, both directions: the phone found the service 3 s after boot and subscribed at chunk 244; its Send test arrived as BLE GATT mesh RX and decoded; a Pocket text reached the phone as rx[gatt] a second after sending. RAM 41.1%, flash 92.0%.