src/eric7/MicroPython/RP2040Devices.py

Tue, 18 Oct 2022 16:06:21 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Tue, 18 Oct 2022 16:06:21 +0200
branch
eric7
changeset 9413
80c06d472826
parent 9221
bf71ee032bb4
child 9473
3f23dbf37dbe
permissions
-rw-r--r--

Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.

8122
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
8881
54e42bc2437a Updated copyright for 2022.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
3 # Copyright (c) 2021 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
8122
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing the device interface class for RP2040 based boards
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 (e.g. Raspberry Pi Pico).
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9 """
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10
8318
962bce857696 Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
11 from PyQt6.QtCore import pyqtSlot
8122
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13 from .MicroPythonDevices import MicroPythonDevice
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14 from .MicroPythonWidget import HAS_QTCHART
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
16 from eric7 import Preferences
8122
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 class RP2040Device(MicroPythonDevice):
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 """
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 Class implementing the device for RP2040 based boards.
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
23
8122
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 def __init__(self, microPythonWidget, deviceType, parent=None):
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 """
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 Constructor
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
27
8122
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 @param microPythonWidget reference to the main MicroPython widget
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 @type MicroPythonWidget
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 @param deviceType device type assigned to this device interface
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 @type str
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 @param parent reference to the parent object
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 @type QObject
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
35 super().__init__(microPythonWidget, deviceType, parent)
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
36
8122
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 def setButtons(self):
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 """
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 Public method to enable the supported action buttons.
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 """
8218
7c09585bd960 Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8122
diff changeset
41 super().setButtons()
8122
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 self.microPython.setActionButtons(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
43 run=True, repl=True, files=True, chart=HAS_QTCHART
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
44 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
45
8122
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 def forceInterrupt(self):
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 """
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 Public method to determine the need for an interrupt when opening the
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 serial connection.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
50
8122
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 @return flag indicating an interrupt is needed
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 @rtype bool
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 """
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 return False
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
55
8122
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 def deviceName(self):
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 """
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 Public method to get the name of the device.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
59
8122
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 @return name of the device
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61 @rtype str
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 """
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 return self.tr("RP2040")
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
64
8122
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 def canStartRepl(self):
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66 """
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 Public method to determine, if a REPL can be started.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
68
8122
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69 @return tuple containing a flag indicating it is safe to start a REPL
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 and a reason why it cannot.
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71 @rtype tuple of (bool, str)
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72 """
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73 return True, ""
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
74
8122
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 def canStartPlotter(self):
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 """
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77 Public method to determine, if a Plotter can be started.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
78
8122
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 @return tuple containing a flag indicating it is safe to start a
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 Plotter and a reason why it cannot.
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 @rtype tuple of (bool, str)
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82 """
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
83 return True, ""
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
84
8122
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 def canRunScript(self):
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86 """
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87 Public method to determine, if a script can be executed.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
88
8122
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89 @return tuple containing a flag indicating it is safe to start a
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
90 Plotter and a reason why it cannot.
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
91 @rtype tuple of (bool, str)
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
92 """
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
93 return True, ""
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
94
8122
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
95 def runScript(self, script):
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
96 """
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
97 Public method to run the given Python script.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
98
8122
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
99 @param script script to be executed
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
100 @type str
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
101 """
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
102 pythonScript = script.split("\n")
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
103 self.sendCommands(pythonScript)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
104
8122
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
105 def canStartFileManager(self):
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
106 """
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
107 Public method to determine, if a File Manager can be started.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
108
8122
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
109 @return tuple containing a flag indicating it is safe to start a
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
110 File Manager and a reason why it cannot.
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
111 @rtype tuple of (bool, str)
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
112 """
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
113 return True, ""
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
114
8122
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
115 def addDeviceMenuEntries(self, menu):
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
116 """
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
117 Public method to add device specific entries to the given menu.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
118
8122
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
119 @param menu reference to the context menu
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
120 @type QMenu
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
121 """
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
122 connected = self.microPython.isConnected()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
123
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
124 act = menu.addAction(self.tr("Activate Bootloader"), self.__activateBootloader)
8122
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
125 act.setEnabled(connected)
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
126 act = menu.addAction(self.tr("Flash Firmware"), self.__flashPython)
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
127 act.setEnabled(not connected)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
128
8122
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
129 def hasFlashMenuEntry(self):
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
130 """
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
131 Public method to check, if the device has its own flash menu entry.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
132
8122
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133 @return flag indicating a specific flash menu entry
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
134 @rtype bool
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
135 """
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
136 return True
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
137
8122
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
138 @pyqtSlot()
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
139 def __flashPython(self):
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
140 """
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
141 Private slot to flash a MicroPython firmware to the device.
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
142 """
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
143 from .UF2FlashDialog import UF2FlashDialog
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
144
8122
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
145 dlg = UF2FlashDialog(boardType="rp2040")
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
146 dlg.exec()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
147
8122
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
148 def __activateBootloader(self):
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
149 """
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
150 Private method to switch the board into 'bootloader' mode.
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
151 """
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
152 if self.microPython.isConnected():
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
153 self.microPython.commandsInterface().execute(
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
154 [
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
155 "import machine",
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
156 "machine.bootloader()",
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
157 ]
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
158 )
8122
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
159 # simulate pressing the disconnect button
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
160 self.microPython.on_connectButton_clicked()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
161
8122
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
162 def getDocumentationUrl(self):
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
163 """
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
164 Public method to get the device documentation URL.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
165
8122
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
166 @return documentation URL of the device
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
167 @rtype str
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
168 """
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
169 return Preferences.getMicroPython("MicroPythonDocuUrl")
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
170
8122
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
171 def getDownloadMenuEntries(self):
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
172 """
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
173 Public method to retrieve the entries for the downloads menu.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
174
8122
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
175 @return list of tuples with menu text and URL to be opened for each
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
176 entry
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
177 @rtype list of tuple of (str, str)
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
178 """
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
179 return [
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
180 (
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
181 self.tr("MicroPython Firmware"),
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
182 Preferences.getMicroPython("MicroPythonFirmwareUrl"),
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
183 ),
8122
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
184 ("<separator>", ""),
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
185 (
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
186 self.tr("CircuitPython Firmware"),
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
187 Preferences.getMicroPython("CircuitPythonFirmwareUrl"),
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
188 ),
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
189 (
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
190 self.tr("CircuitPython Libraries"),
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
191 Preferences.getMicroPython("CircuitPythonLibrariesUrl"),
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
192 ),
8122
eb85ced7844c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
193 ]

eric ide

mercurial