Package-level declarations

Types

Link copied to clipboard
class AndroidRadioTransportFactory(context: Context, buildConfigProvider: BuildConfigProvider, usbRepository: UsbRepository, usbManager: UsbManager, scanner: BleScanner, bluetoothRepository: BluetoothRepository, connectionFactory: BleConnectionFactory, dispatchers: CoroutineDispatchers) : BaseRadioTransportFactory

Android implementation of RadioTransportFactory. Handles pure-KMP transports (BLE) via BaseRadioTransportFactory while creating platform-specific connections (TCP, USB/Serial, Mock, NOP) directly in createPlatformTransport.

Link copied to clipboard
abstract class BaseRadioTransportFactory(scanner: BleScanner, bluetoothRepository: BluetoothRepository, connectionFactory: BleConnectionFactory, dispatchers: CoroutineDispatchers) : RadioTransportFactory

Common base class for platform RadioTransportFactory implementations. Handles KMP-friendly transports (BLE) while delegating platform-specific ones (like TCP, USB/Serial and Mocks) to the abstract createPlatformTransport.

Link copied to clipboard
class BleRadioTransport(scope: CoroutineScope, scanner: BleScanner, bluetoothRepository: BluetoothRepository, connectionFactory: BleConnectionFactory, callback: RadioTransportCallback, address: String) : RadioTransport

A RadioTransport implementation for BLE devices using the common BLE abstractions (which are powered by Kable).

Link copied to clipboard
class BleReconnectPolicy(maxFailures: Int = DEFAULT_MAX_FAILURES, failureThreshold: Int = DEFAULT_FAILURE_THRESHOLD, settleDelay: Duration = DEFAULT_SETTLE_DELAY, val minStableConnection: Duration = DEFAULT_MIN_STABLE_CONNECTION, backoffStrategy: (attempt: Int) -> Duration = ::computeReconnectBackoff)

Encapsulates the BLE reconnection policy with exponential backoff.

Link copied to clipboard
class MockRadioTransport(callback: RadioTransportCallback, scope: CoroutineScope, val address: String) : RadioTransport

A simulated transport that is used for testing in the simulator.

Link copied to clipboard

An intentionally inert RadioTransport that silently discards all operations.

Link copied to clipboard
class SerialRadioTransport(callback: RadioTransportCallback, scope: CoroutineScope, usbRepository: UsbRepository, address: String) : StreamTransport

An Android USB/serial RadioTransport implementation.

Link copied to clipboard
abstract class StreamTransport(callback: RadioTransportCallback, scope: CoroutineScope) : RadioTransport

An interface that assumes we are talking to a meshtastic device over some sort of stream connection (serial or TCP probably).

Link copied to clipboard
open class TcpRadioTransport(callback: ERROR CLASS: Symbol not found for RadioTransportCallback, scope: ERROR CLASS: Symbol not found for CoroutineScope, dispatchers: ERROR CLASS: Symbol not found for CoroutineDispatchers, address: String) : <ERROR CLASS> ERROR CLASS: Symbol not found for RadioTransport

TCP radio transport — thin adapter over the shared TcpTransport from core:network.