diff --git a/docs/userguides/userguide_client/index.md b/docs/userguides/userguide_client/index.md index 4bb0859de8..5e2e64d27d 100644 --- a/docs/userguides/userguide_client/index.md +++ b/docs/userguides/userguide_client/index.md @@ -84,6 +84,7 @@ client. ### Firmware upgrade For updating the Crazyflie firmware you can keep being connected to the crazyflie. This will open up a seperate dialog that will guide you through the process. +Please note that you need to use a Crazyradio dongle to connect to the Crazyflie when doing firmware upgrades. Upgrading using USB is not possible. ![CFclient bootloading](/docs/images/firmware-upgrade.png) diff --git a/src/cfclient/ui/dialogs/bootloader.py b/src/cfclient/ui/dialogs/bootloader.py index e8b0cc86f8..8f92518c51 100644 --- a/src/cfclient/ui/dialogs/bootloader.py +++ b/src/cfclient/ui/dialogs/bootloader.py @@ -176,11 +176,17 @@ def setUiState(self, state): elif (state == self.UIState.FW_CONNECTED): self._cold_boot_error_message = None self.resetButton.setEnabled(False) - self.programButton.setEnabled(True) - self.setStatusLabel("Connected in firmware mode") self.coldBootButton.setEnabled(False) - self.setSourceSelectionUiEnabled(True) self._helper.connectivity_manager.set_enable(True) + + if self._helper.cf.link_uri.startswith("usb://"): + self.programButton.setEnabled(False) + self.setStatusLabel("Connected using USB") + self.setSourceSelectionUiEnabled(False) + else: + self.programButton.setEnabled(True) + self.setStatusLabel("Connected in firmware mode") + self.setSourceSelectionUiEnabled(True) elif (state == self.UIState.FW_SCANNING): self._cold_boot_error_message = None self.resetButton.setEnabled(False)