src/eric7/MicroPython/Devices/PyBoardDevices.py

branch
eric7
changeset 9770
2d7a244886d1
parent 9765
6378da868bb0
child 9820
67597e003373
diff -r c6cda4cb81d5 -r 2d7a244886d1 src/eric7/MicroPython/Devices/PyBoardDevices.py
--- a/src/eric7/MicroPython/Devices/PyBoardDevices.py	Wed Feb 15 18:00:40 2023 +0100
+++ b/src/eric7/MicroPython/Devices/PyBoardDevices.py	Thu Feb 16 11:33:56 2023 +0100
@@ -403,17 +403,20 @@
                 )[0]
                 firmware = EricFileDialog.getOpenFileName(
                     self.microPython,
-                    self.tr("Flash MicroPython Firmware"),
+                    self.tr("Flash MicroPython/CircuitPython Firmware"),
                     downloadsPath,
-                    self.tr("MicroPython Firmware Files (*.dfu);;All Files (*)"),
+                    self.tr(
+                        "MicroPython Firmware Files (*.dfu);;"
+                        "CircuitPython Firmware Files (*.bin);;"
+                        "All Files (*)"
+                    ),
                 )
                 if firmware and os.path.exists(firmware):
-                    args = [
-                        "--alt",
-                        "0",
-                        "--download",
-                        firmware,
-                    ]
+                    args = ["--alt", "0"]
+                    if firmware.endswith(".bin"):
+                        # it's a CircuitPython firmware; give the flash address
+                        args.extend(["--dfuse-address", "0x08000000"])
+                    args.extend(["--download", firmware])
                     dlg = EricProcessDialog(
                         self.tr("'dfu-util' Output"),
                         self.tr("Flash MicroPython Firmware"),

eric ide

mercurial