27 class CircuitPythonFirmwareSelectionDialog( |
27 class CircuitPythonFirmwareSelectionDialog( |
28 QDialog, Ui_CircuitPythonFirmwareSelectionDialog): |
28 QDialog, Ui_CircuitPythonFirmwareSelectionDialog): |
29 """ |
29 """ |
30 Class implementing a dialog to enter the firmware flashing data. |
30 Class implementing a dialog to enter the firmware flashing data. |
31 """ |
31 """ |
|
32 # |
|
33 # The Boards list is built with data extracted from: |
|
34 # - https://github.com/microsoft/uf2-samdx1 |
|
35 # - https://github.com/adafruit/Adafruit_nRF52_Bootloader |
|
36 # |
32 Boards = ( |
37 Boards = ( |
33 # Adafruit boards |
38 # Adafruit boards |
34 ("--- Adafruit ---", ""), |
39 ("--- Adafruit ---", ""), |
35 ("BadgeLC", "BADGELCBOOT"), |
40 ("BadgeLC", "BADGELCBOOT"), |
36 ("CLUE nRF52840 Express", "CLUEBOOT"), |
41 ("CLUE nRF52840 Express", "CLUEBOOT"), |
37 ("Circuit Playground Bluefruit", "CPLAYBTBOOT"), |
|
38 ("Circuit Playground Express", "CPLAYBOOT"), |
42 ("Circuit Playground Express", "CPLAYBOOT"), |
|
43 ("Circuit Playground nRF52840", "CPLAYBTBOOT"), |
39 ("Feather Arcade D51", "ARCADE-D5"), |
44 ("Feather Arcade D51", "ARCADE-D5"), |
40 ("Feather Bluefruit Sense", "FTHR840BOOT"), |
45 ("Feather M0", "FEATHERBOOT"), |
41 ("Feather M0 Adalogger", "FEATHERBOOT"), |
|
42 ("Feather M0 Basic", "FEATHERBOOT"), |
|
43 ("Feather M0 Express", "FEATHERBOOT"), |
46 ("Feather M0 Express", "FEATHERBOOT"), |
44 ("Feather M0 RFM69", "FEATHERBOOT"), |
|
45 ("Feather M0 RFM9x", "FEATHERBOOT"), |
|
46 ("Feather M4 Express", "FEATHERBOOT"), |
47 ("Feather M4 Express", "FEATHERBOOT"), |
47 ("Feather nRF52840 Express", "FTHR840BOOT"), |
48 ("Feather nRF52840 Express", "FTHR840BOOT"), |
|
49 ("Feather nRF52840 Sense", "FTHR840BOOT"), |
48 ("Gemma M0", "GEMMABOOT"), |
50 ("Gemma M0", "GEMMABOOT"), |
49 ("Grand Central M4 Express", "GCM4BOOT"), |
51 ("Grand Central M4 Express", "GCM4BOOT"), |
50 ("Hallowing M0", "HALLOWBOOT"), |
52 ("Hallowing M0", "HALLOWBOOT"), |
51 ("Hallowing M4 Express", "HALLOM4BOOT"), |
53 ("Hallowing M4 Express", "HALLOM4BOOT"), |
52 ("Itsy Arcade D51", "ARCADE-D5"), |
54 ("Itsy Arcade D51", "ARCADE-D5"), |
53 ("ItsyBitsy M0 Express", "ITSYBOOT"), |
55 ("ItsyBitsy M0 Express", "ITSYBOOT"), |
54 ("ItsyBitsy M4 Express", "ITSYM4BOOT"), |
56 ("ItsyBitsy M4 Express", "ITSYM4BOOT"), |
55 ("ItsyBitsy nRF52840 Express", " ITSY840BOOT"), |
57 ("ItsyBitsy nRF52840 Express", " ITSY840BOOT"), |
56 ("Metro M0 Express", "METROBOOT"), |
58 ("Metro M0 Express", "METROBOOT"), |
|
59 ("Metro M4 AirLift", "METROM4BOOT"), |
57 ("Metro M4 Express", "METROM4BOOT"), |
60 ("Metro M4 Express", "METROM4BOOT"), |
58 ("Metro M4 Express AirLift", "METROM4BOOT"), |
61 ("Metro nRF52840 Express", "METR840BOOT"), |
59 ("NeoTrelis M4 Express", "TRELM4BOOT"), |
62 ("NeoTrelis M4 Express", "TRELM4BOOT"), |
60 ("PyBadge", "BADGEBOOT"), |
63 ("PyBadge", "BADGEBOOT"), |
61 ("PyGamer", "PYGAMERBOOT"), |
64 ("PyGamer", "PYGAMERBOOT"), |
62 ("PyPortal", "PORTALBOOT"), |
65 ("PyPortal", "PORTALBOOT"), |
63 ("PyPortal M4 Express", "PORTALBOOT"), |
66 ("PyPortal M4 Express", "PORTALBOOT"), |
69 ("Trellis M4 Express", "TRELM4BOOT"), |
72 ("Trellis M4 Express", "TRELM4BOOT"), |
70 ("Trinket M0", "TRINKETBOOT"), |
73 ("Trinket M0", "TRINKETBOOT"), |
71 ("crickit", "CRICKITBOOT"), |
74 ("crickit", "CRICKITBOOT"), |
72 ("pIRKey M0", "PIRKEYBOOT"), |
75 ("pIRKey M0", "PIRKEYBOOT"), |
73 |
76 |
|
77 # Arduino boards |
|
78 ("--- Arduino ---", ""), |
|
79 ("MKR1000", "MKR1000"), |
|
80 ("MKR1300", "MKR1300"), |
|
81 ("MKRZero", "MKRZEROBOOT"), |
|
82 ("Nano 33 BLE", "NANO33BOOT"), |
|
83 ("Zero", "ZEROBOOT"), |
|
84 |
|
85 # Particle boards |
|
86 ("--- Particle ---", ""), |
|
87 ("Argon", "ARGONBOOT "), |
|
88 ("Boron", "BORONBOOT "), |
|
89 ("Xenon", "XENONBOOT "), |
|
90 |
|
91 # Seed boards |
|
92 ("--- Seeed Studio ---", ""), |
|
93 ("Grove Zero", "Grove Zero"), |
|
94 ("Seeduino XIAO", "Arduino"), |
|
95 |
74 # SparkFun boards |
96 # SparkFun boards |
75 ("--- SparkFun ---", ""), |
97 ("--- SparkFun ---", ""), |
76 ("Qwiic Micro", "QwiicMicro"), |
98 ("Qwiic Micro", "QwiicMicro"), |
77 ("SAMD21 Dev Breakout", "SPARKFUN"), |
99 ("SAMD21 Dev Breakout", "SPARKFUN"), |
78 ("SAMD21 Mini Breakout", "SPARKFUN"), |
100 ("SAMD21 Mini Breakout", "SPARKFUN"), |
79 ("SAMD51 Thing Plus", "51THINGBOOT"), |
101 ("SAMD51 Thing Plus", "51THINGBOOT"), |
80 ("RedBoard Turbo", "TURBOBOOT"), |
102 ("RedBoard Turbo", "TURBOBOOT"), |
81 ("Pro nRF52840 Mini", "NRF52BOOT"), |
103 ("Pro nRF52840 Mini", "NRF52BOOT"), |
82 |
104 |
83 # Seed boards |
|
84 ("--- Seeed Studio ---", ""), |
|
85 ("Grove Zero", "Grove Zero"), |
|
86 ("Seeduino XIAO", "Arduino"), |
|
87 |
|
88 # other boards we know about |
105 # other boards we know about |
89 (QCoreApplication.translate( |
106 ("--- {0} ---".format( |
90 "CircuitPythonFirmwareSelectionDialog", |
107 QCoreApplication.translate("CircuitPythonFirmwareSelectionDialog", |
91 "--- Others ---"), ""), |
108 "Others") |
92 ("Arduino MKR1300", "MKR1300"), |
109 ), ""), |
93 ("Arduino MKRZero", "MKRZEROBOOT"), |
110 ("ARAMCON Badge 2019", "ARAMBOOT"), |
|
111 ("AtelierDuMaker NRF52840 Breakout", "ADM840BOOT"), |
|
112 ("BlueMicro", "BLUEMICRO"), |
|
113 ("Capable Robot Programmable USB Hub", "USBHUBBOOT"), |
94 ("Eitech Robotics", "ROBOTICS"), |
114 ("Eitech Robotics", "ROBOTICS"), |
|
115 ("ElectronicCats Bast BLE", "BASTBLE"), |
95 ("Generic Corp. SAMD21 Board", "SAMD21"), |
116 ("Generic Corp. SAMD21 Board", "SAMD21"), |
96 ("Generic Corp. SAME54 Board", "SAME54"), |
117 ("Generic Corp. SAME54 Board", "SAME54"), |
97 ("Mini SAM M0", "MINISAMBOOT"), |
118 ("IkigaiSense Vita nRF52840", "ISVITABoot"), |
|
119 ("MakerDiary MDK nRF52840 USB Dongle", "MDK840DONGL"), |
|
120 ("MakerDiary nRF52840 M.2 Module", "nRF52840M2"), |
|
121 ("MakerDiary Pitaya Go", "PITAYAGO"), |
98 ("Mini SAM M4", "MINISAMBOOT"), |
122 ("Mini SAM M4", "MINISAMBOOT"), |
99 ("Robo HAT MM1", "ROBOM0BOOT"), |
123 ("Nice Keyboards nice!nano", "NICENANO"), |
100 ("Robo HAT MM1 M4", "ROBOM4BOOT"), |
124 ("OHS2020 Badge", "BADGEBOOT"), |
|
125 ("PewPew", "PEWBOOT"), |
|
126 ("Raytac MDBT50Q-RX", "MDBT50QBOOT"), |
|
127 ("Robotics Masters Robo HAT MM1", "ROBOM0BOOT"), |
|
128 ("Robotics Masters Robo HAT MM1 M4", "ROBOM4BOOT"), |
|
129 ("Watterott Wattuino RC", "RCBOOT"), |
|
130 ("Waveshare nRF52840 Eval", "WS52840EVK"), |
|
131 ("XinaBox CC03", "CC03"), |
|
132 ("XinaBox CS11", "CS11"), |
|
133 ("dadamachines automat", "AUTOMAT"), |
|
134 ("eduSense senseBox MCU", "SENSEBOX"), |
|
135 ("maholli SAM32", "SAM32BOOT"), |
101 ) |
136 ) |
102 |
137 |
103 def __init__(self, parent=None): |
138 def __init__(self, parent=None): |
104 """ |
139 """ |
105 Constructor |
140 Constructor |