eric6/MicroPython/UF2FlashDialog.py

Sat, 10 Jul 2021 16:35:26 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 10 Jul 2021 16:35:26 +0200
changeset 8461
d9fb4a0f2460
parent 8243
cc717c2ae956
permissions
-rw-r--r--

Extended the list of known CircuitPython and UF2 capable devices.

8096
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3 # Copyright (c) 2021 Detlev Offenbach <detlev@die-offenbachs.de>
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a dialog to flash any UF2 capable device.
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 import os
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11 import shutil
8243
cc717c2ae956 Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8222
diff changeset
12 import contextlib
8096
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14 from PyQt5.QtCore import pyqtSlot, Qt, QCoreApplication, QThread, QEventLoop
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15 from PyQt5.QtWidgets import QDialog
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17 from E5Gui.E5PathPicker import E5PathPickerModes
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 from .Ui_UF2FlashDialog import Ui_UF2FlashDialog
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 import UI.PixmapCache
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 import Utilities
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 from . import MicroPythonDevices
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 SupportedUF2Boards = {
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 "circuitpython": {
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 "volumes": {
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 (0x03EB, 0x2402): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 "SAMD21", # SAMD21 Board
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 "SAME54", # SAME54 Board
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 (0x04D8, 0xEC44): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 "PYCUBEDBOOT", # PyCubedv04
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 (0x04D8, 0xEC63): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 "BOOT", # CircuitBrains Basic
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 (0x04D8, 0xEC64): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 "BOOT", # CircuitBrains Deluxe
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 (0x04D8, 0xED5F): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 "UCHIPYBOOT", # uChip CircuitPython
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 (0x04D8, 0xEDB3): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 "USBHUBBOOT", # Programmable USB Hub
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 (0x04D8, 0xEDBE): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 "SAM32BOOT", # SAM32
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 (0x04D8, 0xEF66): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 "SENSEBOX", # senseBox MCU
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 (0x1209, 0x2017): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 "MINISAMBOOT", # Mini SAM M4
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 ],
8101
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
57 (0x1209, 0x3252): [
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
58 "MCBS2OMBOOT", # Module Clip w/Wroom
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
59 ],
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
60 (0x1209, 0x3253): [
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
61 "MCBS2ERBOOT", # Module Clip w/Wrover
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
62 ],
8096
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 (0x1209, 0x4D44): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64 "ROBOM0BOOT", # Robo HAT MM1
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 "ROBOM4BOOT", # Robo HAT MM1 M4
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 (0x1209, 0x4DDD): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 "SapBOOT", # CP Sapling
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 (0x1209, 0x7102): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71 "MINISAMBOOT", # Mini SAM M0
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73 (0x1209, 0x805A): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74 "BASTBLE", # Bast BLE
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 (0x1209, 0xE3E2): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77 "StackRduino", # StackRduino M0 PRO
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 (0x1209, 0xF501): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 "M4SHIMBOOT", # M4-Shim
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 ],
8101
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
82 (0x15BA, 0x28DC): [
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
83 "OLMLIPOBOOT", # ESP32S2 DevKit Lipo
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
84 ],
8096
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 (0x16D0, 0x0CDA): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86 "AUTOMAT", # automat
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87 ],
8461
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
88 (0x1B4F, 0x0022): [
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
89 "SFMM852BOOT", # MicroMod nRF52840
8096
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
90 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
91 (0x1B4F, 0x0D22): [
8461
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
92 "SPARKFUN", # SAMD21 Mini Breakout
8096
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
93 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
94 (0x1B4F, 0x0D23): [
8461
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
95 "SPARKFUN", # SAMD21 Dev Breakout
8096
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
96 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
97 (0x1D50, 0x6110): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
98 "ROBOTICS", # Robotics
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
99 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
100 (0x1D50, 0x6112): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
101 "RCBOOT", # Wattuino RC
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
102 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
103 (0x1D50, 0x6160): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
104 "BLUEMICRO", # BlueMicro
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
105 ],
8101
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
106 (0x1FC9, 0x0094): [
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
107 "DblM33BOOT", # Double M33
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
108 "LPC5528BOOT", # LPCXpresso 55s28
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
109 "LPC5569BOOT", # LPCXpresso 55s69
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
110 ],
8096
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
111 (0x230A, 0x00E9): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
112 "TAU_BOOT", # Tau
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
113 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
114 (0x2341, 0x0057): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
115 "NANOBOOT", # NANO 33 IoT
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
116 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
117 (0x2341, 0x8053): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
118 "MKR1300", # MKR1300
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
119 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
120 (0x239A, 0x000F): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
121 "ITSYBOOT", # ItsyBitsy M0 Express
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
122 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
123 (0x239A, 0x0013): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
124 "METROBOOT", # Metro M0
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
125 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
126 (0x239A, 0x0015): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
127 "FEATHERBOOT", # Feather M0
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
128 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
129 (0x239A, 0x0018): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
130 "CPLAYBOOT", # CPlay Express
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
131 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
132 (0x239A, 0x001B): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133 "FEATHERBOOT", # Feather M0 Express
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
134 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
135 (0x239A, 0x001C): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
136 "GEMMABOOT", # Gemma M0
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
137 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
138 (0x239A, 0x001E): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
139 "TRINKETBOOT", # Trinket M0
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
140 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
141 (0x239A, 0x0021): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
142 "METROM4BOOT", # Metro M4 Express
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
143 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
144 (0x239A, 0x0022): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
145 "ARCADE-D5", # Feather Arcade D51
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
146 "FEATHERBOOT", # Feather M4 Express
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
147 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
148 (0x239A, 0x0024): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
149 "RADIOBOOT", # Radiofruit M0
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
150 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
151 (0x239A, 0x0027): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
152 "PIRKEYBOOT", # pIRKey M0
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
153 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
154 (0x239A, 0x0029): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
155 "ARGONBOOT ", # Argon
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
156 "BORONBOOT ", # Boron
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
157 "FTHR840BOOT", # Feather nRF52840 Express
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
158 "MDK840DONGL", # MDK nRF52840 USB Dongle
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
159 "WS52840EVK", # Waveshare nRF52840 Eval
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
160 "XENONBOOT ", # Xenon
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
161 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
162 (0x239A, 0x002B): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
163 "ARCADE-D5", # Itsy Arcade D51
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
164 "ITSYM4BOOT", # ItsyBitsy M4 Express
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
165 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
166 (0x239A, 0x002D): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
167 "CRICKITBOOT", # crickit
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
168 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
169 (0x239A, 0x002F): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
170 "TRELM4BOOT", # Trellis M4 Express
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
171 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
172 (0x239A, 0x0031): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
173 "GCM4BOOT", # Grand Central M4 Express
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
174 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
175 (0x239A, 0x0033): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
176 "PYBADGEBOOT", # PyBadge
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
177 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
178 (0x239A, 0x0034): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
179 "BADGELCBOOT", # BadgeLC
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
180 "PEWBOOT", # PewPew
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
181 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
182 (0x239A, 0x0035): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
183 "MKRZEROBOOT", # MKRZero
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
184 "PORTALBOOT", # PyPortal M4 Express
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
185 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
186 (0x239A, 0x0037): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
187 "METROM4BOOT", # Metro M4 AirLift
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
188 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
189 (0x239A, 0x003D): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
190 "PYGAMERBOOT", # PyGamer
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
191 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
192 (0x239A, 0x003F): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
193 "METR840BOOT", # Metro nRF52840 Express
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
194 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
195 (0x239A, 0x0045): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
196 "CPLAYBTBOOT", # Circuit Playground nRF52840
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
197 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
198 (0x239A, 0x0047): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
199 "MASKM4BOOT", # Hallowing Mask M4
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
200 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
201 (0x239A, 0x0049): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
202 "HALLOM4BOOT", # HalloWing M4
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
203 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
204 (0x239A, 0x004D): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
205 "SNEKBOOT", # snekboard
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
206 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
207 (0x239A, 0x0051): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
208 "ITSY840BOOT", # ItsyBitsy nRF52840 Express
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
209 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
210 (0x239A, 0x0057): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
211 "SERPENTBOOT", # Serpente
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
212 ],
8101
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
213 (0x239A, 0x0059): [
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
214 "FTHR405BOOT", # Feather STM32F405 Express
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
215 ],
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
216 (0x239A, 0x005D): [
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
217 "BlackPill", # STM32F401CxUx
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
218 "STMF411BOOT", # STM32F411 Discovery
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
219 ],
8096
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
220 (0x239A, 0x0061): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
221 "SOLBOOT", # Sol
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
222 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
223 (0x239A, 0x0063): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
224 "NANO33BOOT", # Nano 33 BLE
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
225 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
226 (0x239A, 0x0065): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
227 "ND6BOOT", # ndBit6
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
228 ],
8461
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
229 (0x239A, 0x0069): [
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
230 "STMF411BOOT", # STM32F411 BlackPill
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
231 ],
8096
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
232 (0x239A, 0x006B): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
233 "shIRtty", # shIRtty
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
234 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
235 (0x239A, 0x0071): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
236 "CLUEBOOT", # CLUE nRF52840
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
237 ],
8101
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
238 (0x239A, 0x0077): [
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
239 "RT1010BOOT", # RT1010 EVK
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
240 ],
8096
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
241 (0x239A, 0x0079): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
242 "ARAMBOOT", # ARAMCON Badge 2019
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
243 ],
8461
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
244 (0x239A, 0x007B): [
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
245 "ARAMBOOT", # ARAMCON2 Badge
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
246 ],
8096
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
247 (0x239A, 0x007D): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
248 "BOOKBOOT", # The Open Book Feather
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
249 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
250 (0x239A, 0x007F): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
251 "BADGEBOOT", # OHS2020 Badge
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
252 ],
8101
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
253 (0x239A, 0x0081): [
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
254 "RT1020BOOT", # RT1020 EVK
8461
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
255 "RT1024BOOT", # RT1024 EVK
8101
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
256 ],
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
257 (0x239A, 0x0083): [
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
258 "RT1060BOOT", # RT1060 EVK
8461
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
259 "RT1064BOOT", # RT1064 EVK
8101
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
260 ],
8096
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
261 (0x239A, 0x0087): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
262 "FTHRSNSBOOT", # Feather nRF52840 Sense
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
263 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
264 (0x239A, 0x0093): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
265 "ISVITABoot", # IkigaiSense Vita nRF52840
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
266 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
267 (0x239A, 0x0095): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
268 "UARTLOGBOOT", # UARTLogger II
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
269 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
270 (0x239A, 0x009F): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
271 "ADM840BOOT", # AtelierDuMaker NRF52840 Breakout
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
272 ],
8101
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
273 (0x239A, 0x00A5): [
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
274 "SAOLA1RBOOT", # Saola 1R WROVER
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
275 ],
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
276 (0x239A, 0x00A7): [
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
277 "SAOLA1MBOOT", # Saola 1M WROOM
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
278 ],
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
279 (0x239A, 0x00AB): [
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
280 "UFTHRS2BOOT", # FeatherS2
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
281 ],
8096
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
282 (0x239A, 0x00AF): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
283 "FLUFFBOOT", # Fluff M0
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
284 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
285 (0x239A, 0x00B3): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
286 "NICENANO", # nice!nano
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
287 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
288 (0x239A, 0x00B5): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
289 "E54XBOOT", # SAME54 Xplained
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
290 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
291 (0x239A, 0x00B9): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
292 "ND7BOOT", # ndBit7
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
293 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
294 (0x239A, 0x00BF): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
295 "BADGEBOOT", # BLM Badge
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
296 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
297 (0x239A, 0x00C3): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
298 "GEMINIBOOT", # Gemini
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
299 ],
8101
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
300 (0x239A, 0x00C5): [
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
301 "MICROS2BOOT", # microS2
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
302 ],
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
303 (0x239A, 0x00C7): [
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
304 "KALUGA1BOOT", # Kaluga 1
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
305 ],
8461
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
306 (0x239A, 0x00C9): [
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
307 "MATRIXBOOT", # Matrix Portal M4
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
308 ],
8096
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
309 (0x239A, 0x00CB): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
310 "QTPY_BOOT", # QT Py M0
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
311 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
312 (0x239A, 0x00CD): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
313 "FTHRCANBOOT", # Feather M4 CAN Express
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
314 ],
8461
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
315 (0x239A, 0x00DE): [
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
316 "NANOESPBOOT", # nanoESP32-S2 WROOM
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
317 ],
8101
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
318 (0x239A, 0x00DF): [
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
319 "METROS2BOOT", # Metro ESP32-S2
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
320 ],
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
321 (0x239A, 0x00E1): [
8461
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
322 "METROM7BOOT", # Metro M7 iMX RT1011
8101
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
323 ],
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
324 (0x239A, 0x00E5): [
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
325 "MAGTAGBOOT", # Metro MagTag 2.9 Grayscale
8461
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
326 "MAGTAGBOOT", # MagTag 2.9 Grayscale
8101
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
327 ],
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
328 (0x239A, 0x00EB): [
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
329 "FTHRS2BOOT", # Feather ESP32-S2
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
330 ],
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
331 (0x239A, 0x00ED): [
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
332 "FTHRS2BOOT", # Feather ESP32-S2 Reverse TFT
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
333 ],
8096
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
334 (0x239A, 0x00EF): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
335 "TRINKEYBOOT", # NeoPixel Trinkey M0
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
336 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
337 (0x239A, 0x00F5): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
338 "STARBOOT", # Binary Star
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
339 ],
8461
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
340 (0x239A, 0x00F9): [
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
341 "HOUSEBOOT", # FunHouse
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
342 ],
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
343 (0x239A, 0x00FB): [
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
344 "TRINKEYBOOT", # Rotary Trinkey M0
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
345 ],
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
346 (0x239A, 0x00FF): [
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
347 "TRINKEYBOOT", # NeoKey Trinkey M0
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
348 ],
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
349 (0x239A, 0x0101): [
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
350 "TRINKEYBOOT", # Slide Trinkey M0
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
351 ],
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
352 (0x239A, 0x0103): [
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
353 "TRINKEYBOOT", # ProxSense Trinkey M0
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
354 ],
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
355 (0x239A, 0x010B): [
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
356 "MDBT50QBOOT", # Raytac MDBT50Q-RX
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
357 ],
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
358 (0x239A, 0x800B): [
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
359 "ATMZBOOT", # ATMegaZero ESP32-S2
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
360 ],
8096
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
361 (0x239A, 0xB000): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
362 "HALLOWBOOT", # Hallowing M0
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
363 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
364 (0x239A, 0xE005): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
365 "HONKBOOT", # Big Honking Button
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
366 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
367 (0x2886, 0x000D): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
368 "Grove Zero", # Grove Zero
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
369 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
370 (0x2886, 0x002F): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
371 "Seeed XIAO", # Seeeduino XIAO
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
372 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
373 (0x2886, 0xF00E): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
374 "PITAYAGO", # Pitaya Go
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
375 ],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
376 (0x2886, 0xF00F): [
8461
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
377 "M60KEYBOARD", # MakerDiary M60 Mechanical Keyboard
8096
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
378 "nRF52840M2", # MakerDiary nRF52840 M.2 Module
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
379 ],
8461
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
380 (0x303A, 0x8005): [
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
381 "TINYS2BOOT", # TinyS2
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
382 ],
8101
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
383 (0x303A, 0x8008): [
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
384 "TTGOS2BOOT", # TTGO_T8_S2_Display
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
385 ],
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
386 (0x303A, 0x800E): [
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
387 "CCMBRISBOOT", # CucumberRIS v1.1
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
388 ],
8461
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
389 (0x303A, 0x80B0): [
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
390 "RD00RBOOT", # Reference Design RD00
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
391 ],
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
392 (0x303A, 0x80B3): [
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
393 "NANOESPBOOT", # nanoESP32-S2 WROVER
d9fb4a0f2460 Extended the list of known CircuitPython and UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
394 ],
8096
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
395 (0x3171, 0x0100): [
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
396 "CMDBOOT", # COMMANDER
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
397 ],
8101
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
398 (0xCAFE, 0xFFFF): [
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
399 "F303BOOT", # STM32F303 Discovery
dee984e05647 UF2FlashDialog: extended the list of known UF2 capable devices.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8099
diff changeset
400 ],
8096
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
401 },
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
402 "instructions": QCoreApplication.translate(
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
403 "UF2FlashDialog",
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
404 "<h3>CircuitPython Board</h3>"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
405 "<p>In order to prepare the board for flashing follow these"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
406 " steps:</p><ol>"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
407 "<li>Switch your device to 'bootloader' mode by double-pressing"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
408 " the reset button.</li>"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
409 "<li>Wait until the device has entered 'bootloader' mode.</li>"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
410 "<li>(If this does not happen, then try shorter or longer"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
411 " pauses between presses.)</li>"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
412 "<li>Ensure the boot volume is available (this may require"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
413 " mounting it).</li>"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
414 "<li>Select the firmware file to be flashed and click the"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
415 " flash button.</li>"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
416 "</ol>"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
417 ),
8170
fb77bff32621 MicroPython: corrected a glitch in the UF2 flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8167
diff changeset
418 "show_all": True,
8096
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
419 "firmware": "CircuitPython",
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
420 },
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
421
8167
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
422 "circuitpython_rp2040": {
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
423 "volumes": {
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
424 (0x239A, 0x80F4): [
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
425 "RPI-RP2", # Raspberry Pi Pico loaded with CircuitPython
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
426 ],
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
427 },
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
428 "instructions": QCoreApplication.translate(
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
429 "UF2FlashDialog",
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
430 "<h3>Pi Pico (RP2040) Board</h3>"
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
431 "<p>In order to prepare the board for flashing follow these"
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
432 " steps:</p><ol>"
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
433 "<li>Enter 'bootloader' mode (board <b>without</b> RESET button):"
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
434 "<ul>"
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
435 "<li>Plug in your board while holding the BOOTSEL button.</li>"
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
436 "</ul>"
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
437 "Enter 'bootloader' mode (board <b>with</b> RESET button):"
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
438 "<ul>"
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
439 "<li>hold down RESET</li>"
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
440 "<li>hold down BOOTSEL</li>"
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
441 "<li>release RESET</li>"
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
442 "<li>release BOOTSEL</li>"
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
443 "</ul></li>"
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
444 "<li>Wait until the device has entered 'bootloader' mode.</li>"
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
445 "<li>Ensure the boot volume is available (this may require"
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
446 " mounting it).</li>"
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
447 "<li>Select the firmware file to be flashed and click the"
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
448 " flash button.</li>"
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
449 "</ol>"
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
450 ),
8170
fb77bff32621 MicroPython: corrected a glitch in the UF2 flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8167
diff changeset
451 "show_all": False,
8167
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
452 "firmware": "CircuitPython",
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
453 },
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
454
8096
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
455 "rp2040": {
8111
a8e9b387f701 UF2FlashDialog: added support for Raspberry Pi Pico.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8101
diff changeset
456 "volumes": {
a8e9b387f701 UF2FlashDialog: added support for Raspberry Pi Pico.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8101
diff changeset
457 (0x0000, 0x0000): [
a8e9b387f701 UF2FlashDialog: added support for Raspberry Pi Pico.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8101
diff changeset
458 "RPI-RP2", # Raspberry Pi Pico does not present a TTY
a8e9b387f701 UF2FlashDialog: added support for Raspberry Pi Pico.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8101
diff changeset
459 ],
a8e9b387f701 UF2FlashDialog: added support for Raspberry Pi Pico.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8101
diff changeset
460 },
8096
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
461 "instructions": QCoreApplication.translate(
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
462 "UF2FlashDialog",
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
463 "<h3>Pi Pico (RP2040) Board</h3>"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
464 "<p>In order to prepare the board for flashing follow these"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
465 " steps:</p><ol>"
8167
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
466 "<li>Enter 'bootloader' mode (board <b>without</b> RESET button):"
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
467 "<ul>"
8096
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
468 "<li>Plug in your board while holding the BOOTSEL button.</li>"
8167
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
469 "</ul>"
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
470 "Enter 'bootloader' mode (board <b>with</b> RESET button):"
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
471 "<ul>"
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
472 "<li>hold down RESET</li>"
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
473 "<li>hold down BOOTSEL</li>"
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
474 "<li>release RESET</li>"
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
475 "<li>release BOOTSEL</li>"
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
476 "</ul></li>"
8096
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
477 "<li>Wait until the device has entered 'bootloader' mode.</li>"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
478 "<li>Ensure the boot volume is available (this may require"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
479 " mounting it).</li>"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
480 "<li>Select the firmware file to be flashed and click the"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
481 " flash button.</li>"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
482 "</ol>"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
483 ),
8170
fb77bff32621 MicroPython: corrected a glitch in the UF2 flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8167
diff changeset
484 "show_all": True,
8120
84928e9f446f UF2FlashDialog: updated a string.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8111
diff changeset
485 "firmware": "MicroPython / CircuitPython",
8096
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
486 },
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
487 }
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
488
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
489
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
490 def getFoundDevices(boardType=""):
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
491 """
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
492 Function to get the list of known serial devices supporting UF2.
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
493
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
494 @param boardType specific board type to search for
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
495 @type str
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
496 @return list of tuples with the board type, the port description, the
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
497 VID and PID
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
498 @rtype list of tuple of (str, str, int, int)
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
499 """
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
500 from PyQt5.QtSerialPort import QSerialPortInfo
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
501
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
502 foundDevices = []
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
503
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
504 availablePorts = QSerialPortInfo.availablePorts()
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
505 for port in availablePorts:
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
506 vid = port.vendorIdentifier()
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
507 pid = port.productIdentifier()
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
508
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
509 if vid == 0 and pid == 0:
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
510 # no device detected at port
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
511 continue
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
512
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
513 for board in SupportedUF2Boards:
8222
5994b80b8760 Applied some more code simplifications suggested by the new Simplify checker (Y102: use single if) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
514 if (
5994b80b8760 Applied some more code simplifications suggested by the new Simplify checker (Y102: use single if) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
515 (not boardType or (board.startswith(boardType))) and
5994b80b8760 Applied some more code simplifications suggested by the new Simplify checker (Y102: use single if) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
516 (vid, pid) in SupportedUF2Boards[board]["volumes"]
5994b80b8760 Applied some more code simplifications suggested by the new Simplify checker (Y102: use single if) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
517 ):
5994b80b8760 Applied some more code simplifications suggested by the new Simplify checker (Y102: use single if) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
518 foundDevices.append((
5994b80b8760 Applied some more code simplifications suggested by the new Simplify checker (Y102: use single if) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
519 board,
5994b80b8760 Applied some more code simplifications suggested by the new Simplify checker (Y102: use single if) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
520 port.description(),
5994b80b8760 Applied some more code simplifications suggested by the new Simplify checker (Y102: use single if) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
521 (vid, pid),
5994b80b8760 Applied some more code simplifications suggested by the new Simplify checker (Y102: use single if) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
522 ))
8096
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
523
8111
a8e9b387f701 UF2FlashDialog: added support for Raspberry Pi Pico.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8101
diff changeset
524 # second run for boards needing special treatment (e.g. RP2040)
a8e9b387f701 UF2FlashDialog: added support for Raspberry Pi Pico.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8101
diff changeset
525 for board in SupportedUF2Boards:
a8e9b387f701 UF2FlashDialog: added support for Raspberry Pi Pico.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8101
diff changeset
526 if not boardType or (board == boardType):
8243
cc717c2ae956 Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8222
diff changeset
527 with contextlib.suppress(KeyError):
8111
a8e9b387f701 UF2FlashDialog: added support for Raspberry Pi Pico.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8101
diff changeset
528 # find mounted volume
a8e9b387f701 UF2FlashDialog: added support for Raspberry Pi Pico.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8101
diff changeset
529 volumes = SupportedUF2Boards[board]["volumes"][(0, 0)]
a8e9b387f701 UF2FlashDialog: added support for Raspberry Pi Pico.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8101
diff changeset
530 foundVolumes = []
a8e9b387f701 UF2FlashDialog: added support for Raspberry Pi Pico.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8101
diff changeset
531 for volume in volumes:
a8e9b387f701 UF2FlashDialog: added support for Raspberry Pi Pico.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8101
diff changeset
532 foundVolumes += Utilities.findVolume(volume, findAll=True)
a8e9b387f701 UF2FlashDialog: added support for Raspberry Pi Pico.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8101
diff changeset
533 if foundVolumes:
a8e9b387f701 UF2FlashDialog: added support for Raspberry Pi Pico.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8101
diff changeset
534 foundDevices.append((
a8e9b387f701 UF2FlashDialog: added support for Raspberry Pi Pico.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8101
diff changeset
535 board,
a8e9b387f701 UF2FlashDialog: added support for Raspberry Pi Pico.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8101
diff changeset
536 QCoreApplication.translate(
a8e9b387f701 UF2FlashDialog: added support for Raspberry Pi Pico.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8101
diff changeset
537 "UF2FlashDialog", "'{0}' Board").format(board),
a8e9b387f701 UF2FlashDialog: added support for Raspberry Pi Pico.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8101
diff changeset
538 (0, 0), # VID/PID of (0, 0) is special
a8e9b387f701 UF2FlashDialog: added support for Raspberry Pi Pico.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8101
diff changeset
539 ))
a8e9b387f701 UF2FlashDialog: added support for Raspberry Pi Pico.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8101
diff changeset
540
8096
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
541 return foundDevices
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
542
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
543
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
544 class UF2FlashDialog(QDialog, Ui_UF2FlashDialog):
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
545 """
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
546 Class implementing a dialog to flash any UF2 capable device.
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
547 """
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8120
diff changeset
548 DeviceTypeRole = Qt.ItemDataRole.UserRole
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8120
diff changeset
549 DeviceVidPidRole = Qt.ItemDataRole.UserRole + 1
8096
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
550
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
551 def __init__(self, boardType="", parent=None):
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
552 """
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
553 Constructor
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
554
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
555 @param boardType specific board type to show the dialog for
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
556 @type str
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
557 @param parent reference to the parent widget (defaults to None)
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
558 @type QWidget (optional)
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
559 """
8218
7c09585bd960 Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8170
diff changeset
560 super().__init__(parent)
8096
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
561 self.setupUi(self)
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
562
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
563 self.refreshButton.setIcon(UI.PixmapCache.getIcon("rescan"))
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
564
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
565 self.firmwarePicker.setMode(E5PathPickerModes.OpenFileMode)
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
566 self.firmwarePicker.setFilters(
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
567 self.tr("MicroPython/CircuitPython Files (*.uf2);;"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
568 "All Files (*)"))
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
569
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
570 self.bootPicker.setMode(E5PathPickerModes.DirectoryShowFilesMode)
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
571 self.bootPicker.setEnabled(False)
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
572
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
573 self.__mandatoryStyleSheet = (
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
574 "QLineEdit {border: 2px solid;border-color: #800000}"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
575 )
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
576 self.__manualType = "<manual>"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
577
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
578 self.__boardType = boardType
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
579
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
580 self.__populate()
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
581
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
582 self.__updateFlashButton()
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
583
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
584 def __populate(self):
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
585 """
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
586 Private method to (re-)populate the dialog.
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
587 """
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
588 # save the currently selected device
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
589 currentDevice = self.devicesComboBox.currentText()
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
590 firmwareFile = self.firmwarePicker.text()
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
591
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
592 # clear the entries first
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
593 self.devicesComboBox.clear()
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
594 self.firmwarePicker.clear()
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
595 self.bootPicker.clear()
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
596 self.infoLabel.clear()
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
597 self.infoEdit.clear()
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
598
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
599 # now populate the entries with data
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
600 devices = getFoundDevices(boardType=self.__boardType)
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
601 if len(devices) == 0:
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
602 # no device detected
8111
a8e9b387f701 UF2FlashDialog: added support for Raspberry Pi Pico.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8101
diff changeset
603 devices = list(filter(
8096
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
604 lambda x: x[0] in SupportedUF2Boards,
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
605 MicroPythonDevices.getFoundDevices()[0]
8111
a8e9b387f701 UF2FlashDialog: added support for Raspberry Pi Pico.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8101
diff changeset
606 ))
8096
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
607 if devices:
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
608 self.__showSpecificInstructions(list(devices))
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
609 else:
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
610 self.__showAllInstructions()
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
611 self.devicesComboBox.addItem("")
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
612 self.devicesComboBox.addItem(self.tr("Manual Select"))
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
613 self.devicesComboBox.setItemData(1, self.__manualType,
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
614 self.DeviceTypeRole)
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
615 elif len(devices) == 1:
8167
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
616 # set the board type to the found one
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
617 self.__boardType = devices[0][0]
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
618
8096
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
619 self.devicesComboBox.addItem(devices[0][1])
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
620 self.devicesComboBox.setItemData(
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
621 0, devices[0][0], self.DeviceTypeRole)
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
622 self.devicesComboBox.setItemData(
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
623 0, devices[0][2], self.DeviceVidPidRole)
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
624 self.devicesComboBox.addItem(self.tr("Manual Select"))
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
625 self.devicesComboBox.setItemData(1, self.__manualType,
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
626 self.DeviceTypeRole)
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
627 self.on_devicesComboBox_currentIndexChanged(0)
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
628 else:
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
629 self.devicesComboBox.addItem("")
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
630 for index, (boardType, description,
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
631 vidpid) in enumerate(sorted(devices), 1):
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
632 self.devicesComboBox.addItem(description)
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
633 self.devicesComboBox.setItemData(
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
634 index, boardType, self.DeviceTypeRole)
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
635 self.devicesComboBox.setItemData(
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
636 index, vidpid, self.DeviceVidPidRole)
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
637 self.devicesComboBox.addItem(self.tr("Manual Select"))
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
638 self.devicesComboBox.setItemData(index + 1, self.__manualType,
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
639 self.DeviceTypeRole)
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
640
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
641 # reselect the remembered device, if it is still there
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
642 if currentDevice:
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
643 self.devicesComboBox.setCurrentText(currentDevice)
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
644 self.firmwarePicker.setText(firmwareFile)
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
645 else:
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
646 self.devicesComboBox.setCurrentIndex(0)
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
647
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
648 def __updateFlashButton(self):
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
649 """
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
650 Private method to update the state of the Flash button and the retest
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
651 button.
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
652 """
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
653 firmwareFile = self.firmwarePicker.text()
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
654 if self.devicesComboBox.currentData(self.DeviceTypeRole) is not None:
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
655 if bool(firmwareFile) and os.path.exists(firmwareFile):
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
656 self.firmwarePicker.setStyleSheet("")
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
657 else:
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
658 self.firmwarePicker.setStyleSheet(self.__mandatoryStyleSheet)
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
659
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
660 if bool(self.bootPicker.text()):
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
661 self.bootPicker.setStyleSheet("")
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
662 else:
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
663 self.bootPicker.setStyleSheet(self.__mandatoryStyleSheet)
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
664 else:
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
665 self.firmwarePicker.setStyleSheet("")
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
666 self.bootPicker.setStyleSheet("")
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
667
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
668 enable = (
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
669 bool(self.bootPicker.text()) and
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
670 bool(firmwareFile) and
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
671 os.path.exists(firmwareFile)
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
672 )
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
673 self.flashButton.setEnabled(enable)
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
674
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
675 def __showAllInstructions(self):
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
676 """
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
677 Private method to show instructions for resetting devices to bootloader
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
678 mode.
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
679 """
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
680 self.infoLabel.setText(self.tr("Reset Instructions:"))
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
681
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
682 htmlText = self.tr(
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
683 "<h4>No known devices detected.</h4>"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
684 "<p>Follow the appropriate instructions below to set <b>one</b>"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
685 " board into 'bootloader' mode. Press <b>Refresh</b> when ready."
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
686 "</p>"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
687 )
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
688 for boardType in SupportedUF2Boards:
8170
fb77bff32621 MicroPython: corrected a glitch in the UF2 flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8167
diff changeset
689 if SupportedUF2Boards[boardType]["show_all"]:
fb77bff32621 MicroPython: corrected a glitch in the UF2 flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8167
diff changeset
690 htmlText += (
fb77bff32621 MicroPython: corrected a glitch in the UF2 flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8167
diff changeset
691 "<hr/>" +
fb77bff32621 MicroPython: corrected a glitch in the UF2 flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8167
diff changeset
692 SupportedUF2Boards[boardType]["instructions"]
fb77bff32621 MicroPython: corrected a glitch in the UF2 flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8167
diff changeset
693 )
8096
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
694 self.infoEdit.setHtml(htmlText)
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
695
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
696 def __showSpecificInstructions(self, devices):
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
697 """
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
698 Private method to show instructions for resetting devices to bootloader
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
699 mode for a list of detected devices.
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
700
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
701 @param devices list of detected devices
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
702 @type list of str
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
703 """
8099
522946e53835 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8097
diff changeset
704 boardTypes = {x[0] for x in devices}
8096
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
705
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
706 self.infoLabel.setText(self.tr("Reset Instructions:"))
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
707
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
708 if self.__boardType:
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
709 htmlText = self.tr(
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
710 "<h4>Flash {0} Firmware</h4>"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
711 "<p>Follow the instructions below to set <b>one</b> board into"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
712 " 'bootloader' mode. Press <b>Refresh</b> when ready.</p>"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
713 "<hr/>{1}"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
714 ).format(
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
715 SupportedUF2Boards[self.__boardType]["firmware"],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
716 SupportedUF2Boards[self.__boardType]["instructions"],
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
717 )
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
718 else:
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
719 htmlText = self.tr(
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
720 "<h4>Potentially UF2 capable devices found</h4>"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
721 "<p>Found these potentially UF2 capable devices:</p>"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
722 "<ul><li>{0}</li></ul>"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
723 "<p>Follow the instructions below to set <b>one</b> board into"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
724 " 'bootloader' mode. Press <b>Refresh</b> when ready.</p>"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
725 ).format(
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
726 "</li><li>".join(sorted(x[1] for x in devices))
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
727 )
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
728 for boardType in sorted(boardTypes):
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
729 htmlText += (
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
730 "<hr/>" + SupportedUF2Boards[boardType]["instructions"]
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
731 )
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
732 self.infoEdit.setHtml(htmlText)
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
733
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
734 def __showTypedInstructions(self, boardType):
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
735 """
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
736 Private method to show instructions for resetting devices to bootloader
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
737 mode for a specific board type.
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
738
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
739 @param boardType type of the board to show instructions for
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
740 @type str
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
741 """
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
742 self.infoLabel.setText(self.tr("Reset Instructions:"))
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
743
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
744 htmlText = self.tr(
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
745 "<h4>No known devices detected.</h4>"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
746 "<p>Follow the instructions below to set <b>one</b> board into"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
747 " 'bootloader' mode. Press <b>Refresh</b> when ready.</p>"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
748 )
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
749 htmlText += "<hr/>" + SupportedUF2Boards[boardType]["instructions"]
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
750 self.infoEdit.setHtml(htmlText)
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
751
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
752 def __showManualInstructions(self):
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
753 """
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
754 Private method to show instructions for flashing devices manually.
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
755 """
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
756 self.infoLabel.setText(self.tr("Flash Instructions:"))
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
757
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
758 htmlText = self.tr(
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
759 "<h4>Flash method 'manual' selected.</h4>"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
760 "<p>Follow the instructions below to flash a device by entering"
8097
5af9c426c46b Updated translations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8096
diff changeset
761 " the data manually.</p><ol>"
8096
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
762 "<li>Change the device to 'bootloader' mode.</li>"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
763 "<li>Wait until the device has entered 'bootloader' mode.</li>"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
764 "<li>Ensure the boot volume is available (this may require"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
765 " mounting it) and select its path.</li>"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
766 "<li>Select the firmware file to be flashed and click the"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
767 " flash button.</li>"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
768 "</ol>"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
769 )
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
770 for boardType in SupportedUF2Boards:
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
771 htmlText += "<hr/>" + SupportedUF2Boards[boardType]["instructions"]
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
772 self.infoEdit.setHtml(htmlText)
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
773
8167
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
774 def __showNoVolumeInformation(self, volumes, boardType):
8096
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
775 """
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
776 Private method to show information about the expected boot volume(s).
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
777
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
778 @param volumes list of expected volume names
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
779 @type list of str
8167
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
780 @param boardType type of the board to show instructions for
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
781 @type str
8096
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
782 """
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
783 self.infoLabel.setText(self.tr("Boot Volume not found:"))
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
784
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
785 htmlText = self.tr(
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
786 "<h4>No Boot Volume detected.</h4>"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
787 "<p>Please ensure that the boot volume of the device to be flashed"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
788 " is available. "
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
789 )
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
790 if len(volumes) == 1:
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
791 htmlText += self.tr(
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
792 "This volume should be named <b>{0}</b>."
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
793 " Press <b>Refresh</b> when ready.</p>"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
794 ).format(volumes[0])
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
795 else:
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
796 htmlText += self.tr(
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
797 "This volume should have one of these names.</p>"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
798 "<ul><li>{0}</li></ul>"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
799 "<p>Press <b>Refresh</b> when ready.</p>"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
800 ).format("</li><li>".join(sorted(volumes)))
8167
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
801
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
802 if boardType:
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
803 htmlText += self.tr(
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
804 "<h4>Reset Instructions</h4>"
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
805 "<p>Follow the instructions below to set the board into"
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
806 " 'bootloader' mode. Press <b>Refresh</b> when ready.</p>"
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
807 )
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
808 htmlText += "<hr/>" + SupportedUF2Boards[boardType]["instructions"]
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
809
8096
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
810 self.infoEdit.setHtml(htmlText)
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
811
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
812 def __showMultipleVolumesInformation(self, volumePaths):
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
813 """
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
814 Private method to show information because multiple devices of the
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
815 same type are ready for flashing.
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
816
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
817 Note: This is a dangerous situation!
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
818
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
819 @param volumePaths list of volume paths
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
820 @type list of str
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
821 """
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
822 self.infoLabel.setText(self.tr("Multiple Boot Volumes found:"))
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
823
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
824 htmlText = self.tr(
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
825 "<h4>Multiple Boot Volumes were found</h4>"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
826 "<p>These volume paths were found.</p><ul><li>{0}</li></ul>"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
827 "<p>Please ensure that only one device of a type is ready for"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
828 " flashing. Press <b>Refresh</b> when ready.</p>"
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
829 ).format("</li><li>".join(sorted(volumePaths)))
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
830 self.infoEdit.setHtml(htmlText)
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
831
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
832 @pyqtSlot()
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
833 def on_flashButton_clicked(self):
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
834 """
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
835 Private slot to flash the selected MicroPython or CircuitPython
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
836 firmware onto the device.
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
837 """
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
838 boardType = self.devicesComboBox.currentData(self.DeviceTypeRole)
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
839 firmwarePath = self.firmwarePicker.text()
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
840 volumePath = self.bootPicker.text()
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
841 if os.path.exists(firmwarePath) and os.path.exists(volumePath):
8111
a8e9b387f701 UF2FlashDialog: added support for Raspberry Pi Pico.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8101
diff changeset
842 if boardType == self.__manualType:
a8e9b387f701 UF2FlashDialog: added support for Raspberry Pi Pico.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8101
diff changeset
843 self.infoLabel.setText(self.tr("Flashing Firmware"))
a8e9b387f701 UF2FlashDialog: added support for Raspberry Pi Pico.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8101
diff changeset
844 self.infoEdit.setHtml(self.tr(
a8e9b387f701 UF2FlashDialog: added support for Raspberry Pi Pico.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8101
diff changeset
845 "<p>Flashing the selected firmware to the device. Please"
a8e9b387f701 UF2FlashDialog: added support for Raspberry Pi Pico.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8101
diff changeset
846 " wait until the device resets automatically.</p>")
a8e9b387f701 UF2FlashDialog: added support for Raspberry Pi Pico.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8101
diff changeset
847 )
a8e9b387f701 UF2FlashDialog: added support for Raspberry Pi Pico.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8101
diff changeset
848 else:
a8e9b387f701 UF2FlashDialog: added support for Raspberry Pi Pico.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8101
diff changeset
849 firmwareType = SupportedUF2Boards[boardType]["firmware"]
a8e9b387f701 UF2FlashDialog: added support for Raspberry Pi Pico.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8101
diff changeset
850 self.infoLabel.setText(
a8e9b387f701 UF2FlashDialog: added support for Raspberry Pi Pico.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8101
diff changeset
851 self.tr("Flashing {0}").format(firmwareType))
a8e9b387f701 UF2FlashDialog: added support for Raspberry Pi Pico.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8101
diff changeset
852 self.infoEdit.setHtml(self.tr(
a8e9b387f701 UF2FlashDialog: added support for Raspberry Pi Pico.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8101
diff changeset
853 "<p>Flashing the {0} firmware to the device. Please wait"
a8e9b387f701 UF2FlashDialog: added support for Raspberry Pi Pico.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8101
diff changeset
854 " until the device resets automatically.</p>"
a8e9b387f701 UF2FlashDialog: added support for Raspberry Pi Pico.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8101
diff changeset
855 ).format(firmwareType))
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8120
diff changeset
856 QCoreApplication.processEvents(
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8120
diff changeset
857 QEventLoop.ProcessEventsFlag.ExcludeUserInputEvents)
8096
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
858 shutil.copy2(firmwarePath, volumePath)
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
859 QThread.sleep(1)
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
860 self.on_refreshButton_clicked()
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
861
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
862 @pyqtSlot()
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
863 def on_refreshButton_clicked(self):
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
864 """
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
865 Private slot to refresh the dialog.
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
866 """
8167
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
867 # special treatment for RPi Pico
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
868 if self.__boardType == "circuitpython_rp2040":
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
869 self.__boardType = "rp2040"
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
870
8096
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
871 self.__populate()
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
872
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
873 @pyqtSlot(int)
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
874 def on_devicesComboBox_currentIndexChanged(self, index):
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
875 """
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
876 Private slot to handle the selection of a board.
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
877
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
878 @param index selected index
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
879 @type int
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
880 """
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
881 vidpid = self.devicesComboBox.itemData(index, self.DeviceVidPidRole)
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
882 boardType = self.devicesComboBox.itemData(index, self.DeviceTypeRole)
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
883
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
884 self.bootPicker.setEnabled(boardType == self.__manualType)
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
885 if boardType == self.__manualType:
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
886 self.__showManualInstructions()
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
887
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
888 if vidpid is None:
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
889 if boardType is None:
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
890 self.bootPicker.clear()
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
891 else:
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
892 volumes = SupportedUF2Boards[boardType]["volumes"][vidpid]
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
893 foundVolumes = []
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
894 for volume in volumes:
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
895 foundVolumes += Utilities.findVolume(volume, findAll=True)
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
896
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
897 if len(foundVolumes) == 0:
8167
cdc1b6692766 MicroPython: improved the UF2 Flash dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
898 self.__showNoVolumeInformation(volumes, boardType)
8096
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
899 self.bootPicker.clear()
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
900 elif len(foundVolumes) == 1:
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
901 self.bootPicker.setText(foundVolumes[0])
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
902 else:
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
903 self.__showMultipleVolumesInformation()
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
904 self.bootPicker.clear()
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
905
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
906 self.__updateFlashButton()
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
907
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
908 @pyqtSlot(str)
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
909 def on_firmwarePicker_textChanged(self, text):
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
910 """
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
911 Private slot handling a change of the firmware file.
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
912
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
913 @param text current text of the firmware edit
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
914 @type str
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
915 """
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
916 self.__updateFlashButton()
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
917
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
918 @pyqtSlot(str)
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
919 def on_bootPicker_textChanged(self, text):
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
920 """
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
921 Private slot handling a change of the boot volume.
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
922
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
923 @param text current text of the boot volume edit
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
924 @type str
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
925 """
5425a9072300 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
926 self.__updateFlashButton()

eric ide

mercurial