checkForDFU

suspend fun checkForDFU(device: BluetoothDevice, timeoutMs: Long): CheckDFUResult

Checks if a DFU update is available for the given device. Queues a DEVICE_INFORMATION operation to trigger a heartbeat, waits for the firmware version, fetches the DFU image, and compares versions. Updates dfuAvailable, dfuImage, and dfuImageLoading. Runs mutually exclusively.

Return

true if an update is available and state was set, false otherwise