Package-level declarations
Types
Helper class to handle file operations related to firmware updates, such as downloading, copying from URI, and extracting specific files from Zip archives.
Manages USB-related interactions for firmware updates.
Default FirmwareUpdateManager that routes to the correct handler based on the current connection type and device architecture. All handlers are KMP-ready and work on Android, Desktop, and (future) iOS.
Platform-neutral handle for a firmware file or extracted artifact.
Abstraction over platform file and network I/O required by the firmware update pipeline. Implementations live in androidMain and jvmMain.
Retrieves firmware files, either by direct download or by extracting from a release asset zip.
Common interface for all firmware update handlers (BLE DFU, ESP32 OTA, USB).
Routes firmware update requests to the appropriate platform-specific handler based on the active connection type (BLE, WiFi/TCP, or USB) and device architecture.
The transport mechanism used to deliver firmware to the device, determined by the active radio connection.
State machine for the firmware update flow, observed by FirmwareUpdateScreen.
ViewModel driving the firmware update screen. Coordinates release checking, file retrieval, transport-specific update execution, and post-update device verification.
Represents the progress of a long-running firmware update task.
Handles firmware updates via USB Mass Storage (UF2).