Wed, 10 Feb 2021 18:39:19 +0100
CircuitPython: extended the list of boards supporting flashing via UF2.
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 ---", ""), |
331e717c458e
MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8067
diff
changeset
|
40 | ("BadgeLC", "BADGELCBOOT"), |
331e717c458e
MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8067
diff
changeset
|
41 | ("CLUE nRF52840 Express", "CLUEBOOT"), |
331e717c458e
MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8067
diff
changeset
|
42 | ("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
|
43 | ("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
|
44 | ("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
|
45 | ("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
|
46 | ("Feather M0 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
|
47 | ("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
|
48 | ("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
|
49 | ("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
|
50 | ("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
|
51 | ("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
|
52 | ("Hallowing M0", "HALLOWBOOT"), |
331e717c458e
MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8067
diff
changeset
|
53 | ("Hallowing M4 Express", "HALLOM4BOOT"), |
331e717c458e
MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8067
diff
changeset
|
54 | ("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
|
55 | ("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
|
56 | ("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
|
57 | ("ItsyBitsy nRF52840 Express", " ITSY840BOOT"), |
331e717c458e
MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8067
diff
changeset
|
58 | ("Metro M0 Express", "METROBOOT"), |
8093
436e4de91f12
CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8079
diff
changeset
|
59 | ("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
|
60 | ("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
|
61 | ("Metro nRF52840 Express", "METR840BOOT"), |
8079
331e717c458e
MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8067
diff
changeset
|
62 | ("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
|
63 | ("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
|
64 | ("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
|
65 | ("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
|
66 | ("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
|
67 | ("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
|
68 | ("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
|
69 | ("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
|
70 | ("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
|
71 | ("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
|
72 | ("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
|
73 | ("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
|
74 | ("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
|
75 | ("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
|
76 | |
8093
436e4de91f12
CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8079
diff
changeset
|
77 | # Arduino boards |
436e4de91f12
CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8079
diff
changeset
|
78 | ("--- Arduino ---", ""), |
436e4de91f12
CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8079
diff
changeset
|
79 | ("MKR1000", "MKR1000"), |
436e4de91f12
CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8079
diff
changeset
|
80 | ("MKR1300", "MKR1300"), |
436e4de91f12
CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8079
diff
changeset
|
81 | ("MKRZero", "MKRZEROBOOT"), |
436e4de91f12
CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8079
diff
changeset
|
82 | ("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
|
83 | ("Zero", "ZEROBOOT"), |
436e4de91f12
CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8079
diff
changeset
|
84 | |
436e4de91f12
CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8079
diff
changeset
|
85 | # Particle boards |
436e4de91f12
CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8079
diff
changeset
|
86 | ("--- Particle ---", ""), |
436e4de91f12
CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8079
diff
changeset
|
87 | ("Argon", "ARGONBOOT "), |
436e4de91f12
CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8079
diff
changeset
|
88 | ("Boron", "BORONBOOT "), |
436e4de91f12
CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8079
diff
changeset
|
89 | ("Xenon", "XENONBOOT "), |
436e4de91f12
CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8079
diff
changeset
|
90 | |
436e4de91f12
CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8079
diff
changeset
|
91 | # Seed boards |
436e4de91f12
CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8079
diff
changeset
|
92 | ("--- Seeed Studio ---", ""), |
436e4de91f12
CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8079
diff
changeset
|
93 | ("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
|
94 | ("Seeduino XIAO", "Arduino"), |
436e4de91f12
CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8079
diff
changeset
|
95 | |
8079
331e717c458e
MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8067
diff
changeset
|
96 | # 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
|
97 | ("--- SparkFun ---", ""), |
331e717c458e
MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8067
diff
changeset
|
98 | ("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
|
99 | ("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
|
100 | ("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
|
101 | ("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
|
102 | ("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
|
103 | ("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
|
104 | |
331e717c458e
MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8067
diff
changeset
|
105 | # 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
|
106 | ("--- {0} ---".format( |
436e4de91f12
CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8079
diff
changeset
|
107 | QCoreApplication.translate("CircuitPythonFirmwareSelectionDialog", |
436e4de91f12
CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8079
diff
changeset
|
108 | "Others") |
436e4de91f12
CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8079
diff
changeset
|
109 | ), ""), |
436e4de91f12
CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8079
diff
changeset
|
110 | ("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
|
111 | ("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
|
112 | ("BlueMicro", "BLUEMICRO"), |
436e4de91f12
CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8079
diff
changeset
|
113 | ("Capable Robot Programmable USB Hub", "USBHUBBOOT"), |
8079
331e717c458e
MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8067
diff
changeset
|
114 | ("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
|
115 | ("ElectronicCats Bast BLE", "BASTBLE"), |
8079
331e717c458e
MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8067
diff
changeset
|
116 | ("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
|
117 | ("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
|
118 | ("IkigaiSense Vita nRF52840", "ISVITABoot"), |
436e4de91f12
CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8079
diff
changeset
|
119 | ("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
|
120 | ("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
|
121 | ("MakerDiary Pitaya Go", "PITAYAGO"), |
8079
331e717c458e
MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8067
diff
changeset
|
122 | ("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
|
123 | ("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
|
124 | ("OHS2020 Badge", "BADGEBOOT"), |
436e4de91f12
CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8079
diff
changeset
|
125 | ("PewPew", "PEWBOOT"), |
436e4de91f12
CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8079
diff
changeset
|
126 | ("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
|
127 | ("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
|
128 | ("Robotics Masters Robo HAT MM1 M4", "ROBOM4BOOT"), |
436e4de91f12
CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8079
diff
changeset
|
129 | ("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
|
130 | ("Waveshare nRF52840 Eval", "WS52840EVK"), |
436e4de91f12
CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8079
diff
changeset
|
131 | ("XinaBox CC03", "CC03"), |
436e4de91f12
CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8079
diff
changeset
|
132 | ("XinaBox CS11", "CS11"), |
436e4de91f12
CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8079
diff
changeset
|
133 | ("dadamachines automat", "AUTOMAT"), |
436e4de91f12
CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8079
diff
changeset
|
134 | ("eduSense senseBox MCU", "SENSEBOX"), |
436e4de91f12
CircuitPython: extended the list of boards supporting flashing via UF2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8079
diff
changeset
|
135 | ("maholli SAM32", "SAM32BOOT"), |
8079
331e717c458e
MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8067
diff
changeset
|
136 | ) |
331e717c458e
MicroPython: added capability to manually configure devices not yet known by eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8067
diff
changeset
|
137 | |
7116
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
138 | def __init__(self, parent=None): |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
139 | """ |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
140 | Constructor |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
141 | |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
142 | @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
|
143 | @type QWidget |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
144 | """ |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
145 | super(CircuitPythonFirmwareSelectionDialog, self).__init__(parent) |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
146 | self.setupUi(self) |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
147 | |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
148 | 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
|
149 | |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
150 | self.firmwarePicker.setMode(E5PathPickerModes.OpenFileMode) |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
151 | self.firmwarePicker.setFilters( |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
152 | 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
|
153 | "All Files (*)")) |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
154 | |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
155 | self.bootPicker.setMode(E5PathPickerModes.DirectoryShowFilesMode) |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
156 | |
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
|
157 | 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
|
158 | 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
|
159 | 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
|
160 | 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
|
161 | 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
|
162 | 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
|
163 | 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
|
164 | 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
|
165 | 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
|
166 | 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
|
167 | 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
|
168 | self.__manualMarker), |
7116
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
169 | |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
170 | msh = self.minimumSizeHint() |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
171 | 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
|
172 | |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
173 | def __updateOkButton(self): |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
174 | """ |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
175 | 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
|
176 | button. |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
177 | """ |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
178 | firmwareFile = self.firmwarePicker.text() |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
179 | 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
|
180 | os.path.exists(firmwareFile)) |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
181 | |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
182 | 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
|
183 | enable = False |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
184 | else: |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
185 | 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
|
186 | 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
|
187 | # 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
|
188 | # 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
|
189 | 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
|
190 | 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
|
191 | 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
|
192 | 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
|
193 | 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
|
194 | self, |
8dc5acb30a8b
MicroPython: implemented code to deal with multiple devices attached to the computer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8054
diff
changeset
|
195 | 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
|
196 | 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
|
197 | " 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
|
198 | " 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
|
199 | ) |
8dc5acb30a8b
MicroPython: implemented code to deal with multiple devices attached to the computer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8054
diff
changeset
|
200 | 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
|
201 | 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
|
202 | enable = True |
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 | enable = False |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
205 | E5MessageBox.warning( |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
206 | self, |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
207 | 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
|
208 | 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
|
209 | """ 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
|
210 | """ mode and mounted?</p> <p>Alternatively""" |
7147
7f30b93eb51d
Updated German and English translations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7116
diff
changeset
|
211 | """ 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
|
212 | """ 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
|
213 | .format(volumeName) |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
214 | ) |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
215 | |
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
|
216 | elif volumeName == self.__manualMarker: |
7116
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
217 | # select the device path manually |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
218 | deviceDirectory = self.bootPicker.text() |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
219 | enable = (bool(deviceDirectory) and |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
220 | os.path.exists(deviceDirectory)) |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
221 | |
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 | # illegal entry |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
224 | enable = False |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
225 | |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
226 | 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
|
227 | |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
228 | @pyqtSlot(str) |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
229 | 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
|
230 | """ |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
231 | 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
|
232 | |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
233 | @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
|
234 | @type str |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
235 | """ |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
236 | self.__updateOkButton() |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
237 | |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
238 | @pyqtSlot(int) |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
239 | 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
|
240 | """ |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
241 | 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
|
242 | |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
243 | @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
|
244 | @type int |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
245 | """ |
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
|
246 | 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
|
247 | self.bootPicker.clear() |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
248 | self.bootPicker.setEnabled(True) |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
249 | else: |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
250 | self.bootPicker.setEnabled(False) |
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 | self.__updateOkButton() |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
253 | |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
254 | @pyqtSlot() |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
255 | def on_retestButton_clicked(self): |
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 | 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
|
258 | """ |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
259 | self.__updateOkButton() |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
260 | |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
261 | @pyqtSlot(str) |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
262 | 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
|
263 | """ |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
264 | 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
|
265 | |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
266 | @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
|
267 | @type str |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
268 | """ |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
269 | self.__updateOkButton() |
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 | def getData(self): |
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 | 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
|
274 | |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
275 | @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
|
276 | 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
|
277 | @rtype tuple of (str, str) |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
278 | """ |
233b6e62ca2b
CircuitPython: added code to flash a new CircuitPython firmware.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
279 | return self.firmwarePicker.text(), self.bootPicker.text() |