src/eric7/MicroPython/Devices/__init__.py

Tue, 14 Feb 2023 10:05:29 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Tue, 14 Feb 2023 10:05:29 +0100
branch
eric7
changeset 9763
52f982c08301
parent 9756
9854647c8c5c
child 9765
6378da868bb0
permissions
-rw-r--r--

Removed the 'Open' and 'Save' buttons from the MicroPython widget and made the repl and file manager start automatically upon connecting to the selected device.

9756
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3 # Copyright (c) 2023 Detlev Offenbach <detlev@die-offenbachs.de>
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Package containing the device interface modules and device specific dialogs.
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 import contextlib
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11 import importlib
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12 import logging
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14 from PyQt6.QtCore import QCoreApplication
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15 from PyQt6.QtSerialPort import QSerialPortInfo
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17 from eric7 import Preferences
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18 from eric7.EricGui import EricPixmapCache
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 from .DeviceBase import BaseDevice
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 SupportedBoards = {
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 "bbc_microbit": {
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 "ids": [
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 (0x0D28, 0x0204), # micro:bit
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 ],
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 "description": "BBC micro:bit",
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 "icon": "microbitDevice",
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 "port_description": "BBC micro:bit CMSIS-DAP",
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 "module": ".MicrobitDevices",
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 },
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 "calliope": {
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 "ids": [
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 (0x0D28, 0x0204), # Calliope mini
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 ],
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 "description": "Calliope mini",
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 "icon": "calliope_mini",
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 "port_description": "DAPLink CMSIS-DAP",
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 "module": ".MicrobitDevices",
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 },
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 "circuitpython": {
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 "ids": [
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 (0x0483, 0x572A), # STMicroelectronics NUCLEO-F446RE - CPy
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 (0x04D8, 0xE799), # Cytron Maker Zero SAMD21
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 (0x04D8, 0xEA2A), # BHDynamics DynaLoRa_USB
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 (0x04D8, 0xEAD1), # BH Dynamics DynOSSAT-EDU-EPS-v1.0
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 (0x04D8, 0xEAD2), # BH Dynamics DynOSSAT-EDU-OBC-v1.0
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 (0x04D8, 0xEC44), # maholli PyCubed
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 (0x04D8, 0xEC63), # Kevin Neubauer CircuitBrains Basic
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 (0x04D8, 0xEC64), # Kevin Neubauer CircuitBrains Deluxe
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 (0x04D8, 0xEC72), # XinaBox CC03
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 (0x04D8, 0xEC75), # XinaBox CS11
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 (0x04D8, 0xED5F), # Itaca Innovation uChip CircuitPython
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 (0x04D8, 0xED94), # maholli kicksat-sprite
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 (0x04D8, 0xEDB3), # Capable Robot Programmable USB Hub
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 (0x04D8, 0xEDBE), # maholli SAM32
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 (0x04D8, 0xEE8C), # J&J Studios LLC datum-Distance
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 (0x04D8, 0xEE8D), # J&J Studios LLC datum-IMU
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 (0x04D8, 0xEE8E), # J&J Studios LLC datum-Light
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 (0x04D8, 0xEE8F), # J&J Studios LLC datum-Weather
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61 (0x04D8, 0xEF67), # senseBox MCU
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 (0x054C, 0x0BC2), # Sony Spresense
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 (0x1209, 0x2017), # Benjamin Shockley Mini SAM M4
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64 (0x1209, 0x3141), # CrumpSpace CrumpS2
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 (0x1209, 0x3252), # Targett Module Clip w/Wroom
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66 (0x1209, 0x3253), # Targett Module Clip w/Wrover
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 (0x1209, 0x4203), # 42. Keebs Frood
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 (0x1209, 0x4D43), # Robotics Masters Robo HAT MM1 M4
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69 (0x1209, 0x4DDD), # ODT CP Sapling
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 (0x1209, 0x4DDE), # ODT CP Sapling M0 w/ SPI Flash
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71 (0x1209, 0x4DDF), # ODT CP Sapling Rev B
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72 (0x1209, 0x4DF0), # Oak Dev Tech Pixelwing ESP32S2
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73 (0x1209, 0x4DF1), # Oak Dev Tech BREAD2040
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74 (0x1209, 0x4DF2), # Oak Dev Tech CAST AWAY RP2040
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 (0x1209, 0x5A52), # ZRichard RP2.65-F
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 (0x1209, 0x5BF0), # Foosn Fomu
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77 (0x1209, 0x7150), # Electronic Cats Hunter Cat NFC
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78 (0x1209, 0x7382), # Invector Labs AB iLabs Challenger 840
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 (0x1209, 0x805A), # Electronic Cats BastBLE
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 (0x1209, 0x8CAE), # takayoshiotake Octave RP2040
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 (0x1209, 0xA182), # Solder Party RP2040 Stamp
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82 (0x1209, 0xB182), # Solder Party BBQ20 Keyboard
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
83 (0x1209, 0xBAB0), # Electronic Cats Bast WiFi
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
84 (0x1209, 0xBAB1), # Electronic Cats Meow Meow
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 (0x1209, 0xBAB2), # Electronic Cats CatWAN USBStick
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86 (0x1209, 0xBAB3), # Electronic Cats Bast Pro Mini M0
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87 (0x1209, 0xBAB6), # Electronic Cats Escornabot Makech
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
88 (0x1209, 0xBAB8), # Electronic Cats NFC Copy Cat
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89 (0x1209, 0xC051), # Betrusted Simmel
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
90 (0x1209, 0xCB74), # 0xCB Helios
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
91 (0x1209, 0xD10D), # Diodes Delight Piunora
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
92 (0x1209, 0xD1B5), # Radomir Dopieralski PewPew LCD
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
93 (0x1209, 0xE3E3), # StackRduino M0 PRO
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
94 (0x1209, 0xEF00), # 2231puppy E-Fidget
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
95 (0x1209, 0xF123), # Electrolama minik
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
96 (0x1209, 0xF500), # Silicognition LLC M4-Shim
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
97 (0x1209, 0xF502), # Silicognition LLC RP2040-Shim
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
98 (0x16D0, 0x08C6), # Pimoroni Keybow 2040
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
99 (0x16D0, 0x08C7), # Pimoroni Tiny 2040 (8MB)
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
100 (0x16D0, 0x08C8), # Pimoroni PicoSystem
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
101 (0x16D0, 0x10ED), # Mechwild PillBug
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
102 (0x1915, 0xB001), # Makerdiary Pitaya Go
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
103 (0x192F, 0xB1B2), # WarmBit BluePixel nRF52840
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
104 (0x1B4F, 0x0015), # SparkFun RedBoard Turbo Board
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
105 (0x1B4F, 0x0016), # SparkFun SAMD51 Thing+
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
106 (0x1B4F, 0x0017), # SparkFun LUMIDrive Board
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
107 (0x1B4F, 0x0020), # SparkFun MicroMod SAMD51 Processor
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
108 (0x1B4F, 0x0021), # SparkFun MicroMod nRF52840 Processor
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
109 (0x1B4F, 0x0024), # SparkFun MicroMod RP2040 Processor
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
110 (0x1B4F, 0x0025), # SparkFun Thing Plus RP2040
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
111 (0x1B4F, 0x0026), # SparkFun Pro Micro RP2040
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
112 (0x1B4F, 0x0027), # SparkFun STM32 MicroMod Processor
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
113 (0x1B4F, 0x0028), # SparkFun Thing Plus - STM32
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
114 (0x1B4F, 0x002E), # PJRC/Sparkfun Teensy MicroMod
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
115 (0x1B4F, 0x5289), # SparkFun SFE_nRF52840_Mini
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
116 (0x1B4F, 0x8D22), # SparkFun SAMD21 Mini Breakout
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
117 (0x1B4F, 0x8D23), # SparkFun SAMD21 Dev Breakout
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
118 (0x1B4F, 0x8D24), # SparkFun Qwiic Micro
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
119 (0x1D50, 0x60E8), # Radomir Dopieralski PewPew M4
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
120 (0x1D50, 0x6152), # nrf52.jpconstantineau.com BlueMicro833
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
121 (0x1D50, 0x6153), # JPConstantineau PyKey18
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
122 (0x1D50, 0x6153), # JPConstantineau PyKey44
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
123 (0x1D50, 0x6153), # JPConstantineau PyKey60
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
124 (0x1D50, 0x6153), # JPConstantineau PyKey87
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
125 (0x1D50, 0x6154), # JPConstantineau EncoderPad RP2040
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
126 (0x1D50, 0x6161), # nrf52.jpconstantineau.com BlueMicro840
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
127 (0x2019, 0x7103), # Benjamin Shockley Fig Pi
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
128 (0x2341, 0x8053), # Arduino MKR1300
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
129 (0x2341, 0x8057), # Arduino Nano 33 IoT
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
130 (0x2341, 0x805A), # Arduino Arduino_Nano_33_BLE
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
131 (0x2341, 0x824D), # Arduino Zero
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
132 (0x2786, 0x9207), # Switch Sc. BLE-SS dev board Multi Sensor
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133 (0x2786, 0x920D), # Switch Sc. SSCI ISP1807 Dev Board
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
134 (0x2786, 0x920F), # Switch Sc. SSCI ISP1807 Micro Board
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
135 (0x2886, 0x002F), # Seeed Seeeduino XIAO
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
136 (0x2886, 0x0042), # Seeed Seeeduino XIAO RP2040
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
137 (0x2886, 0x0045), # Seeed XIAO nRF52840 Sense
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
138 (0x2886, 0x802D), # Seeed Seeeduino Wio Terminal
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
139 (0x2886, 0x802F), # Seeed Seeeduino XIAO KB
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
140 (0x2886, 0xF001), # Makerdiary nRF52840 M.2 Developer Kit
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
141 (0x2886, 0xF002), # Makerdiary M60 Keyboard
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
142 (0x2B04, 0xC00C), # Particle Argon
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
143 (0x2B04, 0xC00D), # Particle Boron
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
144 (0x2B04, 0xC00E), # Particle Xenon
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
145 (0x2E8A, 0x1000), # Cytron Maker Pi RP2040
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
146 (0x2E8A, 0x1002), # Pimoroni Pico LiPo (4MB)
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
147 (0x2E8A, 0x1003), # Pimoroni Pico LiPo (16MB)
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
148 (0x2E8A, 0x1005), # Melopero Shake RP2040
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
149 (0x2E8A, 0x1006), # Invector Labs Challenger RP2040 WiFi
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
150 (0x2E8A, 0x1008), # Pimoroni PGA2040
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
151 (0x2E8A, 0x1009), # Pimoroni Interstate 75
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
152 (0x2E8A, 0x100A), # Pimoroni Plasma 2040
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
153 (0x2E8A, 0x100B), # Invector Labs Challenger RP2040 LTE
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
154 (0x2E8A, 0x100D), # Invector Labs Challenger NB RP2040 WiFi
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
155 (0x2E8A, 0x100E), # Raspberry Pi Zero
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
156 (0x2E8A, 0x100F), # Cytron Maker Nano RP2040
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
157 (0x2E8A, 0x1012), # Raspberry Pi Compute Module 4 IO Board
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
158 (0x2E8A, 0x1013), # Raspberry Pi 4B
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
159 (0x2E8A, 0x1014), # Raspberry Pi Compute Module 4
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
160 (0x2E8A, 0x1015), # Raspberry Pi Zero 2W
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
161 (0x2E8A, 0x1016), # Pimoroni Tiny 2040 (2MB)
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
162 (0x2E8A, 0x1019), # Pimoroni Motor 2040
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
163 (0x2E8A, 0x101A), # Pimoroni Servo 2040
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
164 (0x2E8A, 0x101B), # Pimoroni Badger 2040
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
165 (0x2E8A, 0x101E), # Raspberry Pi Zero W
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
166 (0x2E8A, 0x101F), # Waveshare Electronics RP2040-Zero
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
167 (0x2E8A, 0x1023), # Invector Labs Challenger RP2040 LoRa
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
168 (0x2E8A, 0x1026), # ELECFREAKS Pico:ed
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
169 (0x2E8A, 0x1027), # WIZnet W5100S-EVB-Pico
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
170 (0x2E8A, 0x1029), # WIZnet W5500-EVB-Pico
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
171 (0x2E8A, 0x102C), # Invector Labs Challenger RP2040 WiFi/BLE
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
172 (0x2E8A, 0x102D), # Invector Labs Challenger RP2040 SD/RTC
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
173 (0x2E8A, 0x102E), # VCC-GND Studio YD-RP2040
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
174 (0x2E8A, 0x1032), # Invector Labs Challenger RP2040 SubGHz
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
175 (0x2E8A, 0x1039), # Waveshare Electronics Waveshare RP2040-LCD-1.28
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
176 (0x2E8A, 0x1048), # nullbits Bit-C PRO
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
177 (0x303A, 0x7001), # Espressif ESP32-S2-HMI-DevKit-1
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
178 (0x303A, 0x7003), # Espressif ESP32-S3-DevKitC-1
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
179 (0x303A, 0x7003), # Espressif ESP32-S3-DevKitC-1-N32R8
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
180 (0x303A, 0x7003), # Espressif ESP32-S3-DevKitC-1-N8
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
181 (0x303A, 0x7003), # Espressif ESP32-S3-DevKitC-1-N8R2
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
182 (0x303A, 0x7003), # Espressif ESP32-S3-DevKitC-1-N8R8
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
183 (0x303A, 0x7003), # Espressif ESP32-S3-DevKitC-1-nopsram
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
184 (0x303A, 0x7005), # Espressif ESP32-S3-Box-2.5
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
185 (0x303A, 0x7007), # Espressif ESP32-S3-DevKitM-1-N8
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
186 (0x303A, 0x7009), # Espressif ESP32-S2-DevKitC-1-N4
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
187 (0x303A, 0x7009), # Espressif ESP32-S2-DevKitC-1-N4R2
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
188 (0x303A, 0x7009), # Espressif ESP32-S2-DevKitC-1-N8R2
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
189 (0x303A, 0x700B), # Espressif ESP32-S3-USB-OTG-N8
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
190 (0x303A, 0x700D), # Espressif ESP32-S3-Box-Lite
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
191 (0x303A, 0x700F), # Espressif ESP32-S3-EYE
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
192 (0x303A, 0x8002), # UnexpectedMaker TinyS2
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
193 (0x303A, 0x8007), # LILYGO TTGO T8 ESP32-S2
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
194 (0x303A, 0x800D), # Gravitech Cucumber RS
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
195 (0x303A, 0x80A1), # Gravitech Cucumber R
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
196 (0x303A, 0x80A4), # Gravitech Cucumber M
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
197 (0x303A, 0x80A7), # Gravitech Cucumber MS
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
198 (0x303A, 0x80AA), # Espressif Franzininho WIFI w/Wroom
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
199 (0x303A, 0x80AD), # Espressif Franzininho WIFI w/Wrover
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
200 (0x303A, 0x80AF), # Artisense Reference Design RD00
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
201 (0x303A, 0x80B2), # Muselab nanoESP32-S2 w/Wrover
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
202 (0x303A, 0x80B5), # UnexpectedMaker FeatherS2 Neo
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
203 (0x303A, 0x80B7), # MORPHEANS MORPHESP-240
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
204 (0x303A, 0x80C3), # Lolin S2 Mini
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
205 (0x303A, 0x80C6), # Lolin S2 Pico
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
206 (0x303A, 0x80D1), # UnexpectedMaker TinyS3
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
207 (0x303A, 0x80D4), # UnexpectedMaker ProS3
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
208 (0x303A, 0x80D7), # UnexpectedMaker FeatherS3
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
209 (0x303A, 0x80D9), # FutureKeys HexKy_S2
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
210 (0x303A, 0x80E0), # BananaPi BPI-Leaf-S3
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
211 (0x303A, 0x80E6), # BananaPi BPI-Bit-S2
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
212 (0x303A, 0x80E8), # HiiBot IoTs2
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
213 (0x303A, 0x80EA), # LILYGO TTGO T8 ESP32-S2-WROOM
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
214 (0x303A, 0x80ED), # LILYGO TTGO T8 ESP32-S2
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
215 (0x303A, 0x80F9), # Cytron Maker Feather AIoT S3
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
216 (0x303A, 0x80FC), # Espressif MixGo CE
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
217 (0x303A, 0x80FD), # Espressif MixGo CE
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
218 (0x303A, 0x810A), # Waveshare Electronics ESP32-S2-Pico
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
219 (0x303A, 0x810C), # Waveshare Electronics ESP32-S2-Pico-LCD
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
220 (0x303A, 0x8111), # Smart Bee Designs Bee-S3
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
221 (0x303A, 0x8114), # Smart Bee Designs Bee-Motion-S3
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
222 (0x303A, 0x8117), # WEMOS LOLIN S3 16MB Flash 8MB PSRAM
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
223 (0x303A, 0x812C), # BananaPi BPI-PicoW-S3
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
224 (0x30A4, 0x0002), # Blues Inc. Swan R5
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
225 (0x3171, 0x0101), # 8086.net Commander
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
226 (0x31E2, 0x2001), # BDMICRO LLC VINA-D21
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
227 (0x31E2, 0x2011), # BDMICRO LLC VINA-D51
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
228 (0x31E2, 0x2021), # BDMICRO LLC VINA-D51
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
229 (0x32BD, 0x3001), # Alorium Tech. AloriumTech Evo M51
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
230 (0x4097, 0x0001), # TG-Boards Datalore IP M4
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
231 (0x612B, 0x80A7), # Ai-Thinker ESP 12k NodeMCU
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
232 (0x239A, None), # Any Adafruit Boards
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
233 ],
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
234 "description": "CircuitPython",
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
235 "icon": "circuitPythonDevice",
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
236 "port_description": "",
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
237 "module": ".CircuitPythonDevices",
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
238 },
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
239 "esp": {
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
240 "ids": [
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
241 (0x0403, 0x6001), # M5Stack ESP32 device"),
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
242 (0x0403, 0x6001), # FT232/FT245 (XinaBox CW01, CW02)
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
243 (0x0403, 0x6010), # FT2232C/D/L/HL/Q (ESP-WROVER-KIT)
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
244 (0x0403, 0x6011), # FT4232
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
245 (0x0403, 0x6014), # FT232H
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
246 (0x0403, 0x6015), # Sparkfun ESP32
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
247 (0x0403, 0x601C), # FT4222H
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
248 (0x10C4, 0xEA60), # CP210x
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
249 (0x1A86, 0x55D4), # CH343
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
250 (0x1A86, 0x7523), # HL-340, CH340
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
251 ],
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
252 "description": "ESP32, ESP8266",
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
253 "icon": "esp32Device",
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
254 "port_description": "",
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
255 "module": ".EspDevices",
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
256 },
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
257 "generic": {
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
258 # only manually configured devices use this
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
259 "ids": [],
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
260 "description": QCoreApplication.translate("MicroPythonDevice", "Generic Board"),
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
261 "icon": "micropython48",
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
262 "port_description": "",
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
263 "module": ".GenericMicroPythonDevices",
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
264 },
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
265 "pyboard": {
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
266 "ids": [
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
267 (0xF055, 0x9800), # Pyboard in CDC mode
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
268 (0xF055, 0x9801), # Pyboard in CDC+HID mode
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
269 (0xF055, 0x9802), # Pyboard in CDC+MSC mode
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
270 ],
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
271 "description": "PyBoard",
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
272 "icon": "micropython48",
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
273 "port_description": "Pyboard",
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
274 "module": ".PyBoardDevices",
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
275 },
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
276 "rp2040": {
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
277 "ids": [
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
278 (0x2E8A, 0x0005), # Raspberry Pi Pico
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
279 ],
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
280 "description": QCoreApplication.translate("MicroPythonDevice", "RP2040 based"),
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
281 "icon": "rp2040Device",
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
282 "port_description": "",
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
283 "module": ".RP2040Devices",
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
284 },
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
285 "teensy": {
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
286 "ids": [
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
287 (0xF055, 0x9802), # Pyboard in CDC+MSC mode
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
288 ],
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
289 "description": "Teensy",
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
290 "icon": "micropython48",
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
291 "port_description": "Teensy",
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
292 "module": ".TeensyDevices",
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
293 },
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
294 }
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
295
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
296 IgnoredBoards = (
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
297 (0x8086, 0x9C3D),
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
298 (0x8086, None),
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
299 )
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
300
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
301 FirmwareGithubUrls = {
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
302 "micropython": "https://github.com/micropython/micropython/releases/latest",
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
303 "circuitpython": "https://github.com/adafruit/circuitpython/releases/latest",
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
304 "pimoroni_pico": "https://github.com/pimoroni/pimoroni-pico/releases/latest",
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
305 "microbit_v1": "https://github.com/bbcmicrobit/micropython/releases/latest",
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
306 "microbit_v2": (
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
307 "https://github.com/microbit-foundation/micropython-microbit-v2/releases/latest"
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
308 ),
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
309 }
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
310
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
311
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
312 def getSupportedDevices():
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
313 """
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
314 Function to get a list of supported MicroPython devices.
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
315
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
316 @return set of tuples with the board type and description
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
317 @rtype set of tuples of (str, str)
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
318 """
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
319 boards = []
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
320 for board in SupportedBoards:
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
321 boards.append((board, SupportedBoards[board]["description"]))
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
322 return boards
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
323
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
324
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
325 def getFoundDevices():
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
326 """
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
327 Function to check the serial ports for supported MicroPython devices.
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
328
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
329 @return tuple containing a list of tuples with the board type, the port
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
330 description, a description, the serial port it is connected at, the
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
331 VID and PID for known device types, a list of tuples with VID, PID
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
332 and description for unknown devices and a list of tuples with VID,
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
333 PID, description and port name for ports with missing VID or PID
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
334 @rtype tuple of (list of tuples of (str, str, str, str, int, int),
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
335 list of tuples of (int, int, str),
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
336 list of tuples of (int, int, str, str)
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
337 """
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
338 foundDevices = []
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
339 unknownDevices = []
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
340 unknownPorts = []
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
341
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
342 manualDevices = {}
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
343 for deviceDict in Preferences.getMicroPython("ManualDevices"):
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
344 manualDevices[(deviceDict["vid"], deviceDict["pid"])] = deviceDict
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
345
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
346 availablePorts = QSerialPortInfo.availablePorts()
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
347 for port in availablePorts:
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
348 if port.hasVendorIdentifier() and port.hasProductIdentifier():
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
349 supported = False
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
350 vid = port.vendorIdentifier()
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
351 pid = port.productIdentifier()
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
352
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
353 for board in SupportedBoards:
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
354 if (vid, pid) in SupportedBoards[board]["ids"] or (
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
355 vid,
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
356 None,
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
357 ) in SupportedBoards[board]["ids"]:
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
358 if board in ("bbc_microbit", "calliope") and (
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
359 port.description().strip()
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
360 != SupportedBoards[board]["port_description"]
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
361 ):
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
362 # both boards have the same VID and PID
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
363 # try to differentiate based on port description
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
364 continue
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
365 elif board in ("pyboard", "teensy") and (
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
366 not port.description().startswith(
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
367 SupportedBoards[board]["port_description"]
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
368 )
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
369 ):
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
370 # both boards have the same VID and PID
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
371 # try to differentiate based on port description
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
372 continue
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
373 foundDevices.append(
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
374 (
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
375 board,
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
376 port.description(),
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
377 SupportedBoards[board]["description"],
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
378 port.portName(),
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
379 vid,
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
380 pid,
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
381 port.serialNumber(),
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
382 )
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
383 )
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
384 supported = True
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
385 if not supported and (vid, pid) in manualDevices:
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
386 # check the locally added ones next
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
387 board = manualDevices[(vid, pid)]["type"]
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
388 foundDevices.append(
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
389 (
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
390 board,
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
391 port.description(),
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
392 SupportedBoards[board]["description"],
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
393 port.portName(),
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
394 vid,
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
395 pid,
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
396 port.serialNumber(),
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
397 )
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
398 )
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
399 supported = True
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
400 if not supported:
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
401 if vid and pid:
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
402 if (vid, pid) not in IgnoredBoards and (
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
403 vid,
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
404 None,
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
405 ) not in IgnoredBoards:
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
406 unknownDevices.append((vid, pid, port.description()))
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
407 logging.debug(
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
408 "Unknown device: (0x%04x:0x%04x %s)",
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
409 vid,
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
410 pid,
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
411 port.description(),
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
412 )
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
413 else:
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
414 # either VID or PID or both not detected
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
415 desc = port.description()
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
416 if not desc:
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
417 desc = QCoreApplication.translate(
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
418 "MicroPythonDevice", "Unknown Device"
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
419 )
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
420 unknownPorts.append((vid, pid, desc, port.portName()))
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
421
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
422 elif bool(port.portName()) and Preferences.getMicroPython(
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
423 "EnableManualDeviceSelection"
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
424 ):
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
425 # no VID and/or PID available (e.g. in Linux container of ChromeOS)
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
426 desc = port.description()
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
427 if not desc:
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
428 desc = QCoreApplication.translate("MicroPythonDevice", "Unknown Device")
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
429 unknownPorts.append((0, 0, desc, port.portName()))
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
430
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
431 return foundDevices, unknownDevices, unknownPorts
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
432
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
433
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
434 def getDeviceIcon(boardName, iconFormat=True):
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
435 """
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
436 Function to get the icon for the given board.
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
437
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
438 @param boardName name of the board
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
439 @type str
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
440 @param iconFormat flag indicating to get an icon or a pixmap
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
441 @type bool
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
442 @return icon for the board (iconFormat == True) or
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
443 a pixmap (iconFormat == False)
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
444 @rtype QIcon or QPixmap
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
445 """
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
446 iconName = (
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
447 SupportedBoards[boardName]["icon"]
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
448 if boardName in SupportedBoards
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
449 else
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
450 # return a generic MicroPython icon
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
451 "micropython48"
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
452 )
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
453
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
454 if iconFormat:
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
455 return EricPixmapCache.getIcon(iconName)
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
456 else:
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
457 return EricPixmapCache.getPixmap(iconName)
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
458
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
459
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
460 def getDevice(deviceType, microPythonWidget, vid, pid, boardName="", serialNumber=""):
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
461 """
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
462 Public method to instantiate a specific MicroPython device interface.
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
463
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
464 @param deviceType type of the device interface
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
465 @type str
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
466 @param microPythonWidget reference to the main MicroPython widget
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
467 @type MicroPythonWidget
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
468 @param vid vendor ID (only used for deviceType 'generic')
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
469 @type int
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
470 @param pid product ID (only used for deviceType 'generic')
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
471 @type int
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
472 @param boardName name of the board (defaults to "")
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
473 @type str (optional)
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
474 @param serialNumber serial number of the board (defaults to "")
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
475 @type str (optional)
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
476 @return instantiated device interface
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
477 @rtype BaseDevice
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
478 """
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
479
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
480 with contextlib.suppress(KeyError):
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
481 mod = importlib.import_module(
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
482 SupportedBoards[deviceType]["module"], __package__
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
483 )
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
484 if mod:
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
485 return mod.createDevice(
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
486 microPythonWidget, deviceType, vid, pid, boardName, serialNumber
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
487 )
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
488
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
489 # nothing specific requested or specific one failed or is not supported yet
9854647c8c5c Reorganized the MicroPython package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
490 return BaseDevice(microPythonWidget, deviceType)

eric ide

mercurial