Thu, 11 Feb 2021 11:44:07 +0100
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() |