The coroutine scope to use for launching coroutines.
From f2c2b7250adb594537db0dde8bfc7b653f405ce5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 26 Aug 2026 00:40:44 +0000 Subject: [PATCH] docs: publish channels: main api --- .../-ble-radio-transport/-ble-radio-transport.html | 2 +- .../-ble-radio-transport/close.html | 2 +- .../-ble-radio-transport/handle-send-to-radio.html | 2 +- .../-ble-radio-transport/index.html | 2 +- .../-ble-radio-transport/keep-alive.html | 2 +- .../-serial-radio-transport/-serial-radio-transport.html | 2 +- .../-serial-radio-transport/close.html | 2 +- .../-serial-radio-transport/handle-send-to-radio.html | 2 +- .../-serial-radio-transport/index.html | 2 +- .../-serial-radio-transport/keep-alive.html | 2 +- .../-serial-radio-transport/send-bytes.html | 2 +- .../-serial-radio-transport/start.html | 2 +- .../-heartbeat-sender/-heartbeat-sender.html | 2 +- .../-heartbeat-sender/index.html | 2 +- .../-heartbeat-sender/send-heartbeat.html | 2 +- .../network/org.meshtastic.core.network.transport/index.html | 2 +- .../-connection-action-button.html | 2 +- .../org.meshtastic.feature.connections.ui.components/index.html | 2 +- api/scripts/pages.json | 2 +- main/assets/css/just-the-docs-dark.css.map | 2 +- main/assets/css/just-the-docs-default.css.map | 2 +- main/assets/css/just-the-docs-light.css.map | 2 +- main/assets/css/just-the-docs-meshtastic-dark.css.map | 2 +- main/assets/css/just-the-docs-meshtastic.css.map | 2 +- 24 files changed, 24 insertions(+), 24 deletions(-) diff --git a/api/core/network/org.meshtastic.core.network.radio/-ble-radio-transport/-ble-radio-transport.html b/api/core/network/org.meshtastic.core.network.radio/-ble-radio-transport/-ble-radio-transport.html index 0a16fd2b8f..44751e8ec7 100644 --- a/api/core/network/org.meshtastic.core.network.radio/-ble-radio-transport/-ble-radio-transport.html +++ b/api/core/network/org.meshtastic.core.network.radio/-ble-radio-transport/-ble-radio-transport.html @@ -94,7 +94,7 @@
The coroutine scope to use for launching coroutines.
The BLE scanner.
The Bluetooth repository.
The BLE connection factory.
The RadioTransportCallback to use for handling radio events.
The BLE address of the device to connect to.
The coroutine scope to use for launching coroutines.
The BLE scanner.
The Bluetooth repository.
The BLE connection factory.
The RadioTransportCallback to use for handling radio events.
The BLE address of the device to connect to.
Sends a packet to the radio with retry support.
Write-failure policy: any non-cancellation exception from a failed write (after exhausting retryBleOperation retries) is treated as fatal to the current BLE session. Production logs show long-running sessions eventually failing writes with NotConnectedException after hundreds of successful writes — by that point the GATT handle is stale and retrying in-place cannot recover. Calling handleFailure forces a full GATT teardown + reconnect cycle, which is the only reliable recovery for a dead session. Transient single-write blips are absorbed by retryBleOperation's 3-attempt retry before reaching this catch.
true when the current BLE profile generation accepted responsibility for the bounded write attempt. Delivery is confirmed later by the protocol, not by this result.
The packet to send.
Sends a packet to the radio with retry support.
Write-failure policy: any non-cancellation exception from a failed write (after exhausting retryBleOperation retries) is treated as fatal to the current BLE session. Production logs show long-running sessions eventually failing writes with NotConnectedException after hundreds of successful writes — by that point the GATT handle is stale and retrying in-place cannot recover. Calling handleFailure forces a full GATT teardown + reconnect cycle, which is the only reliable recovery for a dead session. Transient single-write blips are absorbed by retryBleOperation's 3-attempt retry before reaching this catch.
true when the current BLE profile generation accepted responsibility for the bounded write attempt. Delivery is confirmed later by the protocol, not by this result.
The packet to send.
A RadioTransport implementation for BLE devices using the common BLE abstractions (which are powered by Kable).
This class handles the high-level connection lifecycle for Meshtastic radios over BLE, including:
Bonding and discovery.
Automatic reconnection logic.
MTU and connection parameter monitoring.
Routing raw byte packets between the radio and RadioTransportCallback.
The coroutine scope to use for launching coroutines.
The BLE scanner.
The Bluetooth repository.
The BLE connection factory.
The RadioTransportCallback to use for handling radio events.
The BLE address of the device to connect to.
A RadioTransport implementation for BLE devices using the common BLE abstractions (which are powered by Kable).
This class handles the high-level connection lifecycle for Meshtastic radios over BLE, including:
Bonding and discovery.
Automatic reconnection logic.
MTU and connection parameter monitoring.
Routing raw byte packets between the radio and RadioTransportCallback.
The coroutine scope to use for launching coroutines.
The BLE scanner.
The Bluetooth repository.
The BLE connection factory.
The RadioTransportCallback to use for handling radio events.
The BLE address of the device to connect to.
Closes admission and lets already-admitted frames finish before cancelling the worker as a bounded fallback.
A forced cancellation can interrupt a frame mid-write, so close is terminal for the underlying stream: a subclass must close or replace that stream before another transport instance writes to it.
Closes admission and lets already-admitted frames finish before cancelling the worker as a bounded fallback.
A forced cancellation can interrupt a frame mid-write, so close is terminal for the underlying stream: a subclass must close or replace that stream before another transport instance writes to it.
An Android USB/serial RadioTransport implementation.
An Android USB/serial RadioTransport implementation.
Writes raw bytes to the underlying stream (serial port, TCP socket, etc.). Implementations may block until the driver accepts the bytes, so direct callers must already be running on an I/O dispatcher. Framed packet sends use queueFramedSend, whose writer controls dispatcher confinement. Subclasses that rely on queueFramedSend's default writer must therefore supply an I/O-confined scope.
Writes raw bytes to the underlying stream (serial port, TCP socket, etc.). Implementations may block until the driver accepts the bytes, so direct callers must already be running on an I/O dispatcher. Framed packet sends use queueFramedSend, whose writer controls dispatcher confinement. Subclasses that rely on queueFramedSend's default writer must therefore supply an I/O-confined scope.
callback that reports whether the transport accepted the encoded heartbeat bytes
optional suspend callback invoked after sending (e.g. to schedule a drain)
tag for log messages
Shared heartbeat sender for Meshtastic radio transports.
Constructs and sends a ToRadio(heartbeat = Heartbeat(nonce = ...)) message to keep the firmware's idle timer from expiring. Each call uses a monotonically increasing nonce to prevent the firmware's per-connection duplicate-write filter from silently dropping it.
callback that reports whether the transport accepted the encoded heartbeat bytes
optional suspend callback invoked after sending (e.g. to schedule a drain)
tag for log messages
Shared heartbeat sender for Meshtastic radio transports.
Constructs and sends a ToRadio(heartbeat = Heartbeat(nonce = ...)) message to keep the firmware's idle timer from expiring. Each call uses a monotonically increasing nonce to prevent the firmware's per-connection duplicate-write filter from silently dropping it.
callback that reports whether the transport accepted the encoded heartbeat bytes
optional suspend callback invoked after sending (e.g. to schedule a drain)
tag for log messages
Sends a heartbeat to the radio.
The firmware responds to heartbeats by queuing a queueStatus FromRadio packet, proving the link is alive and keeping the local node's lastHeard timestamp current.
true when the transport accepted the heartbeat handoff.
Sends a heartbeat to the radio.
The firmware responds to heartbeats by queuing a queueStatus FromRadio packet, proving the link is alive and keeping the local node's lastHeard timestamp current.
Repeated rejections while disconnected are expected (e.g. a radio that left BLE range), so only the first HeartbeatRejectionLogPolicy.DEFAULT_WARN_LIMIT consecutive rejections log at warn severity; later ones are demoted to debug until a successful send resets the streak.
true when the transport accepted the heartbeat handoff.
Shared heartbeat sender for Meshtastic radio transports.
Shared heartbeat sender for Meshtastic radio transports.
Shared "icon + label" button used throughout the Connections screen. Centralises M3 sizing conventions (ButtonDefaults.IconSize, ButtonDefaults.IconSpacing, and the variant-appropriate *WithIconContentPadding) so every scan / add / empty-state affordance renders identically.
accessibility label for the leading icon. Defaults to null because the visible text usually describes the action; override when the icon carries information the text does not.
Shared "icon + label" button used throughout the Connections screen. Centralises M3 sizing conventions (ButtonDefaults.IconSize, ButtonDefaults.IconSpacing, and the variant-appropriate *WithIconContentPadding) so every scan / add / empty-state affordance renders identically.
accessibility label for the leading icon. Defaults to null because the visible text usually describes the action; override when the icon carries information the text does not.
Shared "icon + label" button used throughout the Connections screen. Centralises M3 sizing conventions (ButtonDefaults.IconSize, ButtonDefaults.IconSpacing, and the variant-appropriate *WithIconContentPadding) so every scan / add / empty-state affordance renders identically.
Shared "icon + label" button used throughout the Connections screen. Centralises M3 sizing conventions (ButtonDefaults.IconSize, ButtonDefaults.IconSpacing, and the variant-appropriate *WithIconContentPadding) so every scan / add / empty-state affordance renders identically.