eric6/MicroPython/CircuitPythonFirmwareSelectionDialog.py

Thu, 11 Feb 2021 11:44:07 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Thu, 11 Feb 2021 11:44:07 +0100
changeset 8094
e861d733b471
parent 8093
436e4de91f12
child 8095
d8caff84ffcf
permissions
-rw-r--r--

CircuitPython: extended the list of known UF2 boards.

7116
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
7923
91e843545d9a Updated copyright for 2021.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
3 # Copyright (c) 2019 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
7116
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a dialog to enter the firmware flashing data.
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 import os
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11
8079
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
12 from PyQt5.QtCore import pyqtSlot, QCoreApplication
7116
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13 from PyQt5.QtWidgets import QDialog, QDialogButtonBox
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15 from E5Gui.E5PathPicker import E5PathPickerModes
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 from E5Gui import E5MessageBox
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18 from .Ui_CircuitPythonFirmwareSelectionDialog import (
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 Ui_CircuitPythonFirmwareSelectionDialog
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 )
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 import Utilities
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 import UI.PixmapCache
8079
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
24 import Preferences
7116
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 class CircuitPythonFirmwareSelectionDialog(
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 QDialog, Ui_CircuitPythonFirmwareSelectionDialog):
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 """
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 Class implementing a dialog to enter the firmware flashing data.
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 """
8093
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
32 #
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
33 # The Boards list is built with data extracted from:
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
34 # - https://github.com/microsoft/uf2-samdx1
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
35 # - https://github.com/adafruit/Adafruit_nRF52_Bootloader
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
36 #
8079
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
37 Boards = (
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
38 # Adafruit boards
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
39 ("--- Adafruit ---", ""),
8094
e861d733b471 CircuitPython: extended the list of known UF2 boards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8093
diff changeset
40 ("BLM Badge", "BADGEBOOT"),
8079
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
41 ("BadgeLC", "BADGELCBOOT"),
8094
e861d733b471 CircuitPython: extended the list of known UF2 boards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8093
diff changeset
42 ("CLUE nRF52840", "CLUEBOOT"),
8079
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
43 ("Circuit Playground Express", "CPLAYBOOT"),
8093
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
44 ("Circuit Playground nRF52840", "CPLAYBTBOOT"),
8079
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
45 ("Feather Arcade D51", "ARCADE-D5"),
8093
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
46 ("Feather M0", "FEATHERBOOT"),
8079
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
47 ("Feather M0 Express", "FEATHERBOOT"),
8094
e861d733b471 CircuitPython: extended the list of known UF2 boards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8093
diff changeset
48 ("Feather M4 CAN Express", "FTHRCANBOOT"),
8079
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
49 ("Feather M4 Express", "FEATHERBOOT"),
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
50 ("Feather nRF52840 Express", "FTHR840BOOT"),
8093
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
51 ("Feather nRF52840 Sense", "FTHR840BOOT"),
8079
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
52 ("Gemma M0", "GEMMABOOT"),
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
53 ("Grand Central M4 Express", "GCM4BOOT"),
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
54 ("Hallowing M0", "HALLOWBOOT"),
8094
e861d733b471 CircuitPython: extended the list of known UF2 boards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8093
diff changeset
55 ("Hallowing M4", "HALLOM4BOOT"),
e861d733b471 CircuitPython: extended the list of known UF2 boards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8093
diff changeset
56 ("Hallowing Mask M4", "MASKM4BOOT"),
8079
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
57 ("Itsy Arcade D51", "ARCADE-D5"),
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
58 ("ItsyBitsy M0 Express", "ITSYBOOT"),
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
59 ("ItsyBitsy M4 Express", "ITSYM4BOOT"),
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
60 ("ItsyBitsy nRF52840 Express", " ITSY840BOOT"),
8094
e861d733b471 CircuitPython: extended the list of known UF2 boards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8093
diff changeset
61 ("Metro M0", "METROBOOT"),
8093
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
62 ("Metro M4 AirLift", "METROM4BOOT"),
8079
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
63 ("Metro M4 Express", "METROM4BOOT"),
8093
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
64 ("Metro nRF52840 Express", "METR840BOOT"),
8094
e861d733b471 CircuitPython: extended the list of known UF2 boards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8093
diff changeset
65 ("NeoPixel Trinkey M0", "TRINKEYBOOT"),
8079
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
66 ("NeoTrelis M4 Express", "TRELM4BOOT"),
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
67 ("PyBadge", "BADGEBOOT"),
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
68 ("PyGamer", "PYGAMERBOOT"),
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
69 ("PyPortal", "PORTALBOOT"),
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
70 ("PyPortal M4 Express", "PORTALBOOT"),
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
71 ("PyPortal Pynt", "PORTALBOOT"),
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
72 ("PyPortal Titano", "PORTALBOOT"),
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
73 ("PyRuler", "TRINKETBOOT"),
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
74 ("QT Py M0", "QTPY_BOOT"),
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
75 ("Radiofruit M0", "RADIOBOOT"),
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
76 ("Trellis M4 Express", "TRELM4BOOT"),
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
77 ("Trinket M0", "TRINKETBOOT"),
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
78 ("crickit", "CRICKITBOOT"),
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
79 ("pIRKey M0", "PIRKEYBOOT"),
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
80
8093
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
81 # Arduino boards
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
82 ("--- Arduino ---", ""),
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
83 ("MKR1000", "MKR1000"),
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
84 ("MKR1300", "MKR1300"),
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
85 ("MKRZero", "MKRZEROBOOT"),
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
86 ("Nano 33 BLE", "NANO33BOOT"),
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
87 ("Zero", "ZEROBOOT"),
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
88
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
89 # Particle boards
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
90 ("--- Particle ---", ""),
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
91 ("Argon", "ARGONBOOT "),
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
92 ("Boron", "BORONBOOT "),
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
93 ("Xenon", "XENONBOOT "),
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
94
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
95 # Seed boards
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
96 ("--- Seeed Studio ---", ""),
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
97 ("Grove Zero", "Grove Zero"),
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
98 ("Seeduino XIAO", "Arduino"),
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
99
8079
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
100 # SparkFun boards
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
101 ("--- SparkFun ---", ""),
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
102 ("Qwiic Micro", "QwiicMicro"),
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
103 ("SAMD21 Dev Breakout", "SPARKFUN"),
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
104 ("SAMD21 Mini Breakout", "SPARKFUN"),
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
105 ("SAMD51 Thing Plus", "51THINGBOOT"),
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
106 ("RedBoard Turbo", "TURBOBOOT"),
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
107 ("Pro nRF52840 Mini", "NRF52BOOT"),
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
108
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
109 # other boards we know about
8093
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
110 ("--- {0} ---".format(
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
111 QCoreApplication.translate("CircuitPythonFirmwareSelectionDialog",
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
112 "Others")
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
113 ), ""),
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
114 ("ARAMCON Badge 2019", "ARAMBOOT"),
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
115 ("AtelierDuMaker NRF52840 Breakout", "ADM840BOOT"),
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
116 ("BlueMicro", "BLUEMICRO"),
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
117 ("Capable Robot Programmable USB Hub", "USBHUBBOOT"),
8094
e861d733b471 CircuitPython: extended the list of known UF2 boards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8093
diff changeset
118 ("CircuitBrains Basic", "BOOT"),
e861d733b471 CircuitPython: extended the list of known UF2 boards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8093
diff changeset
119 ("CircuitBrains Deluxe", "BOOT"),
8079
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
120 ("Eitech Robotics", "ROBOTICS"),
8093
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
121 ("ElectronicCats Bast BLE", "BASTBLE"),
8094
e861d733b471 CircuitPython: extended the list of known UF2 boards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8093
diff changeset
122 ("Fluff M0", "FLUFFBOOT"),
8079
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
123 ("Generic Corp. SAMD21 Board", "SAMD21"),
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
124 ("Generic Corp. SAME54 Board", "SAME54"),
8093
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
125 ("IkigaiSense Vita nRF52840", "ISVITABoot"),
8094
e861d733b471 CircuitPython: extended the list of known UF2 boards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8093
diff changeset
126 ("Itaca uChip CircuitPython", "UCHIPYBOOT"),
8093
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
127 ("MakerDiary MDK nRF52840 USB Dongle", "MDK840DONGL"),
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
128 ("MakerDiary nRF52840 M.2 Module", "nRF52840M2"),
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
129 ("MakerDiary Pitaya Go", "PITAYAGO"),
8094
e861d733b471 CircuitPython: extended the list of known UF2 boards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8093
diff changeset
130 ("Microchip SAME54 Xplained", "E54XBOOT"),
e861d733b471 CircuitPython: extended the list of known UF2 boards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8093
diff changeset
131 ("Mini SAM M0", "MINISAMBOOT"),
8079
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
132 ("Mini SAM M4", "MINISAMBOOT"),
8093
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
133 ("Nice Keyboards nice!nano", "NICENANO"),
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
134 ("OHS2020 Badge", "BADGEBOOT"),
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
135 ("PewPew", "PEWBOOT"),
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
136 ("Raytac MDBT50Q-RX", "MDBT50QBOOT"),
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
137 ("Robotics Masters Robo HAT MM1", "ROBOM0BOOT"),
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
138 ("Robotics Masters Robo HAT MM1 M4", "ROBOM4BOOT"),
8094
e861d733b471 CircuitPython: extended the list of known UF2 boards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8093
diff changeset
139 ("Serpente", "SERPENTBOOT"),
e861d733b471 CircuitPython: extended the list of known UF2 boards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8093
diff changeset
140 ("The Open Book Feather", "BOOKBOOT"),
8093
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
141 ("Watterott Wattuino RC", "RCBOOT"),
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
142 ("Waveshare nRF52840 Eval", "WS52840EVK"),
8094
e861d733b471 CircuitPython: extended the list of known UF2 boards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8093
diff changeset
143 ("Winterbloom Big Honking Button", "HONKBOOT"),
e861d733b471 CircuitPython: extended the list of known UF2 boards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8093
diff changeset
144 ("Winterbloom Binary Star", "STARBOOT"),
e861d733b471 CircuitPython: extended the list of known UF2 boards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8093
diff changeset
145 ("Winterbloom Gemini", "GEMINIBOOT"),
e861d733b471 CircuitPython: extended the list of known UF2 boards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8093
diff changeset
146 ("Winterbloom Sol", "SOLBOOT"),
8093
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
147 ("XinaBox CC03", "CC03"),
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
148 ("XinaBox CS11", "CS11"),
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
149 ("dadamachines automat", "AUTOMAT"),
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
150 ("eduSense senseBox MCU", "SENSEBOX"),
8094
e861d733b471 CircuitPython: extended the list of known UF2 boards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8093
diff changeset
151 ("maholli PyCubedv04", "PYCUBEDBOOT"),
8093
436e4de91f12 CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8079
diff changeset
152 ("maholli SAM32", "SAM32BOOT"),
8094
e861d733b471 CircuitPython: extended the list of known UF2 boards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8093
diff changeset
153 ("ndGarage ndBit6", "ND6BOOT"),
e861d733b471 CircuitPython: extended the list of known UF2 boards.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8093
diff changeset
154 ("ndGarage ndBit7", "ND7BOOT"),
8079
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
155 )
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
156
7116
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
157 def __init__(self, parent=None):
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
158 """
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
159 Constructor
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
160
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
161 @param parent reference to the parent widget
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
162 @type QWidget
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
163 """
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
164 super(CircuitPythonFirmwareSelectionDialog, self).__init__(parent)
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
165 self.setupUi(self)
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
166
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
167 self.retestButton.setIcon(UI.PixmapCache.getIcon("rescan"))
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
168
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
169 self.firmwarePicker.setMode(E5PathPickerModes.OpenFileMode)
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
170 self.firmwarePicker.setFilters(
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
171 self.tr("CircuitPython Firmware Files (*.uf2);;"
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
172 "All Files (*)"))
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
173
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
174 self.bootPicker.setMode(E5PathPickerModes.DirectoryShowFilesMode)
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
175
7595
5db6bfeff23e MicroPython: added code to allow the user to select the flash mod for flashing the MicroPython firmware for ESP32/ESP8266 devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
176 self.__manualMarker = "<manual>"
8079
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
177 self.boardComboBox.addItem("", ""), # indicator for no selection
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
178 for boardName, bootVolume in self.Boards:
7116
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
179 self.boardComboBox.addItem(boardName, bootVolume)
8079
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
180 manualDevices = Preferences.getMicroPython("ManualDevices")
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
181 if manualDevices:
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
182 self.boardComboBox.addItem(self.tr("--- Local Devices ---"), "")
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
183 for device in manualDevices:
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
184 self.boardComboBox.addItem(device["description"],
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
185 device["volume"])
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
186 self.boardComboBox.addItem(self.tr("Manual Select"),
331e717c458e MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8067
diff changeset
187 self.__manualMarker),
7116
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
188
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
189 msh = self.minimumSizeHint()
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
190 self.resize(max(self.width(), msh.width()), msh.height())
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
191
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
192 def __updateOkButton(self):
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
193 """
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
194 Private method to update the state of the OK button and the retest
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
195 button.
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
196 """
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
197 firmwareFile = self.firmwarePicker.text()
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
198 self.retestButton.setEnabled(bool(firmwareFile) and
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
199 os.path.exists(firmwareFile))
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
200
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
201 if not bool(firmwareFile) or not os.path.exists(firmwareFile):
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
202 enable = False
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
203 else:
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
204 volumeName = self.boardComboBox.currentData()
7595
5db6bfeff23e MicroPython: added code to allow the user to select the flash mod for flashing the MicroPython firmware for ESP32/ESP8266 devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
205 if volumeName and volumeName != self.__manualMarker:
7116
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
206 # check if the user selected a board and the board is in
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
207 # bootloader mode
8067
a467ab075be0 MicroPython: added buttons to go to the 'home' directory (local and on device) to the MicroPython file manager and improved the workspace handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8062
diff changeset
208 deviceDirectories = Utilities.findVolume(volumeName,
a467ab075be0 MicroPython: added buttons to go to the 'home' directory (local and on device) to the MicroPython file manager and improved the workspace handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8062
diff changeset
209 findAll=True)
8062
8dc5acb30a8b MicroPython: implemented code to deal with multiple devices attached to the computer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8054
diff changeset
210 if len(deviceDirectories) > 1:
8dc5acb30a8b MicroPython: implemented code to deal with multiple devices attached to the computer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8054
diff changeset
211 enable = False
8dc5acb30a8b MicroPython: implemented code to deal with multiple devices attached to the computer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8054
diff changeset
212 E5MessageBox.warning(
8dc5acb30a8b MicroPython: implemented code to deal with multiple devices attached to the computer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8054
diff changeset
213 self,
8dc5acb30a8b MicroPython: implemented code to deal with multiple devices attached to the computer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8054
diff changeset
214 self.tr("Select Path to Device"),
8dc5acb30a8b MicroPython: implemented code to deal with multiple devices attached to the computer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8054
diff changeset
215 self.tr("There are multiple devices in 'bootloader'"
8dc5acb30a8b MicroPython: implemented code to deal with multiple devices attached to the computer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8054
diff changeset
216 " mode and mounted. Please make sure, that"
8dc5acb30a8b MicroPython: implemented code to deal with multiple devices attached to the computer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8054
diff changeset
217 " only one device is prepared for flashing.")
8dc5acb30a8b MicroPython: implemented code to deal with multiple devices attached to the computer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8054
diff changeset
218 )
8dc5acb30a8b MicroPython: implemented code to deal with multiple devices attached to the computer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8054
diff changeset
219 elif len(deviceDirectories) == 1:
8dc5acb30a8b MicroPython: implemented code to deal with multiple devices attached to the computer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8054
diff changeset
220 self.bootPicker.setText(deviceDirectories[0])
7116
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
221 enable = True
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
222 else:
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
223 enable = False
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
224 E5MessageBox.warning(
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
225 self,
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
226 self.tr("Select Path to Device"),
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
227 self.tr("""<p>The device volume <b>{0}</b> could not"""
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
228 """ be found. Is the device in 'bootloader'"""
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
229 """ mode and mounted?</p> <p>Alternatively"""
7147
7f30b93eb51d Updated German and English translations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7116
diff changeset
230 """ select the "Manual Select" entry and"""
7116
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
231 """ enter the path to the device below.</p>""")
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
232 .format(volumeName)
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
233 )
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
234
7595
5db6bfeff23e MicroPython: added code to allow the user to select the flash mod for flashing the MicroPython firmware for ESP32/ESP8266 devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
235 elif volumeName == self.__manualMarker:
7116
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
236 # select the device path manually
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
237 deviceDirectory = self.bootPicker.text()
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
238 enable = (bool(deviceDirectory) and
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
239 os.path.exists(deviceDirectory))
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
240
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
241 else:
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
242 # illegal entry
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
243 enable = False
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
244
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
245 self.buttonBox.button(QDialogButtonBox.Ok).setEnabled(enable)
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
246
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
247 @pyqtSlot(str)
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
248 def on_firmwarePicker_textChanged(self, firmware):
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
249 """
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
250 Private slot handling a change of the firmware path.
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
251
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
252 @param firmware path to the firmware
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
253 @type str
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
254 """
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
255 self.__updateOkButton()
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
256
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
257 @pyqtSlot(int)
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
258 def on_boardComboBox_currentIndexChanged(self, index):
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
259 """
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
260 Private slot to handle the selection of a board type.
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
261
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
262 @param index index of the selected board type
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
263 @type int
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
264 """
7595
5db6bfeff23e MicroPython: added code to allow the user to select the flash mod for flashing the MicroPython firmware for ESP32/ESP8266 devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
265 if self.boardComboBox.itemData(index) == self.__manualMarker:
7116
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
266 self.bootPicker.clear()
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
267 self.bootPicker.setEnabled(True)
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
268 else:
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
269 self.bootPicker.setEnabled(False)
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
270
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
271 self.__updateOkButton()
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
272
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
273 @pyqtSlot()
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
274 def on_retestButton_clicked(self):
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
275 """
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
276 Private slot to research for the selected volume.
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
277 """
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
278 self.__updateOkButton()
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
279
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
280 @pyqtSlot(str)
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
281 def on_bootPicker_textChanged(self, devicePath):
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
282 """
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
283 Private slot handling a change of the device path.
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
284
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
285 @param devicePath path to the device
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
286 @type str
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
287 """
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
288 self.__updateOkButton()
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
289
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
290 def getData(self):
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
291 """
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
292 Public method to obtain the entered data.
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
293
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
294 @return tuple containing the path to the CircuitPython firmware file
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
295 and the path to the device
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
296 @rtype tuple of (str, str)
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
297 """
233b6e62ca2b CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
298 return self.firmwarePicker.text(), self.bootPicker.text()

eric ide

mercurial