AdminController

Device configuration and control operations.

Mirrors the SDK's AdminApi interface — local and remote configuration, channel management, owner identity, device lifecycle commands, and batch edit sessions. When the SDK is adopted, this interface becomes the adapter boundary: implementations delegate to RadioClient.admin. Operations that enqueue outbound admin packets can throw PacketQueueRejectedException when the current transport cannot admit the handoff. “Fire-and-forget” means no device response is awaited, not that local queue rejection is silently ignored.

See also

which extends this interface for backward compatibility

Inheritors

Functions

Link copied to clipboard
abstract suspend fun editLocalSettings(block: suspend AdminEditScope.() -> Unit)

Runs block as an editSettings transaction against the local node.

Link copied to clipboard
abstract suspend fun editSettings(destNum: Int, block: suspend AdminEditScope.() -> Unit)

Runs block inside a begin/commit edit-settings transaction on destNum.

Link copied to clipboard
abstract suspend fun factoryReset(destNum: Int, packetId: Int)

Performs a factory reset on a node.

Link copied to clipboard
abstract suspend fun getCannedMessages(destNum: Int, packetId: Int)

Requests the current canned messages from a remote node.

Link copied to clipboard
abstract suspend fun getChannel(destNum: Int, index: Int, packetId: Int)

Requests a specific channel configuration from a remote node.

Link copied to clipboard
abstract suspend fun getConfig(destNum: Int, configType: Int, packetId: Int)

Requests a specific configuration section from a remote node.

Link copied to clipboard
abstract suspend fun getDeviceConnectionStatus(destNum: Int, packetId: Int)

Requests the hardware connection status from a remote node.

Link copied to clipboard
abstract suspend fun getModuleConfig(destNum: Int, moduleConfigType: Int, packetId: Int)

Requests a module configuration section from a remote node.

Link copied to clipboard
abstract suspend fun getOwner(destNum: Int, packetId: Int)

Requests the current owner (user info) from a remote node.

Link copied to clipboard
abstract suspend fun getRingtone(destNum: Int, packetId: Int)

Requests the current ringtone from a remote node.

Link copied to clipboard
abstract suspend fun nodedbReset(destNum: Int, packetId: Int, preserveFavorites: Boolean)

Resets the NodeDB on a node.

Link copied to clipboard
abstract suspend fun reboot(destNum: Int, packetId: Int)

Commands a node to reboot.

Link copied to clipboard
abstract suspend fun rebootToDfu(nodeNum: Int)

Commands a node to reboot into DFU mode.

Link copied to clipboard
abstract suspend fun requestRebootOta(requestId: Int, destNum: Int, mode: Int, hash: ByteArray?)

Initiates an OTA reboot request.

Link copied to clipboard
abstract suspend fun setCannedMessages(destNum: Int, messages: String)

Updates the canned messages configuration on a remote node.

Link copied to clipboard
abstract suspend fun setConfig(destNum: Int, config: Config, packetId: Int)

Updates the general configuration on a remote node.

Link copied to clipboard
abstract suspend fun setFixedPosition(destNum: Int, position: Position)

Sets a fixed position on a remote node.

Link copied to clipboard
abstract suspend fun setHamMode(destNum: Int, hamParameters: HamParameters, packetId: Int)

Enables amateur-radio (ham) mode on a node via AdminMessage.set_ham_mode.

Link copied to clipboard
abstract suspend fun setLocalChannel(channel: Channel)

Updates a local radio channel. Same fire-and-forget contract as setLocalConfig.

Link copied to clipboard
abstract suspend fun setLocalConfig(config: Config)

Updates the local radio configuration.

Link copied to clipboard
abstract suspend fun setModuleConfig(destNum: Int, config: ModuleConfig, packetId: Int)

Updates a module configuration on a remote node.

Link copied to clipboard
abstract suspend fun setOwner(destNum: Int, user: User, packetId: Int)

Updates the owner (user info) on a remote node.

Link copied to clipboard
abstract suspend fun setRemoteChannel(destNum: Int, channel: Channel, packetId: Int)

Updates a channel configuration on a remote node.

Link copied to clipboard
abstract suspend fun setRingtone(destNum: Int, ringtone: String)

Updates the notification ringtone on a remote node.

Link copied to clipboard
abstract suspend fun setTime(destNum: Int, packetId: Int)

Syncs a node's real-time clock to the phone's current time via AdminMessage.set_time_only.

Link copied to clipboard
abstract suspend fun shutdown(destNum: Int, packetId: Int)

Commands a node to shut down.